Follow the slides live! 👇️
They contain links that you'll want to click‼️
QR code

https://eldred.fr/slides/fosdem2025

Rediscovering the fun of programming with the Game Boy

Leveraging the Game Boy to synergize programming and positive engagement in the next quarter

Who dis

Eldred (he/they)

  • ISSOtm
  • First Game Boy: age 15
  • Loves Rust 🦀, assembly, and nothing in-between

Sylvie (she/her)

  • Game Boy Color and Nintendo 64 fan
  • High-level jobs: Typescript, C++, Java, Python...
  • Low-level hobbies: C and assembly

What can make programming unfun?

Barriers to entry

  • Waiting for long compilation
  • Getting a bunch of dependencies
  • Needing more powerful hardware

Hard to finish complex projects

Humorous image depicting how many jobs a solo game dev has to do at the same time

Hard to wrap your head around

  • Many different targets
  • And constantly evolving, too!
  • Debugging suffers
  • Grasping the overall functioning feels nice

Why going back to older times fixes those

Developing for a 90's console doesn't mean you must go back to a 90's experience

Modern tools for a retro platform

  1. Create: graphics editors, music sequencers
  2. Build: assemblers, compilers
  3. Run: emulators, debuggers

It's just less complex

  • Good concept-learning material...
  • ...but still fun and engaging on its own
  • Enables small team sizes
  • Baseline expectations are much easier to meet
  • Constraining
    • Limitations breed creativity
    • Sometimes feels like a puzzle-solving activity

The various kinds of Game Boy development

This niche has a little something for everybody!

Making games

No-code

GB Studio logo GB Studio

  • Good introduction
  • Also lets you write your own code!

Programming: C

  • ZGB: game engine, essentially
  • GBDK-2020 logo GBDK-2020: many batteries included
  • Can make your own toolchain, like GBSDK

Programming: assembly

Exotic languages

Coming soon...

LLVM port (C++, Rust)

Showcase: Rhythm Land (DMG)

Showcase: Quartet (SGB)

Showcase: Dangan GB2 (GBC)

Discovery

More on Homebrew Hub!

Discovery

More on Homebrew Hub!

Physical releases

Cartridge collection in 2025? You bet!
Picture of Hermano's collector's edition

2022 > 1996!
Graph of the yearly physical releases

Tinkering

Hey what if I put a STM microcontroller in a cartridge?

That link cable is practically SPI!

There are precedents, too!

Hey what if I put a STM microcontroller in a cartridge?

That link cable is practically SPI!

There are precedents, too!

Music composition

Trackers

Drivers / replayers

Screenshot from the GBSoundSystem ROM

Showcase: 8-bit Sunset

Showcase: Tune In!

Pixel art

  • Dedicated pixel art tools (Aseprite, Piskel...)
  • Source
    Monochrome GB art (4 shades of gray, dithering for nuance)
  • GBC art (unusual colour restrictions)

Making tools

  • Assemblers, compilers
  • Graphics editors, mapping tools, audio sequencers
  • Game-specific tools (scripting engines, etc)
  • Contributing to existing open-source tools

Showcase: RGBDS

  • We're the current maintainers
  • All the features you'll want (and more)
  • Free software!

Emulators

Showcase: SameBoy

  • Best-in-class accuracy
  • All the features you'll want
  • Free software!

Showcase: SameBoy

  • Best-in-class accuracy
  • All the features you'll want
  • Free software!

Showcase: Emulicious

  • Best-in-class accuracy
  • All the features you'll want
  • Free software!

Showcase: Emulicious

  • Also best-in-class accuracy
  • Best debug features on the market
  • Cross-platform

Research

  • Reference screenshot of cgb-acid2 Running tests on hardware, and making them reproducible
  • Logo of the (modern) Pan Docs Documentation (Pan Docs...)
  • Again, can be done as a community effort

Demoscene

  • Push the hardware to its limits and show it off as art!
  • 40-sprite limit? Eight 4-color palettes? Limits to be hacked around 😏

Showcase: GBC-NICCC

The end!

GBDev avatar Hungry for more?
👉️ GBDev (https://gbdev.io) is on Fediverse and Bluesky

Thank you for listening!