AI-TEM TESTING AI IN COMMERCIAL GAME WITH EMULATOR Worapoj Thunputtarakul and Vishnu Kotrajaras Department of Computer Engineering CHULALONGKORN University,

Slides:



Advertisements
Similar presentations
Sony Digital Video Camcorder Model - TRV22E. What can you do with it? Video to tape and playback through TV In combination with a computer: –Video to.
Advertisements

Google Picasa Simple Sharing & Photo Editing May 2011Moore Memorial Library Public Computer Center | Greene, NY1.
Windows Movie Maker Introduction to Video Editing Mindy McAdams.
Inpainting Assigment – Tips and Hints Outline how to design a good test plan selection of dimensions to test along selection of values for each dimension.
Design Methodology for High-Level Model Based on an Eight Bit Entertainment System Alejandro Lizaola, Ricardo D. Castro, Gilberto Beltran. Manuel Salim.
Programing Concept Ken Youssefi/Ping HsuIntroduction to Engineering – E10 1 ENGR 10 Introduction to Engineering (Part A)
A New Learning Tools. Topic Maps is a standard for the representation and interchange of knowledge, with an emphasis on the findability of information.
Aim: Use the given examples to record examples and our own ideas in our journal 1.Write technical examples in journal and/or participate in full.
Operating Systems Or why is Bill Gates so rich? Computers Mr. Specter Steel Valley High School Or why is Bill Gates so rich? Computers Mr. Specter Steel.
Game Design and Programming. Objectives Classify the games How games are design How games are implemented What are the main components of a game engine.
Macromedia Dreamweaver 4 Advanced Level Course. Add Rollovers Rollovers or mouseovers are possibly the most popular effects used in designing Web pages.
1 Introduction to Programming Environment Using MetroWerks CodeWarrior and Palm Emulator.
Lecture 6 Desktop Publishing III – Presentation Software Introduction to Information Technology With thanks to Dr. A. Zhang, Dr. Haipeng Guo, and Dr. David.
Advanced Workgroup System. RED Advanced Workgroup Systems: Scan Features Copy Print Scan DNSG Software Our Customers Documents Our Customers Documents.
GAME:IT Junior Bouncing Ball Objectives: Create Sprites Create Sounds Create Objects Create Room Program simple game.
Lawson System Foundation 9.0
Wendy Russell-About.com “What is Windows Movie Maker” &
Lesson 6 Operating Systems and Software
Training Course 2 User Module Training Course 3 Data Administration Module Session 1 Orientation Session 2 User Interface Session 3 Database Administration.
Microsoft Office 2003 Illustrated Introductory with Programs, Files, and Folders Working.
© Cheltenham Computer Training 2001 Macromedia Dreamweaver 4 - Slide No 1 Macromedia Dreamweaver 4 Advanced Level Course.
The Short Tale of Adlez: First Iteration Design ENGI 5895: Software Design Spencer Bellows & Robert Gash.
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Laurent Noel.
Josh Kilgore Obi Atueyi Tom Calloway Ye Tian 1 Software Engineering Spring 2010.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Microsoft PowerPoint and Presentations Part II Kin 260 Jackie Kiwata.
This is NUUO IO Device. Install IO Device IO Card Capture Card IO Box Converter USB RS485 PCI MPEG-4 Series H.264 Series.
NMU Voic Welcome to. This presentation will walk you through the setup and use of the NMU Voic system. Follow the step by step instructions.
Programing Concept Ken Youssefi/Ping HsuIntroduction to Engineering – E10 1 ENGR 10 Introduction to Engineering (Part A)
Department of Computer Science and Engineering, CUHK 1 Final Year Project 2003/2004 LYU0302 PVCAIS – Personal Video Conference Archives Indexing System.
CS 114 – Class 02 Topics  Computer programs  Using the compiler Assignments  Read pages for Thursday.  We will go to the lab on Thursday.
Computer Science Detecting Memory Access Errors via Illegal Write Monitoring Ongoing Research by Emre Can Sezer.
Faculty Webpage Design Minimum Requirements. Go to: then High Schoolhttp://gcsc.groupfusion.net/
Problem of the Day  Why are manhole covers round?
Introduction to PowerPoint Curriculum Implementation Day Friday, November 3, 2006 K.J. Benoy.
Pointers OVERVIEW.
Project 6 Advanced File and Web Searching. 2 CHAPTER OBJECTIVES  Begin a new file or folder search, save a search, and find a file using a saved search.
CIS111 PC Literacy Getting Started with Windows XP.
Year level focus: Middle to upper Primary By Nicola McCluskey.
1 Re-hosting Audience: All Audiences Module Scope: The process of how to move activated license quantities from one license host (the machine on which.
Introduction to EBSCOhost Tutorial support.ebsco.com.
Choose a category. You will be given the answer. You must give the correct question. Click to begin.
Our project main purpose is to develop a tool for a combinatorial game researcher. Given a version of combinatorial puzzle game and few more parameters,
Artificial Intelligence, simulation and modelling.
1 st Semester Module2 Basic C# Concept อภิรักษ์ จันทร์สร้าง Aphirak Jansang Computer Engineering.
Introducing Scratch Learning resources for the implementation of the scenario
Reference: What is it? A multimedia python library – Window Management – Graphics geometric shapes bitmaps (sprites) – Input Mouse Keyboard.
DATA Unit 2 Topic 2. Different Types of Data ASCII code: ASCII - The American Standard Code for Information Interchange is a standard seven-bit code that.
What are the Steps to add an HP Printer to a Mac Device? HP Customer Support Helpdesk.
State of the art literature review on...
GIF or Not GIF? Use GIF for animation:
Processing the image with Python
Computing.
Lawson System Foundation 9.0
Save you references, Save your time!
RYU PIXAL ART For this project we worked toward learning animation using street fighter characters and pixel art to replicate rye hudukon in a pixel.
EBSCO Discovery Service (EDS)
Saving, Modifying page, grammar & spell checking, and printing
Scratch The Surface of Coding
Tutorial Introduction to support.ebsco.com.
GDSS – Digital Signature
Finding Magazine and Journal Articles in
Blender API: Part 2: Game Engine
Electronic Field Study Advanced User Training
EBSCO Discovery Service (EDS)
Introduction to Database Programs
Introduction to Database Programs
GIF or Not GIF? Use GIF for animation:
Tutorial Introduction to help.ebsco.com.
IS 135 Business Programming
Presentation transcript:

AI-TEM TESTING AI IN COMMERCIAL GAME WITH EMULATOR Worapoj Thunputtarakul and Vishnu Kotrajaras Department of Computer Engineering CHULALONGKORN University, Bangkok, Thailand Department of Computer Engineering, CHULALONGKORN University, Thailand

Forecast (Abstract) Have you ever wanted to develop AI for popular games, console games? When you develop AI for games, how can you test it? Is it hard to find a testbed? Are you bored of testing only PC games? Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator Outline The problem of finding Game AI tesbed The concept & framework of AI-TEM Experiment: Using AI-TEM Conclusion & Future work Discussion

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator The Problem Criteria of Testbed game. Not too simple. Has many ways to play. Allows AI to show off its cleverness. High quality, Nominee name, Accepted games. What will you do to have that Testbed? Develop a game for testing from scratch. Use tool sets from some games. Find open source games. Find a game company that can give you source of their game. Use Testbed.

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator Inspiration of AI-TEM Want to test AI in Winning Eleven, Street Fighter, The King of Fighter. Robot, press controller, see the game. (R.O.B, Gyromite?) Emulator & ROM can do that! Observe game state, send controller signal.

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator Emulator & ROM += Game cartridgeROM DumperGame ROM Game consoleGame emulatorEmulated game ROM DATA

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator AI-TEM Framework Emulator (VBA) Game (ROM) Menu Control Game State Observer Game State Normalize AI Python Interface Input Controller Artificial Intelligence Testbed in Emulator

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator AI-TEM with VBA Why VBA? - Open Source - Many supporting tools - Many interesting games - Familiar AI-TEM, VBA, VBA Link

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator Test game, Street Fighter Zero3 One of the best fighting game. Also known as Street Fighter Alpha3. Has many ways to play. Can separate expert from novice. Classic game, 1998 – Credits: shinken209 From youtubeCredits: CybeRAkumA From youtube * Video from Arcade Version

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator The Working of AI-TEM Game State Observer 1P Position X Address: 0x20007C2 Value(16 bits): 002C(h) 002C = 44 Game state Normalizer Normalize by subtract 44 1P Position X = 0 AI (run loop) Char1.m_posX = 0 Int delta = abs(char1.m_posX – char2.m_posX); If (delta <= 10) { // do attack… } AI Character Class m_side: m_healthPoint: m_posX: m_posY: m_animation:

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator Example STZ3 Game state Address Game State DataAddressData SizeExample* character 1 position x axis0x20007C216 bits288** character 1 char ID0x20008EA8 bits0 character 1 bullet position x axis0x200C0DA16 bits430** character 1 HP Bar0x bits144 character 1 Animation0x20007D032 bits4992** character 2 position y axis0x20043D632 bits95** *Example, not exactly real value. **After normalized

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator Example STZ3 RYU Animation Data Punch Shoryuken Etc *Value after normalized

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator Example Python Interface Function CPGetData(PyObject *self, PyObject *args) CPPressCustomCombo(PyObject *self, PyObject *args) Data ID GET_ANIMATION GET_POSX GET_GAUGE Object ID STZ3_P1 STZ3_HP_BAR_P1 STZ3_ISM_BAR_P2 p1x = stz3.CPGetData(ptr, GET_POSX, STZ3_P1) p2x = stz3.CPGetData(ptr, GET_POSX, STZ3_P2) delta = abs(p1x - p2x) mytuple = ((PRESS_DOWN, 2), (PRESS_DOWN|PRESS_RIGHT, 2), (PRESS_RIGHT, 2), (PRESS_B, 2), (0, 10)) if delta > 150: stz3.CPPressCustomCombo(ptr, mytuple)

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator Discussion Is it hard to use? About Finding Address. Game State Address is specific for game. About Collecting Game Data for reference. (Animation data, Position range, Sprite size) Which AI to test? (Method, Topic) What game type? (Fighting, Soccer, FPS, RTS, …) VBA in AI-TEM.

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator Fight for the future… Next scope for STZ3. Other ISM. Other Emulators: Arcade, PlayStation. Other Games. Other features.

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator Thank you ~

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator Tools supporting AI-TEM Movie Record Save / Load State AI Automatic data collection Help collecting game state data for use in AI Help debugging AI Supporting AI Module - Help collecting game state data for use in AI - Help debugging AI - Help in training AI, Automatic Battle tool (new) Game State Observer Memory viewer Cheat search Memory Compare Modified to be Game State Observer Help finding address for use in Game state Observer Supporting Game State Observer - Finding Game State Address - Modified to be Game State Observer VBA Original ToolsModified Tools

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator Auto Animation Collection Tool (for STZ3) For every character: Force value in address 20007C2 to change character animation Capture frame Ryu Value 0* Ryu Value N* …… … … Eagle Value 0* Eagle Value N* … Customize (.ini file) - Destination Folder - Number of Frames capture - Character list *Example only

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator (New) Auto Battle Tool (for STZ3) Automatic long run battle. Use for some AI that needs it. (Ex. Learning type AI) Customize (.ini file) - Number of Matches - Time for each match - VS Characters - ISM, Rounds - Built-in AI or Python AI *New tool, not mentioned in paper

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator Search for Game State Address (1) Search produces 14,756 results, “Please refine better” Search produces 1,368 results, “Please refine better” Example: Position Address Use VBA Cheat search. Old value, 16bits Equal, Hexadecimal 2 Search for addresses of which values increase. Cont... 1 Begin...

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator Search for Game State Address (2) Search produces less than 1,000 results, Search produces interesting result. 4 Search for addresses of which values decrease. 3 Still Search for addresses of which values increase. 5 Check 20007C2 in memory viewer… It’s OK.

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator Beware of Data Size when search Continue to move forward. And search for address which value increase. Address 20007C2 8 bits: FF 16 bits: 01FF Address 20007C2 8 bits: bits: 0220 Notice: 8bit value is decrease because overflow. 8 bits will not found. 16 bits will found. *Example only: Value not match to real situation.

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator Memory Compare Tool & Game State Data Dump -WriteGMDFile -> *.GMD -N GMD files -Memory Compare Tool -Set condition -6 Result files 8, 16, 32 bits. Signed, Unsigned

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator About Coordinating Reference Pic1 Pic2 Left side Pic3 Right side Red line is reference point for address 20007C2 RYU sprite size 32p 1-4 Line3: middle of sprite 2C(h) = 44, 10p + 12p = 22p = 44u

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator Legal Information Is emulation really legal? Ok, so it's legal, but is it right? Are ROM images legal? Is distributing ROM images legal? From: GAMEBOY-ADVANCE.net

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator Thank you ~

Department of Computer Engineering, CHULALONGKORN University, Thailand AI-TEM: Testing AI in Commercial Game with Emulator