Saturday, July 31, 2010

Game Design Document [part I]

2 weeks ago I've presented in this blog our vision of where want to go with our Development Cycle by adopting a Rapid Prototyping approach.  And some of the very important sub-phases were about the game ideas and describing the game, but how should we document those important steps?  This is what id like to tackle in this week blog post and present an interesting solution that can provide a well done Game Design Document quickly.

As shown above this is how my Game Design  Document look like for TinySpaceThing (left) and iQBR1 (right).  This is also probably how most of us are doing them by filling a notebook/notepad, pieces of papers with scribble/sketch and other indecipherable writing (well that only maybe me us understand).   It was during the early days of iQBR1 last years that I found that I needed a more clear/clean way to document all my ideas/design as it was becoming more complex.  So now let see how a Game Design Document could look like and learn how to do one yourself.

This is much more cleaner then the previous Game Design Document I had, it has different sections and the most important thing is that is that it is written in human readable language.  This mean that I could give this document to any other members of my team and they will know what the game is all about and what will be needed to be done for artwork/audio, etc...

First before I go more into details about this Game Design Document, I want to point out that I am not the original creators of this template.  After reading many articles about Game Design and seeing different templates, this is the one that I felt the most comfortable with and that I would highly recommend for anyone looking for a Game Design Document template (this is of course my opinion and you might already have your own Game Design Document template).  You can get the original template is from Game Design Novice website which you can get here.  Alternatively I also made available on our site a Google Docs version of it which you can get here.

Now you just came back from your daily exercises and you had that great ideas for your next game, so of course you will want to wrote down those ideas on paper or better yet open up your Game Design Document template.  But where should you start and how do you fill this document template?  This is what I am going to explain in the following steps by using TinySpaceThing as my example (the explanation/comment will be in normal text while the rest of the example text in italic).


In this section this is where you are going to give a general overview of what the game is all about without getting too much in details.  It should fit in 1 page and you should be able to complete this part in a relative short time while you still have that game idea fresh in memory.

In One Sentence

How do you describe your game in one short/simple sentence,  think of it as a sale pitch or how you can summarize your game in a nutshell (this is the idea sub-phase from our Rapid Prototyping approach that we document here).
Shooting things in space are tiny, tiny tiny!

Here we will give more details about the actual game, that will give an overview of the actual core game play.  Or some other key elements that are important to the game (this is the description of the game sub-phase from our Rapid Prototyping approach that we document here).
The game is about a squadron in their spaceship that are defending their home world against an invading flotilla of enemies spaceships.  As a player you will take control of one of the hero in the squadron and you will need to defend/protect the sector you have been assigned to and clear up all enemies opposition.  It will be possible to play up to 4 game simultaneously on the same devices via split-screen).
Target Audience

Does your game is geared toward a specific demographic (hardcore gamer, casual gamer)? Then it should be noted here, as this could become crucial for the rest of the design of the game.  Designing the game without thinking about the core audience you want target can lead to some real bad design choice.  Which in turn will annoy your primary target and make them not interested in your game (finding it too difficult, too easy, etc...).
Our core audience for this game are the gamers that love challenging shmups but that also like to play with friends sitting around a table.

