Trappers & Traders
activealphaTrap creatures. Trade fortunes. Move markets.
TNT (Trappers & Traders) is a persistent fantasy MMORPG inspired by early Tibia-era worlds, rebuilt from scratch with hand-drawn pixel art — but with one inversion at its core. Most MMOs ship combat and bolt an economy on afterward. TNT ships an economy first, with creatures, biomes, and players as the moving parts. The market is the game.
Why
Player-driven economies are usually an afterthought, and they show it: faucets without sinks, dupes that wreck markets, prices nobody can trust. TNT's north star is the opposite — a genuinely player-driven economy where trapping, breeding, and trading creatures form the core loop, and every other system feeds into or out of it. The bet: a virtual market is most compelling when it is provably conserved and fully emergent, not scripted.
That same economic engine is what makes the project's Citizenry vision possible — the ledger that lets players build fortunes is the exact instrument that can satirize an AI-era economy designed to extract them.
How it works
- Authoritative Go server. An ECS simulation runs the world tick: creatures spawn, move, eat, flee, mate, age, and die without player input. Movement is server-authoritative (continuous float64), streamed to clients over a protobuf WebSocket wire with interest management and viewport tile streaming.
- A living ecosystem. Behavior trees drive creature AI (hunt, flee, wander, mate); ecology targets keep predator-prey populations oscillating; plants grow genome-driven and get grazed. Trails form from wear and scent.
- Trap-and-own loop. Players place traps, resolve captures against creature strength, and take ownership — minted into inventory as a ledger transaction with a UUID identity decoupled from the ECS entity.
- A double-entry ledger. Every coin and creature movement is a balanced transaction across `player`, `escrow`, `system:mint`, `system:sink`, and `system:fees` accounts. Per-asset net delta is always zero except via explicit, audited mint/sink ops. The append-only transaction log is replayable from genesis; corrections are compensating entries, never overwrites.
- Markets & trade (in progress). Listings and auctions move assets through escrow atomically; synchronous P2P trade uses confirm-confirm with a slot-state hash. Idempotency keys and randomized property tests in CI defend against dupes.
- Client. Nuxt 4 + Pinia with a PixiJS/Three.js renderer; render-in-past interpolation smooths motion. Storage is PostgreSQL (durable state + ledger) and Redis (sessions, pubsub).
Status
Alpha, in active phased development — each milestone exits with a playable build.
- Shipped: ECS engine + world tick, avatar presence, server-authoritative movement, beasts + spawn ecology, traps + capture loop, protobuf wire, chat, client interpolation, Docker prod images, and the double-entry ledger with Postgres persistence.
- In progress: taming, persistence on connect/disconnect + world snapshots, and the market/trade/crafting layer.
- Ahead: scale to 1000+ concurrent players, game modes, LLM-driven NPCs, and a public alpha — see the roadmap for the full arc.
Links
- Vision devlog: Citizenry — an agent-driven MMORPG about peak capitalism