Title: AITEM TESTING AI IN COMMERCIAL GAME WITH EMULATOR
1AI-TEMTESTING AI IN COMMERCIAL GAME WITH
EMULATOR
AITEM 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
2Forecast (Abstract)
AI-TEM Testing AI in Commercial Game with
Emulator
- 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
3Outline
AI-TEM Testing AI in Commercial Game with
Emulator
- 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
4The Problem
AI-TEM Testing AI in Commercial Game with
Emulator
- 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
5Inspiration of AI-TEM
AI-TEM Testing AI in Commercial Game with
Emulator
- 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
6Emulator ROM
AI-TEM Testing AI in Commercial Game with
Emulator
Game cartridge
ROM Dumper
Game ROM
ROM DATA
Game console
Game emulator
Emulated game
Department of Computer Engineering, CHULALONGKORN
University, Thailand
7AI-TEM Framework
AI-TEM Testing AI in Commercial Game with
Emulator
Artificial Intelligence Testbed in Emulator
Department of Computer Engineering, CHULALONGKORN
University, Thailand
8AI-TEM with VBA
AI-TEM Testing AI in Commercial Game with
Emulator
AI-TEM, VBA, VBA Link
Why VBA?- Open Source- Many supporting tools -
Many interesting games- Familiar
http//vba.ngemu.com http//vbalink.wz.cz/index.h
tm
Department of Computer Engineering, CHULALONGKORN
University, Thailand
9Test game, Street Fighter Zero3
AI-TEM Testing AI in Commercial Game with
Emulator
- 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 2006.
Credits shinken209 From youtube
Credits CybeRAkumA From youtube
Video from Arcade Version
Department of Computer Engineering, CHULALONGKORN
University, Thailand
10The Working of AI-TEM
AI-TEM Testing AI in Commercial Game with
Emulator
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
Department of Computer Engineering, CHULALONGKORN
University, Thailand
11Example STZ3 Game state Address
AI-TEM Testing AI in Commercial Game with
Emulator
Example, not exactly real value. After
normalized.
Department of Computer Engineering, CHULALONGKORN
University, Thailand
12Example STZ3 RYU Animation Data
AI-TEM Testing AI in Commercial Game with
Emulator
Punch
Shoryuken
Etc
Value after normalized
Department of Computer Engineering, CHULALONGKORN
University, Thailand
13Example Python Interface
AI-TEM Testing AI in Commercial Game with
Emulator
- 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_DOWNPRESS_RIGHT, 2),
(PRESS_RIGHT, 2), (PRESS_B, 2), (0, 10)) if
delta gt 150 stz3.CPPressCustomCombo(ptr,
mytuple)
Department of Computer Engineering, CHULALONGKORN
University, Thailand
14Discussion
AI-TEM Testing AI in Commercial Game with
Emulator
- 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
15Fight for the future
AI-TEM Testing AI in Commercial Game with
Emulator
- Next scope for STZ3. Other ISM.
- Other Emulators Arcade, PlayStation.
- Other Games.
- Other features.
Department of Computer Engineering, CHULALONGKORN
University, Thailand
16AI-TEM Testing AI in Commercial Game with
Emulator
Thank you http//www.cp.eng.chula.ac.th/g48wth/
aitem.htm
Worapoj.T_at_student.chula.ac.th
Vishnu_at_cp.eng.chula.ac.
th
Department of Computer Engineering, CHULALONGKORN
University, Thailand
17Tools supporting AI-TEM
AI-TEM Testing AI in Commercial Game with
Emulator
Supporting Game State Observer- Finding Game
State Address- Modified to be Game State Observer
Supporting AI Module- Help collecting game state
data for use in AI- Help debugging AI- Help in
training AI, Automatic Battle tool (new)
Department of Computer Engineering, CHULALONGKORN
University, Thailand
18AI-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
Customize (.ini file) - Destination Folder -
Number of Frames capture - Character list
Ryu Value 0
Ryu Value N
Eagle Value 0
Eagle Value N
Capture frame
Example only
Department of Computer Engineering, CHULALONGKORN
University, Thailand
19AI-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
20AI-TEM Testing AI in Commercial Game with
Emulator
Search for Game State Address (1)
Example Position Address Use VBA Cheat
search. Old value, 16bits Equal, Hexadecimal
1 Begin...
Search produces 14,756 results, Please refine
better
2 Search for addresses of which values increase.
Search produces 1,368 results, Please refine
better
Cont...
Department of Computer Engineering, CHULALONGKORN
University, Thailand
21AI-TEM Testing AI in Commercial Game with
Emulator
Search for Game State Address (2)
3 Still Search for addresses of which values
increase.
Search produces less than 1,000 results,
4 Search for addresses of which values decrease.
Search produces interesting result.
5 Check 20007C2 in memory viewer Its OK.
Department of Computer Engineering, CHULALONGKORN
University, Thailand
22AI-TEM Testing AI in Commercial Game with
Emulator
Beware of Data Size when search
Address 20007C2 8 bits FF 16 bits 01FF
Continue to move forward. And search for address
which value increase.
Address 20007C2 8 bits 20 16 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
23AI-TEM Testing AI in Commercial Game with
Emulator
Memory Compare Tool Game State Data Dump
- WriteGMDFile -gt .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
24AI-TEM Testing AI in Commercial Game with
Emulator
About Coordinating Reference
Pic1
Red line is reference point for address
20007C2 RYU sprite size 32p 1-4 Line3 middle of
sprite
Pic2 Left side
Pic3 Right side
2C(h) 44, 10p 12p 22p 44u
Department of Computer Engineering, CHULALONGKORN
University, Thailand
25AI-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 http//www.gameboy-advan
ce.net/site/legal_info.htm
Department of Computer Engineering, CHULALONGKORN
University, Thailand
26AI-TEM Testing AI in Commercial Game with
Emulator
Thank you http//www.cp.eng.chula.ac.th/g48wth/
aitem.htm
Worapoj.T_at_student.chula.ac.th
Vishnu_at_cp.eng.chula.ac.
th
Department of Computer Engineering, CHULALONGKORN
University, Thailand
27AI-TEM Testing AI in Commercial Game with
Emulator
Department of Computer Engineering, CHULALONGKORN
University, Thailand