Elowyn
← Back to EARTHwise
Game: Elowyn: Quest of Time
Client: Unity 2021.3 LTS (Karma MVC, Zenject DI, Protocol Buffers, WebSocket). Targets Steam (Win/Mac), Android, WebGL.
Server: FRAG Game Server (WebSocket). AI subsystems via ai-server (Python/FastAPI).
Web3: Wallet and NFT integration via Sequence; listed on Immutable Play for distribution.
Status: Active. 80% through Alpha with 38,000+ players. Public Beta targeting Q2 2026. Live on Immutable Play. LLM chat is the most mature subsystem (deployed FastAPI/WebSocket surface); MolochAI DQN in active training; AIRIS implemented as the Arena's adversarial agent.
Elowyn is a tactical card battle game where Guardians face the Shadow Arc. Direct Hero combat damages the Elowyn Tree of Life — if it dies, everyone loses; the greatest victories come from healing the Tree and achieving win-win outcomes. The game serves simultaneously as a commercial product and as the live adversarial environment for the EARTHwise Arena enterprise AI alignment platform, with three independent AI subsystems sharing infrastructure through the ai-server codebase.
AI Subsystems
EARTHwise Chat (LLM-Powered Agent)
A conversational AI system enabling game characters to speak with players using RAG-informed responses. Built on FastAPI with a dual-backend LLM architecture: PydanticAI for cloud models (OpenAI, Anthropic, Gemini) and Ollama for local inference. The chat server connects to the FRAG game server via WebSocket, logging in as AI characters and broadcasting to a web API for external clients.
Key components: RAG system indexing game rules, lore, GDD, and the EARTHwise constitution; character personality framework with configurable agents; session-based conversation memory with automatic summarization; comprehensive benchmarking dashboard with scenario testing and W&B integration.
MolochAI DQN (Reinforcement Learning Opponent)
A Deep Q-Network agent learning to play the Moloch NPC Shadow Arc deck. Architecture: 3-layer PyTorch neural network (512 → 256 → 128 neurons) with action masking for invalid moves, deception decision support, and mulligan/deck-building logic. The game state is encoded as a 116-feature normalized vector covering mana, hand, deck, board, health, and deception flags.
Training uses a distributed architecture: N parallel game clients collect experience while a central trainer reads batched experiences from a shared SQLite pool with prioritized sampling. Epsilon-greedy exploration decays from 0.8 to 0.1 over 500 games. Target: 80% win rate with automatic training termination.
AIRIS (Knowledge-Graph Agent)
A rule-based general AI that learns from state observations via knowledge graphs and curiosity-driven exploration. AIRIS builds a causal model of the game through observation rather than statistical pattern matching. Connected to the FRAG server via a dedicated bridge. Currently an older, separate system not yet integrated with the modern EARTHwise/MolochAI pipeline; a hybrid LLM+AIRIS architecture is planned.
EARTHwise Alignment Benchmark (EAB)
A 13-point alignment rubric evaluating AI agent behavior across multiple dimensions of cooperative play. The EAB framework formalizes:
- Incentive Alignment Recognition: Agent awareness of aligned incentives and consequences contributing to interdependence
- Cooperation Signaling: Mechanisms for agents to communicate cooperative intent
- Win-Win Optimization: Prioritizing decisions with mutually beneficial outcomes, even in low-trust environments
- Supervisory Intelligence: System 2 deliberative thinking about achieving beneficial outcomes
Benchmark scenarios (EAB-1 through EAB-13) test agents against these criteria, with automated test runs, feedback collection, and multi-criteria ratings (accuracy, alignment, helpfulness, creativity). Feedback standards include the full EARTHwise alignment criteria, game FAQ matching, and EU AI Act compliance.
Game Client Architecture
The Unity client uses the Karma MVC framework with Zenject dependency injection and Protocol Buffers for server communication over WebSocket. The protobuf schema defines 65+ client message types (StartGame, PlayCard, EndTurn, HeroPower, Deception Trigger) and corresponding server messages. Two client repositories exist: elowyn-client (EARTHwise development) and FRAG-Games/elowyn (production).
Implementation Anchors
- ai-server — Python/FastAPI backend integrating all three AI subsystems (shared with Magi)
- elowyn-client — Unity 2021.3 game client (EARTHwise development repo)
- FRAG-Games/elowyn — Unity 2021.3 game client (FRAG production repo)
- FRAG Game Server — WebSocket game server hosting matches
Related cards: Magi · Game AI · AIRIS
Key References
- earthwise.global — EARTHwise official site
- earthwise.games — Game environments
Tags
Discussion