Inspiration
The core inspiration came from a simple observation: push-your-luck mechanics work best when the player knows exactly what they're gambling on. Games like FTL and Dead Cells let you risk everything for one more reward, but you're always betting against odds you can see coming. I wanted to build that tension into a mobile-first experience where every decision - one more site, or run for the door felt both urgent and informed. The radio system emerged from asking: what if information itself was a resource? In most survival games, scouting is free. Here, every question you ask makes the next wave angrier and bigger. That trade - know what's coming versus face it blind became the game's signature mechanic.
What it does
ECHOES is a survival game where greed is measured in seconds.
You're alone in a ruined town with the last safe house that has power. Each day you scavenge 14 sites for four resources. Each night you shelter behind sealed doors and pay for the night in supplies- food, medicine, metal scrap, batteries. The bill climbs every wave. Your carrying capacity doesn't.
The core loop in 30 seconds:
- Scavenge by day - 14 sites, only some hold resources, roamers guard the best ones
- Carry weight slows you down - the bag that pays the bill is the bag that gets you caught
- A hidden clock counts down - you don't know when the doors seal and next zombie wave starts unless you ask the radio
- Get home before the 5-second warning - or fight, hide, and survive the night outside
- Shelter costs supplies - miss the bill and breachers come through the walls
- Repair the radio tower, kill what guards it, transmit- that's the win
Three mechanics make it work:
The Radio (Information as a Resource) Three things are hidden each day: which sites hold supplies, when the wave lands, what the wave is made of. The radio answers one question you choose—SUPPLIES, TIMING, or THREAT—for battery and Heat. Heat makes waves worse. Ask too much and you'll drown; stay silent and you're gambling blind.
The Tether (Your Greed Made Visible)
A line runs from your feet to the safe house showing seconds-to-home at your current weight. It turns amber the moment the run home is longer than your warning time. The question "one more site?" has an answer you can see and it changes every haul.Gesture Crafting Behind sealed doors in the safe house, the play area becomes a drawing surface. Draw two shapes in sequence (line, circle, tick, spiral) to craft carried items: a cloak that hides you, a stim that speeds you, a patch that heals. There's no rejection, a sloppy drawing makes a weaker item, never wastes your materials. Spend them when you choose, including when shut outside where they matter most.
The game ends when you repair the tower (three 16-second standing sessions), kill the Guardian that wakes (its health is a hit count drawn on its body), and send the final transmission.
How we built it
Planning Phase :
- Used Kiro IDE to write comprehensive specs and an 83-task implementation plan broken into phases
- Claude helped refine the initial design, challenge mechanics, and identify potential problems early
Development Phase:
- Claude Code implemented the entire codebase across 13 development sessions
- Worked task-by-task through the spec, committing incrementally (44 commits total)
- Claude wrote all systems, tests, build scripts, and documentation
- Every system followed strict architecture rules: 250-line file limit, one authoritative state, no magic numbers in code
The Pivot : After an audit simulation measurements revealed:
- The radio was skippable (100% win rate with zero broadcasts)
- Core damage was a step function of approach lanes, not a continuous dial
- 40% of enemies couldn't threaten the settlement at all
These findings triggered a complete pivot from a core loop that was sitting somewhere between tower defence and survival & resource management to proper push-your-luck survival & resource management.
Challenges we ran into
The Hidden Clock Paradox A visible countdown makes you hurry; hiding it should make the risk real. But bots don't suffer from uncertainty they scavenge until the wave starts and never get caught. The mechanic's entire value is invisible to automated testing. Only a human play test revealed whether it actually created tension.
Gesture Recognition Without Rejection Mobile gesture drawing is fiddly. "I drew it right and it didn't register" would kill the mechanic instantly. Solution: no rejection path at all. Every drawing is scored against all shapes; best match wins. Accuracy sets quality (effect duration), never success. A sloppy circle makes a weak cloak, but you never waste materials on your own handwriting.
The Roamer Spawn Death Trap On wave 1, a player pausing to read the map could be dead in 10 seconds—killed by a roamer that rolled into spawn range before they'd taken a single action. The dice decided whether your first Preparation was survivable. Found only by play testing; invisible to the harness. Fixed with a safe house clearance radius and an engage rule: roamers never attack a player standing at the door.
The Radio Tower Was Unreachable In the first slice 4 build, the radio tower sat 4.9 seconds from the safe house door empty-handed, against a 5-second warning. Anyone leaving themselves a margin literally couldn't reach the win condition. Measurement found it; a human never would have tried. Moved to 3.6 seconds each way - the riskiest errand, now affordable if you go light.
Heat Became a Trap Early versions decayed Heat only on silent waves. A player who needed the radio could never cool down, Heat rose monotonically to CRITICAL and the game's signature mechanic became mathematically self-defeating. Fixed with unconditional decay plus bonuses for silence. The radio went from "skippable" to "worth its cost by 12 wins to 7" in one config change.
Accomplishments that we're proud of
We Pivoted Mid-Project and Shipped On Time Halfway through development, measurement proved the old loop was fundamentally broken and leaning more towards tower defence genre. Core damage was a step function, not a dial. We deleted a quarter of the gameplay code, and still delivered feature-complete. The pivot wasn't panic it was evidence-based and documented
- The Radio Mechanic Actually Works Information-as-a-resource is a design trap: make it too expensive and players ignore it, too cheap and it's mandatory. Our radio hits the middle at skilled play it's worth 12 wins to 7 versus silence, but at average play it's a wash. That's exactly the "meaningful choice" we designed for. Heat decay took three iterations to balance, but the final numbers make broadcasting a debt you can service, not a trap.
Gesture Crafting Has No Rejection Path Mobile gesture recognition is notoriously fiddly. We made it impossible to fail: every drawing scores against all shapes, best match wins, and quality affects effect duration never success. A sloppy spiral makes a 6-second cloak instead of 12, but you never waste materials on your thumb's handwriting. Play testing confirmed: it feels good, it never frustrates, and it's mobile-native in a way virtual buttons aren't.
- Three Worst Bugs Found by Playing, Not Tests We shipped with 164 tests passing, but the three most critical bugs were invisible to automation:
Tap-to-move walked players on top of enemies (reach was 72 units, never used)
Six sites rendered as white boxes (no palette entry)
Wave-1 spawn death trap (roamer could kill you in 10s before you moved)
Each was caught in under 60 seconds by human play. That taught us tests guard structure; people guard experience. We're proud we learned that lesson early enough to act on it.
What we learned
Measurement Beats Intuition The initial design felt tunable, but measurement showed Core damage was an integer (lane count), not a dial. No amount of polish would have fixed it. Running scripted simulations along with human play tests by me early exposed this before I had invested in the wrong direction.
Pivots Need Hard Evidence We pivoted the entire game halfway through but only after measurement proved the original loop was broken. The build log and design doc record every finding that led to Direction B. That documentation trail meant the pivot was confident, not desperate.
Tests Can't See Everything The harness proved winnability and caught regressions, but:
Couldn't see that tap-to-move walked the player on top of enemies
Couldn't notice the hidden clock never punished bots (they don't have plans to interrupt)
Couldn't tell that six sites rendered as unreadable white boxes
A 60-second phone play test caught all three instantly. Automated testing guards structure; human play guards experience.
- Documentation Is Load-Bearing Two living docs updated after every phase:
- Design doc: every decision and why, kept chronologically so pivots are traceable
- Build log: session-by-session record with problems hit and what was learned
When the pivot happened, those docs let me verify why the old design existed, what it was meant to solve, and whether the new direction actually addressed it.
What's next for Echoes
Polish Pass: Legibility & Juice
- Enemy approach indicators - visual cues when the horde is closing on the safehouse
- Resource scarcity feedback - make empty sites and dry hauls feel informative, not punishing
- Power-up duration UI - show cloak/stim timers in the status band, not just as fading effects
- Guardian telegraph improvements - the wind-up ring works, but needs audio + screen shake
- Night result storytelling - make the WAVE_RESULT screen show how you survived (or didn't)
- Turning the 2d game prototype into a 2.5 D game.
Content Expansion: More Nights, More Tools If the 8-wave arc proves engaging:
- Waves 9-12 as a post-transmission "evacuation" epilogue (timer counts up, escalating forever until you die)
- Two more craftable items - a decoy that splits enemy aggro, a flare that marks resource sites from across the map
- Hideout variety - some fast-recharge, some single-use but longer duration
- Roamer boss archetypes - mini-encounters that drop rare materials but require real tactics
Accessibility: Lower the Floor Without Dropping the Ceiling
- Difficulty tiers - scale upkeep growth and roamer aggro, keep the core loop intact
- Colorblind modes - shape + pattern already do the work; add explicit toggles to verify
- Reduce-motion respect - currently only applied to Guardian; extend to all animations
- Tutorial gate on wave 1 - force-pause after first scavenge to explain the tether
Dream Feature: Procedural Map Layouts The current 14-site layout is fixed. A procedural generator that:
- Maintains the risk gradient (far sites richer, close sites safer)
- Keeps the safe house corner clear (no spawn death traps)
- Varies building positions within slots so routes change run-to-run
Log in or sign up for Devpost to join the conversation.