u/Mikebloke

Image 1 — I ported one of my games to the GBA
Image 2 — I ported one of my games to the GBA
▲ 39 r/GameboyAdvance+1 crossposts

I ported one of my games to the GBA

Just a demo for now, but I got one of my old PC games from 19 years ago playable on the GBA. You can download the game as it is now (second image with the slightly better snake head, text and better use of screen space) and play on a real GBA or emulated. First image with child hands shows the first concept of the game working, but I have tested the latest version as well.

Slide-o-Snake is a puzzle game which is probably best described as "turn based snake". You push a block into a hole and then your tail gets longer. The game is purposely dense about where the end trail and end of your tail is, it's up to you to remember where your snake body will move and offer space. This demo of "Easy Mode" goes up to 50 points, actually below what I would normally considered a complete game in it's other versions.

This is my first ARM assembly game, I normally develop for the Fairchild Channel F in assembly, I've dabbled a bit in 2600, NES and Amstrad Assembly but never got anything good enough to show off on those systems.

I've spent years trying to understand Channel F assembly before getting anything actually useful, I've been using ChibiAkumas website (also used to be known as learnassembly, shout-out to Keith and all the amazing work he does on that site, link here: https://www.chibiakumas.com/ ) to try and branch out into other systems. GBA with it's portability was always intended as it's fun to play my own games on real systems when I can.

I'm not going to lie, I did use ChatGPT for some of this. Most of it, how to understand how to assemble the code into a working ROM. I'm a video game programmer but I'm not great on anything else. Like a lot of systems, there is a knowledge threshold that will deter a lot of people from getting to something workable, I spent a whole day using chatGPT just to work out how to assemble the code to create a viable ROM. If I tried to work it out myself, given the documentation available I would have probably given up.

ChatGPT can do GBA ready code, but take it with a pinch of salt: it needs a lot of fixing and will likely not assemble without human involvement, thankfully because I'm versed in Assembly already, it is easy to understand where things go wrong for me. ChatGPT cannot be trusted to to do graphics for things like the GBA itself, all bitmaps used in the game are my own.

My plan is to finish up the other game modes, make the game a little prettier, and maybe do a general release. I have other 20 year old games I would love to port to the GBA, and some original ideas too.

One day I would love to do a 3D version of Slide-o-Snake for the N64 with 4 player support, one potential option is to make a link cable version of the GBA one and make a 2 player game (there is co-op and Vs mode in the original 2007 PC release).

The GBA demo version is free to play here:

https://mikebloke.itch.io/slideosnakegba

If anyone has any questions, feel free to ask.

u/Mikebloke — 2 days ago