Tenlach
In DevelopmentJanuary 1, 2025
The real-time Flutter grid combat game — the concept that has persisted across five years and six iterations. Wake up in a potato shack, fight worms of varying levels on a tactical grid, earn new attacks derived from defeated enemies. Instead of Battle Chips, they are Commandments. Super fun to make. Will re-enter development once the Potatuhs ecosystem is off the ground.
Purpose
Tenlach is the game this entire timeline has been building toward. Five years of attempts (queue-cloud-functions backend, Go + Nakama server, Grid Commander, TypeScript backend, Go backend, and now this Flutter/Flame client) have all been iterating on the same vision: a real-time tactical grid combat game set in the Potatuhs universe.
Stack
What I Learned
- The setting: you wake up in a potato shack — a small structure on a farm in the Potatuhs world. Outside, worms of varying levels burrow through the soil. You fight them on a tactical grid. The world is built in Tiled, the combat is real-time on a Battle Network-style grid, and the narrative is pure Potatuhs: earnestly absurd.
- Instead of Battle Chips (Mega Man Battle Network) or Materia (Final Fantasy VII), attacks are called Commandments. The naming gives them weight — "Commandment: Dig" sounds like a divine order handed down to a worm. The theming transforms a game mechanic into world-building.
- Loot is derived from defeated enemies — not random drops but abilities extracted from what you fought. Beat a worm that digs? You learn Dig (a ground-based dash attack that crosses the grid underground). Beat a worm that dashes? You learn Dash (a rapid horizontal charge). The system creates a Pokemon-like collection incentive: fight everything to learn everything. The enemy roster IS the ability roster.
- Tiled integration (flame_tiled) means the overworld — the potato shack, the farmland, the worm burrows — is paintable in the Tiled map editor. Walk around the map, encounter enemies, transition to the combat grid, fight, return to the map with new Commandments. The two modes (exploration in Tiled maps, combat on the grid) give the game rhythm and variety.
- This version is the most fun to make because all the previous attempts solved the hard problems: Grid Commander proved the combat grid works in Flutter/Flame. The Go and TypeScript backends proved the networking patterns. The Tiled experiments proved the map integration. This version inherits all those lessons and can focus on what matters: making the game feel good.
Key Insights
- Five years and six iterations. Chrome Save Tabs to Tenlach — the longest thread in this entire blog. The concept has survived three programming languages (TypeScript, Go, Dart), two game frameworks (raw Flutter, Flame), two server frameworks (Nakama, custom Go), and one complete career transformation. Ideas this persistent are not hobbies. They are callings.
- The decision to pause Tenlach until Potatuhs is off the ground is the mature version of a lesson learned the hard way through Crew Queue, Grid Commander, and every other ambitious project that stalled: sequence matters. Tenlach needs focused development time, possibly a collaborator, and a platform (Hot Potato Games) with an audience to launch into. Building the ecosystem first — Potatuhs brand, HPG website, community — creates the launchpad. Building the game first creates another stalled prototype.
- The enemy-derived ability system is the best game design idea in this blog. It solves three problems simultaneously: loot feels earned (you fought for it), abilities feel thematic (they come from the creatures of this world), and content scales naturally (every new enemy is also a new ability). The design elegance is in the coupling: you cannot separate the enemy roster from the ability roster because they are the same list.
- Tenlach set in the Potatuhs universe — with potato shacks, farming aesthetics, and worm enemies burrowing through soil — is the game that only this brand could make. A generic sci-fi grid combat game competes with every other grid combat game. A potato farm grid combat game with Commandments and worm-derived abilities competes with nothing. The brand IS the competitive moat.
This post was composed through a conversation between Brett Owers and Claude Code (Anthropic). The content reflects Brett's recollection of each project and the lessons drawn from it. Some details may be approximate or omitted — the purpose is to paint an honest picture of a software engineer's development over time, not to serve as a precise historical record.