Skip to content

Comment on SNES Development Part 1: Getting Startedparent

Comments

I can't speak to any of the low code approaches, but I do know it wouldn't be that hard for a GBA implementation once you learned the hardware (and the resources for learning it are pretty good). Each hexagon could be its own sprite (probably even with the text on them already, to make it super trivial), and then you can probably just DMA them into the appropriate place in memory during vblank. So then it's just the game state/logic. All of which is pretty straightforward in C, though there is tooling around other languages as well.

https://github.com/gbadev-org/awesome-gbadev has a buncha resources, though I can personally attest to Tonc as being everything you need for getting up and running (at least it was years ago when I used it, but the GBA hasn't changed since then; just the tooling and environment may have gotten better)

Yes, out of all the old systems, I think the GBA is the easiest to program for. The design is more streamlined/modern overall so that you don't have to worry about things like bank switching and the GPU has a cleaner design than the SNES.

The BIOS, graphics, and audio firmware fit nicely with the 32bit ARM architecture such that all you have to do is poke data into the right address (usually a #define'ed pointer in C) and it DMAs to the hardware.

And unlike later consoles, there's no operating system or significant copy protection to deal with, you link in a crt0.s to put everything at the right address, load the rom into an emulator, and it will start displaying your game. When your ready, you pop a flashcart into your hardware and it will probably work too. It's all very nice.

Thank you! I'll check it out.

I wasn't actually asking for anything low-code, I'm fine with coding, just hoping I can mostly stick with a C/C++ style approach without having to dig too deep into understanding the memory and registers and other things on a hardware level.

I've done some reading of materials on the hardware before (NES and GB mostly), and it's interesting, I just don't have the mental bandwidth at the moment to turn that casual understanding into usable code.

Maybe eventually I can get to that point, but for now if I can get by with mostly my game logic and some function calls to various wrappers for the hardware functionality, the better.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.