One wind field
Grass, trees, the cloth flags and the drifting cloud shadows all sample the same WindSystem — gusts travel visibly across everything at once.
My JavaScript game engine — ECS, worker-parallel simulation, three.js/WebGPU — with a live scene from the colony-defense game built on it.
This is not a video — it is the engine itself, running in your browser. Launch it, move the villager, open the tuning panel, flip the storm on.
Grass, trees, the cloth flags and the drifting cloud shadows all sample the same WindSystem — gusts travel visibly across everything at once.
Movement, collision and pathfinding run in Web Workers over SharedArrayBuffer typed arrays — the render thread never blocks on the sim.
Right-click and the villager routes with A* over the occupancy grid — cliffs, trees, rocks and the town hall all block; ramps carry it up the plateaus.
Ground flocks, tree perchers and crane formations — walk the villager into a flock and it bursts, circles, then re-lands.
One toggle: world-anchored rain under the clouds, lightning bolts dropping from the deck with their own light, wet ground, whipping wind.
The town-hall flags are simulated in WebGPU compute — particle buffers, per-frame constraint solve, aero pressure and flutter.
Falcra is my JavaScript game engine for real-time multiplayer browser games. It ships nothing game-specific — only the primitives — and powers a small fleet of prototypes; the simulation scales to thousands of entities without blocking the render thread.
World → Entity → Node tree with tick-driven systems; components are plain typed-array views.
Capabilities are mixins (built on sools) that declare their dependencies; the mixer resolves and applies them in order.
Every feature has an entity-side system (pure simulation) and an optional render-side system (three.js / WebGPU, TSL).
Client/server systems, state sync and an RPC layer ship with the engine — plus 1–2 player local split-screen.
On top of the engine I am building a colony-defense survival game: by day you run a villager economy and build up the settlement; by night you defend it against escalating waves of enemies. It is mechanically complete and playable end-to-end — win by surviving the night count, lose if the town hall falls — with a persistent hero roster, loadouts, hub progression between runs, and 1–2 player local split-screen co-op.