picosubs


In about 1996 while visiting our grandparents, we discovered a shareware game called SinkSub Pro. This was in the days of Epic Pinball, dedicated computer rooms, 486 machines with 14” CRTs. The gameplay was pretty simple, you’re a ship that can go back and forth and drop depth chargers on submarines. Eventually we figured out some patterns, but by the time we came back to grandma’s a few months later, we were ready to go again.

SinkSub Pro

I’ve built clones of the game in various languages in the past, but never anything that I would share with anyone or that I would consider to be “complete.” I’d pick up a new language or game framework and just start whacking away at it while learning. I’ve built it in Kotlin, Go, Java, Lua (using Codea for iPad), and most recently in Pico-8.

Pico-8

PICO-8 Screenshot

PICO-8 is a fantasy console developed by Joseph White (aka Lexaloffle) designed to capture the charm of retro gaming through self-imposed technical limitations. It features an integrated development environment with a Lua-based scripting language, a fixed 128x128 pixel display, a 16-color palette, and a constrained 32KB cartridge size. These restrictions encourage creativity and simplicity, reminiscent of early 8-bit systems.

Despite its retro aesthetic, PICO-8 is highly interoperable. It supports exporting games to HTML5, enabling easy sharing and embedding on websites. The cartridge format is a simple PNG image containing all game data, promoting easy distribution and modification. This unique combination of old-school constraints and modern interoperability makes PICO-8 a popular platform for both hobbyists and game developers.

Initial Gameplay

PICO-8 Screenshot I only have one level at the moment, but the basic game mechanics are in place. You can move your ship back and forth, drop depth charges, and the subs move around. The subs are pretty dumb at the moment, but they do move around and drop mines. The mines are also pretty dumb, but they do move around and explode when they hit something. The game is over when you run out of lives.

My kids have been playing it and have a ton of ideas to make it better. If they remain interested, we’ll keep working on it together. Here’s their list so far:

- Ability to toss depth charges in any direction
- Submarine ability to maneuver
- Ability to drop a steerable torpedo
- More levels & bosses
- More sizes and speeds of subs
- Music, Sounds

Play in Browser