<?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>Forem: salvo10f</title>
    <description>The latest articles on Forem by salvo10f (@salvo10f).</description>
    <link>https://forem.com/salvo10f</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3821716%2Fc77dc365-ae5c-443e-b88b-3c4ff20de082.png</url>
      <title>Forem: salvo10f</title>
      <link>https://forem.com/salvo10f</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/salvo10f"/>
    <language>en</language>
    <item>
      <title>www.godotiq.com</title>
      <dc:creator>salvo10f</dc:creator>
      <pubDate>Sat, 21 Mar 2026 19:49:49 +0000</pubDate>
      <link>https://forem.com/salvo10f/wwwgodotiqcom-2cdl</link>
      <guid>https://forem.com/salvo10f/wwwgodotiqcom-2cdl</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/salvo10f/an-ai-agent-built-a-complete-3d-tower-defense-in-godot-heres-how-lpd" class="crayons-story__hidden-navigation-link"&gt;An AI Agent Built a Complete 3D Tower Defense in Godot — Here's How&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/salvo10f" class="crayons-avatar  crayons-avatar--l  "&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3821716%2Fc77dc365-ae5c-443e-b88b-3c4ff20de082.png" alt="salvo10f profile" class="crayons-avatar__image" width="420" height="420"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/salvo10f" class="crayons-story__secondary fw-medium m:hidden"&gt;
              salvo10f
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                salvo10f
                
              
              &lt;div id="story-author-preview-content-3381445" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/salvo10f" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3821716%2Fc77dc365-ae5c-443e-b88b-3c4ff20de082.png" class="crayons-avatar__image" alt="" width="420" height="420"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;salvo10f&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/salvo10f/an-ai-agent-built-a-complete-3d-tower-defense-in-godot-heres-how-lpd" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Mar 21&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/salvo10f/an-ai-agent-built-a-complete-3d-tower-defense-in-godot-heres-how-lpd" id="article-link-3381445"&gt;
          An AI Agent Built a Complete 3D Tower Defense in Godot — Here's How
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/godot"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;godot&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/gamedev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;gamedev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/vibecoding"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;vibecoding&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/salvo10f/an-ai-agent-built-a-complete-3d-tower-defense-in-godot-heres-how-lpd" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt; reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/salvo10f/an-ai-agent-built-a-complete-3d-tower-defense-in-godot-heres-how-lpd#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>godot</category>
      <category>gamedev</category>
      <category>ai</category>
      <category>vibecoding</category>
    </item>
    <item>
      <title>An AI Agent Built a Complete 3D Tower Defense in Godot — Here's How</title>
      <dc:creator>salvo10f</dc:creator>
      <pubDate>Sat, 21 Mar 2026 19:49:08 +0000</pubDate>
      <link>https://forem.com/salvo10f/an-ai-agent-built-a-complete-3d-tower-defense-in-godot-heres-how-lpd</link>
      <guid>https://forem.com/salvo10f/an-ai-agent-built-a-complete-3d-tower-defense-in-godot-heres-how-lpd</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;An AI coding agent just built a playable 3D tower defense from an empty Godot project. No human coding.&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I built &lt;strong&gt;GodotIQ&lt;/strong&gt; - an MCP server with 36 tools that gives AI agents spatial intelligence inside Godot 4. To stress-test it, I pointed Claude Code at an empty project with a game design doc and the Kenney Tower Defense Kit.&lt;/p&gt;

&lt;p&gt;The agent built everything autonomously:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The game — "Crystal Keep":&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;12×10 terrain map with connected S-shaped path&lt;/li&gt;
&lt;li&gt;4 tower types: Gatling (fast DPS), Cannon (splash damage), Frost (slows enemies), Support (buffs nearby towers)&lt;/li&gt;
&lt;li&gt;3 upgrade levels per tower, sell with 60% refund&lt;/li&gt;
&lt;li&gt;4 enemy types including bosses every 5 waves&lt;/li&gt;
&lt;li&gt;20 waves of increasing difficulty&lt;/li&gt;
&lt;li&gt;Full placement system — click tower card, click on the map, tower appears&lt;/li&gt;
&lt;li&gt;Tower selection panel with upgrade/sell buttons&lt;/li&gt;
&lt;li&gt;Camera controls (WASD pan, scroll zoom, Q/E rotate)&lt;/li&gt;
&lt;li&gt;Pause (P/Space) and speed control (1x/2x/3x)&lt;/li&gt;
&lt;li&gt;Main menu, tutorial, game over screen with stats and score&lt;/li&gt;
&lt;li&gt;Visual effects: screen shake, damage numbers, gold popups, crystal animation&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.amazonaws.com%2Fuploads%2Farticles%2Fq8kzpecy5mxw3ndnndq9.gif" 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.amazonaws.com%2Fuploads%2Farticles%2Fq8kzpecy5mxw3ndnndq9.gif" alt=" " width="720" height="467"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What makes this different
&lt;/h2&gt;

&lt;p&gt;Most AI tools for Godot either wrap the editor API or generate code from prompts. The agent writes scripts, but it has no idea what the 3D scene actually looks like.&lt;/p&gt;

