Appendix A: Game Design Documentation

While you will learn many technical and practical aspects of game development as you work through the example projects in this book, it is equally important to have a solid foundation in the theoretical aspects of game design. The first effort to create a framework for these concepts was discussed in a paper published by Robin Hunicke, Marc LeBlanc, and Robert Zubek in 2004. 1 In it, they proposed the Mechanics-Dynamics-Aesthetics (MDA) framework , which provides a useful way to categorize the components of a game.

They defined Mechanics as the formal rules of the game, expressed at the level of data structures and algorithms, Dynamics as the interaction between the player and the game mechanics while the game is in progress, and Aesthetics as the emotional responses experienced by players as they interact with the game. Since then, other frameworks have been proposed, each of which provides a different way of analyzing games. A popular example is Jesse Schell’s Elemental Tetrad , 2 which consists of Mechanics, Story, Aesthetics, and Technology (where aesthetics is defined more broadly than in the original MDA framework). Frameworks such as these are valuable tools to help people consistently and fully analyze games. Players can use frameworks to better understand and express what they enjoy about particular games. Developers can use the formal structure to help them create a more cohesive design and to organize and document the development process; explaining how to write such documentation is the goal of this appendix.

A game design document (GDD) serves as the blueprint or master plan for creating a game: it describes the overall vision of a game, as well as the details (often based on a game design framework such as MDA). Practical aspects are also included, such as a schedule that lists when certain features will be completed, a list of team members and responsibilities, and plans for testing and releasing the game. A GDD can provide clarity and focus, while serving as a guide and a reference to the person or people working on the game. To be most effective, the GDD should be as complete as possible before the development process begins. Depending on the flexibility of the developers, a certain amount of modification may be permitted over the course of development, and various adjustments may need to be made after collecting feedback from gameplay testing.

