<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kfir Adut</title>
    <description>The latest articles on DEV Community by Kfir Adut (@kfiradut).</description>
    <link>https://dev.to/kfiradut</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4131572%2F240f8da8-0ef9-4589-bbc3-15251be6a2ec.png</url>
      <title>DEV Community: Kfir Adut</title>
      <link>https://dev.to/kfiradut</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kfiradut"/>
    <language>en</language>
    <item>
      <title>I Let My AI Assistant Do the Heavy Lifting on Two Godot Games. My Job Changed.</title>
      <dc:creator>Kfir Adut</dc:creator>
      <pubDate>Fri, 18 Sep 2026 14:35:54 +0000</pubDate>
      <link>https://dev.to/kfiradut/i-let-my-ai-assistant-do-the-heavy-lifting-on-two-godot-games-my-job-changed-gi8</link>
      <guid>https://dev.to/kfiradut/i-let-my-ai-assistant-do-the-heavy-lifting-on-two-godot-games-my-job-changed-gi8</guid>
      <description>&lt;p&gt;The usual way people talk about AI-assisted development is too small.&lt;/p&gt;

&lt;p&gt;They describe a faster autocomplete, a better search box or a tool that can turn a clear instruction into a block of code. Those things are useful, but they still leave the developer carrying the whole project in their head: what needs to happen next, what broke, what to test, what to ship and when to stop polishing one part and move to another.&lt;/p&gt;

&lt;p&gt;I have been testing a different model while building two Android games in Godot.&lt;/p&gt;

&lt;p&gt;My AI assistant, Instinct, does the heavy lifting. It researches approaches, works through implementation, inspects existing assets, maintains the repositories, runs tests, diagnoses failures, prepares builds and keeps the work moving across many steps. I set the product direction, challenge weak decisions, test the result on a real device and decide what is good enough to keep.&lt;/p&gt;

&lt;p&gt;That division of labor is more demanding than "AI writes code." It changes what the human needs to be good at.&lt;/p&gt;

&lt;h2&gt;
  
  
  The projects
&lt;/h2&gt;

&lt;p&gt;The first game is Glimmerbook Solitaire, a portrait Android game built around classic storybook worlds. The second is Ithaca Rising, an Android-first game inspired by the journey of Odysseus.&lt;/p&gt;

&lt;p&gt;Both use Godot 4 and GDScript. Both live in GitHub repositories with automated build work around them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhqhgrj15a35vz5i51z1b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhqhgrj15a35vz5i51z1b.png" alt="Portrait Glimmerbook Solitaire screen titled Basket at Dawn, with four face-down cards, four face-up cards, a stock pile and a current card" width="800" height="1067"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Glimmerbook Solitaire in portrait: the Basket at Dawn higher-or-lower board, with the draw pile, current card and eight-card layout visible.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;They are still works in progress, which makes them useful tests: the assistant is not being asked to reproduce a finished specification. It has to operate while the product is still changing.&lt;/p&gt;

&lt;p&gt;That is where the real work begins.&lt;/p&gt;

&lt;p&gt;A prototype can look productive because many files changed. A product only moves forward when the right thing changed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Heavy lifting does not mean final authority
&lt;/h2&gt;

&lt;p&gt;Instinct can take a goal such as "make this feel closer to a polished casual game" and turn it into a long chain of work. It can study references, inspect the asset library, compare implementation options, update scenes and scripts, run checks, prepare an Android build and report what remains weak.&lt;/p&gt;

&lt;p&gt;That is heavy lifting because I do not need to direct every file edit or remember every dependency between steps.&lt;/p&gt;

&lt;p&gt;But the assistant does not get the final word.&lt;/p&gt;

&lt;p&gt;One early version of Ithaca Rising was built as a web prototype. It was a coherent technical path, but it was the wrong product decision. I was building an Android game with combat, animation, touch input, audio, particles and room to grow. I pushed back and asked why we were not using Godot.&lt;/p&gt;

&lt;p&gt;The project was moved to Godot 4.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbskpg0j1wfe0a2cjph6n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbskpg0j1wfe0a2cjph6n.png" alt="Earlier portrait Ithaca Rising screen with a layered mountain landscape, Odysseus on the left, no visible enemy, and dense quest and combat interface panels" width="800" height="1067"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Earlier Ithaca Rising stage: Odysseus and the layered environment were in place, while the Lotus Wraith was not visible and the interface still crowded the scene.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That moment taught me more than a smooth success would have. An assistant can execute a reasonable plan very quickly. If the plan is wrong, speed only gets you to the wrong place sooner. My most valuable contribution was not writing the replacement code. It was recognizing that the implementation did not match the product.&lt;/p&gt;

