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

Slides:



Advertisements
Similar presentations
When is Orientated Programming NOT? Mike Fitzpatrick.
Advertisements

Introduction to Databases
Introduction to Video Game Design BBrewer Fall 2013.
Database Systems: Design, Implementation, and Management Tenth Edition
Tetris – Genetic Algorithm Presented by, Jeethan & Jun.
24 th December,2010. Facts of Mexico Chess Event Number of Participants – 14,065 Number of Masters – 602 Master : Participants = 1 : 24 Venue : Central.
Neural Networks for Opponent Modeling in Poker John Pym.
TEMPLATE DESIGN © Genetic Algorithm and Poker Rule Induction Wendy Wenjie Xu Supervised by Professor David Aldous, UC.
Chapter 2 Data Models Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Introduction to Databases
Introduction to Databases Transparencies
Chapter 1 INTRODUCTION TO DATABASE.
Developing a Basic Web Page with HTML
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
Introduction to Databases
Great Theoretical Ideas in Computer Science.
Mrs. Maninder Kaur 1Maninder Kaur
Find all the factors pairs of 12
The chapter will address the following questions:
Great Theoretical Ideas in Computer Science.
Introduction to Systems Analysis and Design Trisha Cummings.
2 1 Chapter 2 Data Model Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
Hex Combinatorial Search in Game Strategy by Brandon Risberg May 2006Menlo School.
CISC 235: Topic 6 Game Trees.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
2 1 Chapter 2 Data Models Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Patterns in game design
Database Systems: Design, Implementation, and Management Ninth Edition
Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow.
Othello Artificial Intelligence With Machine Learning
Introduction of Geoprocessing Topic 7a 4/10/2007.
CSE 219 Computer Science III Program Design Principles.
Patterns and Reuse. Patterns Reuse of Analysis and Design.
Games. Adversaries Consider the process of reasoning when an adversary is trying to defeat our efforts In game playing situations one searches down the.
Chapter 1 1 Lecture # 1 & 2 Chapter # 1 Databases and Database Users Muhammad Emran Database Systems.
Senior Project Poster Day 2007, CIS Dept. University of Pennsylvania Reversi Meng Tran Faculty Advisor: Dr. Barry Silverman Strategies: l Corners t Corners.
Particle Systems (Motion Machines of 2D Objects with Textures) Matthew K. Bowles Advanced Computer Graphics Spring 2004.
1 Chapter 1 Introduction to Databases Transparencies.
CSE473 Winter /04/98 State-Space Search Administrative –Next topic: Planning. Reading, Chapter 7, skip 7.3 through 7.5 –Office hours/review after.
Introduction of Geoprocessing Lecture 9. Geoprocessing  Geoprocessing is any GIS operation used to manipulate data. A typical geoprocessing operation.
Quoridor and Artificial Intelligence
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Every chess master was once a beginner. Irving Chernev
Week 8 : User-Defined Objects (Simple Blackjack Game)
Introduction to Databases Transparencies © Pearson Education Limited 1995, 2005.
Introduction of Geoprocessing Lecture 9 3/24/2008.
2 1 Database Systems: Design, Implementation, & Management, 7 th Edition, Rob & Coronel Data Models Why data models are important About the basic data-modeling.
Software Synthesis Participants: Omri Ajchenbaum and Daniel Hasson Supervised by Dr. Hillel Kugler Mid-Project presentations: February 2016.
Object Oriented Analysis & Design By Rashid Mahmood.
Capture and Storage of Tabular Data Leveraging Ephesoft and Alfresco W. Gary Cox Senior Consultant Blue Fish Development Group.
Part 1 The Basics of Information Systems. Purpose of Information Systems Information systems ◦ Collects, stores and organizes information ◦ Retrieves.
Introduction to Databases Transparencies
Introduction to Databases Transparencies
Introduction to Algorithms
Great Theoretical Ideas in Computer Science
Ab & Team Presents CHESS “It’s not just a game”.
DATA MODELS.
Gary Hughes, South Oakleigh College
Introduction to Databases Transparencies
Introduction to Databases
Introduction to Databases
Software Development CMSC 202.
Object Oriented Analysis and Design
Introduction to Databases
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Introduction to Databases
Introduction to Algorithms
Introduction to Databases Transparencies
Understanding Chess Notation
Presentation transcript:

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

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

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)

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 ….

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.

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

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

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

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

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

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

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

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