State-Driven Programming for Computer Games Georgiy Korneev Anatoly Shalyto Saint Petersburg State University of Information Technologies, Mechanics and Optics
2 State-Driven Programming for Computer Games State Control state Computational state Transition Input actions Events Input variables Output actions Interacting automata system State-Driven Programming
3 State-Driven Programming for Computer Games Astronaut (1)
4 State-Driven Programming for Computer Games Astronaut: States
5 State-Driven Programming for Computer Games Astronaut: Actions
6 State-Driven Programming for Computer Games Application Fields Game engine Artificial intelligence
7 State-Driven Programming for Computer Games Game Engine (1) World Locations Characters Animation Physics
8 State-Driven Programming for Computer Games Lines
9 State-Driven Programming for Computer Games Lines Automata Game Control Cell Control
10 State-Driven Programming for Computer Games Game Engine (2) Lode Runner Platform, puzzle2 automata Escape Arcade4 automata MiniStrategy Turn-based strategy 4 automata Sea Battle Turn-based tactics6 automata Automatic Bomber Arcade14 automata
11 State-Driven Programming for Computer Games Artificial Intelligence (1) Characters Bots Standalone Cooperating Terrarium (Microsoft)
12 State-Driven Programming for Computer Games Artificial Intelligence (2) Robocode (IBM)CodeRally (IBM)
13 State-Driven Programming for Computer Games Artificial Intelligence Electric Jungle (Sun) 1 automaton 3 automata 5 automata Escape (Simple Arcade) Multiagent system (4 automaton types) Aladon (Russian Role-Playing Game) 6 automata
14 State-Driven Programming for Computer Games UniMod: State-Driven Programming Integrated Development Environment UniMod = UML + Switch-Technology + Java + Eclipse + Sourceforge Homepage Links viewlink-cid-335.html viewlink-cid-335.html
15 State-Driven Programming for Computer Games State-driven Object-Oriented Design Two types of diagrams Automata Interaction Diagram Describes static structure Based on Class Diagram State Diagram Describes behavior Based on State Charts
16 State-Driven Programming for Computer Games Game of Poker
17 State-Driven Programming for Computer Games Automata Interaction Digram
18 State-Driven Programming for Computer Games Main State Diagram
19 State-Driven Programming for Computer Games Nested State Diagram
20 State-Driven Programming for Computer Games State-Driven Programming Russian version English version Switch-Technology
21 State-Driven Programming for Computer Games Thank You for Attention