After the release of beta v0.2, a clever guy on reddit asked “Why not have a preset number of lanes in each corridor of the maze? It’d make movement a bit easier”. It brought a genuinely big smile to my face that someone on the internet has the same exact thought process as us, because we considered this many months ago. In fact, it was part of SkyLab’s original design!
Classic endless runners like Temple Run served as our inspiration, but lanes was one mechanic that simply did not work for SkyLab. It’s trivial to implement a lane system when the player can only go forward, left, or right like a traditional endless runner. Lanes for SkyLab are really really complicated for 3 main reasons, in order of complexity added:
- The player can turn around basically at will (with a wall flip) not that hard to account for though
- Mazes feature intersections, which complicates which lane to continue “taking” based on input or no input at the intersection
- The player can land anywhere inside a maze via a level completion, super jump pickup, or trampoline puzzle
During our alpha development, we did write a laning system that took all of these things into account via raycasting very often, which murdered performance. Deniz was working on optimizing the crap out of that when we, as a team, took a step back and asked “Do we really even need lanes?”. We realized that the only reason we had designed lanes was because that’s what endless runners did, and decided that was one mechanic we need not emulate.