All projects
Gaming2024Live

Level Devil

2D rage platformer · React + Canvas

Overview

Level Devil is a 2D rage platformer in the tradition of Cat Mario and IWBTG. Ten levels building to a final 'pain.' level. Built in React + TypeScript with all rendering on HTML5 Canvas — no game engine.

The technical detail worth mentioning: the physics loop is frame-independent. Every tick is fixed at 16.67ms (60Hz), and rendering interpolates between physics ticks for smooth motion on high-refresh displays. This means the game plays identically on a 60Hz laptop and a 240Hz gaming monitor, which is critical for a precision platformer where one frame of difference is the difference between clearing a jump and dying.

Instant restart is the most important UX detail in a rage game. The restart pipeline resets canvas state in <50ms, and the level loader caches each level's static geometry so respawns don't re-allocate. The level editor used internally is just JSON — easy to iterate on.

Web Audio API drives the soundtrack and impact effects with low-latency sample triggering. The 'pain.' level intentionally desyncs the audio from the visuals by 200ms when you die — a small psychological trick that makes deaths feel worse.

Key features
  • 01Frame-independent physics — identical play on 60Hz and 240Hz
  • 02<50ms restart pipeline with cached level geometry
  • 03JSON-defined levels with an internal editor
  • 04Web Audio API for low-latency sample triggering
  • 05Intentional audio-visual desync on the final 'pain.' level
Screenshots
[Screenshot 1]
Drop a PNG into /public
[Screenshot 2]
Drop a PNG into /public
[Screenshot 3]
Drop a PNG into /public
[Screenshot 4]
Drop a PNG into /public

More work

Seven other projects across crypto, AI, and games.

All projects