last updated: 2024/05/16
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.
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.
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.