Game Design Principles
Game Design Principles
Game Design Principles
John Laird University of Michigan Last changed 9/8/05 [drawn in part from Doug Church]
What is a Game?
How are games different than toys?
Games have rules and goals to be achieved.
Computer Games
Completely new form of entertainment Completely new worlds to play in Allow players to take on a new persona
Supporting interaction
Graphics Audio: dynamic sound, music, and speech Input devices: speech? Networking
Game Design
Create an experience for the player
Player should have fun, not the designer, programmer or computer
The environment has rules of interaction The rules and some criteria for success define a game All managed by the computer
Score points
Sports games
Play god
Simulations
Game Interactivity
Players decisions determine success/outcome
At least the player thinks their actions do Avoid decisions that arent related to success of some goal
Feedback
Feedback at all levels so players
Know where they are Know where they are relative to other players
high score list
Know what they need to achieve Know what is important in the world Can use knowledge to make choices
Gameplay Variety
Must develop & execute strategies/tactics to achieve goals
Applies across all levels of goals
Dont solve problems by unique, unlikely actions Dont break suspension of disbelief
Kill self but dead body falls over wall, hits lever to open door
Fairness
Player thinks they have a fair chance game balance
Avoid Repetition
Allow user to skip parts already seen
Skip cut scenes Good save system
Linear plot/gameplay
Players actions dont affect how the plot progresses
Micromanagement
Player is forced to perform meaningless tasks AI should take care of all the obvious choices
Repetition
Player must do same action over and over again Player must sit through same cut scenes every time they play Have to replay 90% of level to fight boss
Limited feedback
Player is confused about goals Player is confused about current progress to goals: no map
Inconsistency in story
There are not compelling and consistent goals for the player
The importance of play testing Incorporate a smooth learning curve Accommodate all skill levels
Recommendations 4-7
4. Be Relentlessly Consistent Use the mother tongue of the user. Be consistent with the phone's UI, with game industry conventions, and within the game itself. Use the left soft key for OK, select, and menu; use the right soft key for cancel and back. 5. Don't Waste the User's Time Allow her to skip the introduction. Do not require re-entry of data. Provide shortcuts and reasonable default values. 6. Use Natural Controls Use the 2, 4, 6, and 8 keys for horizontal and vertical movement as well as the arrow keys; use the 1, 3, 7, and 9 keys for diagonal movement, if enabled. Use the 5 key as the action button. Design the game so that it does not lure the user into pressing two keys at once, since many mobile devices (and all Series 40 devices) do not support simultaneous keypresses. 7. Enable Save and Pause Provide a simple save-game feature. Have the game auto-save when the user presses the red phone button - use the destroyApp() method to do this. Provide a pause mode (left soft key, which goes to the game menu); this can be done using the hideNotify() method. If the user quits the game from the pause mode, have the game auto-save.
Recommendations 8-10
8. Conform to Real-World Expectations For example, when jumping or throwing objects, the flight path should be predictable. There must be no invisible barriers that the player cannot pass or holes that he cannot reach. Do not end the game arbitrarily. Implement a realistic physics model if relevant (for example, racing games). 9. Go Easy on the Sound Provide sound for feedback, but ensure that the game is playable with the sound off, and provide an easy way to turn sound off within the game. No annoying sounds: not too loud, not too high-pitched. Avoid background music, if possible. 10. Implement a High Scores List Tell the user what score he reached before asking for a name; provide the previously entered name as the default. Do not force the user to enter a name; make it optional.