jev-clash-royale-test
Node.js Clash Royale-style sandbox where a Jev bot decides play or hold, card, lane and depth in one call, versus an Ollama LLM bot.
Overview
Node Royale is a minimal real-time Clash Royale-style game engine in Node.js for comparing decision models with generative LLMs as game controllers. It includes a TypeSafe Jev bot, an Ollama LLM bot that uses traditional prompt-and-parse, an MCP server with standardised tool endpoints for external agents, and a canvas web client to play against the bots live.
The Jev bot first filters its hand by current elixir in code, then makes a single System One request with parallel judgments: a Noul for whether to play now, a Choice of card among affordable cards plus hold, a Choice of lane, and a Choice of placement depth (bridge, mid or back). A code policy engine banks elixir and waits on hold or low confidence, and otherwise posts a move that is always legal. The README contrasts this with the LLM bot's multi-second latency, arguing generative models are unsuited to twitch reflexes.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Should the bot play a card now? | yes · no |
| Choice | Which affordable card (or hold)? | — |
| Choice | Which lane? | lane 0 · lane 1 |
| Choice | Where to place it? | bridge · mid · back |
How it works
- Code filters the hand by elixir
- One Jev request answers play, card, lane and depth
- Policy engine holds on low confidence
- Post a legal action to the game
Strengths
- Every action is legal by construction
- Side-by-side comparison with an LLM bot
- MCP endpoints for external agents
Caveats
- Toy game engine
- No licence stated
Getting started
`npm install`, then start the server and open the canvas client per the README.At a glance
- Type
- Library
- Status
- prototype
- Language
- JavaScript
- Runtime
- Node game server, browser client, MCP
- Has code
- yes
Use cases and integrations
How curated lists describe it
A Clash Royale-style sandbox whose Jev bot decides play-or-hold, card, lane, and depth in one System One call.
logicrw/awesome-jev-projects
Frequently asked questions
What does Jev decide?
Whether to play, which card, which lane and how deep, all in one call.
How is it compared?
Against an Ollama LLM bot using prompt-and-parse.
Can external agents play?
Yes, through the MCP server.
Related projects
Real-time bot battles where you write a fighter's strategy in plain English and a System One model pilots it several times a second.
ProjectbetaTypeScriptBot that plays Red Alert 2 web skirmishes, with code handling mechanics and a decision model making stance, threat and timing calls.
ServicebetaPythonMultiplayer 3D science-fantasy version of Houston's River Oaks District with Jev-powered NPC companion, chauffeur and smart drive.
ProjectbetaTypeScriptBrowser 3D planetary rover sandbox where a TypeSafe controller chooses the next action from complete candidates, versus a baseline.
ProjectbetaTypeScriptDoom runs as a spacecraft payload over real flight software; Jev pilots from the ground every half second while Claude reviews.
ProjectprototypePythonMinecraft agent where Hermes plans, Jev picks one bounded action at a time and a Mineflayer harness validates and executes.
ProjectprototypeJavaScript