TIDE FORGE

Salvage. Build. Defend.

Low tide: race the sea to scavenge, but loot slows you down. High tide: your haul becomes the turrets defending your fort from the sea's creatures. A bright survival tower-defense in 3-minute tides.


Inspiration

I like games that mix up pacing (or even genre) that don't just hammer one round after another. So I was thinking about how to mix a tower defense style game with some kind of "take a break and run around for a minute" where the stakes are lower, but you are still under some kind of pressure. I did a few round of brainstorming with AI, to find a mechanic that naturally ticktocked between modes like this, and we fell upon the idea of scavenging a dry seabed in low tide vs defending against creatures when the water comes back in.

How I built it

This is a pre-production design package, so "building it" meant designing the game and proving it could be real.

I started from the core fantasy and pressure-tested the loop through many iterations, deliberately narrowing it down rather than adding to it. I spun up multiple AI agents to iterate on various versions and then had a coordinating AI take the best ideas from each. The result is four artifacts: a Game Design Document, a Player Journey Map of the first fifteen minutes, a Visual Concept Package, and a Production Plan scoped to a two-week build.

A few choices shaped the package. I leaned on diagrams instead of paragraphs (having the AI built html pages to later convert to pdf), building a core-loop diagram and a meta-loop diagram so the design reads at a glance. I generated cohesive concept art and a full set of gameplay frames so the Visual Concept Package shows the actual loop as if the game already exists, not just a mood. And I grounded the Production Plan in Meta Horizon Worlds' real primitives: the tide as a TypeScript state machine on an in-world timer, the seabed built from a small modular asset kit that is spawned and pooled rather than generated at runtime, and progress stored in Persistent Variables. I made a look-development sheet that shows that modular construction kit directly, so the art and the tech share one plan.

Challenges I faced

The hardest challenge was my own ambition. An early version stacked far too much on top of the loop: a branching meta tree, a multi-gate escape, daily and seasonal systems, an asynchronous social economy. It looked deep on paper, but it quietly became the exact menu-and-grind game my player was trying to escape. Cutting it back to a focused collect-and-defend loop, and trusting one physical rule to carry the depth, was the most important decision in the whole project.

The second challenge was legibility. The tension had to be felt without a HUD countdown, so the tide itself had to read as the clock, and the weight decision had to be obvious in your thumbs within seconds. That pushed everything toward one-thumb controls and a diegetic, visible tide.

The third was platform honesty. It is easy to design a mobile game that quietly assumes a custom backend and arbitrary runtime power. Forcing every system to map to what Horizon Worlds actually supports changed the plan for the better and kept it buildable.

What I learned

Depth does not require more systems. One clean physical rule, weight, generates endless decisions for free, and it is far more legible than a stack of mechanics. I also learned that cutting is the real design skill: the game got stronger every time I removed something. Diagrams communicate a loop better than prose, so I let them carry the document. And designing against a real platform's constraints from the start, rather than retrofitting later, is what separates a plan from a wish.

What is next

The core loop is the whole v1, on purpose. Everything heavier is scoped out and ready to grow once the loop is proven: drop-in co-op, branching specializations, an asynchronous "what washed up" social layer, seasonal events, and a narrative drip that answers why the world flooded.

Built With

  • claude
  • elbowgrease
  • fairydust
  • gpt
Share this project:

Updates