Download presentation
Presentation is loading. Please wait.
Published byBelinda Tucker Modified over 9 years ago
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 ….
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.