Gamers that play the following types of games will be our primary target :
  • Shoot'em up (shmup)
  • Arcade/Action
  • Mutliplayer

    Your game will target at least one platform (maybe more if you decide to go multi-platforms), so here you will say which one it is and give a brief description of its characteristics.  The important thing to document here are the keys elements of your targeted platforms that you would need to take in consideration while designing your game (screen resolution, available memory, inputs, etc...).
    The platform we are targeting is the iPhone/iPod touch/iPad from Apple which is an hand held multimedia device with a touch screen that will suit well the idea we have in mind for the game.  The iPhone/iPod touch have a screen size of 3.5" with a resolution of 480 x 320 pixels (this is for the lowest device the iPod touch and previous generation iPhone as the latest generation iPhone have a resolution of 960 x 640 pixels) while the iPad have a larger screen size which is 9.7" with a resolution of 1024 x 768 pixels.  This will need to be taken in considerations while doing the graphics so that they are optimize for each devices.  Another consideration is that fingers are use to interact with the user interface, so the control for the game will need to be adapted for this as they are no joystick/joypad.
    Unique Selling Points

    In this section you should make a list of bullet points that give reasons to gamers to play your game and buy it.  This list will  become quite useful once you start to do your marketing, as it could  be the basis for that slogan or what you want to show in that screen shot/video and in your trailer.
    Major selling points :
    • Simple touch controls;
    • Challenging shmups;
    • Fast pace action;
    • Up to 4 player on the same device (via split screen).
    Game Mechanics

    In the previous section we have introduce what the game will be about but we didn't go too much into the details as the goals was to keep it simple and be an overview.  Now in this section this is where we are going to describe the nuts and bolts of our game so people will know how to play it.  This will also be use later on when its time to start thinking about the development and how to implement this game in real code
    (this is the game description sub-phase from our Rapid Prototyping approach that we document here).


    First thing that we need to explain in details is how the player will interact with the game.  Don't be surprise to revisit this section several times once you get a prototype running and get actual feedback  as you might need to re-adjust the control scheme.
    The player will use his finger to first move is spaceship around the game area (his finger will need to be over any part of the spaceship, preferably the back part where the reactors are).  He will also use his finger to tap on the spaceship to shoot laser which will come out in the front of the spaceship.
    Movement with the finger will be restricted to the game viewable area which is 1/4 of the screen on the devices, this game viewable area will depend if its player 1, 2, 3 or 4.  Also movement will be block if it collide with another objects such as enemies spaceships, asteroids, etc...

    Firing by taping the spaceship with the finger will only be limited by your ability to quickly tapping, so the quicker you are on tapping the faster the laser will be shot.  The tapping can  be done on any part of the spaceship and as noted above the preferable way is by tapping in the back of the spaceship.

    Please note that the player can't control/move the enemies spaceship or his laser shot (you need to move your spaceship where you want to shoot or avoid incoming enemies).  And it will also be possible to let one player control more than 1 player if he desire (this can be quite challenging but also fun).

    Now that you know how the game will be controlled, you will also like to know if you gonna get some kind of reward to complete some tasks/challenges.  Here we will describe the different ways to get points and how it affect the total scoring.
    Points are given for each successful hits on a enemy spaceship then you get extra points once the enemy spaceship is destroyed.  Also bonus points will be awarded if you successfully destroyed several enemy spaceships in a row.
    Point will be award in the following way :
    • 1 point for each successful hit on a enemy spaceship;
      • 5 extra points once the enemy spaceship is destroyed;
    • 25 bonus points for each extra enemy spaceship you destroyed in a row (eg. 3 spaceships destroyed in a row will equal (3 - 1) x 25);
    • No points are awarded for hitting asteroids (rock aren't your enemy).
    Win and Lose Conditions

    Sadly as in most game their can  be no tie, you either win or loose.  You will then need to define what will be the winning condition or loosing condition.  Usually they will have one for each, but their could be different scenarios that could provide alternate ending in both case.
    The game will be won by the player once he defeat the flotilla that came in a series of waves (levels). 
    The game will be lost by the player if all his shields + life are depleted either by the enemy spaceship and/or asteroids.
    Level Design

    This is one of the section that you probably going to spend most of your time and where you gonna write the most.  As its in here that you will get into all the small details on how each levels in your game will be design (you can include sketches or other material that will help visualize the level).

    This game will be split into 3 mains levels and each levels will have 3 sub-levels (stage).  And where in each sub-levels you will usually encounter 2 type of enemy (regular and stronger).
    The player spaceship will have variable speed movement (it will be limited by the user finger speed), a weak shileds (5 units) and weaks weapons (1 units) and will have 3 life.  It will be possible to collect items to refill the shield and power up to upgrade the shield and weapon to the strong version.  Also if the player spaceship hit an asteroids he will loose 1 shield unit.
    They will be 3 type of enemy (units) which will be as follows :
    • Scouting spaceship : Fast movement, weak shields (5 units), weak weapons (1 units);
    • Striker/bomber spaceship : Average movement, strong shields (10 units), strong weapon (2 units);
    • Imperial carrier spaceship : Slow movement, strongest shields (50 units), strongest weapons (multiple weapons, for a total of 5 units);

    • 1st level : Scouting Area
      • Stage 1 : Everything start quietly where only a few tiny stars can be seen, but then shortly after the first tiny scouting spaceship appear... They are only one first, then a second will come and finally a third one.  You know something is wrong, then you are informed via a message that a full scale invasion is indeed coming.
      • Stage 2 : Once you have defeated the first 3 enemy scouting spaceship you enter a small asteroids fields, beware other enemy scouting spaceships are scanning the area, they are 17 of them to defeat.
      • Stage 3 : You have clear the asteroids fields and enter another sector where you need to defeat the few remaining enemy scouting spaceships (5 of them).  Everything is clearing up, thinking you're out of danger to suddenly find out that the enemy sent some striker/bomber spaceships in your direction (you will need to defeat the 5 of them).
    • 2nd level : Dog fight
      • Stage 1 : It wont take long before you're force into action once more, this time it will be another wave of striker/bomber that will need to be defeated (5 of them) along with scouting spaceships (10 of them).
      • Stage 2 : Entering another asteroid fields once the previous enemy spaceships had been defeated, in here this is where the hard fighting will begin as the striker/bomber try to ambush you (10 of them).
      • Stage 3 : After escaping the deadly ambush you don't get much rest as you enter another battle zone with striker/bomber (10 of them), but your fear will grow even bigger once you see the imperial carrier enter the battle field (1 of them).
    • 3rd level : Imperial armada
      • Stage 1 : You barely survive your encounter with one imperial carrier, but it wont be your last as you will need to defeat another one carrying along with him 10 striker/bomber and 10 scouting spaceships.
      • Stage 2 : Thinking of avoiding the enemy detection by going to hide in the asteroids fields?  Well its seems you weren't the only one to think of that as the enemy is already there with one imperial carrier surrounded by scouting spaceships scanning the area (10 of them) and striker/bomber ready to strike at will (10 of them).
      • Stage 3 : It was hard but you made it in one piece, the enemy have suffer a major blow, but now it time to defeat the heart of this flotilla.  You will now enter the zone where the 2 remaining imperial carrier are preparing to call for re-reinforcement.  Don't let them do so, defeat them along with their remaining scouting spaceships (5 of them) and striker/bomber (5 of them).

    Stay tuned for next week part II of this Game Design Document article as we delve into the Story, Visual Style and Audio Style sections of this template.

    This post is part of iDevBlogADay, a group of indie iPhone development blogs featuring two posts per day. You can keep up with iDevBlogADay through the web site, RSS feed, or Twitter.

    1 comment:

    1. Thanks for the insight!
      Coming new into the whole game dev arena, it's very helpful to see how others are doing it.