60 Sec Survival: Building the Site's Second Game
The site's second-ever game, four escalating phases, and why the route is still literally called /game-two.
Small confession up front: if you look at the route for this game, it's
/games/game-two,
and the view function is called game_two().
Not "sixty-second-survival," not anything descriptive — just a leftover
placeholder name from the very first day of this site's existence, when I
had exactly two games and hadn't decided they deserved real names yet. I
never went back and renamed it, because by the time I would have, it was
already in a bookmark, in analytics, in my own muscle memory for testing
it locally. So it stays. Every project has a scar like this somewhere.
Why a reflex crucible, not a platformer
The pitch for this one was simple: survive 60 seconds, full stop. No levels, no story, no inventory — just a single continuous run where the only stat that matters is how long you lasted. I wanted something you could load, die in, and immediately want to try again, which meant the run itself had to get harder in a way you could feel without the game explaining it to you.
That turned into four phases, hard-coded at fifteen-second intervals —
Induction from 0, Overdrive at 15, Chaos Theory at 30, Hyperdrive at 45.
The thresholds live right in updatePhase()
as plain this.survivedSeconds >= 45
checks, nothing fancier than that. I went back and forth on whether the
jump between phases should ramp smoothly instead of snapping, and decided
against it — a hard cut, with a color change and a phase-name callout
flashing on screen, gives the player a concrete "okay, it's a new game
now" moment. A gradual ramp is more elegant on paper, but you can't feel
elegant while you're mid-air trying not to die. You can feel a klaxon.
The wall-cling was the actual design unlock
The hazard I'm most proud of is the gravity inversion wave, mostly because of how it interacts with the wall-cling mechanic rather than because of the inversion itself. Flipping gravity on a runner is an easy effect to build and a genuinely disorienting one to play against — for about half a second you don't know which way "safe" even means. My first instinct was that players would just want to out-run it, treat it like any other incoming hazard and put distance between themselves and it.
That doesn't work, because "outrun" assumes you know which direction is forward relative to your own sense of up, and for a second you don't. The walls do, though — they're fixed, and clinging to one gives you a stable reference point the open floor can't. So the actual intended play, once players figure it out, is to stop running and grab a wall the instant the warning flashes. It's not written down anywhere in the game itself. It's the kind of thing that's supposed to click after your third or fourth death to it, which is a real risk with any mechanic that isn't explained — some players will just bounce off it instead of learning it. I decided that was an acceptable trade for not littering the screen with tutorial text during a game that's already asking you to read fast.
Shields were too forgiving before they were one hit
Energy Shields absorb exactly one hit right now, and that number is the result of walking something back. My first pass let a shield soak multiple hits within a short window, on the logic that a single mistimed jump shouldn't instantly cost you a pickup you worked for. In practice it did the opposite of what I wanted: once you had a shield up, the Chaos Theory and Hyperdrive phases — the ones that are supposed to be the real test — stopped being tense, because you could eat a sawblade clip and a bad dash in the same ten seconds and keep going like nothing happened. Capping it to one hit put the risk back where it belonged. You still get a cushion for one honest mistake, not a temporary immunity window.
Sonic Dash went the other direction. It grants a short burst of invulnerability, and I built it expecting people to use it almost entirely for horizontal distance — dashing across a gap between traps. Somewhere in my own late-night test runs, trying to clear a spike cluster I genuinely couldn't find a clean path through, I dashed straight into it out of frustration more than strategy, and realized the invulnerability frames had just carried me through it for free. That's a better use of the mechanic than the one I designed it for. I didn't change the dash itself, I just started describing it to people who ask as something for punching through a trap you can't clear, not just covering ground, since that's clearly the more useful read on it.
What's already bugging me before this even ships
The thing I'm least happy with is the Time Warp crystals. They slow the whole screen down, which is exactly as useful as it sounds, but there's no in-game signal steering you toward saving one for Chaos Theory or Hyperdrive instead of panic-using it the moment Overdrive gets uncomfortable. Right now the only way to know it's better saved for later is if I personally tell you, which is a bad sign for a mechanic — if the advice can't come from the game itself, it's not finished. A cleaner version would telegraph that somehow, maybe a visual tell on the crystal once you're past a certain phase, and I'm shipping without it because I'd rather get this out today than keep tuning a pickup indefinitely.
This is also, as far as I can tell from my own commit history, the second real game on the site — hence the route nobody will ever see me rename. I don't know yet whether four hard-coded phase thresholds is a pattern worth reusing or just what a simple reflex game happened to need. That's something I'll only actually know once this has been live long enough for people to break it in ways I didn't think of, which, going by how testing this myself already went, feels like a safe bet.
More from the Devlog