|Game Development 101: (incomplete)
a. Basics of Game Development
b. Designing your Video Game
c. Math in Video Games
d. AI Decision-making & Pathfinding
e. Asset Creation & Game Art
f. Physics & Collision Detection
g. Shaders & VFX in Games
h. Multiplayer & Networking in Games
Game design is the documentation of everything about the game before we develop it. Clear game design prevents disorder during development & leads to success. Even if you are working solo or in a small team, it is a good idea to work properly on design instead of delaying your decisions until development; as we see that many of the new features require existing decisions to be reconsidered and changed. Even a small new feature, that is necessary to be added but not compatible with existing scheme of work, can lead to failure of entire project (requires too much rework that one can consider it a failure).
Another reason for a game design is that it saves effort & makes it very clear before even we start that if the game we are going to develop is feasible. Feasibility should not be assumed, but proven by a solid design and proof of concept.
Game Design Documentation
In a typical design document, you must specify things that will later guide you in implementation. All core mechanics should be clearly defined. We can represent design in any of the following forms:
- A formal document
- A wiki or notebook
- Collection of files
- A kanboard, and so on
Our goal is only to have an accessible base of knowledge to guide us in development. The rest of the article discusses the things that we should specify in our design document.
Game Concept, Background, Genre, Platform
First of all our idea should be specified; including the genre in which the game belongs, the platforms & optionally your target audience. This is typically very well understood by us & it isn’t something to stress on. When we say “I have a game idea!”, we are referring to this section.
Game mechanics is how everything works in our game. We must describe the working of every significant element individually & make sure that it is consistent with all other elements in our game. It could be a very lengthy & an important part of a game design. Here I present some examples of game mechanics. However, this section is based on your original concept.
You must be able to clearly define the core gameplay experience of your game using a very consistent & solid choice of words without leaving any space for ambiguity. Core gameplay is the general functioning of your game. Here you should not refer to the specific events that occur in your game, but the overall working of every element.
Case Study (Super Mario): Core gameplay of Super Mario as stated in a GDD by Adam Jones:
“As you progress through the game, the screen gradually moves to the right, prompting the player to move in that direction to advance. The Mushroom Kingdom is divided into worlds, each further divided into four areas. At the end of the fourth area in each world, the player reaches a large castle. Each area imposes a time limit, and the player must reach the end within that time or lose a life.
Upon reaching the castle, the next level is an end boss lava-themed dungeon where the player battles the evil Koopa to rescue a Mushroom person. After defeating the boss, the player advances to the next world and its four areas.
Each area concludes with a flagpole that the player jumps on, earning points based on the height reached. This marks the end of the level, and a final score for the area is calculated. The player then progresses to the next area. However, reaching the flagpole is not straightforward, as players encounter mountains, pits, seas, Koopa’s soldiers, and various puzzles along the way.
Mario/Luigi can defeat enemies by jumping on their heads or throwing fireballs if a fire flower power-up has been collected. If Mario touches an enemy from any direction other than the head, falls into a pit, or touches lethal scenery (e.g., fire, spikes), a life is lost, and the player restarts from the beginning of that area. If Mario dies in the middle of the area, he restarts from the middle, avoiding the need to start from the very beginning.
If all lives are lost, the player must restart from area one within the current world. For example, if the player dies in World 4 – Area 3, they will restart in World 4 – Area 1.
During Mario’s journey through each area, he can headbutt scenery, some of which is destructible and may reveal secret items such as Magic and 1-Up Mushrooms, Fire Flowers, Invincibility Stars, and Coins. Collecting 100 coins also grants the player an extra life.”
The Mario example is a relatively simple one. In your game, you may want to include many sections in your core mechanics description. The overall goal is to make sure what exactly we need in our game; all described in a precise way. All decisions, all features must be confirmed and agreed-on at this point.
Though flexibility can be regarded as a good choice in some cases, but flexibility exercised too much can lead to a game disfigured from its original concept/idea. So caution should be taken.
Example: 3D FPS Shooting Mechanics
Following things maybe specified for a basic shooter.
- If player has 1 or more weapons, at least one must be carried in hands & rest of them in inventory; which he can switch at any time.
- Switching a gun will cause existing one to go down in screen & the next one will come from bottom of screen to simulate the switching of guns.
- An aim crosshair will be displayed whenever a gun is in hand. A bullet when fired will go to any random direction within the crosshair radius.
- Shooting, running & being hit at will cause crosshair radius to grow larger.
- Each gun will have 7 properties that distinguish it from other guns: the accuracy (represented by default crosshair radius), fire rate, magazine capacity, visual 3d model, sound of fire (must be consistent with fire rate), weight of gun, reload animation.
- For each gun, the bullets will have 1 property that distinguishes it from other bullets: the damage.
- For each gun, the ammo packs will look different. If an ammo pack is picked, it increases the inventory ammo of that particular gun by 25 bullets.
- Player’s speed will be limited by the combined weight of all carried guns in inventory & in the hand.
Game story tells the meaning of the gameplay. Many of the game features or requirements & gameplay elements are inferred/discovered/elicited from the game story.
Example from Mario GDD by Adam Jones: “One day the kingdom of the peaceful mushroom people was invaded by the Koopa, a tribe of turtles famous for their black magic. The quiet, peace-loving Mushroom People were turned into mere stones, bricks and even field horse-hair plants, and the Mushroom Kingdom fell into ruin.
The only one who can undo the magic spell on the Mushroom People and return them to their normal selves is the Princess Toadstool, the daughter of the Mushroom King. Unfortunately, she is presently in the hands of the great Koopa turtle king.
Mario, the hero of this story (maybe) hears about the Mushroom People’s plight and sets out on a quest to free the Mushroom Princess from the evil Koopa and restore the fallen kingdom of the Mushroom People. You are Mario! It’s up to you to save the Mushroom People from the black magic of the Koopa!”.
This section is not complete. However, some art styles can be seen here: https://dreamfarmstudios.com/blog/game-art-styles-with-guide/
This section is not complete.
Sounds & Music
This section is not complete.
Some Game Design Tips
This section is not complete.