Inspiration

Made for Vibe Jam — I wanted to explore a simple mechanic that creates real tension: what if going faster now creates a problem for you later? That turned a standard delivery/racing loop into a risk-reward decision every player has to make in real time.

What it does

Time Debt Courier is a browser-based 3D delivery game where boosting your speed creates delayed route hazards down the line — obstacles that appear later because of the "time debt" you accumulated by rushing. Players have to constantly weigh short-term speed against long-term consequences.

How I built it

Built with React and TypeScript, using Three.js and React Three Fiber for the 3D rendering and scene management, Rapier for realistic physics (collisions, momentum, vehicle handling), and Zustand for lightweight game state management. I optimized the prototype specifically for instant browser play with fast onboarding, since jam players won't wait around for a slow load or a tutorial.

Challenges I ran into

Tuning the physics so that speed boosts felt satisfying but the resulting "time debt" hazards felt fair, not cheap, took a lot of iteration. Getting Rapier's physics to feel responsive in a browser context while keeping frame rate stable was also tricky.

What's next for Time Debt Courier

Adding more hazard variety and a level-progression system so the time-debt mechanic stays interesting over longer play sessions.

Built With

Share this project:

Updates