GBA Game
A downloadable game
This project was for my Computer Architecture course were I learned about assembly and how computers work at a lower level. I decided that I could benefit from creating a Gameboy game from scratch using assembly to get a better understanding of all of the different processes and steps necessary to make a functional game at the lowest level. I chose the Gameboy Advance because the Gameboy Advance SP was my first gaming console and it introduced me to the world of video games. I wanted to pay an homage to it by revisiting the platform as a developer instead of a player this time.
Working without a toolset was challenging. The only tool I had was a cross compiler that could create GBA files from ARM assembly. I discovered later in development that the emulator I used to run my project actually offered tools for viewing memory and stepping through frame by frame. While this was not a complete debugging toolset, it helped for the remainder of the project. There were no debugging tools in the editor or functions to draw to the screen to speak of. I had to learn how to draw sprites and tile maps by directly modifying VRAM. I went through several iterations of sprite drawing as I learned about the different capabilities of the various screen modes the Gameboy Advance offers.
So far, the game supports movement, background tilesets, an animated player sprite that can face and walk different directions, and collision. I hope to continue with this project to add actual gameplay with enemies, simple combat, and multiple "rooms" to explore for example.
Status | On hold |
Author | Dillster |
Genre | Adventure |
Tags | 2D, Game Boy Advance, Retro, Singleplayer |
Install instructions
To play the game, a copy of Visualboy Advance should be included in the source code, but if that does not work, the emulator can be downloaded here:
https://www.emulator-zone.com/doc.php/gba/vboyadvance.html
Simply run Visualboy Advance and drag the GBA file into the window to run the game.
Leave a comment
Log in with itch.io to leave a comment.