&lt;p&gt;GodotIQ adds an intelligence layer. The agent can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;See the 3D space&lt;/strong&gt; — query a spatial map with positions, distances, bounds of every object&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Place objects intelligently&lt;/strong&gt; — validate positions against grid, walls, navmesh, other objects&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interact with the game&lt;/strong&gt; — click buttons, click positions in the 3D viewport, simulate player input&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verify its own work&lt;/strong&gt; — take screenshots from editor and running game, inspect node states at runtime&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Understand the code&lt;/strong&gt; — trace signal flows, map dependencies, check impact of changes before making them&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The agent doesn't just write code. It develops the game — builds scenes, tests them, sees the result, fixes what's wrong, and iterates.&lt;/p&gt;

&lt;h2&gt;
  
  
  The workflow
&lt;/h2&gt;

&lt;p&gt;The agent followed this loop hundreds of times:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Build&lt;/strong&gt; — create scene nodes, write scripts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verify&lt;/strong&gt; — take screenshot, inspect state&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fix&lt;/strong&gt; — if something looks wrong, patch it&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test&lt;/strong&gt; — run the game, simulate player actions, check results&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For tower placement, the agent used &lt;code&gt;click_at_world&lt;/code&gt; to simulate clicking on 3D positions — testing the placement system exactly as a player would. For UI, it used &lt;code&gt;click_at&lt;/code&gt; to press buttons and verify they worked. No shortcuts, no bypassing the game's input system.&lt;/p&gt;

&lt;h2&gt;
  
  
  Numbers
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;36 tools across 9 categories (spatial, code, bridge, flow, assets, memory, UI, animation, navigation)&lt;/li&gt;
&lt;li&gt;22 tools free (spatial intelligence, code analysis, flow tracing)&lt;/li&gt;
&lt;li&gt;14 PRO tools ($19 one-time) for runtime features (screenshots, game control, input simulation)&lt;/li&gt;
&lt;li&gt;1460 automated tests&lt;/li&gt;
&lt;li&gt;Works with Claude Code, Cursor, Windsurf, GitHub Copilot, Codex, and any MCP client&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;bash&lt;br&gt;
&lt;code&gt;pip install godotiq&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://godotiq.com" rel="noopener noreferrer"&gt;godotiq.com&lt;/a&gt;&lt;br&gt;
GitHub: &lt;a href="https://github.com/salvo10f/godotiq" rel="noopener noreferrer"&gt;github.com/salvo10f/godotiq&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The game assets are from the &lt;a href="https://kenney.nl/assets/tower-defense-kit" rel="noopener noreferrer"&gt;Kenney Tower Defense Kit&lt;/a&gt; (CC0, free).&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.amazonaws.com%2Fuploads%2Farticles%2Fu2ndf4y1k408nkwlxcnn.gif" 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.amazonaws.com%2Fuploads%2Farticles%2Fu2ndf4y1k408nkwlxcnn.gif" alt=" " width="720" height="467"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;GodotIQ is open-core. The intelligence layer (spatial understanding, code analysis, flow tracing) is free. Runtime tools (screenshots, game control, input sim) require a $19 one-time Pro license.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>godot</category>
      <category>gamedev</category>
      <category>ai</category>
      <category>vibecoding</category>
    </item>
    <item>
      <title>I gave an AI agent one prompt and it built a living city in Godot 4</title>
      <dc:creator>salvo10f</dc:creator>
      <pubDate>Fri, 13 Mar 2026 07:40:27 +0000</pubDate>
      <link>https://forem.com/salvo10f/i-gave-an-ai-agent-one-prompt-and-it-built-a-living-city-in-godot-4-3mlm</link>
      <guid>https://forem.com/salvo10f/i-gave-an-ai-agent-one-prompt-and-it-built-a-living-city-in-godot-4-3mlm</guid>
      <description>&lt;p&gt;I've been building games in Godot for a while. Recently I started using AI coding agents (Claude Code, Cursor) to speed things up. They're good at writing GDScript, but they have a fundamental problem: they can't see what they're doing.&lt;br&gt;
