Hacker News new | past | comments | ask | show | jobs | submit login

Recently got an EZ Flash Jr to get into playing homebrew gameboy games on my (unmodded) GB pocket from middleschool. Itch.io has more fun GB games than i'll ever have time to play and its felt like a really positive community.

https://itch.io/search?q=gameboy

Then while bored in a meeting at work I started looking into coding a hello world for it and quickly found my way to some Assembly tutorials which Ive never had an excuse to touch.

https://m.youtube.com/watch?v=RZUDEaLa5Nw

It seems like a really awesome entry point for C or Assembly. Wondering if anyone has any GB development beginners advice in addition to this post?

Also is there a GameBoy dev zeitgeist or is it just coincidence that I feel like Im seeing a lot of developer stuff pop up for it lately?




> … is there a GameBoy dev zeitgeist …

It’s not just you.

- Retro development is “in”, a ton of the kids from the 1990s and 2000s are seasoned programmers with some free time now, or enthusiastic hobbyists.

- The tools have gotten a lot better. RGBDS, GB Studio, emulators with debugging capabilities, etc.

- Game Boy development in particular is an excellent entry point. The system design is simply excellent, and it feels like you’re working with a highly polished “2.0” of something. C works well enough on Game Boy, and assembly is approachable. You’re not writing code for multiple different architectures at the same time.

- Game Boy hardware is still reasonably priced.


I'm wondering if there is anything that can be converted into a commercial adventure. I see a few retro options here:

- develop games for popular retro platforms. So far Nox Archaist for Apple ][ is the most successful example.

- develop a new hardware as platform. So far I have seen a lot of projects such as Arduboy but none of them is successful enough AFAIK.


Of course you can. There's a good amount of homebrew out there for various retro systems and a good chunk of those will sell you the ROM to download or even offer a physical cart. If you drive enough hype you can even make money porting it to newer platforms, e.g Pier Solar which was originally a homebrew Sega Genesis game but now has ports to several modernish platforms like PS3, PS4 and Steam.

We've also seen "new" retro systems like the Playdate.


For carts for retro platforms, wouldn't Nintendo/Sega sue for commercial activities? Just curious.


Depending on the platform, easy enough to bypass lockout. The traditional way to lock out old consoles is to require you to include some material with a Nintendo copyright or trademark on the cartridge. That way, Nintendo can sue unlicensed game developers for copyright or trademark infringement. Various systems of this kind have been bypassed without the use of infringing material.

The lockout circuit on the NES, for example, can be bypassed by sending it a negative voltage spike. You can put the circutry on your cartridge.


The trademark method of lockout is also probably not legal at least in some parts of the world. See Sega vs. Accolade.


There's a lot of retro dev happening now across the board. SGDK has led to a big interest in making Genesis/Megadrive games. Jo Engine is increasing interest in the Saturn, etc. I'm also attempting to help contribute by writing a book on Neo Geo development (it has a long ways to go)

https://github.com/Stephane-D/SGDK

https://www.jo-engine.org/

a Saturn homebrew showcase - https://www.youtube.com/watch?v=NqKKExcTaKo

https://neogeobook.mattgreer.dev


I just would absolutely love to give a +1 for jo-engine. It’s an insanely strong dev kit for Saturn games with great built in features like tilemap support, basic collision detection; a sprite converter - and a handful of incredible tutorials.

I got started as a developer / programmer at about 10/11 with mostly Assembly due to the burgeoning Sonic ROM hacking community. I’m 32 now and I’ve been a professional developer for 12+ years. I owe this scene a lot!


IMO C for GameBoy dev is a non starter. It's so different from other platforms that you really just want to control the instructions directly. Say you type "a * 5" that would just be one instruction on a regular cpu but it must be some more expensive function on a GameBoy. Even bit shifting can only shift one bit at a time, 1<<8 is 8 instructions. When programming in ASM it's usually that more instructions is slower so for a bit shift it might make sense to have a lut or something, C would hide it behind a single operator.


Plenty of games are being written in C for the Game Boy on a regular basis.

Just a few polished examples of that: https://tangramgames.itch.io/tobu-tobu-girl-deluxe

https://user0x7f.itch.io/black-castle

https://binji.itch.io/porklikegb

https://pocketpixel.design/super-jetpak-dx-game-boy-rom.html

https://aiguanachein.itch.io/powa

https://thegreatgallus.itch.io/cavern-mvm-9

https://user0x7f.itch.io/gunship

https://www.infinitygbc.com/

ASM will tend to be more efficient, especially if written by someone with experience and skill, but that isn't enough to prevent other tools from being used successfully. It's described in much more detail in the linked article.


Great recommendations.

In order to filter out "Game Boy-like" material on itch.io, you can also use the tag "gamboy-rom". Then it should only show you entries that will run on actual hardware (such as a flash cart or in an emulator):

https://itch.io/games/tag-gameboy-rom

As for advice on starting: a great thing to do is figure out a simple, small project to start with, and dive in. That will help give you concrete tasks to focus your learning of the hardware and dev tools around, and keeping the scope modest will prevent it from being overwhelming. There are a handful of tutorials if you want to try that route, and plenty of support (forums & discord).

Agreed too, Game Boy development has been exploding in the last couple years. GBStudio's arrival really brought making GB games within reach of a much larger pool of people. The ability to make them was no longer limited only those able to write software (or those working with them). This brought in a TON of graphics, music, storytelling and creative talent.


Gameboy C (and later Gameboy Advance) was actually a big part of discovering programming for me (after QBASIC). I didn't have a great idea of what I was actually doing - lots of copy-pasting, changing stuff around, cargoing, trial-and-error.. But I made stuff happen and it was super exciting.

It's kind of amazing that even 20y+ later, a lot of the resources, tools and even websites are the same as back then. The community is just great.

Reading the OP, I think you won't need much more actually - it's not very complicated, which is part of the attraction compared to modern SE... Just start playing around and see where it takes you. Look at code from other people for inspiration.

I can´t recall what were the main sites for classic GB but gbadev.org was a gold mine and seems to still be around and kicking.


Too late to add a reply to the person asking, but way back then this was a goldmine: https://www.devrs.com/gb/




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: