IrrlichtWrapper Library

Functional Game Design


Here we explore a functional game design, a design that describes the features and functions of your game. This design  helps you build up a plan of your game that can not only convay your ideas clearly to other people but will also explore things you may not have thought about and give you a better idea of your own project

Whether your project is large or small a good design is going to make it much easier to develop. There are many schools of thought on game design but there are some common rules that I believe are key to the design process:
  • Be unambiguous. Always be clear and positive don't use the words 'should', 'could' or may.
  • Be clear. Provide reasonable explainations and references, don't assume the reader already understands any concept in your game design. Where a diagram would be useful try to provide one.
  • Be professional. I avoid humor and jokes in the document except where it is essential to the design or concept, not everyone has the same sense of humor and they may not be in a humorous mood when reading your document. 
  • Be a salesman. Pitch your project well. Your design may be seen by managers, marketeers and sponsors; these people are interested in a financial return from your project so address that. Your design may be seen by developers who want a an interesting and attractive project to work on, so address that too.

The Example Game Design

I am going to demonstrate my approach to the design process by providing an example design for a simple free game that will be pitched as a platform for delivering advertising.

Frank Dodd 2010

1. Table of Contents (This section will provide a table of contents for every major feature of the game design document)
1. Table of Contents
Product Perspective
3. Core Gameplay
4. The Helicopter
5. The Environment
6. Waypoints
7. Landing Pad
8. Structure
9. Media Assets

2. Product Perspective (This important section is the readers introduction to your design it will be short, clear and impressive)

2.1. Concept Artwork

2.2. Overview
Whirlybird is a free to market application for the PC that will be able to carry one or more marketing messages to its audience on in game objects.

The Player will control a simple helicopter and be challenged with taking off from a landing pad, moving to a number of waypoints within a time limit before returning to and landing safely at the landing pad.

At the end of each challenge a new challenge will be presented that increases the difficulty by placing the waypoints at more distant and dangerous locations.

2.3. Vision

  • Whirlybird will provide a casual game experience where the player can join for a level and then pick up the same challenge later on.
  • Whirlybird will start at a simple and accessible level of ability and gradually build up in difficulty as the player improves.
  • Whirlybird will provide an attractive and entertaining game experience through an effective low budget media environment.
  • Whirlybird will present advertising messages in a clear, dynamic and unobtrusive manner.

3. Core Gameplay (This section will provide a clear idea of the main concepts in the gameplay and will leave your reader with a detailed idea of how the game will play)
3.1. Overview
The game will be constructed from a series of challenges and each challenge from a series of collection tasks where the player collects waypoints distributed through the environment.

3.2. Challenges
The Challenge will begin with the helicopter at rest on the landing pad.

The player will start the helicopter and manouver it into the air.

The player will complete the challenges collection goals.

Once all collection goals are complete the Challenge is complete

The player will return to and bring their helicopter to rest on the landing pad.

3.3. Collection Goals
Once in the air the player will be able to rotate the helicopter and manouver it to the next waypoint, as the helicopter passes through the waypoint the waypoint will be collected and the collection goal will be complete.

3.4. End Game
The game will end when all challenges have been completed.

4. Helicopter (One key functional aspect that needs describing is your Avatar, here that avatar is the helicopter)
4.1. Overview
The helicopter is the players representation in the game world in this instance the vehicle that the player will be piloting.

4.2. Flight Dynamics
The helicopter will respond in a simple but realistic manner. Based upon the physical forces of:
  • Gravity - A constant downward force accellerating the vehicle to the ground
  • Drag - A force proportional to the velocity of the vehicle that works to bring the velocity to zero.
  • Lift - A controllable upward force lifting the vehicle into the air
  • Thrust - A controllable directional force that moves the vehicle in a particular direction
4.3. Controls
The vehicle will simulate the major flight controls of a helicopter:
  • Cyclic - A four way control that determines the tilt of the rotor blades and the direction of travel.
  • Collective - A two way control that determines the lift derived from the rotator and the thrust produced both vertically and in direction of the cyclic.
  • Anti-torque pedals - A two way control that changes tail rotor thrust and is able to spin the vehicle left or right (a force called Yaw).
  • Throttle - A two way control that increases or decreases engine power to maintain an acceptable rotor speed.
W - Cyclic forward
A - Cyclic left
S - Cyclic backward
D - Cyclic right

Q - Anti-torque Left
E - Anti-torque Right

- - Throttle Down
= - Throttle Up

[ - Collective Down
] - Collective Up

The player will throttle up the helicopter to apply power, apply collective to lift it safely into the air. They can then apply cyclic to move the travel of the helicopter. To land they will release collective to reduce lift and decend to the surface.

