Easy, intuitive games result from painstaking game development. Game companies go through so many development phases before releasing a game to the market. They consider how the game art should appear, who the target audience is, and how game design should be executed. But even these aspects are merely scratching the surface.
With so many phases involved in game development, people tend to wonder what the differences are of each phase. And some people have asked, “What is the difference between game design and game programming?” In essence, they’re two different and important phases in game development, but we will delve into these concepts more thoroughly.
Defining Game Design and Game Programming
What Is Game Design?
People commonly view game design as the appearance of a game. Yes, that plays a massive role in a player’s experience, but 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.
Game design is the overall concept of the game. It answers the question, “What is the game’s intended project?” From there, you can already deduce the next important step.
What Is Game Programming?
Great ideas are wasted if they do not materialize into the world. This fact applies to a great game idea, too. When someone has a great game idea, they flesh it out by determining its overall design. But what happens after detailing a game’s design? This is where game programming enters.
Game programming is only one part of the general production phase in game development. The other part being art creation. It executes a game’s mechanics and gameplay using one or more programming languages. Through code, the artistic and functional aspects of a game become merged, giving life to the game.
When a designer creates the document showing programmers the features, mechanics, and gameplay of a game, both parties refer to the document with the understanding it will change along the way. In the game programming stage, game design may change significantly. The reason for this is programmers are more aware of the limitations — and possibilities — of a game once they start writing the code.
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.
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.
Step 1: Research
Step 2: Determine all in game design elements
Step 3: 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.
Step 1: Create a prototype.
Step 2: Lay out the foundational code.
Step 3: Implement features.
Step 4: Test!
Step 5: Update the game design document accordingly.
Step 6: Determine changes and revisions.
Step 7: 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 firstname.lastname@example.org.