Skip to content
AJ Uppal
← Back to selected work

Personal project / Simulation / tower defense

Elderwood Vale.

A tower-defense prototype with a separate simulation core and browser renderer.

Work in progress

My work

The simulation core, renderer, HUD and the boundary between them.

Working with

TypeScript · three.js · React · fixed tick

Inside the build

Simulation and rendering.

Context

The simulation must remain deterministic and testable without knowing about DOM, rendering, clocks or random globals.

How it works

TypeScript and ESLint restrict imports into the simulation. A separate three.js renderer interpolates snapshots from its fixed 1/30s tick.

In the work

A playable prototype with tower placement, enemy waves and a basic economy.

Tick
Fixed 1/30 s simulation with snapshot interpolation
Renderer
three.js is free of the tick rate; React HUD subscribes at 10 Hz
Boundary
DOM library removed from tsconfig; restricted paths in ESLint

Keep exploring.

The whole collection →
A sailboat beneath a rising sun, with a warm path of light across the ocean in Saltline. saltline Simulation / multiplayer Ember Wilds in Fallowmere at dusk: a level-30 character in a voxel landscape. Ember Wilds Voxel MMORPG murmuration in ribbon style: a dense violet and white form of drawn-out particle streaks against black, filling most of the frame. murmuration Audio / WebGPU