Skip to content
ZapskiRetro

Puzzle Balloon

A Puzzle Bobble clone for the original Game Boy. Fire a bubble, let it bounce off the walls, and pop groups of three or more — anything the pop leaves hanging has nothing to hold it up. Playable right here, nothing to install.

Game Boy (DMG)GBDK-2020Super Game Boy enhancedHomebrew

Emulated by binjgb (WebAssembly). Click the screen to give it keyboard focus. Open full screen.

How to play

ScreenButtons
TitleSTART or A to begin
AimingLeft/Right walk the aim dots round the arc · the sweep is symmetric about straight up
FiringA or B
Between boardsSTART continues to the next board after clearing one
Game overA, B or START skips the pause

Keyboard

  • D-padArrow keys
  • AX
  • BZ
  • STARTEnter
  • SELECTC

Emulator

  • Toggle the SGB borderS
  • Fast-forwardShift
  • PauseSpace
  • Save / load stateF6 / F9
  • RewindBackspace

The game

Bubbles stick to a hex grid, so every second row is offset half a bubble. Pop a group of three or more and it bursts on the spot for a moment — then anything left with no path back to the ceiling falls, which is where the points are.

Streaks pay more. The multiplier is how many shots in a row have popped, capped at eight: a run of pops on the same four bubbles pays 40, then 80, then 120, up to 320 a pop. A shot that pops nothing breaks it, and every new board starts it over. The score stops at 65535 rather than wrapping — it will never show you a number you have not earned.

Each board cleared starts the next one a row deeper — four rows of bubbles at the start, five from level 2 — and the ceiling drops sooner: every 8 − level shots, down to a floor of four. The aim dots trace the shot's real path, wall bounces included, and come from the same code the shot itself runs — so the preview cannot disagree with it.

Super Game Boy

Puzzle Balloon title screen

The game draws a custom border through Super Game Boy command packets — “PUZZLE BALLOON” in the game's own font over a field of bubbles. The emulator detects the ROM's SGB flag and starts with the border on — press S to toggle it. On real DMG hardware the upload is behind a version check, so the game is unchanged and only pays four frames at boot.

Under the hood

Written from scratch in C with GBDK-2020 — no game engine. The ROM is a plain 32 KB with no mapper, and the board is 8 columns by 8 rows on a 16 px pitch so everything stays tile-aligned.

A ceiling drop slides the board rather than redrawing it: the board walks up the 32-row tilemap while SCY follows it down a pixel a frame, so its position on screen never changes — which is what lets the hit test and the snap stay in plain screen coordinates. The launcher strip is on the window layer instead, because the window is the one layer SCY does not scroll; on the background the score would slide off with the board.

Two hardware limits shape the rendering. Background tile ids have to stay below 128, since the display is in a mode where anything higher aliases into the sprite tiles, and the DMG draws at most ten sprites per scanline — which is why the fall animation staggers its floaters. Sound is four one-shot effects, one per channel, so none can cut another off: a falling pew on channel 1 when you fire, a tick on channel 2 off a wall, a low thump on channel 4 when a group pops, and a beep on channel 3 as the ceiling drop telegraphs itself one shot early.

More about Puzzle Balloon

More games