
Snake
SNAKE for Game Boy
A tiny classic, rebuilt the hard way.
This is a retro Snake clone for the original Nintendo Game Boy, written entirely in GBZ80 assembly. It runs like a proper Game Boy ROM, with chunky tile graphics, simple pick-up-and-play controls, and all the charming limitations of 8-bit hardware.
Eat the food, grow longer, avoid the walls, and try not to crash into yourself. Simple rules, tense decisions, and that familiar “just one more run” feeling.
Why this version?
This is not a modern remake pretending to be retro. It was built for the real constraints of the Game Boy: limited RAM, limited CPU time, tile-based rendering, VBlank timing, and no shortcuts from a high-level engine.
Under the hood, the game uses:
- A clean title / play / game-over state machine
- D-pad controls with reverse-direction prevention
- A ring buffer for the snake body
- An occupancy grid for fast collision checks
- Dirty tile updates during VBlank to keep rendering safe and efficient
- Background-tile rendering instead of sprites, so the snake can grow without sprite flicker or scanline limits
The result is a small but complete Game Boy project: part game, part technical experiment, part love letter to handheld development.
Controls
- D-Pad: Change direction
- Start: Begin / restart
- Select: Pause
Included
- Playable Game Boy ROM
- Works in emulators and compatible flash carts
- Technical write-up with code samples and implementation notes
Read the write-up
I wrote a detailed breakdown of how the game works internally, covering the main loop, rendering strategy, memory layout, collision system, food spawning, and the snake data structure:
Read it here: https://www.4rknova.com/blog/2026/02/01/gb-snake
Download
Click download now to get access to the following files:



Leave a comment
Log in with itch.io to leave a comment.