{"id":1345,"date":"2026-04-26T17:02:57","date_gmt":"2026-04-26T21:02:57","guid":{"rendered":"https:\/\/willkolb.com\/?p=1345"},"modified":"2026-04-26T17:03:26","modified_gmt":"2026-04-26T21:03:26","slug":"another-claude-ified-game-engine","status":"publish","type":"post","link":"https:\/\/willkolb.com\/?p=1345","title":{"rendered":"Another Claude-ified game engine"},"content":{"rendered":"\n<p>I noticed that claude code released &#8220;teams&#8221; (<a href=\"https:\/\/code.claude.com\/docs\/en\/agent-teams\">https:\/\/code.claude.com\/docs\/en\/agent-teams<\/a>) which essentially is a multi-agent workflow that lets you define team members in your prompt and claude can just send out other instances of itself to start working.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"125\" src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2026\/04\/image-1024x125.png\" alt=\"\" class=\"wp-image-1346\" srcset=\"https:\/\/willkolb.com\/wp-content\/uploads\/2026\/04\/image-1024x125.png 1024w, https:\/\/willkolb.com\/wp-content\/uploads\/2026\/04\/image-300x37.png 300w, https:\/\/willkolb.com\/wp-content\/uploads\/2026\/04\/image-768x94.png 768w, https:\/\/willkolb.com\/wp-content\/uploads\/2026\/04\/image.png 1046w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>So instead of doing something reasonable like just making a quick web app I decided to do one of the hardest things you can do on a computer: make a 3d engine. Now working with LLM agents is similar to working with a single LLM, however you need to tell the LLM how to define the team and what everyone&#8217;s responsibilities are. In my case I had a: <\/p>\n\n\n\n<p>Team lead- owns common libraries and ensures product execution and final validations and integrations<\/p>\n\n\n\n<p>Rendering lead &#8211; owns any directx or gpu interfaces<\/p>\n\n\n\n<p>Tool lead &#8211; owns any kind of editors or build systems<\/p>\n\n\n\n<p>Networking Lead &#8211; Owns the multiplayer\/networking systems<\/p>\n\n\n\n<p>Test lead &#8211; owns the test suite<\/p>\n\n\n\n<p>I got pretty far with the planning and I got to the first level of execution:<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"750\" style=\"aspect-ratio: 1284 \/ 750;\" width=\"1284\" controls src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2026\/04\/20260426-2054-00.9165315.mp4\"><\/video><\/figure>\n\n\n\n<p>But most of the time\/resources went into the planning phase which developed a bunch of .md files from each of the &#8220;leads&#8221;. Over my time using LLMs the biggest mistake I constantly see is when the LLM wants to compress the conversation and attempts to restart from zero and re-reads the entire project. To fix this I force a &#8220;reprompt.txt&#8221; file at the root of my directory that defines where the team is at. I also required explicit plans before ANY code is written. This saved me a few times and allowed me to stop and restart my sessions as needed.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"236\" height=\"37\" src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2026\/04\/image-1.png\" alt=\"\" class=\"wp-image-1348\"\/><\/figure>\n\n\n\n<p>Well if you want to see where I&#8217;m at I threw the repo here: <a href=\"https:\/\/github.com\/wfkolb\/ChernoAlphaGameEngine\">https:\/\/github.com\/wfkolb\/ChernoAlphaGameEngine<\/a><\/p>\n\n\n\n<p>My goal is to get a simple editor going and start building a doom clone.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I noticed that claude code released &#8220;teams&#8221; (https:\/\/code.claude.com\/docs\/en\/agent-teams) which essentially is a multi-agent workflow that lets you define team members in your prompt and claude can just send out other instances of itself to start working. So instead of doing something reasonable like just making a quick web app I decided to do one of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1348,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,27],"tags":[],"class_list":["post-1345","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gamedev","category-softwaredev"],"_links":{"self":[{"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/posts\/1345","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/willkolb.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1345"}],"version-history":[{"count":1,"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/posts\/1345\/revisions"}],"predecessor-version":[{"id":1349,"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/posts\/1345\/revisions\/1349"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/media\/1348"}],"wp:attachment":[{"href":"https:\/\/willkolb.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1345"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/willkolb.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1345"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/willkolb.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}