Spent 4 months building this browser bird game 🐣
Hey everyone! 🐧
I am working on a small multiplayer game to replace a classic CV for my website. You play as up to four birds together and explore a painterly world. I’m a game designer by trade and it started from an older game I never finished, so I picked it up again and built my own engine (with Claude) on three.js so it runs straight in the browser.
Different parts of the codebase have their own claude.md files with rules so a new session doesn't break what an older one already fixed.
The part that blew my mind was a playtesting agent I built. I got the idea from rmalde/minecraft-agent on GitHub: a smart Opus level model plans (using the Claude subscription) and a smaller classifier (jev) picks the moves. Claude basically looks at a screenshot every now and then and sets a goal with a few steps.Jev never sees the screen, it just gets options and picks one about 3 times a second. Jev is extremely cheap, so one playtest session mostly uses Claude weekly percentages and maybe 1 Cent.
Happy about any feedback but it’s still work in progress!
If you want to try it in your browser: georgluif.at
43 points · 7 comments
Spent 4 months building a multiplayer bird game and Claude Playtest Bots 🦚
I built a small multiplayer game to replace a traditional CV on my website. You play together as up to four birds and explore a world inspired by Diablo 2 - it doesn't at first look like it but wait and see 🤣. I’m a game designer by trade and it started from an older game I never finished; I picked it up again and built my own engine on three.js so it runs straight in the browser.
The part that blew my mind was building a playtesting agent for the game that connects to my Claude Code subscription. I got the idea from rmalde/minecraft-agent on GitHub: a smart (Opus) model plans, a small fast classifier (Jev) picks the moves.
Claude looks at a screenshot about every second and sets a goal with a few steps. jev (a decision model on OpenRouter) never sees the screen but just gets options in words like “walk to the silver feather 6m west, path clear” and picks one about 3 times a second, and an emulator presses the actual keys.
You can run with 4 birds at the same time, and the AI's have different personalities: impatient, competitive, explorative, etc. It actually found bugs for me, like getting stuck in walls, or being annoyed they can't reach something easily.
I can gladly share more about this :-)
Still a work in progress. Would love to hear where you get stuck or what feels off.
If you want to try it out: www.georgluif.at (it plays directly in your web browser)
125 points · 34 comments
What agent loop are you using for Jev-style decision models + an LLM?
ReAct is a common agent loop. What's the standard for System One decision models (Jev or a local alternative) + an LLM + tool calling?
The examples I've been reading seem to split in two directions: confidence cascades in REFLEX and JevAgentHarness, and planner + chooser in the Hermes/Astra + Jev Minecraft agents.
Is there an accepted pattern yet, or are these still separate approaches? I'm interested in the control loop: who creates the candidate actions, when the LLM replans, and when a low-confidence decision falls back to it.
For anyone using local decision models alongside a larger LLM, what architecture has actually been useful? Papers or public implementations would help.
References:
REFLEX: arxiv.org
JevAgentHarness: arxiv.org
Hermes + Jev: teknium1/hermes-and-jev-play-minecraft
Astra + Jev: rmalde/minecraft-agent
English wording refined with AI.
4 points · 3 comments
Is there a standard architecture for decision models (Jev) + LLM + tool calling?
ReAct is a common baseline for an LLM agent loop. What's the equivalent when you combine a fast decision model such as Jev, an LLM, and tool calling?
I'm looking at this for game-agent experiments, where the world keeps running while the agent thinks. I'm trying to understand which parts of the loop should belong to each model.
The examples I've been reading seem to follow two patterns:
- Confidence cascades: a decision model handles bounded choices, with an LLM fallback when confidence is low (REFLEX and JevAgentHarness).
- Planner + chooser: an LLM plans or proposes actions, and Jev picks bounded actions (Hermes/Astra + Jev in Minecraft).
Is there an accepted architecture or name for this combination yet? In particular, how do you decide when to replan, who generates the candidate actions, and when a tool decision should fall back to the LLM?
Public implementations or papers would help. This is a technical reference request for my own experiments; I'm not collecting personal data or monetizing responses.
References:
REFLEX: arxiv.org
JevAgentHarness: arxiv.org
Hermes + Jev: teknium1/hermes-and-jev-play-minecraft
Astra + Jev: rmalde/minecraft-agent
English wording refined with AI.
2 points · 4 comments
Mentions
Spent 4 months building this browser bird game 🐣 Hey everyone! 🐧 I am working on a small multiplayer game to replace a classic CV for my website. You play as up to four birds together and explore a painterly world. I’m a game designer by trade and it started from an older game I never finished, so I picked it up again and built my own engine (with Claude) on three.js so it runs straight in the browser. Different parts of the codebase have their own claude.md files with rules so a new session doesn't break what an older one already fixed. The part that blew my mind was a playtesting agent I built. I got the idea from rmalde/minecraft-agent on GitHub: a smart Opus level model plans (using the Claude subscription) and a smaller classifier (jev) picks the moves. Claude basically looks at a screenshot every now and then and sets a goal with a few steps.Jev never sees the screen, it just gets options and picks one about 3 times a second. Jev is extremely cheap, so one playtest session mostly uses Claude weekly percentages and maybe 1 Cent. Happy about any feedback but it’s still work in progress! If you want to try it in your browser: georgluif.at
Spent 4 months building a multiplayer bird game and Claude Playtest Bots 🦚 I built a small multiplayer game to replace a traditional CV on my website. You play together as up to four birds and explore a world inspired by Diablo 2 - it doesn't at first look like it but wait and see 🤣. I’m a game designer by trade and it started from an older game I never finished; I picked it up again and built my own engine on three.js so it runs straight in the browser. The part that blew my mind was building a playtesting agent for the game that connects to my Claude Code subscription. I got the idea from rmalde/minecraft-agent on GitHub: a smart (Opus) model plans, a small fast classifier (Jev) picks the moves. Claude looks at a screenshot about every second and sets a goal with a few steps. jev (a decision model on OpenRouter) never sees the screen but just gets options in words like “walk to the silver feather 6m west, path clear” and picks one about 3 times a second, and an emulator presses the actual keys. You can run with 4 birds at the same time, and the AI's have different personalities: impatient, competitive, explorative, etc. It actually found bugs for me, like getting stuck in walls, or being annoyed they can't reach something easily. I can gladly share more about this :-) Still a work in progress. Would love to hear where you get stuck or what feels off. If you want to try it out: www.georgluif.at (it plays directly in your web browser)
What agent loop are you using for Jev-style decision models + an LLM? ReAct is a common agent loop. What's the standard for System One decision models (Jev or a local alternative) + an LLM + tool calling? The examples I've been reading seem to split in two directions: confidence cascades in REFLEX and JevAgentHarness, and planner + chooser in the Hermes/Astra + Jev Minecraft agents. Is there an accepted pattern yet, or are these still separate approaches? I'm interested in the control loop: who creates the candidate actions, when the LLM replans, and when a low-confidence decision falls back to it. For anyone using local decision models alongside a larger LLM, what architecture has actually been useful? Papers or public implementations would help. References: REFLEX: arxiv.org JevAgentHarness: arxiv.org Hermes + Jev: teknium1/hermes-and-jev-play-minecraft Astra + Jev: rmalde/minecraft-agent English wording refined with AI.
Is there a standard architecture for decision models (Jev) + LLM + tool calling? ReAct is a common baseline for an LLM agent loop. What's the equivalent when you combine a fast decision model such as Jev, an LLM, and tool calling? I'm looking at this for game-agent experiments, where the world keeps running while the agent thinks. I'm trying to understand which parts of the loop should belong to each model. The examples I've been reading seem to follow two patterns: - Confidence cascades: a decision model handles bounded choices, with an LLM fallback when confidence is low (REFLEX and JevAgentHarness). - Planner + chooser: an LLM plans or proposes actions, and Jev picks bounded actions (Hermes/Astra + Jev in Minecraft). Is there an accepted architecture or name for this combination yet? In particular, how do you decide when to replan, who generates the candidate actions, and when a tool decision should fall back to the LLM? Public implementations or papers would help. This is a technical reference request for my own experiments; I'm not collecting personal data or monetizing responses. References: REFLEX: arxiv.org JevAgentHarness: arxiv.org Hermes + Jev: teknium1/hermes-and-jev-play-minecraft Astra + Jev: rmalde/minecraft-agent English wording refined with AI.