great question! i'll start by pulling out a quote a from the blog post i wrote about making "with the last moonbeam"
Iโd also become interested in the advantages of emulators and virtual machines as a way to distribute software, in large part thanks to the writings of Hundred Rabbits. Having some prior experience with GBA programming, I felt I could pick that up again with relative ease, and I knew I liked the hardwareโs balance of capabilities and constraints.
I'll expand a little on those points below
- the advantages I see in making games for emulated systems:
- it forces you to adhere to constraints of the system you choose (something I personally find very helpful creatively) and
- if you choose a popular enough system, the work of porting has been done for you by awesome emulator programmers! i know that people have played moonbeam on GBAs and GBA SPs, desktop emulators, web-based emulators, 3DSs, Analogue Pocket... and probably more devices that I'm not aware of
- in theory this also means that your game is easier to preserve / more resistant to bit rot, since it targets a system that is a known quantity / not plagued by updates that introduce incompatibilities (but... only time will tell on that front)
- things I like about the GBA's capabilities and constraints:
- it's quick to get 2D graphics on screen (since that's pretty much all the system is capable of, or at least intended for) and the graphics capabilities are powerful enough to experiment with different styles, but limited enough that i'm less likely to get lost in the weeds obsessing over them
- it has enough processing power that you can easily program with high level languages like C (or even use scripting languages like JavaScript if you are boneheaded enough - and i am)
- prior experience with GBA programming:
- in one of my favorite university classes we made GBA games - it was a blast! so i already knew i liked programming for it
- i'm a big believer in the principle that the best tool is the one you already know how to use! no game engine (or programming language, or art tool) is perfect, so if you are always searching for the ultimate tool to realize your creative vision with... you'll never get started on your game! (i know because i've done this lol) not to say learning new tools is bad (i love doing that too!), but it has a cost in time and effort, so going with what you know is often a good way to break through decision paralysis imo