The agent writes code, you run the game, something is broken, you describe the problem back to the agent, it tries again. Back and forth. Sometimes for hours on simple placement issues.&lt;br&gt;
So I built something to fix that.&lt;br&gt;
The problem with blind agents&lt;br&gt;
If you tell an AI agent "place a shelf near the printer", it guesses coordinates. Maybe (2, 0, 0). That's inside a wall. So you tell it to move. It tries (3, 0, 0). Now it's floating. You go back and forth 10 times before it lands somewhere reasonable.&lt;br&gt;
The agent has no idea where things are in your scene. It doesn't know where the walls are, where the floor ends, what's already placed. It's writing code with a blindfold on.&lt;br&gt;
What if the agent could actually understand your scene?&lt;br&gt;
I built an MCP server called GodotIQ that gives AI agents spatial awareness. Instead of guessing, the agent calls scene_map and gets back a full map of every node in the scene with positions, distances, and bounds. Then it calls placement with constraints like "near the printer, not inside walls, on the navmesh" and gets back valid coordinates on the first try.&lt;br&gt;
But spatial intelligence is just one piece. The agent also needs to understand how code connects across files. Which scripts depend on which. What happens when you change a signal. Where data flows from the database to the UI. That's the stuff that takes a human developer 30 minutes of grep to figure out.&lt;br&gt;
&lt;strong&gt;The city test&lt;/strong&gt;&lt;br&gt;
I wanted to stress test &lt;code&gt;the whole system. I downloaded three Kenney city kits (roads, suburban buildings, commercial buildings), pointed the agent at the asset folder, and gave it one prompt:&lt;br&gt;
"Build a small city with roads, buildings, a park, moving cars, and a day/night cycle."&lt;br&gt;
No step by step instructions. No hand holding. Just that.&lt;br&gt;
Here's what happened.&lt;br&gt;
The agent started by scanning all the assets with asset_registry. Found 160+ models across three kits. Then it called scene_map to understand the empty scene, placed a ground plane, and started building roads using build_scene with a grid pattern. 41 tiles in one call.&lt;br&gt;
Then it placed buildings. Suburban houses on the west side, commercial skyscrapers on the east. Used spatial_audit to check for overlaps. Zero issues.&lt;br&gt;
Then it added a park with a fountain and benches. Wired up 5 cars with Path3D routes. Added traffic lights with red/green cycling. Wrote a day/night controller that shifts the sky color, toggles building window lights, street lights, and car headlights.&lt;br&gt;
The part that surprised me&lt;br&gt;
After building everything, the agent ran the game and took a screenshot. It looked at the screenshot and said "the road tiles at corners don't connect properly, some are rotated wrong." It fixed the rotations itself. Then took another screenshot to verify.&lt;br&gt;
It did the same with the cars. Noticed they were sliding sideways instead of facing forward along their paths. Fixed the PathFollow3D rotation mode. Verified again with a screenshot.&lt;br&gt;
When night came in the day/night cycle, it checked that building lights actually turned on. They did. It checked that car headlights were visible. They were.&lt;br&gt;
This is the part that got me. The agent wasn't just writing code that compiles. It was verifying that things looked right visually and worked correctly at runtime. Like a human developer would.&lt;br&gt;
How it works technically&lt;br&gt;
GodotIQ is an MCP server. MCP is a protocol that lets AI agents call tools. You install it with pip:&lt;br&gt;
`pip install godotiq`&lt;br&gt;
Add it to your AI client config:&lt;br&gt;
`json{&lt;br&gt;
  "mcpServers": {&lt;br&gt;
    "godotiq": {&lt;br&gt;
      "command": "uvx",&lt;br&gt;
      "args": ["godotiq"],&lt;br&gt;
      "env": {&lt;br&gt;
        "GODOTIQ_PROJECT_ROOT": "/path/to/your/godot/project"&lt;br&gt;
      }&lt;br&gt;
    }&lt;br&gt;
  }&lt;br&gt;
}`&lt;br&gt;
&lt;/code&gt;`plaintext&lt;/p&gt;

&lt;p&gt;Works with Claude Code, Cursor, Windsurf, VS Code Copilot, and any MCP client.&lt;/p&gt;

&lt;p&gt;There are 35 tools total. 22 are free, covering the basics: scene editing, running the game, taking screenshots, simulating input, checking for errors. The other 13 are the intelligence layer: spatial analysis, dependency graphs, signal flow tracing, convention validation. Those require a Pro license.&lt;/p&gt;

&lt;p&gt;The free tools alone are already more capable than most Godot MCP servers out there, because the agent can actually run the game, look at screenshots, and verify its own work. The intelligence tools take it further by giving the agent deep understanding of your project's architecture.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it can't do&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I want to be honest. It can't one-shot a complete game from a single prompt. Complex game logic, tight gameplay loops, nuanced game feel, that's still human territory.&lt;/p&gt;

&lt;p&gt;What it can do is handle the mechanical work. Scene setup, node placement, wiring signals, creating UI, testing that things work. The boring stuff that eats hours of your day.&lt;/p&gt;

&lt;p&gt;I've been testing it on an existing project with 118 scripts and 84 scenes. The agent mapped the entire codebase, found 4 orphan signals nobody knew about, traced a data flow across 8 files in seconds, and produced 668 code warnings with suggested fixes. That would have taken days manually.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Try it&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;22 tools free, no account needed.&lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;code&gt;&lt;br&gt;
&lt;/code&gt;pip install godotiq`&lt;br&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.amazonaws.com%2Fuploads%2Farticles%2Fswzf0ke4ubnti2ezw0cm.gif" 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.amazonaws.com%2Fuploads%2Farticles%2Fswzf0ke4ubnti2ezw0cm.gif" alt=" " width="8" height="5"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Full docs and Pro info at godotiq.com&lt;/p&gt;

&lt;p&gt;The code for the Godot addon is on GitHub: github.com/salvo10f/godotiq&lt;/p&gt;

&lt;p&gt;Still iterating. &lt;strong&gt;Feedback welcome.&lt;/strong&gt;&lt;/p&gt;

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