Phase Runner
A 2.5D endless runner built in Unity where you phase-shift between two overlapping worlds to dodge obstacles that exist in only one of them.
Overview
Phase Runner is a 2.5D endless runner with one core verb: phase-shift. Two versions of the world overlap; obstacles exist in one phase or the other, and survival means reading both layers at once and shifting at the right instant. This is my one engine-based game — built in Unity to learn where an engine earns its complexity compared to my Canvas/Flutter work.
The mechanic
Endless runners usually stack verbs (jump, slide, dash). Phase Runner deliberately has one: shifting phase. Difficulty comes from pattern density and how the two layers interleave, not from input complexity — which keeps it playable one-handed while staying tense.
Technical highlights
- Phase-shift rendering — the inactive world layer stays readable but visually recessed, so players can plan the next shift.
- Procedural obstacle sequencing — patterns are authored as chunks and streamed in with difficulty-aware selection.
- Unity as a learning benchmark — a deliberate contrast to my engine-free games, to keep an informed opinion on both approaches.
What I'd do differently
Full case study in progress — being expanded with pattern-authoring notes and gameplay captures.