Van Man (www.bajanvanman.com) is a top-down arcade driving game built with TypeScript, Phaser 3 and Vite, running entirely client-side — no backend, no accounts, no server calls.

Beneath the arcade surface it is an economic simulation. The driver operates a fixed-price asset: the fare is regulated at C3.50 and cannot be raised, the van seats twenty, and the shift lasts five minutes. With price fixed and time scarce, the only levers on income are throughput and velocity — carry more, drive faster — and both are precisely what generate risk. Speeding, overloading and straying off-route raise a decaying "heat" score that moves a police unit through patrol, suspicious and pursuit states; being caught converts that risk back into cost as a fine, or a bribe priced on expected value. Damage depreciates the asset and proportionally reduces what passengers will pay, repairs are charged as a fraction of the cash in hand, and running out of money ends the run — so a badly damaged, cash-poor driver sits in a genuine liquidity trap.

The difficulty setting expresses this most clearly: rather than tuning enemy strength, the player selects a revenue target — C60 or C140 — before the shift begins. The higher target demands a faster van, and every damage and fuel calculation is deliberately divided by a fixed physical reference rather than the chosen top speed, so pushing harder for the bigger number costs proportionally more in fuel and repairs. The economics, not the opposition, are the difficulty curve.

Architecturally, logic is kept strictly separate from rendering: economy, heat, pursuit, damage and passenger behaviour are pure, unit-tested TypeScript modules with no dependency on Phaser, driven by finite state machines. Sprites carry a subtle 3/4 tilt for a GTA1/2-style read while the simulation beneath stays resolutely flat and top-down. The game ships as a static bundle with a build-time Content Security Policy, released through a Dockerised pipeline: push to GitHub, pull and rebuild on the server, nothing copied across by hand.