• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Tool: vba-game-debugger

  • 3
    Posts
    9
    Years
    • Seen Sep 10, 2014
    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.

    vba-game-debugger


    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-ga...oc/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.
     
    Back
    Top