About this game
Civitas (also titled msimcity in the README) is a web-based, multiplayer, unbounded city builder. The client uses three.js; an authoritative TypeScript simulation server communicates over WebSockets, with a shared package defining the world format for both sides. Players buy and manage land parcels, but citizens are not owned by players: a citizen lives in the residential building that spawned it, seeks the nearest job anywhere on the connected road network, commutes there every day, and pays income tax to the owner of the parcel where it works and property tax to the owner of the parcel where it lives. Competition and cooperation happen through zoning, roads and tax rates rather than walls. Multiple browsers joining the same server share one world. Buildings are defined as data files compiled into the tables the game reads, and a viewer page displays every kind, level and design. The project is AGPL-3.0 licensed and can be run locally with npm install and npm run dev, or in production with npm run build and npm start; a Dockerfile is included and the world can be persisted by mounting /data. Environment variables cover port, host, seed, world file and static directory, and a read-only showcase mode (SPECTATE=1) is available. The author states the project was built with Claude Code.


