Ember Run

A browser parkour game where chaining moves builds flow and raises your top speed. Six characters, three chapters, and every sound made in code.

Solo · Aug 2026 · prototype

Results

The problem

I wanted a platformer where speed is earned through momentum and kept by skill, with six characters whose kits each answer the course differently. Movement had to be generous enough that no character can get stuck, so difficulty comes from gaps and enemies, not impossible geometry.

What I built

The hard part

Ghost replays on a physics engine that is not deterministic. Phaser's arcade physics uses a variable timestep, so replaying inputs would drift. I recorded outputs instead (position, animation state, facing) at 20 Hz, smoothed them up to 60 fps, and snapped instead of smoothing across jumps over 250 px so respawns don't streak across the map. The sample stream is the same shape a live co-op mode would send over a socket.

How it fits together

Character sprites are licensed asset packs; the movement, levels, replays, and audio are mine.

Decisions

Tech: Phaser 3, JavaScript, WebAudio. Live

By David Antwi (david.antwi@yale.edu). Markdown version: /work/ember-run.md. Full profile: /llms.txt.