Go Back   The PokéCommunity Forums > ROM Hacking > Research & Development

For all updates, view the main page.

Research & Development Got a well-founded knack with ROM hacking? Love reverse-engineering the Pokémon games? Or perhaps you love your assembly language. This is the spot for polling and gathering your ideas, and then implementing them! Share your hypothesis, get ideas from others, and collaborate to create!
Research & Development programs in this forum are subject to moderator approval before they are displayed.

Thread Tools
Old September 4th, 2014 (08:53 AM).
Join Date: Aug 2014
Gender: Male
Hi folks, I'd like to announce that I have started work on a new project called vba-game-debugger, which is a Java application and interface to the VBA emulator. I started work on the project to be able to more easily control VBA and inspect it's working RAM memory, so that I could then build a automated artificial intelligence bot on top that completes the game like a human would.

The project is open source and at the moment only works on Linux (but when I get home from travelling with work this week, I'll compile a windows version as well). I have pushed the code up onto GitHub which would be useful if you are a developer and want to contribute to the project, and the repository also includes some more screenshots.

For more screenshots, go here: https://github.com/jamesread/vba-game-debugger/tree/master/doc/screenshots/pokemonRed

I'm concentrating on working with Pokemon Red during the initial development of the project (as this is the game I want to write the AI bot for), but initially started with Pokemon Yellow. I think I can easily extend this project to support many other VBA games in the future.

Here is what I currently have working (which you can see from the screenshots):

- Rendering of GB games with VBA embedded.
- A "live" hex viewer of the ROM's RAM (ie, working memory), with support for variable width columns, saving/exporting of current state, decoding of Pokemon characters and similar. (see: https://github.com/jamesread/vba-game-debugger/blob/master/doc/screenshots/pokemonRed/hexviewer.png)
- Actively updating a "GameState" java object per-game, which actively reads memory from the running game. (see: https://github.com/jamesread/vba-game-debugger/blob/master/doc/screenshots/pokemonRed/debuggerWithBot.png)
- Input, UP, LEFT, DOWN, RIGHT, etc.

Pokemon Red specific stuff
- Full graphical rendering of active tiles (see: https://github.com/jamesread/vba-game-debugger/blob/master/doc/screenshots/pokemonRed/tileset.png)
- Started work on decoding the map, at the moment I have the active map's width, height, block IDs and graphical representations of the tiles (ie, tiles in memory), but I have not worked out how to map blocks in RAM to tileset contents. Any hints here are very welcome. (see: https://github.com/jamesread/vba-game-debugger/blob/master/doc/screenshots/pokemonRed/map.png)

I hope some of you are interested in using the project for your own purposes, I'm sorry that at the moment you need to compile the code yourself, and again it only works on Linux, but I'll be home soon and can get a version that's easily usable on Windows and stuff too if there is enough interest.
Reply With Quote
Quick Reply

Sponsored Links
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Minimum Characters Per Post: 25

All times are UTC -8. The time now is 03:34 AM.