4.4. Collision and Damage
The vehicle will be able to collide with both the terrain and trees placed upon the terrain.
  • Striking the terrain with a vertical force of over 1m/s will cause a failure of the vehicle.
  • Striking the terrain with a horizontal force of over 0.5m/s will cause a roll and a failure of the vehicle.
  • Striking a tree with any horizontal force will cause a failure of the vehicle.
  • Striking water at any velocity will cause a failure of the vehicle.
  • Striking a surface outside of the above criteria will bring the helicopter to rest.
4.5. Flight Time
The vehicle will be able to maintain throttle to its Rotors for exactly two minutes at the end of two minutes throttle will reduce to zero.

If the helicopter is at rest and there is no throttle the game will end.

5. Environment (Another functional aspect that needs describing is your environment, an overview of the general environment would be useful and then descriptions of each level or area)
5.1. Overview
A single environment represents the game world in all challenges, it provides a hazard which the helicopter can strike and end the challenge.

5.2. Terrain
The terrain is an island location with a flat spacious central area that provides a simple piloting challenge. Away from the center of the island hills begin to appear until out at the edge of the island hazardous mountain areas decend into the surrounding water

5.3. Water
The water surrounds the island and any locations on the island where the terrain decends below sea level.

The water provides another collision hazard.

5.4. Trees
Trees are scattered sparsely on the island surface and provide a collision hazard. A number of variety of trees are provided for and increase envrionmental detail.

6. Waypoints (Add in and describe in detail each of the main functional components of your game)
6.3.1. Overview
Waypoints are locations that the player must reach to collect and move on a step in the challenge. Once the player reaches a waypoint the next will become visible

6.3.2. Representation
The waypoint is represented by a red circle physically at the location of the waypoint and a yellow circle that overlays the red circle but is a constant size and is always visible on the screen.

If the waypoint is not physically visible on the screen the yellow circle will stop at the edge of the screen closest to the waypoint.

6.3.3. Locations
The waypoints will be created at a series of predefined locations that are presented to the player as each waypoint is completed.

6.3.4. Collection
The player is able to collect a waypoint simply by flying to within 5 meters of the location. The waypoint will then be collected and the representation will move to the next waypoint.

If there are no more waypoints in this challenge. The representation will be removed and the player must locate the landing pad on their own.

7. Landing Pad
7.1. Overview
The Landing pad is a solid location at which the helcoper starts and at which the helicopter must land to complete the challenge

7.2. Advertising
The base of the landing pad will be decorated with advertising messages that will spin rotate around the circumference.

7.3. Location
The Landing pad will always be found at the center of the map on the surface of the terrain

7.4. Starting Point
The helicopter will always start a challenge at rest on the Landing Pad with the throttle low.

7.5. Landing Point
The helicopter will end a challenge when it is at rest on the Landing Pad with the throttle low and no waypoints to collect.

8. Structure (This section will provide an overview of the structure of the game and how the game will progress it will be complete but it will not go into too much technical detail, that will be in a higher level design document)
8.1. Overview
The game will be designed to progress in a linear manner through the stages described in this section.

8.2. Start Up
When the game is started it will display a title screen, three depressable buttons and play an introductionary musical track.

The game will wait for the player to click on one of three options and to either display a help page, start the game or exit the game.

8.3. Game Cycle
The game cycle determines if this is the last challenge in the game.

While there are more challenges the game will layout waypoints and start the next challenge.

When ther are no more challenges the game will display End Game Art and restart the game at the titles.

8.4. Challenge Cycle
During the challenge cycle the player will operate the helicopter.

The game will check for arrival at waypoints and display the next waypoint when they arrive.

The game will check for collisions between the helicopter and environmental objects.

The game will check for conditions that indicate the challenge has ended and will at that point end the challenge.

If conditions to end the challenge have not been met the challenge cycle will continue.

8. Media Assets
8.1. 3D Models
The game has been designed to use a small number of three dimentional assets and associated texturing:
  • 1 Helicopter
  • 1 Landing Pad
  • 1 Terrain
  • 1 Water
  • 4 Trees
8.2. 2D Graphics
The game has been designed to require a small number of two dimentional images:
  • 1 Title Overlay
  • 1 Help screen Overlay
  • 1 Waypoint Collected Overlay
  • 1 Challenge Complete Overlay
  • 1 Crashed Overlay
  • 3 Depressable image buttons (Play, Help and Exit)
  • 1 Font
  • 2 Waypoint Images
8.3. Sound Effects
The game has been designed to use a small number of sound effects:
  • 1 Helicopter Engine Start
  • 1 Helicopter Engine Running.
  • 1 Helicopter Landing
  • 1 Helicopter Crash
  • 1 Helicopter Splash into water.
8.4. Music
The game has been designed to use a small number of musical tracks:
  • 1 Introduction track
  • 1 Ambient gameplay track