Games · 2026

CAROM

A rolling-marble obstacle course with a twelve-level campaign and an in-game level editor.

Press play to start right here.
  • 12campaign levels
  • Built inlevel editor
  • Fixedphysics timestep

I grew up on Marble Blast. CAROM is my own take: roll a marble through a campaign of hand-built levels, collect gems, beat the clock. A carom is a glancing strike off one surface into another, and that is the core mechanic.

TypeScript, Vite, Three.js for rendering, and Rapier for physics on a fixed timestep. The campaign is twelve levels that introduce ice, bounce pads, ferries, hazards, and powerups on the way to three finales, with best times and medals saved locally. The in-game editor is the part I am proudest of: React and Zustand for the UI, Zod for the level schema, place tiles and ramps and hazards, test the level, and save it. Every level in the campaign was built in it. Everything is procedural geometry, no asset pipeline.

Engine, rules, editor, and campaign are done. Community level sharing through Supabase is the next phase.

  • CAROM, screenshot 1