Viveak Vadivelkarasan
Motion
London, UK

PlayThroughput · built for this site

Keep a million events moving.

A small 3D arcade game written for this site in TypeScript and Three.js. Change lane to collect deliveries, dodge faults and back off when the route tells you to. It borrows the vocabulary of the delivery platform work described here; the numbers are game numbers.

Delivered

0

×1 · next 100

Retries

Throughput · a game built for this site

Keep a million events moving.

You are a delivery pulse on a chrome route. Collect acknowledged deliveries, dodge 503 faults, accept the odd 429 rate limit, and use circuit breakers, retries and bursts when the route gives you one.

  • Left / right arrows or A / D: change lane
  • Tap the left or right half on touch
  • Space: start and pause · Esc: pause
  • R: restart

Game numbers, not production data. The vocabulary borrows from the delivery-platform work described on this site.

Best scores stay in this browser only. Nothing is sent anywhere. Reduced motion removes the screen flashes and camera shake; the game itself still moves.

How the game maps to the real thing

Same vocabulary, different stakes.

Acknowledged delivery
In the gameAn emerald token. Collecting a run of them raises the multiplier, up to ×5.
On the platformA subscriber answering 200 to a signed webhook. Streaks are the happy path of a healthy platform.
503 fault
In the gameA red block. Hitting one costs a retry and resets the streak; three and the run is dead-lettered.
On the platformA failing subscriber. The real service retries with bounded backoff and parks exhausted deliveries in a dead-letter queue.
429 rate limit
In the gameAn amber gate across every lane. It slows the route for a moment; a burst lets you through.
On the platformRetry-After from a subscriber, honoured exactly, with a per-subscription token bucket doing the local pacing.
Circuit breaker
In the gameA silver ring. Arms a shield that absorbs the next fault.
On the platformPer-subscription circuits that open after consecutive failures and probe carefully before closing again.
Retry
In the gameA cyan key that restores a lost retry, or pays out if you have all three.
On the platformExponential-backoff retries that consume a bounded budget.
Burst
In the gameA white marker: faster for a few seconds and every delivery counts double.
On the platformAuto-scaling headroom, which is what the Lambda-to-EKS re-platform bought.

Engine

Pure TypeScript, seeded and deterministic: the same seed and inputs always play the same run, so the engine is unit-tested like the webhook simulation. Speed climbs from 15 to 44 units per second; patterns are authored shapes chosen by difficulty.

Rendering

React Three Fiber with instanced meshes and the same procedural ribbon geometry as the homepage sculpture, rebuilt around the pulse every frame. No post-processing, pixel ratio capped at 1.5.

Milestones

100, 250, 500, 1,000, 2,500, 5,000 deliveries. The real service handles around a million a day, which is why the game never claims to finish.