Inspiration

FLOODLINE starts from a picture: a city that has gone under. Not a wave that hits and recedes, but water that keeps rising until the streets are channels and the rooftops are islands. Look out of any window and other towers stand in the same black water, some of their windows still lit. Somebody is still in there too.

What that situation does to ordinary people is the part worth building a game around. Carrying a neighbour who cannot walk costs minutes you can count. Waiting for whoever is still on the stairs costs more. Leaving while the way out is still yours costs nothing at all, until afterwards.

An evacuation is not a fight - nobody outruns water - so the design question was never how to survive the flood. It was who you have time to save, and in what order.

Everyone in the building has a name, for one reason. Nobody mourns a counter.

What it does

FLOODLINE is a single-player survival game for portrait mobile screens. A run takes one sitting, in an apartment tower generated fresh each time.

The tower is flooding from the ground up and you are inside it, alone. Everyone you rescue follows you, and the only way out is the roof, where a broken transmitter has to be repaired before anyone can call for help.

The water takes a floor a minute, on its own schedule. You cannot reach every door before it does, so the run becomes about which doors you open, and in what order.

  • Everyone you save walks behind you and slows you down, and they only follow you up. Go back down for one more and the rest stand waiting on a floor the water is climbing toward.
  • Four residents can each do one thing nobody else can: force a jammed door, treat the badly hurt, restore power to a dark floor, repair the transmitter. Nothing substitutes for them.
  • The map fills in only with rooms you have walked into and what rescued residents tell you, so rescuing someone is also how you find out who else is up there.
  • The building gets worse as you climb: a floor with no power, staircases that have come down, flooded floors you can only cross with diving gear.

Everything is priced in seconds. A flight of stairs costs two, a fall through a rotten floor costs thirty, and a water pump buys thirty back for the whole tower. Scrap is the only thing you scavenge, and every piece of it goes to time or to access - the pump, or the transmitter, the collapsed staircases and the dark floor that all need it too.

Reach the roof and repair the transmitter. That is not the ending: what happens next drops half of everyone you saved back into the water, and going after them is the last decision the game asks of you.

You do not have to. The helicopter leaves once, and you choose when. Step onto the pad and it counts who is with you and who is not, then lifts off anyway. Below you the water finishes what you did not, and the game gives you their names, because you learned them on the way up.

Be the last one out. Not everyone gets to be.

How we built it

The build was driven by prompting rather than by hand-writing code. FLOODLINE was described to Claude Code in plain language, then read back, played, corrected and described again: prompt, review, playtest, feedback, repeat.

That moves the work rather than removing it. Generating a system takes a minute; deciding whether it is the right system, and catching what it quietly got wrong, is the job. Some of the worst faults never showed up in play at all - a phantom floor the map reported as real, sending players up for loot that was never there - and only surfaced from reading the code back against what the game was supposed to be.

Rooms, residents, hazards and resources are generated per building, so the constraints were harder to write than the generation itself. We audited buildings in bulk rather than trusting that the generator looked right.

The result is vanilla JavaScript with Three.js, no bundler: one unminified index.html that opens straight off disk, with no install and no network request.

Challenges we ran into

The most consequential change was deleting a feature that worked. Specialists could originally be sent to do a job alone while the player explored elsewhere - an engineer repairing the roof without ever going to the roof. It played fine, and it meant where a person stood had stopped mattering, which is the entire game. Cutting it beat any amount of tuning.

The second problem hid inside our own tools. The playtest bot only ever climbed, never checking safe floors below, so every difficulty number we owned had been measured against a harder game than anyone would play.

Accomplishments that we're proud of

One scene carries the whole design. Early, before the player has anyone useful, the camera finds a resident in an open doorway - then the ceiling comes down across it.

They are not hurt, and they are not coming out. But they can talk through the door, and what they tell you is where to find the one person who can move what is in the way. So you leave them and climb, while their floor is the next the water is coming for.

We are also proud that the game holds its own rule. No crowbar in a crate stands in for the person who knows how to use one, and no bandage substitutes for a medic. Lose one of the four and a whole category of door stays shut for the rest of the run. That is harder to keep to than it sounds, and it is the only reason finding somebody feels different from picking up an item.

What we learned

  • Test the failure path, not the happy path. The hardest bugs only appeared when we went looking for ways to break a run.
  • Removing a feature can be the balance fix. Remote dispatch was tuned, tested and functional, and cutting it beat rebalancing it.
  • Audit the output, not the generator. Reading the code tells you what it should produce; counting what a few hundred generated buildings actually held told us nothing was scarce.
  • A twist should cost the player something they already earned.

What's next for FLOODLINE

Three directions, in order of how much they change the game.

  • Co-op rescue. A second player does not halve the work so much as change it. Hand your line of survivors over on a landing and go back down light; the specialist they need is standing next to you. Routing becomes negotiation.
  • More than one thing trying to kill you. Cold, exhaustion, air running out below the surface, a structure still coming apart - each one another deadline set against the flood.
  • Doors that ask what you understand, not only who you brought: power rerouted to light a floor, water moved instead of outrun, a way through that opens only if you flood the floor below on purpose.

Built With

  • ai
  • claude
Share this project:

Updates

Submission history