Laser Escape: The Surprisingly Hard Part Was the Lasers
I almost called this game "Laser Walls" which tells you how far I was from having a clear vision when I started. The concept was simple — avoid moving laser beams, survive as long as possible. In practice, I spent more time thinking about how lasers should move than anything else. The player controls were an afternoon's work. The lasers were a week.
The Movement Models I Tried and Abandoned
My first laser implementation moved walls from left to right at a constant speed and looped back. It looked fine but played terribly — you could just memorize the loop and dodge it mechanically forever. No skill, no tension. I tried randomizing speed, which helped, but random also meant unfair. Sometimes a laser would change direction mid-dodge and hit you through no fault of your own. That feels awful. The breakthrough came when I started thinking about lasers not as obstacles that move but as patterns that transform. A laser wall with a gap that slides horizontally requires you to track the gap, not dodge the wall. That mental shift changed everything. Players aren't running from danger — they're reading the gap and threading through it. I ended up with three movement types: sliding gaps, oscillating walls, and alternating pairs. Each creates a genuinely different dodging challenge.
Collision Detection and the "That Was Fair" Rule
Collision detection in a pure-CSS layout game is surprisingly nuanced. I was using pixel bounding boxes at first, which caused constant complaints that felt completely valid — players were clearly in the gap but still dying. The hit boxes were exact, but the visual representation wasn't matching them precisely at all screen sizes. I switched to a 10% inset on the player's collision box — the player appears to take up X pixels but is only "killable" within the inner 80% of that space. This is a common trick in old arcade games that I should have reached for immediately. Once I added it, deaths went from feeling arbitrary to feeling deserved. I never heard the complaint again. The rule I try to follow now: a death should never make the player say "that wasn't fair." Some difficulty is fine; perceived injustice kills a game faster than anything.
How Long Is Long Enough to Survive?
Once the mechanics felt right, I faced a meta question: what does the session arc look like? In an infinite survival game, there's no natural end — the session just continues until you fail. I watched people play and most sessions lasted under two minutes. The first 20 seconds felt like warmup, seconds 20–60 felt like the real game, and past 90 seconds things got samey. The laser patterns started repeating and players noticed. I extended the pattern library significantly and added a new laser type every 30 seconds: horizontal walls first, then verticals introduced at 30s, then diagonal sweepers at 60s. Past 90 seconds, speeds increase. Now the session has genuine chapters. Longer survivors see something genuinely different than short-run players, which gives the best players something to discover and talk about.
Browse All Games