Title: Of Stick Figures and Boxes OR Off the Shelf tools For Communicating your Game Design Montreal International Game Summit, 2006
1Of Stick Figures and BoxesOROff the Shelf
tools For Communicating your Game
DesignMontreal International Game Summit, 2006
James Everett james.everett_at_a2m.com
2James Everett
3Game Designer
4(No Transcript)
5Game Designer
Artificial Mind and Movement
6Communication
7(No Transcript)
8Design
Programming
Art
9(No Transcript)
10(No Transcript)
11Designers Vision
12(No Transcript)
13Designers Vision
Desired Game
Programmers Implementation
14Oh Joy! Oh Rapture!
15Designers Vision
Desired Game
Programmers Implementation
16Designer
Desired Game
Programmer
17Not a Doctor
18What is the Unified Modeling Language?
19(No Transcript)
20(No Transcript)
21History of UML in 30 Seconds or Less
22(No Transcript)
23???
24OMG!
25(No Transcript)
261.0
1997
2.0
2004
27(No Transcript)
28How does UML work?
29English
Deutsch
Esperanto
Français
Español
Bosanski
Nihongo
Dansk
30but not clever
Computers fast,
31if (Game) !
then
32PPPPPP
- Prior
- Planning
- Prevents
- Piss
- Poor
- Performance
33(No Transcript)
34Stand Avatar waits in idle stand state -Player
can jump from stand Jump Avatar jumps into the
air -After completing Jump the avatar enters the
fall state. Fall Avatar is airborne and cannot
jump again -When the avatar reaches the ground
return to stand
Stand
Fall
Jump
UML
Text
35(No Transcript)
36(No Transcript)
37(No Transcript)
38(No Transcript)
39(No Transcript)
40(No Transcript)
41Avatar
Player
42Behavior Diagrams?
Punch Enemy
Stand
Fall
Reduce Enemy HP
Enemy Enters Hurt State
Use Case
Jump
Actor
Use Case Diagram
State Machine Diagram
Activity Diagram
43Use Case Diagrams
Use Case
Actor
44Actor
45ATM
Withdraw
Deposit
Customer
Bank Database
Balance Check
46GAME
Movement
Combat
Avatar
Enemy
Health
47and
Actor
Player/avatar
NPC/Enemy
48Punch
ASSOCIATION
Avatar
ACTOR
GAME
49Use Case
- Use Case specifications
- Provide a detailed explanation of use cases
- Through text
50Use Cases arePlayer Centric
51Use Case Combat
Kick
Punch
Shoot
Avatar
Punch 1) The avatar punches an enemy and
causes damage. 2)... Kick
1)... Shoot 1)...
521) The avatar punches an enemy and causes damage.
- What is an enemy?
- How can I tell if I hit the enemy?
- What if I dont hit the enemy?
- How much damage do I cause?
531) The avatar punches an enemy and causes damage.
Enemy Actor
Damage State
54Notes on Enemy
- Enemy is a non-player character
- Enemy will attack the player
- The Player must defeat the enemy
- The player defeats the enemy by reducing its
hitpoints to 0 - To reduce the enemys hitpoints the player must
successfully attack the enemy
55Player Combat State Machine Diagram(rev 0.01)
Punch Complete
Idle
Punch
Player presses Punch
56Player Combat State Machine Diagram(rev 0.01)
State
Punch Complete
Idle
Transition
Punch
Player presses Punch
Guard Condition
57Player Combat Activity Diagram (rev 0.01)
Punch Enemy
Reduce Enemy HP
Enemy Enters Hurt State
58Initial Node
Punch Enemy
Reduce Enemy HP
Enemy Enters Hurt State
59Initial Node
Flow
Punch Enemy
Reduce Enemy HP
Enemy Enters Hurt State
60Initial Node
Flow
Punch Enemy
Activity
Reduce Enemy HP
Enemy Enters Hurt State
61Initial Node
Flow
Punch Enemy
Activity
Fork
Reduce Enemy HP
Enemy Enters Hurt State
62Initial Node
Flow
Punch Enemy
Activity
Fork
Reduce Enemy HP
Enemy Enters Hurt State
Parallel Activities
63Initial Node
Flow
Punch Enemy
Activity
Fork
Reduce Enemy HP
Enemy Enters Hurt State
Parallel Activities
Join
64Player Combat Activity Diagram (rev 0.01)
Initial Node
Flow
Punch Enemy
Activity
Fork
Reduce Enemy HP
Enemy Enters Hurt State
Parallel Activities
Join
Activity final node
65Use Case Combat
Kick
Punch
Shoot
Player
Punch 1) The player punches an enemy and
causes damage. 2) Punching an enemy causes
it to enter a Hurt state 3)... Kick
1)... Shoot 1)...
Hurt state
66Kick
Punch
Shoot
Avatar
Punch Enemy
Reduce Enemy HP
Enemy Enters Hurt State
Punch Complete
Idle
Punch
Player presses Punch
67Kim Possible Player Combat Actions Use Case
Diagram
68Kim Possible Jump State Machine Diagram
69Punch Enemy
Reduce Enemy HP
Enemy Enters Hurt State
Yes
Kill Enemy
Is Enemy HP 0?
No
70More UML Notation
Activity
Generating Signal
Use Case
Receiving Signal
71Where does it fit?
72Concept
73Designer
Game
Programmer
74WARNING
Designer
Programmer
75Use Case
76WARNING
- All forms of documents must be maintained
- Impractical to create state machines and activity
diagrams for everything
77Dont be afraid to throw it away
WARNING
78Complex AI may not play well with UML
WARNING
79- Removes confusion!
- Clarifies Designs!
- Scrubs high level to low level!
80Still not a Doctor
81Resources
- Books
- UML Demystified
- Elements of UML 2.0 Style
- UML Distilled
- Programs
- StarUML (free, open source)
- Visual Paradigm
- Watch out for ATM examples
- www.agilemodeling.com
Contact james.everett_at_a2m.com