Game development is constantly evolving, and competition can be harsh for newcomers. You could potentially make a 6-figure salary by landing a nice job in one of the big studios, but for most indie developers it is a continuous struggle to stay motivated. That said, what role do you hope to fulfill within the game development pipeline? Are you going to take the creative lead as a game designer? Or will you be a game programmer and write the code that powers all this magic but stays hidden from the eyes of the player? Some people often use the terms “game programmer” and “game developer” interchangeably, but we will show you the differences between the two.
So, what is the difference between game design and game programming? Game design involves coming up with ideas and concepts for the game, defining the overall layout and functionality. Game programming is about taking the vision of a designer and transforming it into reality through code. Game designers are responsible for deciding WHAT the game will be, while game programmers figure out HOW to make it work.
Game designers will have a variety of skills and qualifications depending on the type of game being developed, the studio’s size, and the production pipeline. 3D modeling, a decent knowledge of programming languages, strong interpersonal skills, visual and drawing skills, communication skills, etc. are required to become a good game designer. Designers don’t always have the same level of coding experience as a game programmer, although in indie studios the designers will often contribute to coding wherever they can. On the other hand, game programmers have to be proficient with multiple languages and game engines. They also tell a designer if certain ideas are technologically feasible or not.
The Role Of A Game Designer
The gaming industry has evolved tremendously since its inception in the arcade era of the 70s and 80s. Now, we have created games such as The Last Of Us and Hellblade: Senua’s Sacrifice which can genuinely be considered works of art. Games are an interactive medium unlike anything else, they let you make choices while exploring a virtual world from the perspective of the protagonist or playable character. Games are subtle, elegant, powerful, emotional, and fascinating- all at the same time. So who is responsible for creating such immersive worlds of fantasy? Not any one person, but a team of people. This team of people is called the development team, and they work under the coordination of someone known as the game designer. Normally in a large studio, there are multiple designers for separate aspects of the game such as world-building, story, characters, UI, etc. But they all follow the directions of their Lead Designer who is the most experienced of them all and has certain psychological traits that make him/ her a better leader.
A game designer decides on the overall “feel” and direction of a game. Things like how long a level should be in order to encourage maximum player engagement, which bosses should have what abilities, what styles of gameplay to support (stealth, brawler, assassin, etc.), and the general art style of the game. All these top-level decisions are made by designers- people who have studied a myriad of games across multiple genres with a background in arts and computer science. There are of course various subdisciplines within this field. For instance, you will have someone called a “game mechanics designer” who works on stuff like weapon balance and gameplay rules. Then you have the “environment designer” who creates backgrounds, props, levels, etc.
A game designer’s job involves:
- Coming up with unique and interesting game ideas/ concepts (these may be completely new or inspired by other games)
- Developing the gameplay (will the game have X, Y, Z feature, how slow or fast-paced it will be, how the controls will feel)
- Experimenting with themes and genres
- Developing plots and storylines
- Character design
- Deciding the level of difficulty for each mode, as well as designing maps or scenarios
- Generating ways for the player to win or lose within the game
- Providing ideas for the User Interface (UI) and working with artists/ programmers to visualize those concepts
- Improving existing games by coming up with ideas for new content patches
If you’re still a little confused about the role of game designers, let us smooth things out with an example. Say you’re creating an adventure game. Will your game have doors? Can the player open these doors? Are some doors restricted to the player? How will the player know the difference between a “real” door and a door that is just there for cosmetic reasons? Can doors be locked and unlocked? Do some doors require the player to hack/ solve a puzzle because some hidden treasure lies behind the door? The person within the development team who solves this door problem is the designer. They are problem solvers, just like programmers. But they solve high-level or abstract problems and basically design the player experience. How each game mechanic will work, figuring out a creative direction for the game, deciding the game genre, etc. Game designers indirectly influence player experience by directly designing the rules of gameplay.
But don’t mistake the game designer as some “idea guy” who literally thinks up every idea ever for the game. Instead, designers act as a bridge between all the different teams- art, sound design, programming, testing, etc. and lead these teams under a common creative goal. Designers coordinate team meetings and talk with each member of the team to gather ideas. They are open to discussions and criticism. Designers also need to come up with budget constraints, deadlines, etc. so it is important that the designer and programmer communicate properly. Otherwise, the designer will never know if their idea is even technologically feasible. A lot of programmers become designers later on in their careers. Generally speaking, even the people who start out in design have at least some knowledge of programming. Enough to write scripts and flowchart graphs. Similarly, some programmers excel at game design and their input is taken with the same weight as that of a designer.
if instead of game designer or game programmer jobs you are interested in a game tester job and what it takes to become one. Then check out my post What Qualifications Do You Need To Be A Game Tester?
Qualifications Required To Become A Game Designer And The Various Job Opportunities
Game designers will typically have a bachelor’s degree in game arts, interactive media, game design, and other related disciplines. And the salaries are pretty good. Bureau of Labor Statistics recorded the median salary of a game designer to be $102,280. You can make it as someone with a high school diploma, but at least a bachelor’s degree is preferred by most companies that are hiring. Key skills expected from a game designer include the ability to construct and tell a story, artistic vision, creativity, time management, at least a basic level knowledge of programming languages, experience with 3D design software, and a passion for gaming. You will also need certain “soft skills” such as teamwork, communication, perseverance, adaptability, interpersonal skills, etc. As for what career path to expect, there are many roles within the design sphere. While the job of a lead designer is reserved for those with more than 5 to 7 years of experience in the industry, you can snag the job of a junior level designer or content designer in the first couple of years. Try to obtain internships or co-internships as a way of accumulating some experience, since even low to mid-level designer jobs require experience these days.
Build up your portfolio, and don’t think you’ll make it big from the start. Small studios are often willing to hire relatively inexperienced artists and designers, so use them to build up a portfolio in your early days. As a game designer, you should have a broad knowledge of pretty much everything that’s gaming-related, while also specializing in certain things. If you don’t already have a degree in game design, a degree in the following topics may also count- art, literature, math, media studies, and history. Learn game design theory and improve your general knowledge, everything will come in handy at some point. Know enough coding to complete a basic prototype of your game, and learn how to sketch so you can visualize your ideas before implementing them within a game. And finally, don’t forget to play a LOT of games from every single genre. Indies, AAA, AA, modern, retro, FPS, racing, cards, RPG, RTS, fighting, you’ve got to play it all. Your job literally requires you to have a deep understanding of game mechanics and player engagement. So unless you play a whole bunch of games, how will you know what works and what doesn’t?
The Role Of A Game Programmer
Without someone to actually write all the code that brings assets and UI together, there would be no game. It would remain a vision inside the head of the designer, and we all know what that’s worth in terms of money. To create a game you need various elements such as game logic, AI, physics, sound, art, etc. And all of this is tied together by the game engine. Programmers work in collaboration with the creative talent to deliver a finished product that everyone can enjoy. The NPCs which give you items and quests? The scripting for those is done by programmers. The game physics causes physical objects to interact with each other in a realistic fashion? Also done by programmers. Your AI teammates in a game? Once again, done by programmers. All the pretty graphics you see, with the amazing lighting and movie-like special effects? Graphics programmers work countless days and nights to create a rendering engine which makes it all possible. Scripted events, like when you get a special powerup after beating the boss? It too is arranged by programmers. Game designers write the script, but programmers run the show. Programming is the most time-consuming and mentally demanding portion of creating a modern game, especially if it’s a AAA title. Programming starts right at the prototype phase and progresses from then onwards. Indies often have the development workload shared between designers and programmers whereas AAA studios have dozens of teams that specialize in specific disciplines.
Speaking of Indie vs Established studios, we need to consider how each of them uses game engines. Indies will often go with a preexisting engine such as Unity or Unreal for their project since it makes the workflow much more streamlined. This allows the studio to place more emphasis on how their game will look and feel instead of worrying about how it will work. Larger AAA developers will also use Unity or Unreal, but they occasionally make their own engines from scratch (especially in the case of 1st part exclusives for consoles) which is then used across their entire lineup of games for the next 5 to 10 years. Writing a powerful game engine from the ground up is extremely difficult and requires game programmers who are skilled in languages like C++ or C#. To create your own audio, physics, and rendering engines you’ll also need to be skilled in maths and physics. The game programmers who create these engines are paid royally, and rightfully so.
Apart from writing code and creating tools for the rest of the development team, programmers are also tasked with debugging software errors and modifying existing development tools to customize them for a specific game project. There are several types of programmers- graphics, AI, physics, network, UI, tools, engine, gameplay, etc. For the really technical stuff like creating your own render engine or AI, knowledge of calculus and algebra becomes necessary. Just like with designers, a Lead Programmer is assigned to supervise all the other programmers who are working on various things like UI, gameplay, animation, scripting, etc. According to PayScale, the median annual salary for a video game programmer is $65,423. But the big developers will pay a lot more, as is evident by looking at how much Naughty Dog pays its programmers
Qualifications Required To Become A Game Programmer And The Various Job Opportunities
Game programming is a very technical subject, so you will need certain formal qualifications. According to the Bureau of Labor Statistics (BLS), employers often value bachelor’s degrees in information systems, computer science, and mathematics. If you read the article this far, you already understand why maths is such a crucial aspect of game programming. Especially if you’re working with 3D graphics or AI. Competence in programming languages such as C++, C#, Java, etc. is a must although you don’t have to be an expert in every single language. Being really, really good at one or two is important while having a basic understanding of others will help you get by just fine. You often learn to work with new languages and software development kits during your job as a programmer. You’ll most likely start out as a junior programmer, and work your way towards a position like a technical director or engine programmer later in your career. Desirable behavioral traits include being an independent learner, motivation to keep improving, and the ability to work in a team. To become a lead game programmer, you’ll need experience in multiple disciplines- graphics, AI, collision physics, GUI, databases, networking, etc. Not all programming work is pretty, a lot of the time you’ll be stuck doing boring stuff like finding and fixing bugs. Or responding to support requests. You’ll also need to ensure that your code executes optimally on a variety of platforms. And you need to have knowledge of multiple graphics APIs as well as shader programming languages (GLSL, HLSL, etc).
Explaining The Game Development Process
Game development consists of several steps. First is the conceptual phase where you come up with an idea, then you prototype that idea by writing the game logic and using placeholder assets. Once you are past the prototype phase, you begin to consider marketing and promotion for your game while adding new features each day. You code all the physics, AI, and scripted events. Next, you start polishing the character models while also working on level design. Game design and game programming are two halves of game development. Both game designers and game programmers work closely with other people within the development pipeline such as writers, artists, sound composers, graphics designers, testers, producers, etc. to create a polished product that players can enjoy.
The Various Subdisciplines Within Game Design And Game Programming
Within the game design, you have sub-disciplines such as world design, system design, content design, writing, etc. Within game programming, you have sub-disciplines such as AI programming, physics programming, game engine programming, etc. Larger studios will split the workload between multiple teams, while indie studios have people who fill in multiple roles at the same time due to budget and time constraints. People who get into graphics programming must have a high-level understanding of linear algebra, especially transformations. For doing lighting calculations, you’ll need calculus. AI programmers will need to understand discrete mathematics, alongside finite state machines. Animation programmers need to have a basic understanding of trigonometry, calculus, physics, and linear algebra. Knowledge of vectors and matrices is required if you are creating graphics. As always, you don’t have to be a maths guru to code. But these skills are essential if you want to rise to the top, and that could take several years. As far as game design goes, you’ll need a bachelor’s in either game art or computer science. You have to be a creative individual, capable of identifying trends in the industry and iterating upon older designs to create something players will truly enjoy. Technological skills include a deep understanding of editing and design software and basic coding skills. Game designers are also expected to solve complex problems in a logical fashion and be good with time management.
Hopefully, our article cleared up some of the confusion you previously had regarding differences between game design and programming. To reiterate, game design is the process of coming up with a concept and communicating it with the other members of your development team. Game designers supervise and coordinate the development process while providing creative input and deciding on how the player experience should be. They influence gameplay and come up with rules for the game world. Game programmers, on the other hand, utilize code to bring these concepts into reality by creating stuff like graphics, AI, physics, UI, etc. They tie up all the assets and artwork created by the rest of the development team with code that forms the game logic. Game programmers also create the prototype, fix bugs, create tools that help the development process, and conduct a performance evaluation for the game across multiple platforms. Both game design and game programming are split into multiple subdisciplines. Due to the increasing popularity of video games, job prospects for both game designers and programmers look really good right now. Companies usually only hire people with experience, but low budget studios will take in programmers or designers with very little prior experience. Build up your portfolio, keep learning new skills, and soon you’ll be able to secure your dream job within the industry.