TerraNova is a multiplayer 3D world simulation where there is no win condition. Players build communities, participate in economies, and develop governance systems in a persistent world — but they can't attack each other. The absence of combat isn't a limitation; it's the premise. TerraNova is a social simulation, not a competitive game. The interesting problems are governance, diplomacy, economics, and community formation.
Building a real-time multiplayer environment at any scale is architecturally challenging. TerraNova runs on eight separate microservices, each responsible for a distinct domain, communicating over a shared API gateway.
The Microservice Architecture
The services are divided by domain: world state (terrain, physics, weather, NPCs), player management (authentication, profiles), economy (wallets, transactions, markets, auctions), inventory (items, crafting, storage), social (friendships, messaging), judiciary (dispute resolution), system agent (autonomous optimization), and a control panel for administration.
Each service runs as an independent Node.js process on a separate port, behind an Nginx API gateway that routes requests and handles load balancing. Services communicate with each other through HTTP when a synchronous response is needed, and through events when they need to notify each other of state changes without waiting for a response. The databases are separated as well: PostgreSQL with PostGIS for geospatial data, MongoDB for document-structured game data, and Redis for real-time state and caching.
Chunk-Based Network Optimization
Real-time multiplayer worlds have a fundamental networking problem: if every player receives every event, the bandwidth requirements scale with the square of the player count. TerraNova solves this with room-based (chunk-based) event delivery. The world is divided into geographic chunks, and players only receive Socket.IO events for the chunk they're in and adjacent chunks.
This means a player building a structure in the northern region of the world generates events that are delivered to nearby players but not to players in other regions. The world-state-service maintains chunk subscriptions for each connected client and filters event delivery accordingly. The result is that bandwidth per player stays roughly constant as the total player count grows, rather than growing linearly.
Organic Community Formation
Communities in TerraNova aren't created by filling out a form. They emerge when three or more players' influence areas overlap geographically. As players build structures and establish presence in an area, their influence radiates outward. When those influence areas intersect, the system detects a potential community and notifies the players involved.
This emergent formation model means communities have a geographic reality — they occupy actual space in the world, and their boundaries shift as players build, expand, or abandon areas. A community's governance structure (how decisions are made, how membership works, how disputes are resolved) is established by its founding members after formation, not predetermined by the platform.
The AI Judiciary System
Disputes between players — property boundaries, resource claims, trade disagreements — are resolved through an AI-powered judiciary service. Players file a dispute, present their evidence, and the judiciary service processes the case using AI reasoning to produce a binding ruling. The system is designed to apply consistent principles rather than producing arbitrary outcomes.
This was a deliberate design choice over human moderation. Human moderation doesn't scale, introduces inconsistency, and creates appeal dynamics that consume significant overhead. The AI judiciary is faster, applies rules consistently, and can handle volume that human moderators can't. The trade-off is that edge cases that don't fit well-defined rules are harder — the system has escalation paths for cases where the AI's confidence in a ruling is low.
The System Agent
TerraNova includes a system-agent-service that monitors the health of all other services and can deploy corrective JavaScript to running services in real-time. Each microservice exposes an /execute-script endpoint that the system agent can use to patch behavior without a full deployment cycle.
This is a powerful capability that carries real risk — executing arbitrary code on running services is exactly the kind of thing you want to be very careful about. The endpoint is protected by authentication and authorization controls that restrict usage to the system agent itself. It's designed for specific operational scenarios: adjusting economic parameters to rebalance the in-game economy, patching weather generation to correct an emergent bug, or modifying NPC behavior that's producing unintended player impacts.
Economy: 1 TC = 1€
TerraNova's currency (TC) is pegged to a real-world reference value. This isn't a cryptocurrency arrangement — there's no actual monetary conversion — but the reference rate shapes how in-game prices are set and how economic balance is maintained. Resource scarcity is simulated through generation rates and consumption mechanics; market prices emerge from supply and demand in player-to-player and auction-house trading.
The economy service manages wallets, transaction history, market listings, and auction mechanics. All transactions are logged and auditable. Economic imbalances — situations where a resource becomes too abundant or too scarce — can be adjusted by the system agent without modifying game code.