Skip to content
ZapskiRetro

GB Protector

A Defender-style side-scrolling shooter for the original Game Boy. Landers descend to abduct the humans on the ground — shoot the carrier before it reaches the top, and catch the human as it falls. 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 to begin
FlyingLeft/Right thrust (with momentum) · Up/Down move vertically · A = fire, hold for autofire
Smart bombB — clears the screen, three per life
RescueFly into a falling human to catch it · descend to the deck to set it down (no button)
Game overSTART to start a new game straight away

Keyboard

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

Emulator

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

The game

Protect the humans on the ground. Landers descend, abduct a human, and carry it to the top of the screen — where the pair becomes a fast, shooting mutant. Lose every human and it is game over.

Shoot a lander while it is carrying and the human is dropped: saved if it fell less than 40 px, killed by the fall if it was already high. Catch a falling human by flying into it and it rides under your hull — take it down to the deck and it walks away, for 500 points.

The scanner along the bottom shows the whole 1024 px world around you: large dots are enemies (and you, in the centre), small dots are humans. Your best score is saved to the cartridge and shows on the title screen.

Super Game Boy

GB Protector title screen

The game draws a custom border and palette through Super Game Boy command packets — “SAVE THE HUMANS” along the frame. The emulator detects the ROM's SGB flag and starts with the border on — press S to toggle it. On real DMG hardware everything is behind a version check, so the game is pixel-identical without it.

Under the hood

Written from scratch in C with GBDK-2020 — no game engine. The world is a 1024 px torus, and the hardware map is only 32 tiles wide, so one 15-tile terrain column is streamed in for every 8 px the camera moves.

Every collision goes through torus_dx(), the signed shortest distance between two x positions, so nothing breaks across the seam — it is checked exhaustively against a brute-force calculation. The lander state machine and the rescue rules are deliberately free of Game Boy dependencies, so they run as ordinary host unit tests rather than needing an emulator.

The HUD is the window layer at the bottom of the screen, so it costs no scanline interrupt, and the scanner blips are sprites drawn over it. The high score lives in five bytes of cartridge SRAM behind a checksum, written only when a run beats it.

More about GB Protector

More games