There is no one standard format for game design documents; an Internet search will provide many templates for a variety of development scenarios. GDD templates often contain a bulleted list of topics or questions for your consideration (when applicable). In what follows, we present a similar list of questions for you to ponder as you design your own games; the scope of these questions is particularly good for individual developers or small teams working on projects with game engine software such as Construct 2. By recording detailed responses to the following queries, you will effectively create your own game design document to help guide you through the development process.

  1. Overall vision .

    1. Write a short paragraph (three to six sentences) explaining your game. (This is sometimes called the elevator pitch : a short summary used to quickly and simply describe an idea or product during a 30-second elevator ride.)

    2. How would you describe the genre(s)? Is it single-player or multiplayer (and if the latter, cooperative or competitive)?

    3. What is the target audience? Include demographics (the age, interests, and game experience of potential players), the game platform (desktop, console, or smartphone), and any special equipment required (such as gamepads).

    4. Why will people want to play this game? What features distinguish this game from similar titles? What is the hook that will get people interested at first, how will the game keep people interested, and what makes it fun?

  2. Mechanics : the rules of the game world. (Note that the following questions are phrased in terms of the game’s main character, as distinguished from the player, since the player is the focus of the section on dynamics. However, if no such character exists, the player can be considered as the character.)

    1. What are the character’s goals? These may be divided into short-term, medium-term, and long-term goals.

    2. What abilities does the character have? This should include any action the character is capable of performing, such as moving, attacking, defending, collecting items, interacting with the environment, and so forth. Describe the abilities or actions in detail; for example, how high can the character jump? Can the character both walk and run?

    3. What obstacles or difficulties will the character face? Some obstacles are active (such as enemies, projectiles, or traps) and should be described in detail (how they affect the player, their location, their movement patterns, and so forth). Other obstacles are passive (such as doors that need to be unlocked, mazes that need to be navigated, puzzles that need to be solved, or time limits that need to be to beat). How can the character overcome these obstacles (items, weapons, spells, quick reflexes)?

    4. What items can the character obtain? What are their effects, where are they obtained, and how frequently do they appear?

    5. What resources must be managed (such as health, money, energy, and experience)? How are these resources obtained and used? Are they limited?

    6. Describe the game world environment. How large is the world (relative to the screen)? Are there multiple rooms or regions? Is the gameplay linear or open? In other words, is there a strictly linear progression of levels or tasks to complete, or can the character select levels, explore the world, and complete quests at will?

  3. Dynamics : the interaction between the player and the game mechanics.

    1. What hardware is required by the game (keyboard, mouse, speakers, gamepad, touchscreen)? Which keys/buttons are used, and what are their effects? How is the player informed of the control scheme (a separate manual document, game menus, tutorials, or in-game signs)?

    2. What type of proficiency will the player need to develop to become proficient at the game? Are there any complex actions that can be created from combinations of basic game mechanics? Do the game mechanics or game world environment directly or indirectly encourage the player to develop or discourage any particular play strategies? Does the player’s performance affect the gameplay mechanics (as in feedback loops)?

    3. What gameplay data is displayed during the game (such as points, health, items collected, time remaining)? Where is this information displayed on the screen? How is the information conveyed (text, icons, charts, status bars)?

    4. What menus, screens, or overlays will there be (title screen, help/instructions, credits, game over)? How does the player switch between screens, and which screens can be accessed from each other?

    5. How does the player interact with the game at the software level (pause, quit, restart, control volume)?

  4. Aesthetics : the visual, audio, narrative, and psychological aspects of the game; these are the elements that most directly affect the player’s experience.

    1. Describe the style and feel of the game. Does the game take place in a world that is rural, technological, or magical? Does the game world feel cluttered or sparse, ordered or chaotic, geometric or organic? Is the mood lighthearted or serious? Is the pace relaxing or frenetic? All the aesthetic elements discussed should work together and contribute to create a coherent and cohesive theme.

    2. Does the game use pixel art, line art, or realistic graphics? Are the colors bright or dark, varied or monochromatic, shiny or dull? Will there be value-based or image-based animations? Are there any special effects? Create a list of graphics you will need.

    3. What style of background music or ambient sounds will the game use? What sound effects will be used for character actions or for interactions with enemies, objects, and the environment? Will there be sound effects corresponding to interactions with the user interface? List all the music and sounds you will need.

    4. What is the relevant backstory for the game? What is the character’s motivation for pursuing their goal? Will there be a plot or storyline that unfolds as the player progresses through the game?

    5. What emotional state(s) does the game try to provoke: happiness, excitement, calm, surprise, pride, sadness, tension, fear, frustration?

    6. What makes the game “fun”? Some players may enjoy the graphics, music, story, or emotions evoked by the game. Other features players might enjoy include the following:

      1. Fantasy (simulating experiences one doesn’t have in real life)

      2. Role-playing (identifying with a character)

      3. Competition (against other players or against records previously set by oneself)

      4. Cooperation (working with others toward a common goal)

      5. Compassion (providing assistance or rescuing others)

      6. Discovery (finding objects or exploring a world)

      7. Overcoming challenges (such as defeating enemies or solving puzzles)

      8. Collection (including game items or badges/trophies for achievements)

      9. Social aspects (both within the game and the communities that form around the game)

  5. Development .

    1. If working with a group: list the team members, and list their roles (game designer, programmer, illustrator, animator, composer, sound editor, writer, manager, etc.), responsibilities, and skills.

    2. What equipment will you need for this project? Include both hardware and software that will be needed for content creation (graphics and audio), game development, and playtesting.

    3. What are the tasks that need to be accomplished to create this game? Estimate the time required for each task, the estimated completion date, and the team member responsible; then estimate the priority of each feature (in case some features need to be eliminated because of time constraints or unexpected circumstances).

    4. What points in the development process are suitable for playtesting? How will you find people to playtest your game? What specific kinds of feedback are you interested in gathering? (For example, you could ask how clear the goals are, how easy or intuitive the controls are, how balanced the difficulty level is, and which parts of the game were most or least enjoyable.) Finally, how will you collect this information (such as a questionnaire or a brief discussion)?

    5. What are your plans for dissemination? Do you have plans to promote this game through social media, forum postings, gameplay videos, or advertisements?

Index

A, B

  1. Airplane assault

    1. eight-direction movement

    2. endless vertical scrolling

    3. features

    4. line up shots and enemy bullets

    5. player, waypoint and enemy setup

    6. score, health, invincibility and game over

    7. shooting and spawning enemies

    8. shoots small bullets

  2. Alternative controls

    1. changing default controls

    2. gamepad controllers

    3. touchscreen input

  3. Art resources

  4. Audio

    1. ButtonMute

    2. ButtonPause

    3. ButtonResume

    4. classification

    5. elements

C

  1. Cleanup challenge

    1. background images

    2. cars

      1. bullet behavior

      2. CarWarp object

      3. initial animation

    3. global variable

    4. player

    5. randomization

    6. Text objects

  2. Creature-compare instance variable

  3. Construct

    1. downloading and installing

    2. export

    3. features

    4. preview

    5. programming skills

    6. save

    7. sharing

    8. user interface

  4. Custom Movement

D

  1. Difficulty ramp

E, F

  1. Enemy planes

    1. difficulty ramp

    2. SpawnRate

G

  1. Game design document (GDD)

    1. aesthetics

    2. development

    3. dynamics

    4. mechanics

    5. overall vision

  2. Game jams

  3. Gamepad.Axis

  4. Global variables

H

  1. Hero animation

    1. animation frames

    2. collision polygon

    3. sword-fighting mechanics

I

  1. Image-based animation

  2. Instance variables

  3. Items

    1. ball

    2. paddle

J, K

  1. Jumping Jack

    1. breakable bricks

    2. coins

    3. creation

    4. enemies

      1. Fly and Koala objects

      2. game over

      3. item block graphics

      4. slime movement events

      5. types

      6. UI layer

    5. goal flag

    6. jump-through platforms

    7. keys and locked blocks

    8. ladders and climbing

