Web application
Hiwot
A 3D browser game and engine built from scratch: physics, a persistent shared world and buildings designed by AI.
- Year
- 2025
- My role
- Design, engine, gameplay and server
- Stack
- TypeScriptThree.jsRapierbitECSViteNode.jsPostgres

The problem
Most browser games are small and forgetful: a fixed map, a few objects, and nothing that survives when you close the tab. I wanted a world that stays, that any device can walk into, and where what people build is still there tomorrow.
What I built
I built the engine myself on an entity-component-system core (bitECS), with Rapier for rigid-body physics and Three.js for rendering. Terrain is generated in chunks from a world seed, and the player carries handheld items such as a bazooka and a machine gun, with projectiles, explosions and damage. A separate Node server keeps the world in Postgres, relays players and moving objects over WebSockets, and runs an AI pipeline that designs buildings as blueprints. The model chooses the design, but the geometry is always produced by code from measured parts, so the result is valid and placeable. The game still runs its own logic, so the world keeps working while the server takes over step by step.
The outcome
Still in active development: over 100,000 lines of TypeScript and 126 commits since February 2025. The game runs in the browser on desktop and phones, with touch controls and an installable app. The persistent world, live player presence and AI-designed blueprints are built on the server side.
How it fits together
- 1 World DB
- 2 Server
- 3 ECS + Rapier
- 4 Renderer