&lt;h2&gt;
  
  
  A better loop: direction, execution, evidence, correction
&lt;/h2&gt;

&lt;p&gt;The working loop now looks like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I define the experience and the standard.&lt;/li&gt;
&lt;li&gt;Instinct researches and implements the next meaningful slice.&lt;/li&gt;
&lt;li&gt;The project is built and checked through the repository and CI workflow.&lt;/li&gt;
&lt;li&gt;I test the result, usually on the target Android device rather than judging only from code or screenshots.&lt;/li&gt;
&lt;li&gt;We compare the result with the intended experience, find the gap and repeat.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The evidence step matters.&lt;/p&gt;

&lt;p&gt;A build existing is not evidence that it launches. A scene loading is not evidence that the game feels good. A screenshot looking polished is not evidence that touch input, pacing or progression works.&lt;/p&gt;

&lt;p&gt;We hit a launch problem in one Android build. The useful response was not to keep adding code. It was to compare the broken build with the previous game and release path that already worked. That narrowed the problem and got the project back onto a known-good path.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffcxgd2hnl6xu79llsphp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffcxgd2hnl6xu79llsphp.png" alt="Later landscape Ithaca Rising combat screen with Odysseus raising a sword against the Lotus Wraith, a red enemy health bar and yellow hit particles" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Later Ithaca Rising combat: Odysseus and the Lotus Wraith are both visible, with an enemy health bar and hit particles making the action easier to read.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This is one of the strongest uses of an agent: it can hold the mechanical history of the work and investigate the difference, while I stay focused on the outcome.&lt;/p&gt;

&lt;h2&gt;
  
  
  The human bottleneck moves upward
&lt;/h2&gt;

&lt;p&gt;When implementation becomes cheaper, judgment becomes more important.&lt;/p&gt;

&lt;p&gt;I spend less time asking, "Can this be built?" and more time asking:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is this the right mechanic for the audience?&lt;/li&gt;
&lt;li&gt;Does the current build feel like a real game or a prototype wearing polished art?&lt;/li&gt;
&lt;li&gt;Are we reusing the best assets and open-source work available, or rebuilding something weaker?&lt;/li&gt;
&lt;li&gt;Is the next feature actually improving the experience?&lt;/li&gt;
&lt;li&gt;What does the real device show that the development environment hides?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F85v8scwoesl4n5il7byi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F85v8scwoesl4n5il7byi.png" alt="Landscape crop of Glimmerbook Solitaire showing the Basket at Dawn title, higher-or-lower instruction and two rows of burgundy and cream cards" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;A landscape Glimmerbook crop makes the hierarchy easy to inspect: title and rule first, then the burgundy card backs and cream face-up cards.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;These questions are not separate from engineering. They determine which engineering work is worth doing.&lt;/p&gt;

&lt;p&gt;There is also a management lesson. An AI assistant can continue across research, implementation, QA and release preparation without waiting for a new prompt after every small step. That creates leverage, but only if the project has clear constraints and a way to verify reality. Otherwise, autonomy becomes motion without progress.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I would do differently now
&lt;/h2&gt;

&lt;p&gt;First, I would lock the target platform and quality reference before the first implementation. The web-to-Godot correction was useful, but avoidable.&lt;/p&gt;

&lt;p&gt;Second, I would define "done" as an observable result. For an Android game, that means a build that installs, launches and behaves correctly on the target device. Repository activity is not the finish line.&lt;/p&gt;

&lt;p&gt;Third, I would make comparison part of the debugging process from the start. When one project works and another does not, diff the working path before inventing a new one.&lt;/p&gt;

&lt;p&gt;Finally, I would keep the roles explicit. Instinct does the heavy lifting. I own the direction, the standards and the decision to ship.&lt;/p&gt;

&lt;p&gt;That is not a smaller role for the human. It is a more concentrated one.&lt;/p&gt;

&lt;h2&gt;
  
  
  A note on how this article was made
&lt;/h2&gt;

&lt;p&gt;The same division of labor applies here. Instinct prepared this draft from our real project history and did the heavy lifting in turning it into a clear technical narrative. I reviewed the facts, chose what should be public and remain responsible for every claim published under my name.&lt;/p&gt;

</description>
      <category>godot</category>
      <category>gamedev</category>
      <category>ai</category>
      <category>android</category>
    </item>
  </channel>
</rss>
