Roadmap

What's done, what's next, what's planned. No fixed dates — this moves when it moves.

Done

These ship today. Use them.

Networking

  • WebSocket, TCP, UDP transports (switchable via config)
  • Multi-transport: run TCP + UDP + WebSocket simultaneously
  • MessagePack and JSON codecs
  • Portal/Gate event routing
  • Client, Room, Broadcast, Synchronize routers
  • Session management with lifecycle hooks

Security

  • JWT authentication with refresh tokens
  • Shield-based authorization (HTTP + realtime)
  • Session upgrade flow (HTTP login → realtime handshake)
  • Configurable auth pipeline

Persistence

  • Vault ORM with Postgres support
  • Prefab system (nested entity persistence)
  • Autosave with configurable intervals and batch writes
  • Database initializers, lifecycle hooks
  • UORM query builder

Game Engine

  • Fixed-timestep game loop (configurable Hz)
  • 3D world system with spatial partitioning
  • World loading from JSON (Unity export compatible)
  • Zone management with spatial lookups
  • Visibility tracking (automatic spawn/despawn)
  • Entity synchronization with delta compression
  • Entity hibernation (sleep when no players nearby)

Physics

  • BEPU physics integration (3D)
  • Kinematic character controller (movement, gravity, slopes, wall sliding)
  • Collision system with handler registry (Enter, Stay, Exit, Hit)
  • Collision layers with bitmask filtering
  • Heightmap-based spatial queries (physics-free alternative)
  • Terrain provider interface for walkability grids

Combat

  • Attack, Sweep (AoE), ApplyDamage, Kill
  • Sphere, cone, line sweep queries
  • Pluggable damage calculator
  • Event hooks: OnHit, OnDeath, OnSweep

AI

  • Attribute-based FSM ([AIBehavior], [AIState], Enter/Exit hooks)
  • State delay, TimeInState tracking
  • Multiple behavior types per game
  • Auto-discovery and compiled delegates

Inventory

  • Grid, Slot, and Equipment container types
  • Item templates with JSON loading
  • Move, equip, unequip, use, drop, pickup operations
  • Extensible portal with Gate handlers

Deployment

  • Multi-channel server support via Docker Compose
  • Postgres read replicas and Redis clustering
  • Batch DB writes for high player counts

DI & Config

  • Attribute-based auto-wiring ([Service], [PostConstruct])
  • YAML config with environment overrides
  • Conditional registration ([ConditionalOnConfig])

In Progress

Things being actively worked on.

  • Documentation — you're reading it. Filling gaps, adding examples, client packet references for all languages
  • Test coverage — integration tests for networking, combat, inventory flows
  • Performance tuning — tick thread partitioning per zone, connection pool optimization

Next Up

Planned but not started. Order may change.

  • Matchmaking — room creation, joining, match lifecycle, party support
  • Chat system — global, room-based, whisper, command support, rate limiting
  • Lag compensation — server-side rewind for hit validation
  • Projectile system — server-authoritative projectile tracking with prediction
  • Quest system — objective tracking, rewards, persistence

Later

No timeline. Will happen when the above is solid.

  • Multi-region server support — cross-server player handoff, cluster load balancing
  • Scripting API — runtime game logic via C# hot-reload or scripting layer
  • Anti-cheat — server-authoritative validation for movement, combat, inventory
  • 2D physics — Box2D integration for 2D game support (partial groundwork exists)