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
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
- Create: graphics editors, music sequencers
- Build: assemblers, compilers
- 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
- Good introduction
- Also lets you write your own code!
Programming: C
- ZGB: game engine, essentially
-
GBDK-2020: many batteries included
-
Can make your own toolchain, like GBSDK
Programming: assembly
Exotic languages
Coming soon...
LLVM port (C++, Rust)
Discovery
More on Homebrew Hub!
Discovery
More on Homebrew Hub!
Physical releases
Cartridge collection in 2025?
You bet!
2022 > 1996!
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
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
- We're the current maintainers
- All the features you'll want (and more)
- Free software!
Emulators
- Best-in-class accuracy
- All the features you'll want
- Free software!
- Best-in-class accuracy
- All the features you'll want
- Free software!
- Best-in-class accuracy
- All the features you'll want
- Free software!
- Also best-in-class accuracy
- Best debug features on the market
- Cross-platform
Research
-
Running tests on hardware, and making them reproducible
-
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 😏
The end!
Hungry for more?
👉️ GBDev (https://gbdev.io) is on
Fediverse and
Bluesky
Thank you for listening!