Core Components
Cardinal (Game Shard)
Cardinal is the core game server that handles:- Entity Component System (ECS): Efficient game state management
- Command Processing: Handling player actions and game logic
- Query System: Real-time game state queries
- Event System: Game event emission and processing
- Inter-Shard Communication: Communication between multiple game instances
Gateway
Gateway is a service within the World Engine stack that sits in front of your Cardinal shards that handles:- Argus ID integration: Handles Persona signing (in conjunction with Argus ID)
- One door to your Cardinal shards: Set the URL in your SDK config, and forget that it even exists
Client SDKs
Client integration via JavaScript SDK (@argus-labs/sdk-ts):- JavaScript SDK: Complete client-side solution with TypeScript support
- Real-time Events: Built-in event streaming for reactive gameplay
- Authentication: Argus ID integration (Sign in with Argus ID)
Argus ID
Independent from World Engine, Argus ID is an auth service that allows you to build games without worrying about user authentication.Design Principles
1. ECS-First Architecture
Built around Entity Component System patterns for:- High performance with large numbers of entities
- Flexible game logic composition
- Predictable execution order
2. Command-Query Separation
Clear separation between:- Commands: Actions that modify game state
- Queries: Read-only access to game state
- Events: Reactive notifications of state changes
3. Tick-Based Execution
Deterministic game loop with:- Fixed tick rate for consistent gameplay
- Batch processing for performance
- Deterministic execution order
4. Inter-Shard Scalability
Designed for horizontal scaling:- Multiple game shards for different regions/instances
- Cross-shard communication protocols