The briefWhat we set out to prove
A survivor.io / Vampire Survivors-style run for phones. You last 20 minutes, pick upgrades, and the night ends on a named boss. Demand for this loop is still loud - the job is making it readable with two thumbs and a campaign that is not just 'unlock the next map.'
The challengeWhat made it hard
On PC the fun is a screen full of bullets. On a phone that is a smear. Auto-aim helps, but if every night is the same 20-minute curve, players stop after map two. We needed a readability budget, a weapon evolution tree that feels like a build, and nights that actually change the spawn rules.
Our approachHow we solved it
Camera is top-down, movement is a virtual stick, firing is automatic. Projectile cap scales with device tier. Each night is 20 minutes: waves every 30 seconds, elite packs at 5/10/15, boss at 20. There are 12 nights across 4 biomes. Nights 1-3 in a biome teach the biome hazard (fog, ice, low light). Nights 4-6 are modifiers (faster elites, shrinking arena). Weapon pool is 24 bases × evolutions to ~80 builds. Meta unlocks are new nights and starting weapons, not pay-to-win damage.
Campaign structure4 biomes × 3 nights = 12 campaign nights
Session: One night = 20 minutes, or abandon at 5/10/15 checkpoints
- Biome A - Farm RoadNights 1-3Base weapons, first evolution
- Biome B - FloodplainNights 4-6Slow terrain, splash weapons
- Biome C - Power CutNights 7-9Low light, homing and drones
- Biome D - Last YardNights 10-12Shrink arena, final bosses
Campaign nightsEndless overtimeDaily seed nightChallenge: one-weapon
The resultWhat shipped
Testers who 'just wanted one run' often stayed for a second night to try a different evolution. That is the hook. We treat Afterwave as the combat template for anything we ship with auto-aim and dense enemies - the wave table and projectile budget are shared tools now.
UnityC#Wave tablesProjectile budgetEvolution graph