Nintendo’s Gameboy Advance (GBA) has always had a special spot in my heart - it was my first ever handheld console, and has given me many fond memories from my childhood. So when my friend discovered a series of manuals on GBA development (here’s a quick introduction, I’m not going to include the Nintendo guide for copyright reasons) and suggested we have a “mock hackathon” to learn how to develop for it, I jumped at the opportunity.

Our original aim was to build a game similar to Captain Forever, an old flash game which we’re quite fond of. The game involves flying a 2D spaceship around, gradually building it up by attaching parts from other ships that you’ve destroyed. Sadly we didn’t manage to get quite that far by the end of the weekend but we still made an impressive amount of progress, learning a lot about GBA development and creating a basic graphics engine as we went along.

Eventually I’m going to flesh this article out with a full description of the intricacies of GBA development, but for now enjoy this short demonstration of our physics engine running on an emulator (complete with sprite rotation and parallax backgrounds):