Presentation is loading. Please wait.

Presentation is loading. Please wait.

EGGG: Automated programming for game generation J. ORWANT PRESENTED BY HANFENG CHEN MARCH 25, 2015.

Similar presentations


Presentation on theme: "EGGG: Automated programming for game generation J. ORWANT PRESENTED BY HANFENG CHEN MARCH 25, 2015."— Presentation transcript:

1 EGGG: Automated programming for game generation J. ORWANT PRESENTED BY HANFENG CHEN MARCH 25, 2015

2 Introduction EGGG: the Extensible Graphical Game Generator EGGG is a program that generates programs ◦Define the rules of games ◦Rules are rendered into real computer games The games generated by EGGG should satisfy ◦Simple game description ◦Efficiently create games with relatively large size ◦Easily generate variations ◦Be portable ◦Easy to modify

3 Game Categories and Descriptions Classify games according to the following attributes: 1. Frenetics (timed) 2. History (record) 3. Synchrony (order) 4. Movement 5. Topology (shape) 6. Board (surface) 7. Pieces (items on board) 8. Compartment (barriers) 9. Genre (theme) 10. Information (communication) 11. Referees 12. Endings (goal)

4 An Example - Poker game is poker turns alternative clockwise Discard means player removes 0..3 cards or 4 cards if Ace Fold means player loses 2..6 players …. game is ….

5

6

7 How does EGGG know that poker is a game of rounds? Decide that poker is a game of rounds by heuristics. 1.The game has levels. 2.The game has a particular solution. 3.The game has no hands. 4.The game has hands, but the hands contain more than 13 pieces per side. 5.The game is played on a grid with more than 25 squares.

8 A New Game - Deducto  A logical game  Played on a 5 x 5 square  Each of the 25 squares is either black or white  It has levels  Each level has a secret rule  The goal is to determine the rule  Rule level 1: at least half squares are white  The game is described in 42 lines of EGGG

9 VoteYes, if you think you understand the rule in levels VoteNo, otherwise.

10 Easy to Create Variations Tetris SideTetris TwoPlayerSideTetris Bouncetris BounceFast SquareBounce Pong (A classic video game)

11 Implementation  Inspired by the Programmer’s Apprentice and METAGAME  EGGG is written in Perl and the generated games are Perl programs  Data structures to store properties of games  Documentation is generated for both developers and players

12 Game Components  A generic minimax procedure  subroutine: enumerate_moves()  A generic static evaluator  subroutine: score_board()  A generic library of opening moves  The steps of playing games are save on EGGG global repositories  Strategies  Predict human players’ actions  Analyzing strategies with hidden Markov models  A dozen of simple strategies are included in EGGG  Generating hypotheses, making interesting moves and probabilistic bluffing

13 Rock-Paper-Scissors EGGG can predict your next choice by the move histories.

14 Other Functionalities  Multiplayer games  No spatial meaning  Each player has his or her own side of a grid or canvas  The orientation is fixed  Generating TCP/IP networking code  port 10900

15 Conclusion  Given brief description of a game, the EGGG creates a graphical game written in Perl  However, rules should be specified  It is not a generic solution for creating games, but the reusable components enable that the EGGG is a productive tool  The EGGG provides a quick and easy way for the game design


Download ppt "EGGG: Automated programming for game generation J. ORWANT PRESENTED BY HANFENG CHEN MARCH 25, 2015."

Similar presentations


Ads by Google