The briefWhat we set out to prove
A one-thumb endless runner in the Subway Surfers lane - but with a real campaign, not just a high score. Cities to unlock, missions that teach new obstacles, and a live calendar so the game still has a reason to open on day 30.
The challengeWhat made it hard
Endless runners die when the only loop is 'run until you crash.' Charts still love the genre, but players bounce if there is no destination. We needed the instant-play feel of a hypercasual swipe game plus the stickiness of a hybridcasual meta: missions, cities, cosmetics, and a weekly event that does not require a second game to be fun.
Our approachHow we solved it
Controls stayed one thumb: swipe lane, tap jump, hold slide. Everything else is structure. The campaign is 8 cities of 12 missions each. Mission 1-3 in a city teach the new obstacle (moving train, gap, magnet gate). Mission 4-8 mix them. Mission 9-12 are score or collect targets that force a cleaner line. A city boss run is a two-minute gauntlet with a unique hazard, then the next city unlocks. Daily login is a 90-second sprint with a rotating modifier. Season pass is cosmetics only - no pay-to-skip missions.
Campaign structure8 cities × 12 missions = 96 campaign stages
Session: 2-5 min run, mission complete in 1-2 runs
- City 01 - Metro12 missionsTutorial + lane swap, jump, slide
- City 02 - Harbor12 missionsMoving crates, wet-slide physics
- City 03 - Night Market12 missionsCrowd gaps, timed neon gates
- City 04 - Airport12 missionsLuggage belts, low-ceiling slides
- City 05 - Canyon Line12 missionsLong jumps, collapsing rails
- City 06 - Old Town12 missionsNarrow lanes, festival floats
- City 07 - Storm Grid12 missionsBlackout sections, strobe hazards
- City 08 - Sky Terminal12 missions + bossFinal gauntlet, all modifiers
Campaign missionsEndless high scoreDaily 90s sprintWeekly city event
The resultWhat shipped
Playtests showed players finishing a city and immediately starting the next one instead of closing the app after a crash. Median session landed around four minutes with a second session the same day when a mission was one objective short. That is the hybridcasual pattern we designed for: easy to start, structured enough to come back.
UnityC#One-thumb inputMission graphLive-ops calendar