1 / 17

Generic Gaming Engine

Explore how a single program can support different games, including designing and implementing games in a general manner. Discover the program's requirements and limitations, and learn about future work possibilities.

Download Presentation

Generic Gaming Engine

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. Generic Gaming Engine Andrew Burke Advisor: Prof. Aaron Cass

  2. Problem How can a single program provide a medium for playing more than one game? How can games be described in a general manner? How will an outside agent make use of the program’s functionality?

  3. Presentation Overview • What are the program’s requirements? • What types of games will be supported? • How will users interact with the program? • How are games designed and implemented? • What are the limitations of the program? • Where does it go from here?

  4. Requirements • Functional: • Any system capable of running Sun Java 1.4.2 • Must pass String input • Can accept text-based output • Nonfunctional: • Robust • Quick • Usable

  5. Game Constaints • Rectangular board • Turn-based • Two players • Two pieces may not occupy a single cell simultaneously • Maximum dimensions 50 x 50 cells

  6. Program Design

  7. Program Interaction • Client-engine interaction occurs through a single Java Class • Contains API and data access methods • Initialization, update, and move verification • Read access to state and move history

  8. Game Design • Finite State Machine • Rule set • Java program • Must import genericgamingengine package • Must specify and pass input to the Game class

  9. Finite State Machines • Describe game progression and rule changes • Includes a transition for each movement scenario • Designed using the State Machine Compiler • http://smc.sourceforge.net/

  10. Sample FSM: Checkers

  11. Sample FSM: Checkers Checkers FSM “StandardMove” [gameEnded() == false] getInput() “AttemptedMove” displayError() “EndingMove” [opponentEliminated() == true] endGame() showWinner() “InitGame” getInput() Start Normal GameOver “Promote” [pieceOnBackRow() == true] promote() getInput()

  12. Rule Set • File containing rules for: • Piece types • Piece movement rules • Board dimensions • Board setup • Written using a small programming language • Users may write their own functions as combinations of supplied primitives

  13. Sample Rule Set: Checkers

  14. Sample Rule Set: Checkers

  15. Program Limitations • Game variation limited by primitive list • Simple interface • Large games run slowly • Current interface inadequate for large games

  16. Future Work • Distributability • Simultaneity • User interface • Primitive list expansion

  17. Questions?

More Related