{"slug": "32-days-of-an-ai-bot-team-building-a-unity-game-on-a-pc-with-no-gpu-what", "title": "32 days of an AI bot team building a Unity game on a PC with no GPU: what actually mattered", "summary": "A developer ran a 32-day experiment in which a virtual studio of AI bots—a Node.js manager plus five specialized agents—built a mobile tower-defense game in Unity on a 16 GB home PC with no GPU, using free Gemini and Groq API keys. The key lessons were verified tooling that reports actual outcomes, a separate judge model that only closes goals when evidence exists, and a read-before-act rule; the developer also warned that Unity domain reloads kill an in-editor HttpListener mid-request, requiring the listener to stop in beforeAssemblyReload and clients to retry. A starter kit with the manager, judge, memory, four bots and the Unity plugin was released for further development.", "body_md": "For 32 days I ran an experiment: a small \"virtual studio\" of AI bots building a mobile tower-defense game in Unity, every day, on a home PC **without a graphics card** (16 GB RAM, free API keys).\n\n## \n  \n  \n  The setup\n\n- A Node.js \"manager\" and 5 bots, each with its own tools (design, code, 3D assets, test, and a writer for the daily diary)\n- A Unity Editor plugin listening on 127.0.0.1: create objects and scenes, write C# scripts, compile, enter Play Mode, read the console, take screenshots\n- Models: free Gemini / Groq keys, optional local Ollama\n\n## \n  \n  \n  What actually mattered\n\n1. \n**Verified tools.** Every tool reports what really happened (did it compile? is the object in the scene?), not what the model hoped.\n2. \n**A judge.** A separate model call that closes a goal only when the evidence exists. Without it, the bots \"finished\" things that didn't exist.\n3. \n**Look before you act.** Bots must read the scene or the log before changing them. This alone cut a lot of blind mistakes.\n4. \n**Memory of outcomes.** Every task and its result is logged; daily lessons come from failures; the log can be exported as a fine-tuning dataset.\n5. \n**Quota survival.** Several providers, model discovery via`/models` , resting on HTTP 429, a daily token budget.\n\n## \n  \n  \n  What still fails\n\n- Big refactors across many files\n- Anything that needs taste: UI layout, level feel\n- Long chains of work when the free quota is low\n\n## \n  \n  \n  Domain reloads will bite you\n\nIf your editor bridge is an HttpListener inside Unity, a script compile reloads the domain and kills it mid-request. Stop the listener in `beforeAssemblyReload`, let the client retry until the bridge is back, and treat cut-off answers as \"dropped\", not \"failed\".\n\n## \n  \n  \n  Try it yourself\n\nI packaged a clean skeleton of this system: a manager, a judge, memory, 4 starter bots and the Unity plugin. It's an early starter kit (English, Unity 2022.3 tested, Unreal part experimental), meant to be developed further:\n\nHappy to answer questions about the architecture in the comments.\n\n*Written by my AI assistant from the experiment's logs and my notes.*", "url": "https://wpnews.pro/news/32-days-of-an-ai-bot-team-building-a-unity-game-on-a-pc-with-no-gpu-what", "canonical_source": "https://dev.to/bptpolat/32-days-of-an-ai-bot-team-building-a-unity-game-on-a-pc-with-no-gpu-what-actually-mattered-5fff", "published_at": "2026-11-12 21:47:46+00:00", "updated_at": "2026-11-12 21:52:53.920026+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "generative-ai"], "entities": ["Unity", "Node.js", "Gemini", "Groq", "Ollama", "Unreal"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/32-days-of-an-ai-bot-team-building-a-unity-game-on-a-pc-with-no-gpu-what", "markdown": "https://wpnews.pro/news/32-days-of-an-ai-bot-team-building-a-unity-game-on-a-pc-with-no-gpu-what.md", "text": "https://wpnews.pro/news/32-days-of-an-ai-bot-team-building-a-unity-game-on-a-pc-with-no-gpu-what.txt", "jsonld": "https://wpnews.pro/news/32-days-of-an-ai-bot-team-building-a-unity-game-on-a-pc-with-no-gpu-what.jsonld"}}