SeeLadders-climbing mechanic
  1. level design

  2. object interaction

  3. player setup

  4. springboards

L

  1. Ladders-climbing mechanic

    1. activation and deactivation

    2. function object

    3. player movement

    4. tilemap platform

M, N, O

  1. Maze Runman games

    1. background and tilemap maze setup

    2. bonus jewel item events

    3. coin events

    4. directions and movement

    5. end-of-game conditions

    6. enemies and intelligent movement

      1. data structures

      2. default direction, set up

      3. ghost grid alignment events

      4. ghost sprite’s collision polygon

      5. horizontal and random pattern ghost movement events

      6. parameter values

      7. subevents, parameter values

      8. on timer event

      9. vertical pattern ghost movement, events

    7. events, collecting coins

    8. floor and random functions

    9. image-based animations

    10. player setup and grid-based movement

      1. adjusting Runman’s position, grid square

      2. player movement and animation

      3. player movement group and grid alignment

      4. preventative collision detection

      5. sprite’s collision polygon

      6. tilemap wall functionality

      7. on timer event

    11. tilemap panel

    12. user interface and coin placement

  2. Mechanics-dynamics-aesthetics (MDA) framework

P, Q

  1. Plane Dodger

    1. background effects

    2. creation

    3. enemy planes

    4. features

    5. player

    6. score

    7. star

  2. Player’s plane

R

  1. Racecar 500

    1. car behavior properties

    2. creation

    3. obstacles

    4. race time

SeeRace timer
  1. scenery

  2. tilemap

SeeTilemaps
  1. Race timer

    1. invisible

    2. keyboard object

    3. Text object

    4. UI layer and position

  2. Rectangle Destroyer

    1. background

    2. balls

    3. bricks

    4. creation

    5. features

    6. items

SeeItems
  1. MessageEnd

  2. MessageStart

  3. MessageWin

  4. paddle

  5. walls

S

  1. Space rocks

    1. collision events

    2. lasers

    3. layout properties

    4. shields

    5. spaceship movement

    6. thruster effect

SeeThrusters and explosions, space rocks
  1. UFOs

  2. winning/losing

  1. Spaceship movement

    1. acceleration

    2. capping

    3. conditions and actions

    4. rotation

  2. Spell Shooter

    1. adding radar

    2. creatures and vortices

    3. 8-Direction

    4. events, casting spells

    5. features

    6. gauntlet

    7. instance variables and waypoint logic

      1. creatures random starting targets

      2. events, move and hide creatures

      3. ID instance variable

      4. rotate toward Vortex objects, creatures

      5. Vortex object

    8. player setup and mouse-based controls

    9. recharging period

    10. score and game over

    11. spell charge and user interface

    12. TiledBackground

    13. user interface

    14. W/A/S/D keys

  3. Sprites

    1. image editor

    2. instances

    3. layouts

    4. object creation

    5. properties

  4. Starfish Collector

    1. animation and text

    2. audio

    3. behaviors

    4. ButtonPause

    5. ButtonResume

    6. creation

    7. events

    8. layer panel

    9. layout properties

    10. menus

    11. project properties

    12. solid objects

    13. sprite objects

SeeSprites
  1. value-based animations

T

  1. Teleportation

    1. expressions

    2. mechanic

    3. warp effects

  2. Text objects

  3. Thrusters and explosions, space rocks

    1. events

    2. features

    3. fire object

  4. Tilemaps

    1. collision polygons

    2. panel

    3. racetrack

    4. road configurations

  5. Tower defenders

    1. cannon purchase and placement

    2. cannons and bullets

    3. destroying enemies

    4. earning cash

    5. enemy movement

    6. game ending and difficulty ramp

    7. level setup

    8. side quests

      1. cannon types

      2. dynamic shoplike mechanic and customizable variables

      3. enemy types

      4. time speed control

    9. turret placement

  6. Treasure Quest

    1. creation

    2. enemies

      1. hero interaction

      2. types

    3. Hero setup

SeeHero animation
  1. items

    1. bombs

    2. coins

    3. hearts

    4. treasure chest

  2. portal and spawn instances

  3. tilemap

  4. UI

SeeUser interface design
  1. wall object

U

  1. Unidentified flying objects (UFOs)

    1. collisions

    2. destroy

    3. SpawnPoint

  2. User interface design

    1. layout

    2. properties

    3. sign mechanics

    4. status display

    5. template projects

V

  1. Value-based animations

  2. Vortex-compare instance variable

W, X, Y, Z

  1. Waypoint-compare instance variable

Footnotes

1 Hunicke, LeBlanc, and Zubek. “MDA: A Formal Approach to Game Design and Research.” Proceedings of the Nineteenth National Conference on Artificial Intelligence , 2004.

2 Schell. The Art of Game Design: A Book of Lenses . CRC Press, 2008.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset