Naval Hunter
A turn-based naval combat game for the original Game Boy. Hunt down the computer's fleet before it sinks yours — playable right here, nothing to install.
Emulated by binjgb (WebAssembly). Click the screen to give it keyboard focus. Open full screen.
How to play
| Screen | Buttons |
|---|---|
| Title | START to begin |
| Boot menu | A = random fleet · B = place your own · SELECT = AI level |
| Placing ships | D-pad move · B rotate · A commit · START randomise the rest |
| In battle | D-pad aim · A fire · SELECT flip waters |
| Game over | START play again · SELECT swap fleet view |
Keyboard
- D-padArrow keys
- AX
- BZ
- STARTEnter
- SELECTC
Emulator
- Toggle the SGB borderS
- Fast-forwardShift
- PauseSpace
- Save / load stateF6 / F9
- RewindBackspace
The game
Classic 10×10 battleship with a fleet of 5, 4, 3, 2, 2, 1, 1 — and ships never touch. Take a random fleet or lay out your own on the boot menu.
The computer plays at three levels, chosen with SELECT: EASY fires at random, NORMAL hunts moat-aware and sweeps the four neighbours of any hit, following the line once the ship's orientation is known, and HARD aims at the cell that the most still-possible ship placements would cover.
Hit flashes, last-shot markers, noise-channel sound and a game-over breakdown of shots, hits and accuracy.
Super Game Boy

The game draws a custom porthole border and sea palette through Super Game Boy command packets. The emulator detects the ROM's SGB flag and starts with the border on — press S to toggle it. On real DMG hardware the game is unaffected.
Under the hood
Written from scratch in C with GBDK-2020 4.5.0 — no game engine, and no art tools beyond Python and Pillow on the build host. The 160×144 screen is exactly 20×18 tiles and nothing scrolls, so every element sits at a fixed tile row.
The fleet-placement rules are deliberately free of Game Boy dependencies, so they are covered by ordinary host unit tests rather than needing an emulator to check.