Your favorite video games are a product of intricate and painstaking game development. To create an awesome game, development takes several steps, including game design and game programming. Both are integral parts of video game development, but industry outsiders might find it difficult to distinguish between game design versus game programming.
Game design and game programming are two aspects of game development that overlap, making the general confusion between the two understandable. However, there are major differences between the two in terms of game development. If you are outsourcing video game development, one of the important points of discussion is to clarify what you want done. Generally, game designers are responsible for the creative vision of a game while game developers ensure the technical implementation. In video game development, both work hand in hand to create visually amazing and enjoyable video games.
In this article, we make the distinction between game design versus game programming to understand how both affect game development and what game designers and game programmers do.
Game Design versus Game Programming: What’s the Big Difference?
Before we take a closer look at the two, let’s have a general overview of the difference between game design and game programming.
When creating a video game, game design and game programming are two essential stages of game development. These aspects of game development are pivotal and the people who do game design and game programming are highly valuable to any game development team. In fact, in the industry, game designers and game programmers are some of the most in-demand positions.
The main difference between game design and game programming is which aspect of a video game the position focuses on. On the surface, game designers focus on the creatives while game programmers focus on the technical. However, there are several layers of complexity entailed in both jobs and a single mistake from one end can cause major problems for a game.
While it may seem to be two very different aspects of video game development, video game design and video game programming need to work together in order to create a game that players will enjoy. Likewise, game designers and game programmers need to work together closely to ensure that a game turns out great. So every time you play your favorite classic games such as Tetris and The Legend of Zelda: Breath of the Wild to more recent notable games such as Pokémon Sword and Shield, think of the highly skilled team of game designers and game programmers behind them.
What Is Game Design?
People commonly view game design as the appearance of a game. But while that plays a massive role in a player’s experience, there is more to game design than visual aesthetics.
In Robert Zubek’s book Elements of Game Design, he described game design as having three levels. These levels are (1) mechanics and systems, (2) gameplay, and (3) player experience. These concepts are complex in themselves. But we can simplify them as follows.
- Mechanics and systems refer to the rules and objects within the game.
- Gameplay is the interaction of the player with these rules and objects.
- And player experience relates to how users feel when they’re playing the game.
In other words, game design usually focuses on the creative side of game development. It is interested in what will give players an interesting experience.
In game development, game design takes on the task of visualizing and setting a direction for a game. Game designers are generally responsible for the overall design of a game, however, depending on the company and complexity, several designers may be divided into teams to focus on particular aspects of the game. Game designers take on a ton of responsibilities as they not only create the framework for a game, but they also ensure its flow.
Some of the general responsibilities of video game designers include:
- Identifying trends in the gaming industry
- Testing out multiple genres and themes for new games
- Researching what players wish to play or experience
- Creating the game structure or how the game is meant to be played, including rules and game progression (both in terms of story and gameplay)
- Develop the game’s layout, concept, and gameplay
- Collaboration with other game development teams during the game launch to successfully bring it to the market
- Create and manage product documentation
- Simpler yet highly important tasks such as level design or object placement
Game designers are highly skilled individuals that have a highly analytical mind and incredible problem-solving skills that help in developing games. Because of the complexity of the position, major gaming companies are always on the lookout for skilled video game designers. After all, without the conceptualization and research from game designers, games wouldn’t come into existence.
What Is Game Programming?
In the comparison between video game designers versus video game programmers, we pointed out that the latter focuses more on the technical aspects of video game development. While designers had to look at the bigger picture, programmers have to make the game designs become actual playable games.
The job of video game programmers is a lot more technical as they deal with code and other game development languages to create enjoyable video games for people. Video game programmers must have a knowledge of mathematics, logic, computer programming, and an understanding of several programming languages to craft sophisticated and enjoyable games.
With their knowledge and skill sets, video game programmers usually have the following responsibilities:
- Transforming game designs into functional and playable games
- Play test to spot and fix errors in the game
- Collaborate with software developers
- Inspect older games to spot errors in the code and improve upon said errors
- Implement AI to character movements in game
Game programmers are integral members of a game development team as they create the blocks that realizes the vision of game designers. In a sense, game programmers are the builders of the gaming industry. Each programmer is responsible for making sure that video games run as designed and envisioned with minimal issues.
Because of the high level of technicality and difficulty that programmers face, video game programmers have a wealth of knowledge in the technical aspect of video game development, particularly in coding and computer science. Game programmers usually have a specialization in terms of game development since video game programming can be quite broad and encompassing.
Video game programmers may have some of the following sub-specialties:
- Graphics programming
- Network programming
- AI programming
Video game programming is not easy — which is why in most video gaming companies, programmers are in high demand. Being able to transform game design and ideas into actual playable games takes skill and effort, making the game programmers a valuable and irreplaceable part of the gaming industry.
People in Game Development
Game development is a huge project that requires a large team. But this will also depend on the project’s scale. So if you’re wondering who should generally form part of the game development crew, take note of the following roles.
Game Designers are responsible for the comprehensive design of a game. Often, discovering a game’s design is a collaborative effort, but the core group responsible for it has to determine the main objects within the game, how the player should interact with these objects, and the intended experience of the player, as Zubek puts it. Of course, the game designer’s task is much more complex, but these are the foundations from which they begin.
Artists are the visual world-builders of a game. They’re the group responsible for the appearance of characters, objects, and environment, generally guided by the direction in the game design document. Through 3D or 2D tools and editors, game artists significantly contribute to the immersion players experience in a game.
Animators are the magicians behind a game. They can create the illusion of lifelike movement, or animate according to the world in which the game is set.
Audio Engineers further immerse players into the game’s world by establishing the ambiance through sound.
Programmers execute the game’s functionality. There are many types of game programmers, tasked with executing separate aspects of the game. Different programmers can be assigned to do the user interface, gameplay, or special effects. But one programmer can be responsible for everything as well. That, however, will require the programmer to have a wide range of specializations.
QA Testers make sure all the elements in a game appear and function flawlessly. They ascertain whether the code is bug-free and if the intended user experience is achieved by all of the interplaying elements.
Game Design versus Game Development versus Game Programming: Which is Which?
To industry outsiders, game development, game design, and game programming could all just be the same thing. There is, however, a distinction between the three. While the difference between game design and game programming can be quite clear, there can be further confusion when the term “game development” comes into the mix.
So, what is the difference between game design versus game development and game programming?
Circling back to the major difference between game design and game programming, the former refers to the game’s vision while the latter refers to the actualization of such vision. In game design, game designers think of a concept, flesh out the idea, and create the framework for the initial game. Meanwhile, game programmers take these ideas into reality by utilizing software and programs to create an actual playable game based on the game design.
So where are game developers in all of this?
Here’s the simple answer — in every step of the way.
The process of producing a game or game development encompasses everything from ideation to execution. Game development is the entire process from ideation, production, launch, and updates. Both game designers and programmers are involved in these stages.
While the term “game developers” may be interchanged with “game programmers” in some companies, there really isn’t that big of a difference in terms of its significance in the gaming development process. After all, it is undeniable that without game programmers, no game designs would come into existence — creating a gameless world.
Game Design versus Game Programming: The Final “Battle”
Game design and game programming are essential aspects of video game development. One without the other would simply result in a world with no games. With such pivotal roles, game designers and game programmers truly are the MVPs of the gaming industry.
For people who wish to enter the gaming industry, being able to recognize the duties and responsibilities of a game designer versus a game programmer is pivotal. After all, they are two massively different positions that both require incredible skill, acumen, and passion for gaming. Knowing the difference between game design and game programming helps individuals which path they are more suitable for.
On a technical level, knowing the difference between the two greatly helps in understanding how bestselling games work. After all, no game would be a success without an incredibly skilled game development team behind it.
At this point, there is no “battle” between game design versus game programming — only an acknowledgement of their significance, importance, and an excitement for what these incredible designers and programmers can do with future games and technology.
Processes In Game Design and Game Programming
The General Game Design Process
The process in game design might look short, but there are a lot of considerations game designers have to make. Here is a general overview of the game design process, merely one aspect of game development.
- Determine all in game design elements
- Create game design document
Breakdown of the Game Design Process
The first step is research. Before crafting a game’s design document, game designers think about their main goals. The research objectives will be contingent on them. If the goal is to gain profit, they need to determine what kind of games people favor. They think about who the target audience is and where to find them. This will also influence their choice of game engine since they need to consider their preferred programming language and the platform on which they will deploy their product.
Then, based on Zubek’s definition of game design, they will identify the elements of the game. To do this, game designers can use Zubek’s approaches:
- Top-down design
- Bottom-up design
The top-down design focuses on the big picture and then narrows down to specific elements. The bottom-up design is the reverse. Game designers will first pinpoint the specifics and work their way up to the picture. Zubek suggests the most effective approach is the hybrid of the two, citing Frederick Brooks’ work The Design of Designs: Essays from a Computer Scientist.
After determining everything, game designers will compile all the details into a single document known as the game design document. This document will serve as the road map for programmers and artists to follow in order to create the game.
The General Game Programming Process
Programming a game is one of the most difficult and tedious parts of the game development’s production phase. And so, the following steps are only a general look into the process. Game programmers have different approaches, but this process can be helpful to those who are new to creating games.
- Create a prototype.
- Lay out the foundational code.
- Implement features.
- Update the game design document accordingly.
- Determine changes and revisions.
- Go back to Step 2.
Breakdown of the Game Programming Process
Based on the game design document, game programmers will create prototypes to test the features and possibilities of the game design concept. This is followed by programmers setting up and laying out the source code needed for the game. The people behind programming the game will often use an engine, most of which have unlimited libraries that make programming so much easier. This is because libraries often have the code needed in games, whether it’s code to show combat or carry out dialogue among characters. User experience is also a huge factor game programmers have to consider. So it’s always a huge help for programmers to find pre-written code in their game engine’s library, given others have tried and tested the same.
Once the game programmers implement the game’s features, they have to test it out. Testing a game early on saves developers time and money. It’s in the testing phase that most programmers will determine the feasibility of the game design document, even though the game’s code is still incomplete. If it turns out several specifications indicated in the document are not suitable for the game for whatever reason — maybe it’s impossible or maybe certain features are extraneous — the game design document will have to be updated. After, the game design document will be revised, and then programmers will have to go back to Step 2, laying out the foundational code once again.
The game development team will repeat the process several times until they are satisfied with the output. Depending on their game concept’s scale, this process might take some time between a few weeks to a few years.
The main differences between game design and game programming lie in the tasks, people, and processes involved.
We can sum up game design in the following points:
- Game design is concerned with mechanics, gameplay, and the intended player experience.
- Game designers form the game’s main concept.
- Researching, determining the game’s design elements, and forming a cohesive game design document are some of the main tasks in game design.
In contrast to game design, we can sum up game programming in the following points:
- Game programming is mainly concerned with the functionalities of a game.
- Game programmers execute what’s indicated in the game design document.
- Many types of programmers are needed to build a game, but this also depends on the game’s complexity. There can be one or more programmers assigned to do different specializations.
NarraSoft’s outsourcing services range from game development (especially in Unity) to asset creation. You can also expect services involving data entry, technical support, 3D art creation, software development, and so many more. Want to partner with NarraSoft? Send an email to email@example.com or message us on our chat box or contact form.
Note: This article, originally published in September 2020, has been updated in December 2021.