1 / 21

State-Driven Programming for Computer Games

State-Driven Programming for Computer Games. Georgiy Korneev Anatoly Shalyto. Saint Petersburg State University of Information Technologies, Mechanics and Optics. State-Driven Programming. State Control state Computational state Transition Input actions Events Input variables

silvio
Download Presentation

State-Driven Programming for Computer Games

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. State-Driven Programming for Computer Games Georgiy Korneev Anatoly Shalyto Saint Petersburg State University of Information Technologies, Mechanics and Optics

  2. State-Driven Programming • State • Control state • Computational state • Transition • Input actions • Events • Input variables • Output actions • Interacting automata system State-Driven Programming for Computer Games

  3. Astronaut (1) State-Driven Programming for Computer Games

  4. Astronaut: States State-Driven Programming for Computer Games

  5. Astronaut: Actions State-Driven Programming for Computer Games

  6. ApplicationFields • Game engine • Artificial intelligence State-Driven Programming for Computer Games

  7. Game Engine (1) • World • Locations • Characters • Animation • Physics State-Driven Programming for Computer Games

  8. Lines State-Driven Programming for Computer Games

  9. Lines Automata Cell Control Game Control State-Driven Programming for Computer Games

  10. Game Engine (2) • Lode Runner • Platform, puzzle 2 automata • Escape • Arcade 4 automata • MiniStrategy • Turn-based strategy 4 automata • Sea Battle • Turn-based tactics 6 automata • Automatic Bomber • Arcade 14 automata State-Driven Programming for Computer Games

  11. Characters Bots Standalone Cooperating Terrarium (Microsoft) Artificial Intelligence (1) State-Driven Programming for Computer Games

  12. Robocode (IBM) CodeRally (IBM) Artificial Intelligence (2) State-Driven Programming for Computer Games

  13. 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 State-Driven Programming for Computer Games

  14. UniMod: State-Driven Programming Integrated Development Environment • UniMod = UML + Switch-Technology + Java + Eclipse + Sourceforge • Homepage • http://unimod.sourceforge.net/ • Links • http://www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-335.html • http://www.codezoo.com/pub/component/260?category=97 • http://today.java.net/pub/n/UniMod • http://java-source.net/open-source/uml-modeling/unimod • http://www.open-open.com/open132928.htm State-Driven Programming for Computer Games

  15. 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 State-Driven Programming for Computer Games

  16. Game of Poker State-Driven Programming for Computer Games

  17. Automata Interaction Digram State-Driven Programming for Computer Games

  18. Main State Diagram State-Driven Programming for Computer Games

  19. Nested State Diagram State-Driven Programming for Computer Games

  20. State-Driven Programming • Russian version • http://is.ifmo.ru/ • English version • http://is.ifmo.ru/english/ • Switch-Technology • http://en.wikipedia.org/wiki/Switch-technology State-Driven Programming for Computer Games

  21. Thank You for Attention State-Driven Programming for Computer Games

More Related