LABORATORY
GREY

The Hunters

Text-based implementation of GMT Games' solo submarine board game

last updated: 2024/05/16

Screenshot of the application.

As part of my Complex Board Game Challenge, I spent some time playing The Hunters from GMT Games. It's a solo WWII submarine warfare simulation, presented in a traditional case-based ruleset — dense, procedural, and full of exceptions. At first glance, it's quite complex: paragraphs of numbered rules, edge cases, and lots of cross-referencing. But after a few runs, the structure reveals itself, and the game flows more like a ritual than a puzzle.

In practice, play is largely driven by dice rolls and table lookups. The complexity lies more in the volume of interactions than in decision-making. It quickly became clear that much of the game's "fun" comes from the theater of the mind-visualizing a patrol, sweating over fuel, hoping your torpedoes land. But the game doesn't really facilitate this theatrically. There's no flavor text, no visual hooks beyond the charts and log sheets. So I started to wonder: what's left if you remove the paper?

I decided to build a minimal viable product: a text-based Python implementation of the core gameplay loop. No UI. No fancy art. Just the logic. I was curious how much of the experience could survive when the tactile and imaginative components were stripped away.

Development

So far, I've implemented a significant portion of the ruleset: patrol generation, encounter handling, damage tracking, and promotion mechanics. It's a surprisingly procedural game, which makes it well-suited to scripting. There are dozens of interlinked subsystems, but few require stateful memory outside of the current patrol.

The code itself is pretty simple-lots of dictionaries, lists, and helper functions. The biggest challenge was modeling the various lookup tables and event chains in a way that wasn't a giant hard-coded mess. I leaned into a data-first design where the tables are stored separately from the logic, which makes expanding the system much easier.

Conclusions (so far)

You can play through a meaningful slice of the game right now. But I'm torn about how far to take it. On one hand, I like to finish projects. On the other, it's not especially "fun" in this form. Without physical components or that imaginative leap, it starts to feel like a spreadsheet simulator. And maybe that's okay-but it also clarifies what the original game was leaning on: the player's internal narration.

Links

GitHub Repository