<?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: Ziva</title>
    <description>The latest articles on Forem by Ziva (@ziva).</description>
    <link>https://forem.com/ziva</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%2F3845272%2F6667c5de-b09a-4a44-b3a4-19819c554824.png</url>
      <title>Forem: Ziva</title>
      <link>https://forem.com/ziva</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/ziva"/>
    <language>en</language>
    <item>
      <title>Warum Slay the Spire 2 auf Godot setzt (und was das für Entwickler bedeutet)</title>
      <dc:creator>Ziva</dc:creator>
      <pubDate>Mon, 13 Apr 2026 21:39:17 +0000</pubDate>
      <link>https://forem.com/ziva/warum-slay-the-spire-2-auf-godot-setzt-und-was-das-fur-entwickler-bedeutet-4cdl</link>
      <guid>https://forem.com/ziva/warum-slay-the-spire-2-auf-godot-setzt-und-was-das-fur-entwickler-bedeutet-4cdl</guid>
      <description>&lt;p&gt;Slay the Spire 2 hat am 5. März 2026 &lt;a href="https://steamdb.info/app/2868840/charts/" rel="noopener noreferrer"&gt;574.638 gleichzeitige Spieler auf Steam erreicht&lt;/a&gt;. Gebaut auf Godot. Nicht Unity. Nicht Unreal. Das Open-Source-Projekt, das viele noch vor drei Jahren als Hobby-Engine abgetan haben.&lt;/p&gt;

&lt;p&gt;Das ist kein Einzelfall. Die Daten zeigen einen klaren Trend.&lt;/p&gt;

&lt;h2&gt;
  
  
  Was passiert ist
&lt;/h2&gt;

&lt;p&gt;Mega Crit hatte über zwei Jahre an Slay the Spire 2 in Unity gearbeitet. Im September 2023 &lt;a href="https://www.pcgamer.com/games/card-games/slay-the-spire-2-ditched-unity-for-open-source-engine-godot-after-2-years-of-development/" rel="noopener noreferrer"&gt;kündigte Unity die Runtime-Gebühr an&lt;/a&gt;. Mega Crits Reaktion war ein offener Brief: "That is how badly you fucked up."&lt;/p&gt;

&lt;p&gt;Unity ruderte zurück. Der CEO trat zurück. Mega Crit wechselte trotzdem zu Godot und baute das Spiel komplett neu auf.&lt;/p&gt;

&lt;p&gt;Das Ergebnis: fast 575.000 gleichzeitige Spieler, knapp unter dem Silksong-Rekord von 587.150. Mega Crit ist inzwischen &lt;a href="https://www.gamingonlinux.com/2026/04/godot-gets-a-funding-boost-from-slay-the-spire-2-devs-mega-crit/" rel="noopener noreferrer"&gt;Platinum-Sponsor der Godot Foundation&lt;/a&gt; mit 36.000 Euro pro Jahr.&lt;/p&gt;

&lt;h2&gt;
  
  
  Die Umsatzzahlen der größten Godot-Spiele
&lt;/h2&gt;

&lt;p&gt;Slay the Spire 2 ist noch im Early Access, daher fehlen verlässliche Umsatzschätzungen. Aber die anderen kommerziellen Godot-Erfolge sprechen für sich:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Spiel&lt;/th&gt;
&lt;th&gt;Geschätzter Umsatz&lt;/th&gt;
&lt;th&gt;Reviews&lt;/th&gt;
&lt;th&gt;Bewertung&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Brotato&lt;/td&gt;
&lt;td&gt;10,7 Mio. $&lt;/td&gt;
&lt;td&gt;102.051&lt;/td&gt;
&lt;td&gt;96,6 %&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Buckshot Roulette&lt;/td&gt;
&lt;td&gt;6,9 Mio. $&lt;/td&gt;
&lt;td&gt;102.849&lt;/td&gt;
&lt;td&gt;95,7 %&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dome Keeper&lt;/td&gt;
&lt;td&gt;6,1 Mio. $&lt;/td&gt;
&lt;td&gt;17.173&lt;/td&gt;
&lt;td&gt;92,3 %&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backpack Battles&lt;/td&gt;
&lt;td&gt;5,2 Mio. $&lt;/td&gt;
&lt;td&gt;17.455&lt;/td&gt;
&lt;td&gt;91,1 %&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cassette Beasts&lt;/td&gt;
&lt;td&gt;4,1 Mio. $&lt;/td&gt;
&lt;td&gt;9.772&lt;/td&gt;
&lt;td&gt;94,7 %&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Halls of Torment&lt;/td&gt;
&lt;td&gt;3,4 Mio. $&lt;/td&gt;
&lt;td&gt;29.767&lt;/td&gt;
&lt;td&gt;95,7 %&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Zusammen über &lt;a href="https://ziva.sh/blogs/godot-engine-games" rel="noopener noreferrer"&gt;48 Millionen Dollar geschätzter Umsatz&lt;/a&gt;. Jedes Spiel hat eine Bewertung über 91 %.&lt;/p&gt;

&lt;h2&gt;
  
  
  Warum Godot wächst
&lt;/h2&gt;

&lt;p&gt;Drei Faktoren treiben das Wachstum:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. MIT-Lizenz ohne Einschränkungen.&lt;/strong&gt; Keine Runtime-Gebühren, keine Umsatzbeteiligung. Godot kostet nichts, egal wie erfolgreich dein Spiel wird. Nach Unitys Preisänderung ist das kein technisches Detail mehr, sondern ein Geschäftsrisiko, das Godot eliminiert.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Textbasierte Szenendateien.&lt;/strong&gt; Godot speichert Szenen als &lt;code&gt;.tscn&lt;/code&gt;-Dateien im Klartext. Git-Diffs funktionieren, KI-Tools können Szenen lesen und generieren, und Standard-Unix-Tools sind einsetzbar. Unity-Szenen sind binär. Dieser Unterschied wird immer wichtiger, je mehr Entwickler KI-Tools in ihren Workflow integrieren. Tools wie &lt;a href="https://ziva.sh" rel="noopener noreferrer"&gt;Ziva&lt;/a&gt; nutzen dieses Format direkt, um Szenen aus natürlicher Sprache zu generieren.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Kleine Teams dominieren.&lt;/strong&gt; Buckshot Roulette wurde von einem einzelnen Entwickler aus Estland gebaut. Road to Vostok von einem Solo-Entwickler aus Finnland, der am 7. April 2026 die &lt;a href="https://games.gg/news/road-to-vostok-hits-steam-top-10/" rel="noopener noreferrer"&gt;Steam Top 10 erreichte&lt;/a&gt;. Godots Editor ist 120 MB groß und braucht kein Konto, keine Lizenz und keine Internetverbindung.&lt;/p&gt;

&lt;h2&gt;
  
  
  Die Zahlen zum Wachstum
&lt;/h2&gt;

&lt;p&gt;Godot-Spiele auf Steam pro Jahr:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;2020: 47&lt;/li&gt;
&lt;li&gt;2021: 97&lt;/li&gt;
&lt;li&gt;2022: 195&lt;/li&gt;
&lt;li&gt;2023: 389&lt;/li&gt;
&lt;li&gt;2024: 618&lt;/li&gt;
&lt;li&gt;2025: über 1.500&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Das ist eine &lt;a href="https://ziva.sh/blogs/godot-growth-stats" rel="noopener noreferrer"&gt;Verdopplung pro Jahr&lt;/a&gt;. 5 % aller Steam-Veröffentlichungen in 2024 nutzten Godot. Beim GMTK Game Jam 2025 lag Godots Anteil bei 39 %, gegenüber 13 % vier Jahre zuvor.&lt;/p&gt;

&lt;h2&gt;
  
  
  Was das für deutsche Spieleentwickler bedeutet
&lt;/h2&gt;

&lt;p&gt;Deutschland ist der &lt;a href="https://www.game.de/marktdaten/" rel="noopener noreferrer"&gt;größte Spielemarkt Europas&lt;/a&gt;. Die Bundesregierung fördert Spieleentwicklung mit über 50 Millionen Euro jährlich. Gleichzeitig setzen viele deutsche Studios auf Unity oder Unreal.&lt;/p&gt;

&lt;p&gt;Für kleine Studios und Solo-Entwickler lohnt sich ein Blick auf Godot. Die Einstiegshürde ist niedrig (120 MB Download, GDScript liest sich wie Python), die Lizenzkosten sind null, und die kommerzielle Erfolgsbilanz wächst mit jedem Quartal.&lt;/p&gt;

&lt;p&gt;574.638 gleichzeitige Spieler sind kein Argument, das man leicht ignorieren kann.&lt;/p&gt;

</description>
      <category>german</category>
      <category>deutsch</category>
      <category>godot</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>5 Engineering Decisions That Made Godot the Fastest-Growing Game Engine</title>
      <dc:creator>Ziva</dc:creator>
      <pubDate>Mon, 13 Apr 2026 21:26:04 +0000</pubDate>
      <link>https://forem.com/ziva/5-engineering-decisions-that-made-godot-the-fastest-growing-game-engine-5hgh</link>
      <guid>https://forem.com/ziva/5-engineering-decisions-that-made-godot-the-fastest-growing-game-engine-5hgh</guid>
      <description>&lt;p&gt;Godot went from 47 game releases on Steam in 2020 to &lt;a href="https://ziva.sh/blogs/godot-growth-stats" rel="noopener noreferrer"&gt;over 1,500 in 2025&lt;/a&gt;. Slay the Spire 2, built on Godot after Mega Crit &lt;a href="https://www.pcgamer.com/games/card-games/slay-the-spire-2-ditched-unity-for-open-source-engine-godot-after-2-years-of-development/" rel="noopener noreferrer"&gt;scrapped two years of Unity development&lt;/a&gt;, hit &lt;a href="https://steamdb.info/app/2868840/charts/" rel="noopener noreferrer"&gt;574,638 concurrent players&lt;/a&gt; on Steam. Five percent of all games released on Steam in 2024 used Godot.&lt;/p&gt;

&lt;p&gt;That growth did not happen because of marketing. Godot has no venture capital, no sales team, no enterprise contracts. It grew because of five architectural decisions that compounded over time. If you build developer tools of any kind, these decisions are worth studying.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. MIT license, no exceptions
&lt;/h2&gt;

&lt;p&gt;Godot uses the MIT license. Not "free with conditions." Not "free until you make money." &lt;a href="https://github.com/godotengine/godot/blob/master/LICENSE.txt" rel="noopener noreferrer"&gt;MIT&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Unity charges a runtime fee above certain revenue thresholds. Unreal takes 5% of gross revenue above $1 million. Godot takes nothing. Ever.&lt;/p&gt;

&lt;p&gt;This matters more than it seems. When Unity &lt;a href="https://www.gamedeveloper.com/business/slay-the-spire-devs-followed-through-on-abandoning-unity" rel="noopener noreferrer"&gt;announced its per-install fee&lt;/a&gt; in September 2023, studios with years of development invested had to evaluate whether to absorb the cost or switch engines. Mega Crit chose to rewrite. &lt;a href="https://godotengine.org/article/godot-showcase-buckshot-roulette/" rel="noopener noreferrer"&gt;Mike Klubnika&lt;/a&gt;, creator of Buckshot Roulette (8 million copies sold), switched to Godot and said: "I really liked the fact that Godot was open source."&lt;/p&gt;

&lt;p&gt;The web development world learned this lesson with open-core tools that changed pricing. Godot cannot change pricing because there is no pricing to change. The MIT license is a binding commitment to developers, and it removes a category of business risk entirely.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Text-based scene files
&lt;/h2&gt;

&lt;p&gt;Godot scenes are stored as &lt;code&gt;.tscn&lt;/code&gt; files. They are plain text. You can open one in any editor and read it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ini"&gt;&lt;code&gt;&lt;span class="nn"&gt;[gd_scene format=3]&lt;/span&gt;

&lt;span class="nn"&gt;[node name="Player" type="CharacterBody2D"]&lt;/span&gt;
&lt;span class="py"&gt;position&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;Vector2(100, 200)&lt;/span&gt;

&lt;span class="nn"&gt;[node name="Sprite" type="Sprite2D" parent="."]&lt;/span&gt;
&lt;span class="py"&gt;texture&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;ExtResource("1_abc12")&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Unity scenes are binary by default. Unreal Blueprints are binary. This means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Version control works.&lt;/strong&gt; Git diffs show exactly what changed in a scene. No "just merge the binary and pray."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI can read and write scenes.&lt;/strong&gt; An AI tool can generate a complete scene file from a text description and inject it into a project without any binary serialization layer. Tools like &lt;a href="https://ziva.sh" rel="noopener noreferrer"&gt;Ziva&lt;/a&gt; use this directly to generate scenes from natural language prompts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automation is trivial.&lt;/strong&gt; Grep a scene for a node type. Sed-replace a resource path. Write a CI check that validates scene structure. All standard Unix tools work.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Web developers take this for granted. HTML, CSS, and JavaScript are all plain text. The idea of a binary-first UI description format feels alien. Game engines accepted binary scenes as normal for decades. Godot proved they did not have to.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. A domain-specific language instead of a general-purpose one
&lt;/h2&gt;

&lt;p&gt;GDScript is not Python. It looks like Python, but it is a &lt;a href="https://docs.godotengine.org/en/stable/getting_started/scripting/gdscript/gdscript_basics.html" rel="noopener noreferrer"&gt;purpose-built language&lt;/a&gt; for game logic. A typical GDScript file is 30-80 lines. The equivalent C# in Unity is 100-300 lines.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight gdscript"&gt;&lt;code&gt;&lt;span class="k"&gt;extends&lt;/span&gt; &lt;span class="n"&gt;CharacterBody2D&lt;/span&gt;

&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;speed&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;200.0&lt;/span&gt;

&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="nf"&gt;_physics_process&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;delta&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kt"&gt;float&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;direction&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Input&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_vector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"left"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"right"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"up"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"down"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;velocity&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;direction&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;speed&lt;/span&gt;
    &lt;span class="n"&gt;move_and_slide&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That is a complete player movement controller. Six lines. The engine handles collision resolution, delta timing, and physics integration. The developer writes game logic, not framework plumbing.&lt;/p&gt;

&lt;p&gt;The tradeoff is real. GDScript is &lt;a href="https://ziva.sh/blogs/gdscript-vs-csharp" rel="noopener noreferrer"&gt;slower than C# for raw computation&lt;/a&gt;. If you need tight loops processing millions of elements, C# or C++ via GDExtension is better. But for the 90% of game code that is event handling, state transitions, and scene manipulation, GDScript's brevity means less code to write, less code to debug, and less context for AI tools to manage.&lt;/p&gt;

&lt;p&gt;The parallel in web development: Tailwind CSS is "worse" than raw CSS in the same way GDScript is "worse" than C#. It is constrained by design. Those constraints are the point.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. A 120 MB download that runs everywhere
&lt;/h2&gt;

&lt;p&gt;The Godot editor is a single binary. 120 MB. It runs on Windows, macOS, Linux, and even in a browser via WebAssembly. No installer, no account creation, no license key, no phone-home telemetry.&lt;/p&gt;

&lt;p&gt;Unity's editor is over 10 GB installed. Unreal is 30+ GB. Both require accounts. Both require internet connections for licensing.&lt;/p&gt;

&lt;p&gt;This has second-order effects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Game jams.&lt;/strong&gt; A developer can download Godot, create a project, and have a playable prototype in under an hour. At the &lt;a href="https://itch.io/jam/gmtk-2025" rel="noopener noreferrer"&gt;GMTK Game Jam&lt;/a&gt;, Godot went from 13% to 39% of entries in four years.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Education.&lt;/strong&gt; A teacher can put Godot on a USB drive and hand it to students. No IT department needed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CI/CD.&lt;/strong&gt; Godot headless exports run on any Linux box. No need to license a build server.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The lesson for tool builders: if your tool requires an account to evaluate, you are losing users who would have become advocates.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Composition over inheritance via the node tree
&lt;/h2&gt;

&lt;p&gt;Godot's scene system uses composition. Every object in a game is a tree of nodes. A player character is a &lt;code&gt;CharacterBody2D&lt;/code&gt; with child nodes for &lt;code&gt;Sprite2D&lt;/code&gt;, &lt;code&gt;CollisionShape2D&lt;/code&gt;, &lt;code&gt;AnimationPlayer&lt;/code&gt;, and whatever else it needs. You add behavior by adding nodes, not by subclassing.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Player (CharacterBody2D)
├── Sprite2D
├── CollisionShape2D
├── AnimationPlayer
└── HealthComponent (custom)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is the same pattern as React's component tree, which &lt;a href="https://en.wikipedia.org/wiki/Scene_graph" rel="noopener noreferrer"&gt;borrowed the concept from scene graphs&lt;/a&gt; that game engines used decades earlier. If you understand React components, you already understand Godot's node tree.&lt;/p&gt;

&lt;p&gt;The practical benefit: scenes are reusable. You can build a "HealthComponent" scene and instance it on any entity. You can nest scenes inside scenes. The composition is unlimited and does not require inheritance hierarchies that become brittle at scale.&lt;/p&gt;

&lt;h2&gt;
  
  
  The compound effect
&lt;/h2&gt;

&lt;p&gt;None of these decisions is unique in isolation. Plenty of tools are MIT-licensed. Plenty use text formats. Plenty are small. But the combination produces a developer experience where:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You download a 120 MB binary (no account)&lt;/li&gt;
&lt;li&gt;You write 30-line scripts in a language designed for the domain&lt;/li&gt;
&lt;li&gt;Your scenes are text files that work with git and AI tools&lt;/li&gt;
&lt;li&gt;You ship to any platform with no runtime fees&lt;/li&gt;
&lt;li&gt;You own every line of source code&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That combination is why Godot went from a niche curiosity to an engine that ships &lt;a href="https://ziva.sh/blogs/godot-engine-games" rel="noopener noreferrer"&gt;games earning over $10 million on Steam&lt;/a&gt;. It is also why the growth is accelerating: each new commercial success validates the architecture for the next wave of developers.&lt;/p&gt;

&lt;p&gt;If you are evaluating game engines in 2026, or just interested in how architectural decisions compound into ecosystem growth, Godot is the case study.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>programming</category>
      <category>gamedev</category>
      <category>ai</category>
    </item>
    <item>
      <title>Cómo hacer tu primer juego en Godot con IA en un fin de semana</title>
      <dc:creator>Ziva</dc:creator>
      <pubDate>Sun, 12 Apr 2026 23:23:13 +0000</pubDate>
      <link>https://forem.com/ziva/como-hacer-tu-primer-juego-en-godot-con-ia-en-un-fin-de-semana-1a91</link>
      <guid>https://forem.com/ziva/como-hacer-tu-primer-juego-en-godot-con-ia-en-un-fin-de-semana-1a91</guid>
      <description>&lt;p&gt;Godot Engine tiene &lt;a href="https://github.com/godotengine/godot" rel="noopener noreferrer"&gt;95,000 estrellas en GitHub&lt;/a&gt; y es completamente gratis. No hay licencias, no hay royalties, no hay letra chica. Si nunca hiciste un juego pero sabés programar, este es el mejor momento para empezar.&lt;/p&gt;

&lt;p&gt;Esta guía cubre cómo armar un juego 2D funcional en Godot 4 usando herramientas de IA para acelerar las partes tediosas: generar código boilerplate, debuggear errores, y prototipar mecánicas rápido.&lt;/p&gt;

&lt;h2&gt;
  
  
  Día 1 (sábado): Setup y mecánicas base
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Instalar Godot
&lt;/h3&gt;

&lt;p&gt;Bajá &lt;a href="https://godotengine.org/download" rel="noopener noreferrer"&gt;Godot 4.x&lt;/a&gt; desde la página oficial. No necesitás instalar nada: es un ejecutable portable. En Linux, macOS y Windows funciona igual.&lt;/p&gt;

&lt;p&gt;Creá un proyecto nuevo y elegí el renderer &lt;strong&gt;Compatibility&lt;/strong&gt; (OpenGL). Es el más estable para juegos 2D y funciona en la mayor cantidad de hardware.&lt;/p&gt;

&lt;h3&gt;
  
  
  Entender la arquitectura
&lt;/h3&gt;

&lt;p&gt;Godot usa un sistema de &lt;strong&gt;nodos&lt;/strong&gt; organizados en un &lt;strong&gt;árbol de escenas&lt;/strong&gt;. Todo es un nodo: tu personaje, los enemigos, el piso, la cámara, la interfaz. Los nodos se combinan en escenas reutilizables.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight gdscript"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Un nodo CharacterBody2D básico&lt;/span&gt;
&lt;span class="k"&gt;extends&lt;/span&gt; &lt;span class="n"&gt;CharacterBody2D&lt;/span&gt;

&lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;speed&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;200.0&lt;/span&gt;

&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="nf"&gt;_physics_process&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;delta&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;direction&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Input&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_vector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"ui_left"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"ui_right"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"ui_up"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"ui_down"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;velocity&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;direction&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;speed&lt;/span&gt;
    &lt;span class="n"&gt;move_and_slide&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Este script mueve un personaje con las flechas del teclado. En Godot, &lt;code&gt;_physics_process&lt;/code&gt; se ejecuta 60 veces por segundo y &lt;code&gt;move_and_slide()&lt;/code&gt; maneja las colisiones automáticamente.&lt;/p&gt;

&lt;h3&gt;
  
  
  Dónde usar IA (y dónde no)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Usá IA para:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generar scripts boilerplate (movimiento, colisiones, spawners)&lt;/li&gt;
&lt;li&gt;Diagnosticar errores de GDScript desde el stack trace&lt;/li&gt;
&lt;li&gt;Prototipar mecánicas que no conocés (sistema de inventario, diálogos, pathfinding)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;No uses IA para:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Game design (las decisiones de diseño son tuyas)&lt;/li&gt;
&lt;li&gt;Arte final (los modelos generan assets inconsistentes)&lt;/li&gt;
&lt;li&gt;Código que no entendés (si no podés leerlo, no podés debuggearlo)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Herramientas como &lt;a href="https://ziva.sh" rel="noopener noreferrer"&gt;Ziva&lt;/a&gt;, que corren dentro del editor de Godot, son útiles porque entienden la estructura de tu proyecto. También podés usar ChatGPT o Claude pegando código, pero perdés el contexto del proyecto.&lt;/p&gt;

&lt;p&gt;Según la &lt;a href="https://gdconf.com/article/gdc-2026-state-of-the-game-industry-reveals-impact-of-layoffs-generative-ai-and-more/" rel="noopener noreferrer"&gt;encuesta GDC 2026&lt;/a&gt;, el 47% de los desarrolladores que usan IA la usan para asistencia de código. Solo el 5% la usa para features que el jugador ve directamente.&lt;/p&gt;

&lt;h2&gt;
  
  
  Día 1 (tarde): Enemigos y colisiones
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Crear enemigos
&lt;/h3&gt;

&lt;p&gt;Creá una nueva escena con un nodo &lt;code&gt;Area2D&lt;/code&gt; como raíz. Agregá un &lt;code&gt;Sprite2D&lt;/code&gt; y un &lt;code&gt;CollisionShape2D&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight gdscript"&gt;&lt;code&gt;&lt;span class="c1"&gt;# enemigo.gd&lt;/span&gt;
&lt;span class="k"&gt;extends&lt;/span&gt; &lt;span class="n"&gt;Area2D&lt;/span&gt;

&lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;speed&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;100.0&lt;/span&gt;
&lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;direction&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kt"&gt;Vector2&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;LEFT&lt;/span&gt;

&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="nf"&gt;_process&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;delta&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;position&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="n"&gt;direction&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;speed&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;delta&lt;/span&gt;

&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="nf"&gt;_on_visible_on_screen_notifier_2d_screen_exited&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;queue_free&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;  &lt;span class="c1"&gt;# Se borra cuando sale de la pantalla&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Detectar colisiones
&lt;/h3&gt;

&lt;p&gt;Conectá la señal &lt;code&gt;body_entered&lt;/code&gt; del &lt;code&gt;Area2D&lt;/code&gt; del enemigo al jugador:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight gdscript"&gt;&lt;code&gt;&lt;span class="c1"&gt;# En el script del enemigo&lt;/span&gt;
&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="nf"&gt;_on_body_entered&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;body&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;body&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;is_in_group&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"player"&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;body&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;take_damage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;queue_free&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Las &lt;strong&gt;señales&lt;/strong&gt; son el sistema de eventos de Godot. Son como callbacks tipados: cuando algo pasa (colisión, timer, animación termina), se emite una señal y los nodos conectados reaccionan.&lt;/p&gt;

&lt;h2&gt;
  
  
  Día 2 (domingo): UI, sonido y exportación
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Interfaz de usuario
&lt;/h3&gt;

&lt;p&gt;Para mostrar puntaje y vidas, usá nodos &lt;code&gt;Label&lt;/code&gt; dentro de un &lt;code&gt;CanvasLayer&lt;/code&gt; (se renderiza encima del juego):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight gdscript"&gt;&lt;code&gt;&lt;span class="c1"&gt;# hud.gd&lt;/span&gt;
&lt;span class="k"&gt;extends&lt;/span&gt; &lt;span class="n"&gt;CanvasLayer&lt;/span&gt;

&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="k"&gt;onready&lt;/span&gt; &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;score_label&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ScoreLabel&lt;/span&gt;
&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="k"&gt;onready&lt;/span&gt; &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;lives_label&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;LivesLabel&lt;/span&gt;

&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="nf"&gt;update_score&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;score_label&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"Puntaje: &lt;/span&gt;&lt;span class="si"&gt;%d&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;

&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="nf"&gt;update_lives&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;lives_label&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"Vidas: &lt;/span&gt;&lt;span class="si"&gt;%d&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;El decorator &lt;code&gt;@onready&lt;/code&gt; asigna la referencia al nodo cuando la escena está lista. Es el equivalente de &lt;code&gt;GetComponent&amp;lt;&amp;gt;()&lt;/code&gt; en Unity o &lt;code&gt;FindNode&lt;/code&gt; en otros motores.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sonido
&lt;/h3&gt;

&lt;p&gt;Agregá nodos &lt;code&gt;AudioStreamPlayer&lt;/code&gt; a la escena. Godot soporta &lt;code&gt;.ogg&lt;/code&gt; y &lt;code&gt;.wav&lt;/code&gt; nativamente.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight gdscript"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Reproducir sonido al recibir daño&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;HitSound&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;play&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para música de fondo, usá un &lt;code&gt;AudioStreamPlayer&lt;/code&gt; en un &lt;strong&gt;Autoload&lt;/strong&gt; (singleton global) para que siga sonando entre escenas.&lt;/p&gt;

&lt;h3&gt;
  
  
  Exportar
&lt;/h3&gt;

&lt;p&gt;Para compartir tu juego, exportá a &lt;strong&gt;Web&lt;/strong&gt; (HTML5). Es la forma más rápida de que alguien lo pruebe:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Bajá los export templates desde Editor &amp;gt; Manage Export Templates&lt;/li&gt;
&lt;li&gt;Agregá un preset de Web en Project &amp;gt; Export&lt;/li&gt;
&lt;li&gt;Exportá a una carpeta&lt;/li&gt;
&lt;li&gt;Subí los archivos a &lt;a href="https://itch.io" rel="noopener noreferrer"&gt;itch.io&lt;/a&gt; (gratis, sin aprobación)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Tu juego está online en menos de 10 minutos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Recursos para seguir
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://docs.godotengine.org/en/stable/" rel="noopener noreferrer"&gt;Documentación oficial de Godot&lt;/a&gt; (también disponible en español)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/@gdquest" rel="noopener noreferrer"&gt;GDQuest en YouTube&lt;/a&gt; (tutoriales paso a paso)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://reddit.com/r/godot" rel="noopener noreferrer"&gt;r/godot en Reddit&lt;/a&gt; (comunidad activa que responde preguntas)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/results?search_query=godot+tutorial+espa%C3%B1ol" rel="noopener noreferrer"&gt;Godot en español&lt;/a&gt; (cada vez hay más contenido en español)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;El punto no es hacer un juego perfecto en un fin de semana. Es hacer uno que funcione, subirlo a itch.io, y tener algo concreto que mostrar. El primer juego siempre es malo, y eso está bien.&lt;/p&gt;

</description>
      <category>spanish</category>
      <category>godot</category>
      <category>gamedev</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>52% of Game Developers Think AI Is Hurting Their Industry. 36% Use It Anyway.</title>
      <dc:creator>Ziva</dc:creator>
      <pubDate>Sun, 12 Apr 2026 23:04:05 +0000</pubDate>
      <link>https://forem.com/ziva/52-of-game-developers-think-ai-is-hurting-their-industry-36-use-it-anyway-dfk</link>
      <guid>https://forem.com/ziva/52-of-game-developers-think-ai-is-hurting-their-industry-36-use-it-anyway-dfk</guid>
      <description>&lt;p&gt;The GDC 2026 State of the Industry survey asked 2,300 game professionals what they think about generative AI. The results are contradictory in a way that tells you more about the state of AI tooling than any product launch or benchmark ever could.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;52% said AI is bad for the game industry.&lt;/strong&gt; That number was 30% last year and 18% the year before. Only 7% called it positive, down from 13%.&lt;/p&gt;

&lt;p&gt;In the same survey, &lt;strong&gt;36% said they use AI tools at work&lt;/strong&gt;. Among those users, 81% use AI for research and brainstorming, and 47% use it for code assistance.&lt;/p&gt;

&lt;p&gt;Developers are increasingly convinced AI is harmful. They're also increasingly using it. What's going on?&lt;/p&gt;

&lt;h2&gt;
  
  
  The sentiment split isn't random
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://gdconf.com/article/gdc-2026-state-of-the-game-industry-reveals-impact-of-layoffs-generative-ai-and-more/" rel="noopener noreferrer"&gt;GDC 2026 report&lt;/a&gt; breaks down who hates AI and who uses it, and the pattern is clear.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Negative sentiment by discipline:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Role&lt;/th&gt;
&lt;th&gt;"AI is bad for the industry"&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Visual / technical art&lt;/td&gt;
&lt;td&gt;64%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Game design / narrative&lt;/td&gt;
&lt;td&gt;63%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Programming&lt;/td&gt;
&lt;td&gt;59%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;AI adoption by seniority:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Level&lt;/th&gt;
&lt;th&gt;Uses AI at work&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Upper management&lt;/td&gt;
&lt;td&gt;47%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lower-level employees&lt;/td&gt;
&lt;td&gt;29%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Publishing / support firms&lt;/td&gt;
&lt;td&gt;58%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Game studios&lt;/td&gt;
&lt;td&gt;30%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The people who think AI is bad are mostly the people whose work AI threatens to replace: artists and writers. The people using AI the most are managers and publishing staff who use it for emails, reports, and brainstorming. These are largely different groups having different experiences.&lt;/p&gt;

&lt;p&gt;One surveyed developer &lt;a href="https://www.gamedeveloper.com/business/one-third-of-game-workers-use-generative-ai-but-half-think-it-s-bad-for-the-industry" rel="noopener noreferrer"&gt;put it plainly&lt;/a&gt;: "Why would I replace human creativity with a regurgitated amalgamation of everything that's come before?"&lt;/p&gt;

&lt;h2&gt;
  
  
  What developers actually use AI for
&lt;/h2&gt;

&lt;p&gt;The use case breakdown from the &lt;a href="https://www.gamedeveloper.com/business/one-third-of-game-workers-use-generative-ai-but-half-think-it-s-bad-for-the-industry" rel="noopener noreferrer"&gt;same survey&lt;/a&gt; is revealing:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Use case&lt;/th&gt;
&lt;th&gt;% of AI users&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Research / brainstorming&lt;/td&gt;
&lt;td&gt;81%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Daily tasks (emails, code)&lt;/td&gt;
&lt;td&gt;47%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Asset generation&lt;/td&gt;
&lt;td&gt;19%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Procedural generation&lt;/td&gt;
&lt;td&gt;10%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Player-facing features&lt;/td&gt;
&lt;td&gt;5%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The overwhelming majority use AI for research and code. Almost nobody ships AI-generated content to players. The industry has collectively decided that AI is a backstage tool, not a front-of-house feature.&lt;/p&gt;

&lt;p&gt;This matches what most developers I've seen in forums and postmortems describe: AI is useful for scaffolding code, debugging, and getting past blank-page paralysis. It falls apart when you need pixel-perfect art consistency or narrative voice.&lt;/p&gt;

&lt;h2&gt;
  
  
  The tool preferences are lopsided
&lt;/h2&gt;

&lt;p&gt;ChatGPT dominates at 74% adoption among AI-using developers. Google Gemini sits at 37%, Microsoft Copilot at 22%. Text-to-image tools lag far behind: Midjourney at 17%, Adobe Generative Fill at 13%.&lt;/p&gt;

&lt;p&gt;The gap between LLM adoption (74%) and image generation adoption (17%) tells you where AI actually delivers value in game dev. Writing and debugging code with a language model works well enough to become habitual. Generating game art that fits a specific style, pipeline, and resolution requirement is much harder.&lt;/p&gt;

&lt;p&gt;This is also why tools that understand game engine context specifically (like &lt;a href="https://ziva.sh" rel="noopener noreferrer"&gt;Ziva&lt;/a&gt; for Godot, or the various MCP-based tools connecting Claude to game editors) have found a niche. A general-purpose LLM generates generic code. A tool that reads your scene tree and project structure generates code that fits.&lt;/p&gt;

&lt;h2&gt;
  
  
  28% lost their jobs in two years
&lt;/h2&gt;

&lt;p&gt;The AI sentiment doesn't exist in a vacuum. The GDC survey found that 28% of respondents lost their job in the past two years. 74% of students said they're concerned about their future job prospects.&lt;/p&gt;

&lt;p&gt;When over a quarter of your colleagues have been laid off and AI is being positioned as the reason companies can "do more with less," negative sentiment isn't irrational. It's self-preservation. The developers who view AI most negatively (artists at 64%, designers at 63%) are the ones whose roles are most visibly threatened by generative models.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where this leaves us
&lt;/h2&gt;

&lt;p&gt;The data paints a picture of an industry with two parallel realities. In one, developers quietly use AI to brainstorm, scaffold code, and automate repetitive tasks. In the other, the same developers watch their colleagues get laid off while executives pitch AI as a cost-cutting measure.&lt;/p&gt;

&lt;p&gt;Both realities are true simultaneously. AI tools do save time on specific tasks. AI rhetoric is also being used to justify smaller teams and lower budgets. The 52% who view AI negatively aren't technophobes. They're reacting to how AI is being deployed as a labor strategy, not just a productivity tool.&lt;/p&gt;

&lt;p&gt;For developers building AI-assisted tooling (and I work on one), the takeaway is straightforward: the tools that survive will be the ones that make individual developers faster without making their employers think they're replaceable. That means augmenting decisions, not automating them. It means context-aware assistance within the editor, not "AI generates your game for you" marketing.&lt;/p&gt;

&lt;p&gt;The 36% who use AI tools despite the backlash aren't hypocrites. They've found narrow, specific tasks where AI actually helps. The 52% who view AI negatively aren't wrong either. They're responding to a real threat that has nothing to do with the technology and everything to do with how companies choose to use it.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>gamedev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>The 900,000 Game Problem: Why Most Indie Games Never Get Found</title>
      <dc:creator>Ziva</dc:creator>
      <pubDate>Thu, 09 Apr 2026 22:28:52 +0000</pubDate>
      <link>https://forem.com/ziva/the-900000-game-problem-why-most-indie-games-never-get-found-4lda</link>
      <guid>https://forem.com/ziva/the-900000-game-problem-why-most-indie-games-never-get-found-4lda</guid>
      <description>&lt;p&gt;Itch.io hosts over 900,000 games as of 2026. Steam released over 14,000 new titles in 2025 alone. The math is brutal: most games never get played.&lt;/p&gt;

&lt;p&gt;This is not a quality problem. Plenty of good games fail commercially. It is a distribution problem, and it has structural causes that developers can understand and work around.&lt;/p&gt;

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

&lt;p&gt;According to &lt;a href="https://alihan98ersoy.medium.com/most-successful-games-made-with-godot-engine-revenue-sales-analysis-2025-9b69af569585" rel="noopener noreferrer"&gt;revenue analysis of Steam data&lt;/a&gt;, the top Godot games earned millions (Brotato at $10.7M, Dome Keeper at $6.1M). But these are the extreme outliers. Only about &lt;a href="https://thesiliconreview.com/2026/02/is-indie-game-development-worth-it-2026" rel="noopener noreferrer"&gt;0.5% of indie games released in 2024&lt;/a&gt; made over $1 million in revenue.&lt;/p&gt;

&lt;p&gt;The difference between games that get found and games that don't is rarely the game itself. It is what happens before and around the game.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wishlists Are the Leading Indicator
&lt;/h2&gt;

&lt;p&gt;Steam wishlists are the strongest predictor of launch performance. Industry benchmarks suggest &lt;a href="https://www.trapplan.com/en/blog/steam-wishlist-marketing-for-indie-developers-who-need-results-before-launch" rel="noopener noreferrer"&gt;7,000-10,000 wishlists at launch&lt;/a&gt; for a viable release. Top performers reach 50,000+ before day one.&lt;/p&gt;

&lt;p&gt;The counterintuitive insight: total wishlist count matters less than wishlist velocity. Steam's discovery algorithm responds more strongly to recent momentum than long-term accumulation. A game getting 500 wishlists per day for two weeks before launch will surface more than one that accumulated 10,000 over six months.&lt;/p&gt;

&lt;h2&gt;
  
  
  Steam Next Fest Changed the Game
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://partner.steamgames.com/doc/marketing/upcoming_events/nextfest" rel="noopener noreferrer"&gt;Steam Next Fest&lt;/a&gt; is now the single highest-leverage event for indie developers. In a single week, developers can generate thousands of wishlists through a playable demo. But preparation matters: you need a polished demo, marketing assets ready, and someone available to engage with the community during the event.&lt;/p&gt;

&lt;p&gt;The developers who treat Next Fest as their primary marketing event (not an afterthought) consistently outperform those who rely on social media alone.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Development Speed Advantage
&lt;/h2&gt;

&lt;p&gt;Here is where tooling matters. The faster you can get to a playable prototype, the faster you can start gathering feedback and building an audience. Developers who show their game early, even in rough form, build community engagement that compounds over time.&lt;/p&gt;

&lt;p&gt;Open source engines like &lt;a href="https://godotengine.org/" rel="noopener noreferrer"&gt;Godot&lt;/a&gt; reduce the barrier. Zero licensing cost, a &lt;a href="https://godotengine.org/download/" rel="noopener noreferrer"&gt;50MB download&lt;/a&gt;, and a growing community of over &lt;a href="https://github.com/godotengine/godot" rel="noopener noreferrer"&gt;102,000 GitHub stars&lt;/a&gt;. AI tools like &lt;a href="https://ziva.sh" rel="noopener noreferrer"&gt;Ziva&lt;/a&gt; that generate engine-specific code can cut prototype time further.&lt;/p&gt;

&lt;p&gt;But tooling is only one variable. The developers who succeed at discoverability share three habits:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;They start marketing before the game is done.&lt;/strong&gt; The old model of "finish the game, then market" is a recipe for invisibility in 2026.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;They build in public.&lt;/strong&gt; Devlogs, work-in-progress posts, and community engagement create an audience before launch.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;They optimize for Steam's algorithm.&lt;/strong&gt; Capsule images, descriptions, tags, and wishlisting flows are as important as the game itself.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The 2026 Reality
&lt;/h2&gt;

&lt;p&gt;The market is not getting smaller. More games will release next year than this year. The developers who understand distribution as a core skill, not an afterthought, will be the ones whose games get played.&lt;/p&gt;

&lt;p&gt;The good news: the tools for making games have never been more accessible. The challenge has shifted from "can I build this?" to "can I get anyone to find it?"&lt;/p&gt;

&lt;p&gt;If you are building a game right now, start your Steam page today. Not next month. Not when the game is "ready." Today.&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>programming</category>
      <category>beginners</category>
      <category>productivity</category>
    </item>
    <item>
      <title>NVIDIA acaba de invertir en un motor de juegos open source. Esto es lo que importa.</title>
      <dc:creator>Ziva</dc:creator>
      <pubDate>Thu, 09 Apr 2026 06:46:27 +0000</pubDate>
      <link>https://forem.com/ziva/nvidia-acaba-de-invertir-en-un-motor-de-juegos-open-source-esto-es-lo-que-importa-249e</link>
      <guid>https://forem.com/ziva/nvidia-acaba-de-invertir-en-un-motor-de-juegos-open-source-esto-es-lo-que-importa-249e</guid>
      <description>&lt;p&gt;En la GDC 2026, NVIDIA hizo algo inesperado: &lt;a href="https://gamefromscratch.com/nvidia-release-rtx-powered-godot-fork/" rel="noopener noreferrer"&gt;lanzaron un fork con path tracing de Godot&lt;/a&gt;, el motor de juegos open source. No un plugin propietario. Un &lt;a href="https://github.com/NVIDIA-RTX/godot" rel="noopener noreferrer"&gt;fork completo en GitHub bajo la licencia MIT&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Esto vale la pena seguir aunque nunca hayas hecho un juego.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qué construyó NVIDIA
&lt;/h2&gt;

&lt;p&gt;El fork agrega path tracing en tiempo real usando la API de Vulkan. El path tracing simula iluminación físicamente precisa rastreando cada rayo de luz. Es la misma técnica que usan las películas de Pixar, ahora corriendo en tiempo real en GPUs de consumo.&lt;/p&gt;

&lt;p&gt;El path tracer es &lt;a href="https://forum.godotengine.org/t/godot-rtx-nvidia-fork-path-tracing/135657" rel="noopener noreferrer"&gt;agnóstico de GPU&lt;/a&gt; porque usa Vulkan en lugar de una API propietaria. El denoiser actualmente requiere DLSS Ray Reconstruction (solo NVIDIA), pero están construyendo un segundo denoiser para AMD e Intel.&lt;/p&gt;

&lt;p&gt;Mientras tanto, &lt;a href="https://www.phoronix.com/news/Godot-4.7-Dev-1-Vulkan-RT" rel="noopener noreferrer"&gt;Godot 4.7 dev 1&lt;/a&gt; comenzó a agregar soporte nativo de ray tracing con Vulkan, independiente del fork de NVIDIA. Dos caminos paralelos hacia la misma capacidad.&lt;/p&gt;

&lt;h2&gt;
  
  
  Por qué una empresa de GPUs forkea un motor open source
&lt;/h2&gt;

&lt;p&gt;NVIDIA gana dinero cuando los desarrolladores construyen software que exige hardware GPU. Unreal y Unity ya tienen ray tracing, pero ambos son motores propietarios. Al invertir en Godot:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Alcanzan un mercado en crecimiento.&lt;/strong&gt; Los juegos de Godot en Steam se &lt;a href="https://steamdb.info/tech/Engine/Godot/" rel="noopener noreferrer"&gt;duplicaron año tras año&lt;/a&gt; hasta 2,864 en 2025-2026. En el &lt;a href="https://wnhub.io/news/engines/item-45183" rel="noopener noreferrer"&gt;GMTK Game Jam 2025&lt;/a&gt;, Godot igualó a Unity en aproximadamente 40% cada uno.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Obtienen libertad MIT.&lt;/strong&gt; NVIDIA puede modificar, distribuir y construir sobre Godot sin negociar términos de licencia. El fork es MIT. Cualquier desarrollador puede usarlo sin pagar regalías.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Construyen goodwill con la comunidad open source.&lt;/strong&gt; El plan es &lt;a href="https://forum.godotengine.org/t/godot-rtx-nvidia-fork-path-tracing/135657" rel="noopener noreferrer"&gt;fusionar el path tracer de vuelta a Godot&lt;/a&gt; vía PR. Si eso pasa, cada usuario de Godot obtiene ray tracing gratis.&lt;/p&gt;

&lt;p&gt;Es la misma estrategia que NVIDIA usó con CUDA y frameworks de machine learning.&lt;/p&gt;

&lt;h2&gt;
  
  
  El ángulo open source
&lt;/h2&gt;

&lt;p&gt;La mayoría de los motores comerciales tratan sus renderers como joyas de la corona. No puedes leer el código fuente de Nanite de Unreal sin una licencia de Epic. El renderer de Godot es completamente abierto.&lt;/p&gt;

&lt;p&gt;Cuando NVIDIA agrega path tracing, ese código es inspecccionable, modificable y educativo. Un estudiante puede leer cómo funciona ray tracing de producción. Un startup puede forkearlo para visualización arquitectónica.&lt;/p&gt;

&lt;p&gt;Linux dominó en servidores en parte porque empresas como IBM y Red Hat invirtieron en hacerlo empresarial. Godot podría seguir una trayectoria similar si empresas como NVIDIA siguen contribuyendo.&lt;/p&gt;

&lt;h2&gt;
  
  
  La línea de tiempo honesta
&lt;/h2&gt;

&lt;p&gt;Si estás enviando un juego en 2026, el fork de NVIDIA no está listo para producción. El denoiser es solo NVIDIA. El soporte RT nativo de Godot 4.7 está en etapa temprana.&lt;/p&gt;

&lt;p&gt;Pero la señal importa más que el estado actual. NVIDIA no invierte recursos de ingeniería en ecosistemas que espera que se contraigan.&lt;/p&gt;

&lt;p&gt;La &lt;a href="https://gdconf.com/article/gdc-2026-state-of-the-game-industry-reveals-impact-of-layoffs-generative-ai-and-more/" rel="noopener noreferrer"&gt;encuesta GDC 2026&lt;/a&gt; encontró que el 47% de los desarrolladores que usan herramientas de IA las usan para asistencia de código. A medida que las pipelines de renderizado se vuelven abiertas, las herramientas de IA que entienden tanto el motor como el renderer tendrán una ventaja estructural.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusión
&lt;/h2&gt;

&lt;p&gt;Una empresa de $2.8 billones acaba de comprometer recursos de ingeniería para mejorar un motor de juegos open source. El código es MIT. El path tracer es agnóstico de GPU. El plan es fusionarlo upstream. Ya sea que hagas juegos o no, este es un modelo interesante de inversión empresarial en infraestructura open source.&lt;/p&gt;

</description>
      <category>spanish</category>
      <category>opensource</category>
      <category>gamedev</category>
      <category>programming</category>
    </item>
    <item>
      <title>NVIDIA investiert in eine Open-Source-Game-Engine: Was die Daten zeigen</title>
      <dc:creator>Ziva</dc:creator>
      <pubDate>Thu, 09 Apr 2026 06:41:39 +0000</pubDate>
      <link>https://forem.com/ziva/nvidia-investiert-in-eine-open-source-game-engine-was-die-daten-zeigen-40d6</link>
      <guid>https://forem.com/ziva/nvidia-investiert-in-eine-open-source-game-engine-was-die-daten-zeigen-40d6</guid>
      <description>&lt;p&gt;Auf der GDC 2026 hat NVIDIA etwas Unerwartetes getan: Sie haben einen &lt;a href="https://gamefromscratch.com/nvidia-release-rtx-powered-godot-fork/" rel="noopener noreferrer"&gt;Path-Tracing-Fork von Godot veröffentlicht&lt;/a&gt;. Kein proprietäres Plugin. Kein geschlossenes SDK. Ein &lt;a href="https://github.com/NVIDIA-RTX/godot" rel="noopener noreferrer"&gt;vollständiger Fork auf GitHub unter der MIT-Lizenz&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Das ist auch für Entwickler relevant, die keine Spiele bauen.&lt;/p&gt;

&lt;h2&gt;
  
  
  Was NVIDIA konkret gebaut hat
&lt;/h2&gt;

&lt;p&gt;Der Fork fügt Echtzeit-Path-Tracing über die Vulkan-API hinzu. Path Tracing simuliert physikalisch korrekte Beleuchtung, indem jeder Lichtstrahl verfolgt wird. Das Ergebnis: Beleuchtung, die ohne manuell platzierte Lichtquellen oder gebackene Lightmaps physikalisch korrekt aussieht.&lt;/p&gt;

&lt;p&gt;Der Path Tracer ist &lt;a href="https://forum.godotengine.org/t/godot-rtx-nvidia-fork-path-tracing/135657" rel="noopener noreferrer"&gt;GPU-agnostisch&lt;/a&gt;, weil er Vulkan statt einer proprietären API nutzt. Der Denoiser braucht aktuell DLSS Ray Reconstruction (nur NVIDIA), aber ein zweiter Denoiser für AMD und Intel ist in Arbeit.&lt;/p&gt;

&lt;p&gt;Parallel dazu hat &lt;a href="https://www.phoronix.com/news/Godot-4.7-Dev-1-Vulkan-RT" rel="noopener noreferrer"&gt;Godot 4.7 dev 1&lt;/a&gt; unabhängig vom NVIDIA-Fork erste Vulkan-Ray-Tracing-Grundlagen in die Hauptversion eingebaut. Zwei parallele Wege zum selben Ziel.&lt;/p&gt;

&lt;h2&gt;
  
  
  Warum ein GPU-Hersteller eine Open-Source-Engine forkt
&lt;/h2&gt;

&lt;p&gt;NVIDIA verdient Geld, wenn Entwickler Software bauen, die GPU-Hardware fordert. Unreal und Unity haben bereits Ray Tracing, aber beide sind proprietäre Engines. Mit Godot bekommt NVIDIA:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Zugang zu einem wachsenden Markt.&lt;/strong&gt; Godot-Spiele auf Steam haben sich &lt;a href="https://steamdb.info/tech/Engine/Godot/" rel="noopener noreferrer"&gt;jährlich verdoppelt&lt;/a&gt;: von 290 (2022-23) auf 2.864 (2025-26). Beim &lt;a href="https://wnhub.io/news/engines/item-45183" rel="noopener noreferrer"&gt;GMTK Game Jam 2025&lt;/a&gt; lag Godot mit Unity gleichauf bei je rund 40%.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MIT-Lizenz-Freiheit.&lt;/strong&gt; NVIDIA kann Godot modifizieren, verteilen und darauf aufbauen, ohne Lizenzverhandlungen. Der Fork selbst ist MIT. Jeder Entwickler kann ihn ohne Lizenzgebühren nutzen.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open-Source-Goodwill.&lt;/strong&gt; Der Plan ist, den &lt;a href="https://forum.godotengine.org/t/godot-rtx-nvidia-fork-path-tracing/135657" rel="noopener noreferrer"&gt;Path Tracer per PR zurück in Godot zu mergen&lt;/a&gt;. Wenn das passiert, bekommt jeder Godot-Nutzer Ray Tracing kostenlos.&lt;/p&gt;

&lt;p&gt;Das ist dasselbe Vorgehen wie bei CUDA und Machine-Learning-Frameworks: In Open-Source investieren, es auf der eigenen Hardware optimal machen, das Ökosystem wachsen lassen.&lt;/p&gt;

&lt;h2&gt;
  
  
  Der Open-Source-Aspekt
&lt;/h2&gt;

&lt;p&gt;Die meisten kommerziellen Game Engines behandeln ihren Renderer als Kronjuwelen. Den Quellcode von Unreals Nanite kann man ohne Epic-Lizenz nicht lesen. Unitys Rendering-Pipeline ist teilweise offen, die Engine aber nicht.&lt;/p&gt;

&lt;p&gt;Godots Renderer ist vollständig offen. Wenn NVIDIA Path Tracing hinzufügt, ist der Code inspizierbar, modifizierbar und lehrreich. Studierende können lesen, wie produktionsreifes Ray Tracing funktioniert. Startups können es für Architekturvisualisierung forken.&lt;/p&gt;

&lt;p&gt;Linux wurde auf Servern dominant, teilweise weil Unternehmen wie IBM und Red Hat in die Enterprise-Tauglichkeit investierten. Godot könnte einen ähnlichen Weg bei Game Engines nehmen, wenn Unternehmen wie NVIDIA weiter beitragen.&lt;/p&gt;

&lt;h2&gt;
  
  
  Die ehrliche Timeline
&lt;/h2&gt;

&lt;p&gt;Wer 2026 ein Spiel ausliefert, sollte den NVIDIA-Fork nicht in Produktion einsetzen. Der Denoiser ist nur für NVIDIA. Die native Godot 4.7 RT-Unterstützung ist in einem frühen Stadium.&lt;/p&gt;

&lt;p&gt;Aber das Signal zählt mehr als der aktuelle Stand. NVIDIA investiert keine Engineering-Ressourcen in Ökosysteme, von denen sie erwarten, dass sie schrumpfen.&lt;/p&gt;

&lt;p&gt;Die &lt;a href="https://gdconf.com/article/gdc-2026-state-of-the-game-industry-reveals-impact-of-layoffs-generative-ai-and-more/" rel="noopener noreferrer"&gt;GDC 2026-Umfrage&lt;/a&gt; ergab, dass 47% der Spieleentwickler, die KI-Tools nutzen, diese für Code-Unterstützung verwenden. Wenn Rendering-Pipelines offen werden, haben KI-Tools, die sowohl die Engine als auch den Renderer verstehen, einen strukturellen Vorteil.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fazit
&lt;/h2&gt;

&lt;p&gt;Ein 2,8-Billionen-Dollar-Unternehmen hat Engineering-Ressourcen in eine Open-Source-Game-Engine investiert. Der Code ist MIT-lizenziert. Der Path Tracer ist GPU-agnostisch. Der Plan ist, ihn upstream zu mergen. Das ist ein interessantes Modell dafür, wie große Unternehmen in Open-Source-Infrastruktur investieren können.&lt;/p&gt;

</description>
      <category>german</category>
      <category>deutsch</category>
      <category>opensource</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>NVIDIA Is Investing in an Open Source Game Engine. Here's Why That Matters.</title>
      <dc:creator>Ziva</dc:creator>
      <pubDate>Thu, 09 Apr 2026 05:29:18 +0000</pubDate>
      <link>https://forem.com/ziva/nvidia-is-investing-in-an-open-source-game-engine-heres-why-that-matters-5eca</link>
      <guid>https://forem.com/ziva/nvidia-is-investing-in-an-open-source-game-engine-heres-why-that-matters-5eca</guid>
      <description>&lt;p&gt;At GDC 2026, NVIDIA did something unusual. They released a &lt;a href="https://gamefromscratch.com/nvidia-release-rtx-powered-godot-fork/" rel="noopener noreferrer"&gt;path tracing fork of Godot&lt;/a&gt;, the open source game engine. Not a proprietary plugin. Not a closed SDK. A &lt;a href="https://github.com/NVIDIA-RTX/godot" rel="noopener noreferrer"&gt;full fork on GitHub under the MIT license&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This is worth paying attention to even if you have never made a game.&lt;/p&gt;

&lt;h2&gt;
  
  
  What NVIDIA shipped
&lt;/h2&gt;

&lt;p&gt;The fork adds real-time path tracing to Godot using the Vulkan API. Path tracing simulates physically accurate lighting by tracing every ray of light as it bounces through a scene. It is the same rendering technique used in Pixar films, now running in real time on consumer GPUs.&lt;/p&gt;

&lt;p&gt;The path tracer is &lt;a href="https://forum.godotengine.org/t/godot-rtx-nvidia-fork-path-tracing/135657" rel="noopener noreferrer"&gt;GPU-agnostic&lt;/a&gt; because it uses Vulkan rather than a proprietary API. The denoiser (which cleans up the noisy raw output) currently requires NVIDIA's DLSS Ray Reconstruction, but they are actively building a second denoiser for AMD and Intel hardware.&lt;/p&gt;

&lt;p&gt;Meanwhile, &lt;a href="https://www.phoronix.com/news/Godot-4.7-Dev-1-Vulkan-RT" rel="noopener noreferrer"&gt;Godot 4.7 dev 1&lt;/a&gt; independently started adding native Vulkan ray tracing plumbing to the mainline engine. Two parallel paths to the same capability.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why a GPU company is forking an open source engine
&lt;/h2&gt;

&lt;p&gt;NVIDIA makes money when developers build software that pushes GPU hardware. Unreal and Unity already have ray tracing support, but both are proprietary engines with licensing restrictions. By investing in Godot:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;They reach a growing market.&lt;/strong&gt; Godot games on Steam &lt;a href="https://steamdb.info/tech/Engine/Godot/" rel="noopener noreferrer"&gt;doubled year over year&lt;/a&gt; to 2,864 in the 2025-2026 window. At the &lt;a href="https://wnhub.io/news/engines/item-45183" rel="noopener noreferrer"&gt;GMTK Game Jam 2025&lt;/a&gt; (the largest jam on itch.io), Godot matched Unity at roughly 40% each.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;They get MIT license freedom.&lt;/strong&gt; NVIDIA can modify, distribute, and build on Godot without negotiating license terms. The fork itself is MIT. Any developer can use it without paying royalties.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;They build goodwill with open source developers.&lt;/strong&gt; The plan is to &lt;a href="https://forum.godotengine.org/t/godot-rtx-nvidia-fork-path-tracing/135657" rel="noopener noreferrer"&gt;merge the path tracer back into mainline Godot&lt;/a&gt; via PR. If that happens, every Godot user gets ray tracing for free.&lt;/p&gt;

&lt;p&gt;This is the same playbook NVIDIA used with CUDA and machine learning frameworks. Invest in open source tooling, make it excellent on your hardware, and let the ecosystem grow.&lt;/p&gt;

&lt;h2&gt;
  
  
  The open source angle that matters
&lt;/h2&gt;

&lt;p&gt;Most commercial game engines treat their renderers as crown jewels. You cannot read Unreal's Nanite source without an Epic license. Unity's rendering pipeline is partially open but the engine is not.&lt;/p&gt;

&lt;p&gt;Godot's renderer is fully open. When NVIDIA adds path tracing to it, that code is inspectable, modifiable, and educational. A student can read exactly how production-grade ray tracing works. A startup can fork it for architectural visualization. A researcher can benchmark it against their own implementations.&lt;/p&gt;

&lt;p&gt;This is the kind of infrastructure investment that compounds. Linux became dominant in servers partly because companies like IBM and Red Hat invested in making it enterprise-grade. Godot may follow a similar trajectory in game engines if companies like NVIDIA keep contributing.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this does not mean (yet)
&lt;/h2&gt;

&lt;p&gt;The fork is experimental. If you are shipping a game in 2026, you should not use it in production. The denoiser is NVIDIA-only for now. The mainline Godot 4.7 ray tracing support is early plumbing, not a finished feature.&lt;/p&gt;

&lt;p&gt;But the signal matters more than the current state. NVIDIA does not invest engineering resources in ecosystems they expect to shrink.&lt;/p&gt;

&lt;h2&gt;
  
  
  The AI development angle
&lt;/h2&gt;

&lt;p&gt;One underappreciated consequence: open source ray tracing makes AI-assisted 3D development more tractable. When the rendering pipeline is open, AI tools can reason about materials, lighting, and scene composition at the source level. Tools like &lt;a href="https://ziva.sh" rel="noopener noreferrer"&gt;Ziva&lt;/a&gt; that build engine-aware AI for Godot will be able to understand and generate ray-traced scenes because the rendering code is readable, not a black box.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://gdconf.com/article/gdc-2026-state-of-the-game-industry-reveals-impact-of-layoffs-generative-ai-and-more/" rel="noopener noreferrer"&gt;GDC 2026 survey&lt;/a&gt; found that 47% of game developers using AI tools use them for code assistance. As ray tracing becomes standard in Godot, AI tools that understand both the engine and the renderer will have a structural advantage over generic coding assistants.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bottom line
&lt;/h2&gt;

&lt;p&gt;A $2.8 trillion company just committed engineering resources to making an open source game engine render better. The code is MIT licensed. The path tracer is GPU-agnostic. The plan is to merge it upstream.&lt;/p&gt;

&lt;p&gt;Whether you care about game development or not, this is an interesting model for how large companies can invest in open source infrastructure in a way that benefits everyone. Watch this space.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>gamedev</category>
      <category>ai</category>
      <category>programming</category>
    </item>
    <item>
      <title>Was Web-Entwickler von Game-Engine-Architektur lernen können</title>
      <dc:creator>Ziva</dc:creator>
      <pubDate>Tue, 07 Apr 2026 19:28:24 +0000</pubDate>
      <link>https://forem.com/ziva/was-web-entwickler-von-game-engine-architektur-lernen-konnen-le3</link>
      <guid>https://forem.com/ziva/was-web-entwickler-von-game-engine-architektur-lernen-konnen-le3</guid>
      <description>&lt;p&gt;Wenn du mit React, Vue oder Angular arbeitest, nutzt du Patterns, die aus der Spieleentwicklung stammen. Nicht inspiriert davon. Direkt übernommen. Der Component Tree, den du jeden Tag baust, wurde in den 1980ern als Scene Graph erfunden, lange bevor JavaScript überhaupt existierte.&lt;/p&gt;

&lt;p&gt;Hier sind vier Architektur-Patterns aus Game Engines, die dein Web-Development besser machen.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Der Scene Graph: Reacts Urgroßvater
&lt;/h2&gt;

&lt;p&gt;Der Scene Graph ist eine hierarchische Baumstruktur, in der jeder Knoten Transformationen und Eigenschaften an seine Kinder vererbt. PHIGS (Programmer's Hierarchical Interactive Graphics System) wurde 1984 entwickelt und 1988 als ANSI-Standard verabschiedet. Es war die erste kommerzielle Scene-Graph-Spezifikation.&lt;/p&gt;

&lt;p&gt;Das Prinzip: Du baust eine Szene nicht als flache Liste, sondern als Baum. Ein Raumschiff-Node enthält einen Triebwerk-Node, der enthält einen Partikel-Node. Wenn sich das Raumschiff bewegt, bewegen sich Triebwerk und Partikel automatisch mit. Kaskadierung von Eigenschaften durch die Hierarchie.&lt;/p&gt;

&lt;p&gt;Kommt dir das bekannt vor? Reacts Component Tree funktioniert identisch. Context propagiert durch den Baum nach unten. CSS-Variablen kaskadieren. State fließt von Eltern zu Kindern. Das ist kein Zufall. Jordan Walke, der Erfinder von React, hat sich explizit von Szenegraphen und funktionaler Programmierung inspirieren lassen.&lt;/p&gt;

&lt;p&gt;Godot macht das noch konsequenter als React. In Godots Scene Tree ist &lt;em&gt;alles&lt;/em&gt; ein Node: UI-Elemente, Spiellogik, Physik, Audio. Kein &lt;code&gt;useEffect&lt;/code&gt;, kein Lifecycle-Hook. Du hast &lt;code&gt;_ready()&lt;/code&gt; (Mount), &lt;code&gt;_process()&lt;/code&gt; (Render-Loop) und &lt;code&gt;_exit_tree()&lt;/code&gt; (Unmount). Drei Funktionen statt 15 Hooks.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight gdscript"&gt;&lt;code&gt;&lt;span class="k"&gt;class_name&lt;/span&gt; &lt;span class="n"&gt;Raumschiff&lt;/span&gt; &lt;span class="k"&gt;extends&lt;/span&gt; &lt;span class="n"&gt;CharacterBody2D&lt;/span&gt;

&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="nf"&gt;_ready&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="c1"&gt;# Wie componentDidMount / useEffect([], ...)&lt;/span&gt;
    &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;Triebwerk&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;starten&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="nf"&gt;_process&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;delta&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="c1"&gt;# Wie requestAnimationFrame, 60x pro Sekunde&lt;/span&gt;
    &lt;span class="n"&gt;position&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="n"&gt;geschwindigkeit&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;delta&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  2. Composition over Inheritance: Die Spielebranche wusste es zuerst
&lt;/h2&gt;

&lt;p&gt;Das Entity Component System (ECS) hat Composition over Inheritance nicht erfunden, aber es hat bewiesen, dass es skaliert. Thief: The Dark Project nutzte 1998 ein ECS, und der gleiche Ansatz lief später in System Shock 2.&lt;/p&gt;

&lt;p&gt;Die Idee: Eine Spielfigur ist keine Klasse in einer Vererbungshierarchie. Sie ist eine leere Entity mit angehängten Components. Braucht sie Physik? &lt;code&gt;PhysicsComponent&lt;/code&gt; anhängen. Braucht sie Gesundheit? &lt;code&gt;HealthComponent&lt;/code&gt; anhängen. Braucht sie beides nicht mehr? Components entfernen.&lt;/p&gt;

&lt;p&gt;React hat dieses Pattern 2018 mit Hooks übernommen. Statt Klassen-Vererbung (&lt;code&gt;class MyComponent extends React.Component&lt;/code&gt;) nutzt du Composition mit &lt;code&gt;useState&lt;/code&gt;, &lt;code&gt;useEffect&lt;/code&gt; und Custom Hooks. Die Game-Engine-Welt hatte das gleiche Problem 20 Jahre früher gelöst.&lt;/p&gt;

&lt;p&gt;Unity hat die Performance-Vorteile gemessen: Ihr Data-Oriented Technology Stack (DOTS) mit ECS erreicht 5x bis 50x bessere CPU-Performance als die klassische OOP-Architektur, je nach Parallelisierungsgrad. In der Megacity-Demo von 2018 renderte Unity damit eine Stadt mit 4,5 Millionen Mesh-Renderern.&lt;/p&gt;

&lt;p&gt;Für Web-Entwickler heißt das: Wenn du merkst, dass deine Klassen-Hierarchie zu tief wird, denk wie ein Game-Engine-Architekt. Zerlege Verhalten in kleine, kombinierbare Einheiten. In React sind das Hooks. In Godot sind das Nodes. Das Prinzip ist dasselbe.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Signals: Observer Pattern ohne den Boilerplate
&lt;/h2&gt;

&lt;p&gt;Godot hat Signals als erstklassiges Sprachfeature. Du deklarierst ein Signal, und andere Nodes verbinden sich damit. Keine Event-Bus-Bibliothek, kein Redux, kein Pub/Sub-Framework.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight gdscript"&gt;&lt;code&gt;&lt;span class="k"&gt;signal&lt;/span&gt; &lt;span class="n"&gt;leben_verloren&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;neues_leben&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="nf"&gt;schaden_nehmen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;menge&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;leben&lt;/span&gt; &lt;span class="o"&gt;-=&lt;/span&gt; &lt;span class="n"&gt;menge&lt;/span&gt;
    &lt;span class="n"&gt;leben_verloren&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;emit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;leben&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight gdscript"&gt;&lt;code&gt;&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="nf"&gt;_ready&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;spieler&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;leben_verloren&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;connect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;_bei_leben_verloren&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="nf"&gt;_bei_leben_verloren&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;neues_leben&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;neues_leben&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Das ist das Observer Pattern in seiner reinsten Form, ohne Middleware-Layer. Die Web-Welt hat Jahre gebraucht, um an einen ähnlichen Punkt zu kommen. Solid.js Signals, Angular Signals (seit v16), Vue 3 Reactivity: Alle lösen das gleiche Problem, das Game Engines seit den 2000ern gelöst haben.&lt;/p&gt;

&lt;p&gt;Der entscheidende Unterschied: In Game Engines sind Signals &lt;em&gt;architektonisch&lt;/em&gt;. Sie definieren, wie Systeme kommunizieren. Im Web werden sie oft nur als State-Management-Optimierung behandelt. Game-Engine-Entwickler denken von Anfang an in entkoppelten Systemen, die über Signals kommunizieren. Web-Entwickler sollten das auch tun.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Object Pooling: Warum Game Engines Garbage Collection hassen
&lt;/h2&gt;

&lt;p&gt;In einem Shooter entstehen pro Sekunde Dutzende Projektile. Jedes Mal &lt;code&gt;new Bullet()&lt;/code&gt; und dann den Garbage Collector aufräumen lassen? Unspielbar. Stattdessen nutzen Game Engines Object Pools: Eine fixe Menge an Objekten wird beim Start erstellt. "Verbrauchte" Objekte werden nicht zerstört, sondern zurückgesetzt und wiederverwendet.&lt;/p&gt;

&lt;p&gt;Web-Entwickler kennen das Prinzip als Connection Pooling bei Datenbanken. Aber es geht weiter: React 18s Concurrent Rendering recycelt Fiber-Nodes intern. Workers in Node.js Thread-Pools werden wiederverwendet. Das Pattern ist überall, nur redet im Web kaum jemand darüber.&lt;/p&gt;

&lt;p&gt;Wenn du eine Anwendung baust, die viele kurzlebige Objekte erzeugt (Chat-Nachrichten, Tabellen-Zeilen, Animationen), frag dich: Könnte ich die recyceln statt neu zu erstellen? Die Spielebranche beantwortet diese Frage seit 30 Jahren mit Ja.&lt;/p&gt;

&lt;h2&gt;
  
  
  Die Zahlen hinter Game-Engine-Architektur
&lt;/h2&gt;

&lt;p&gt;Die deutsche Spielebranche hat 2023 mit knapp 1.200 Unternehmen und fast 13.000 Beschäftigten über 3,9 Milliarden Euro Umsatz erwirtschaftet (Quelle: &lt;a href="https://www.game.de/publikationen/jahresreport-2025/" rel="noopener noreferrer"&gt;game.de Jahresreport 2025&lt;/a&gt;). Das sind keine Hobby-Projekte. Das sind Produktionssysteme, die unter extremen Performance-Anforderungen laufen.&lt;/p&gt;

&lt;p&gt;Godot, die Open-Source-Engine mit über 108.000 GitHub Stars, hat beim GMTK Game Jam 2025 einen Marktanteil von 39% erreicht, mehr als dreimal so viel wie noch 2021 (13%). Tools wie &lt;a href="https://ziva.sh" rel="noopener noreferrer"&gt;Ziva&lt;/a&gt; helfen Godot-Entwicklern dabei, effizienter zu arbeiten, aber die Architektur der Engine selbst ist der eigentliche Lernstoff.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fazit: Lerne von den Leuten, die 60 FPS halten müssen
&lt;/h2&gt;

&lt;p&gt;Web-Entwickler optimieren für Time-to-Interactive. Game-Engine-Entwickler optimieren für 16,67 Millisekunden pro Frame, bei 60 FPS. Diese Einschränkung hat Architektur-Patterns hervorgebracht, die robuster und performanter sind als das, was die meiste Web-Architektur bietet.&lt;/p&gt;

&lt;p&gt;Das heißt nicht, dass du deine Next.js-App wie eine Game Engine bauen sollst. Es heißt: Wenn du vor einem Architektur-Problem stehst, schau dir an, wie Godot, Unity oder Unreal es lösen. Die Chancen stehen gut, dass sie das Problem vor 10 oder 20 Jahren schon gelöst haben.&lt;/p&gt;

&lt;p&gt;Drei konkrete Schritte:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Lies &lt;a href="https://gameprogrammingpatterns.com/" rel="noopener noreferrer"&gt;Game Programming Patterns&lt;/a&gt;&lt;/strong&gt; von Robert Nystrom. Es ist kostenlos online und erklärt jedes Pattern mit konkretem Code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bau ein kleines Godot-Projekt.&lt;/strong&gt; Nicht um Spiele zu entwickeln, sondern um die Architektur zu erleben. Der Scene Tree verändert, wie du über Component-Hierarchien denkst.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hinterfrage deine Abstraktionen.&lt;/strong&gt; Wenn du drei NPM-Pakete brauchst, um ein Problem zu lösen, das eine Game Engine in 10 Zeilen löst, stimmt etwas mit der Abstraktion nicht.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Die beste Architektur entsteht nicht in Frameworks. Sie entsteht dort, wo Performance keine Option, sondern eine harte Grenze ist.&lt;/p&gt;

</description>
      <category>german</category>
      <category>deutsch</category>
      <category>godot</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>React's Component Tree Was Invented by Game Engines 20 Years Ago</title>
      <dc:creator>Ziva</dc:creator>
      <pubDate>Tue, 07 Apr 2026 17:59:27 +0000</pubDate>
      <link>https://forem.com/ziva/reacts-component-tree-was-invented-by-game-engines-20-years-ago-5ea6</link>
      <guid>https://forem.com/ziva/reacts-component-tree-was-invented-by-game-engines-20-years-ago-5ea6</guid>
      <description>&lt;p&gt;If you build React apps, you already understand game engine architecture. You just don't know it yet.&lt;/p&gt;

&lt;p&gt;React's core idea is a tree of composable components, each managing its own state, communicating through props down and callbacks up. This pattern feels modern because React popularized it in 2013. But game engines have been shipping production software with this exact architecture since the early 2000s.&lt;/p&gt;

&lt;p&gt;Godot, Unity, and Unreal all use a &lt;strong&gt;scene tree&lt;/strong&gt; (or scene graph) as their fundamental organizing principle. Every object in the game is a node in a tree. Nodes have children. Children inherit transforms. Communication flows through events. Sound familiar?&lt;/p&gt;

&lt;p&gt;Here is what game engines figured out decades ago that the web is still catching up to.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Composition over inheritance, but for real
&lt;/h2&gt;

&lt;p&gt;React developers talk about "composition over inheritance" like it is a React innovation. Game engines enforced it by design.&lt;/p&gt;

&lt;p&gt;In &lt;a href="https://godotengine.org/" rel="noopener noreferrer"&gt;Godot&lt;/a&gt;, you do not create a &lt;code&gt;PlayerCharacter&lt;/code&gt; class that extends &lt;code&gt;Character&lt;/code&gt; that extends &lt;code&gt;Entity&lt;/code&gt;. You compose a player from independent nodes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Player (CharacterBody2D)
├── Sprite2D
├── CollisionShape2D
├── AnimationPlayer
├── HitboxArea (Area2D)
│   └── CollisionShape2D
└── StateMachine (Node)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each node handles one concern. The &lt;code&gt;Sprite2D&lt;/code&gt; handles rendering. The &lt;code&gt;CollisionShape2D&lt;/code&gt; handles physics boundaries. The &lt;code&gt;AnimationPlayer&lt;/code&gt; handles frame sequences. None of them know about each other.&lt;/p&gt;

&lt;p&gt;React components work the same way, but web developers still routinely create &lt;code&gt;&amp;lt;DashboardWithSidebarAndHeaderAndFooter&amp;gt;&lt;/code&gt; components that violate the principle. Game developers learned decades ago that a node should do exactly one thing, because in a game running at 60fps, bloated nodes cause visible frame drops.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Signals are the original pub/sub
&lt;/h2&gt;

&lt;p&gt;React has callbacks. Redux has actions. The Context API has providers. Event buses exist in every state management library.&lt;/p&gt;

&lt;p&gt;Godot has had &lt;a href="https://docs.godotengine.org/en/stable/getting_started/step_by_step/signals.html" rel="noopener noreferrer"&gt;signals&lt;/a&gt; since 2014. A signal is a typed event that a node emits without knowing who listens:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight gdscript"&gt;&lt;code&gt;&lt;span class="c1"&gt;# The enemy emits a signal when it takes damage&lt;/span&gt;
&lt;span class="k"&gt;signal&lt;/span&gt; &lt;span class="n"&gt;health_changed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;new_health&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="nf"&gt;take_damage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;amount&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;void&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;health&lt;/span&gt; &lt;span class="o"&gt;-=&lt;/span&gt; &lt;span class="n"&gt;amount&lt;/span&gt;
    &lt;span class="n"&gt;health_changed&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;emit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;health&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Any other node can connect to that signal without the enemy knowing about it. The health bar listens. The sound system listens. The achievement tracker listens. The enemy does not import, reference, or depend on any of them.&lt;/p&gt;

&lt;p&gt;Compare this to React, where passing a callback from a great-grandparent to a great-grandchild requires prop drilling or a context provider. The game engine pattern is simpler because it was designed for systems where hundreds of objects need to communicate without tight coupling.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://svelte.dev/docs/svelte/legacy-on" rel="noopener noreferrer"&gt;Svelte 5's event system&lt;/a&gt; and &lt;a href="https://vuejs.org/guide/components/events.html" rel="noopener noreferrer"&gt;Vue's emit&lt;/a&gt; are closer to Godot signals than React's callback pattern. The convergence is not coincidental.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. The scene tree solves the "where does state live?" problem
&lt;/h2&gt;

&lt;p&gt;The hardest architectural question in React is: where does this state belong? Local state? Lifted state? Context? A global store?&lt;/p&gt;

&lt;p&gt;Game engines answer this question structurally. State lives on the node that owns the behavior. A player's health lives on the player node. An enemy's patrol path lives on the enemy node. The game's score lives on a singleton autoload (Godot's equivalent of a global provider).&lt;/p&gt;

&lt;p&gt;There is no debate because the tree structure makes ownership obvious. If a piece of data affects only one subtree, it lives at the root of that subtree. If it affects the whole game, it lives at the root of the tree.&lt;/p&gt;

&lt;p&gt;React's &lt;a href="https://react.dev/reference/rsc/server-components" rel="noopener noreferrer"&gt;server components&lt;/a&gt; and the shift toward "colocation" (putting data fetching next to the component that uses it) are rediscovering what game engines always did: state belongs where it is used, not in a centralized store that everything depends on.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Hot reloading existed in game engines first
&lt;/h2&gt;

&lt;p&gt;React's hot module replacement (HMR) was a developer experience breakthrough when &lt;a href="https://www.youtube.com/watch?v=xsSnOQynTHs" rel="noopener noreferrer"&gt;Dan Abramov demonstrated it in 2015&lt;/a&gt;. Change a component, see it update without losing state.&lt;/p&gt;

&lt;p&gt;Godot has had live scene editing since &lt;a href="https://godotengine.org/article/godot-engine-reaches-2-0-stable/" rel="noopener noreferrer"&gt;version 2.0 in 2016&lt;/a&gt;. You can modify node properties, change scripts, and adjust physics while the game is running. Unlike React's HMR, which occasionally loses state on complex changes, Godot's live editing operates on the actual running scene tree through a remote debugger connection.&lt;/p&gt;

&lt;p&gt;Unity's "Play Mode" editing predates both, shipping in Unity 3.0 in 2010. Game developers have been iterating on running applications for longer than most web frameworks have existed.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. AI tools struggle with trees they don't understand
&lt;/h2&gt;

&lt;p&gt;This is where the parallel breaks down in an interesting way. AI coding tools like &lt;a href="https://github.com/features/copilot" rel="noopener noreferrer"&gt;GitHub Copilot&lt;/a&gt; and ChatGPT understand React's component tree well because React has millions of training examples. They can generate a &lt;code&gt;&amp;lt;TodoList&amp;gt;&lt;/code&gt; with proper state management, hooks, and event handlers.&lt;/p&gt;

&lt;p&gt;Ask the same tools to generate a Godot scene tree, and the output is usually wrong. They write monolithic scripts instead of composing nodes. They use direct function calls instead of signals. They generate &lt;a href="https://docs.godotengine.org/en/stable/tutorials/migrating/upgrading_to_godot_4.html" rel="noopener noreferrer"&gt;Godot 3 syntax&lt;/a&gt; in a Godot 4 project because the training data mixes both versions.&lt;/p&gt;

&lt;p&gt;This is the same problem React had in 2015: not enough training data for AI to learn the patterns. As Godot's adoption grows (&lt;a href="https://steamdb.info/tech/Engine/Godot/" rel="noopener noreferrer"&gt;it doubled its Steam releases year over year&lt;/a&gt; and now matches Unity in game jam usage), the AI tooling gap will close. Projects like &lt;a href="https://ziva.sh" rel="noopener noreferrer"&gt;Ziva&lt;/a&gt; are already building engine-aware AI that understands scene tree architecture natively, similar to how Copilot learned React patterns from millions of repositories.&lt;/p&gt;

&lt;h2&gt;
  
  
  What web developers should steal from game engines
&lt;/h2&gt;

&lt;p&gt;If you are a React developer, here are three patterns from game engines worth adopting:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use event emitters instead of prop drilling.&lt;/strong&gt; Signals (pub/sub) scale better than callback chains when your component tree gets deep. Libraries like &lt;a href="https://github.com/primus/eventemitter3" rel="noopener noreferrer"&gt;EventEmitter3&lt;/a&gt; bring this pattern to JavaScript.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Let the tree structure determine state ownership.&lt;/strong&gt; Instead of debating between Redux, Zustand, and Jotai, ask: "Which component is the root of the subtree that uses this data?" Put the state there. This is what game engines do, and it eliminates most state management debates.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Profile at 60fps standards.&lt;/strong&gt; Game developers consider 16ms per frame a hard deadline. Web developers accept 100ms interactions as "fast." If you profiled your React app against game engine standards, you would find and fix performance issues you currently ignore.&lt;/p&gt;

&lt;p&gt;The web and game dev worlds are converging. The patterns that game engines refined over two decades are the same patterns that modern web frameworks are now adopting. Understanding both makes you better at either.&lt;/p&gt;

</description>
      <category>react</category>
      <category>gamedev</category>
      <category>programming</category>
      <category>architecture</category>
    </item>
    <item>
      <title>El vibe coding funciona para apps web. En motores de juegos, se rompe.</title>
      <dc:creator>Ziva</dc:creator>
      <pubDate>Mon, 06 Apr 2026 04:24:04 +0000</pubDate>
      <link>https://forem.com/ziva/el-vibe-coding-funciona-para-apps-web-en-motores-de-juegos-se-rompe-5j9</link>
      <guid>https://forem.com/ziva/el-vibe-coding-funciona-para-apps-web-en-motores-de-juegos-se-rompe-5j9</guid>
      <description>&lt;p&gt;Si has probado "vibe coding" con Claude, GPT-4 o Copilot para crear una app web, probablemente te sorprendió lo bien que funciona. Describes lo que quieres, la IA genera el código, lo pegas, y funciona. Pero intenta hacer lo mismo con un motor de juegos y todo se desmorona. Aquí explico por qué.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qué es el vibe coding
&lt;/h2&gt;

&lt;p&gt;El término lo acuñó &lt;a href="https://x.com/karpathy/status/1886192184808149383" rel="noopener noreferrer"&gt;Andrej Karpathy&lt;/a&gt; en febrero de 2025: escribir código guiándote por la "vibra" en lugar de la lógica, dejando que la IA genere la mayor parte del código mientras tú solo diriges.&lt;/p&gt;

&lt;p&gt;Para apps web, esto funciona sorprendentemente bien. Los LLMs tienen billones de tokens de React, Next.js, Express y Django en sus datos de entrenamiento. El patrón CRUD (crear, leer, actualizar, borrar) representa el 80% de las apps web, y la IA lo domina.&lt;/p&gt;

&lt;h2&gt;
  
  
  Por qué se rompe en game dev
&lt;/h2&gt;

&lt;p&gt;Los motores de juegos tienen tres problemas fundamentales que los LLMs no saben resolver:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Formatos binarios y propietarios
&lt;/h3&gt;

&lt;p&gt;Una app web es texto puro: HTML, CSS, JavaScript, JSON. Un LLM puede leer y escribir todo eso.&lt;/p&gt;

&lt;p&gt;Un proyecto de Unity tiene archivos &lt;code&gt;.prefab&lt;/code&gt;, &lt;code&gt;.asset&lt;/code&gt;, &lt;code&gt;.unity&lt;/code&gt; — formatos binarios o YAML propietario que ningún LLM entiende. Unreal usa Blueprints, que son grafos visuales almacenados en binario.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="c1"&gt;// App web: el LLM ve esto&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"player"&lt;/span&gt; &lt;span class="na"&gt;style&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;absolute&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;img&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"/sprite.png"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="c1"&gt;// Unity: el LLM ve esto&lt;/span&gt;
&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="nx"&gt;YAML&lt;/span&gt; &lt;span class="mf"&gt;1.1&lt;/span&gt;
&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="nx"&gt;TAG&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;u&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt; &lt;span class="nx"&gt;tag&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nx"&gt;unity3d&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;com&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2011&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="o"&gt;---&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;u&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="mi"&gt;4820625918942900646&lt;/span&gt;
&lt;span class="nx"&gt;GameObject&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
  &lt;span class="nx"&gt;m_ObjectHideFlags&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
  &lt;span class="nx"&gt;m_CorrespondingSourceObject&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;fileID&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nl"&gt;m_PrefabInstance&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;fileID&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;¿Cuál de los dos puede editar un LLM? Exacto.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Estado del editor vs estado del código
&lt;/h3&gt;

&lt;p&gt;En desarrollo web, el código ES la aplicación. Si cambias &lt;code&gt;app.js&lt;/code&gt;, cambias la app.&lt;/p&gt;

&lt;p&gt;En un motor de juegos, el código es solo una parte. La otra mitad es el estado del editor: posiciones de nodos, propiedades de materiales, configuración de física, TileMaps, animaciones. Todo eso vive en el editor, no en el código.&lt;/p&gt;

&lt;p&gt;Cuando le dices a una IA "mueve al jugador a la derecha", necesita:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Saber qué nodo es el jugador&lt;/li&gt;
&lt;li&gt;Conocer la estructura de la escena&lt;/li&gt;
&lt;li&gt;Entender el sistema de física del motor&lt;/li&gt;
&lt;li&gt;Modificar tanto código como propiedades del editor&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Un LLM que solo genera código no puede hacer nada de esto.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Loops de retroalimentación visual
&lt;/h3&gt;

&lt;p&gt;En web dev, puedes hacer &lt;code&gt;npm run dev&lt;/code&gt; y ver el resultado en el navegador. La IA puede incluso tomar screenshots y corregir errores visuales.&lt;/p&gt;

&lt;p&gt;En game dev, necesitas ejecutar el juego dentro del motor, interactuar con él en tiempo real, y evaluar si la física "se siente bien". No hay un endpoint HTTP que devuelva "la gravedad está mal". Es un juicio visual y táctil que los LLMs no pueden hacer.&lt;/p&gt;

&lt;h2&gt;
  
  
  La excepción: Godot
&lt;/h2&gt;

&lt;p&gt;Hay un motor que no tiene estos problemas: &lt;a href="https://godotengine.org" rel="noopener noreferrer"&gt;Godot&lt;/a&gt;.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Problema&lt;/th&gt;
&lt;th&gt;Unity/Unreal&lt;/th&gt;
&lt;th&gt;Godot&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Formato de escenas&lt;/td&gt;
&lt;td&gt;Binario/YAML propietario&lt;/td&gt;
&lt;td&gt;Texto plano (.tscn)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lenguaje&lt;/td&gt;
&lt;td&gt;C#, C++&lt;/td&gt;
&lt;td&gt;GDScript (sintaxis Python)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Acceso al editor&lt;/td&gt;
&lt;td&gt;API limitada&lt;/td&gt;
&lt;td&gt;API abierta (MIT)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Datos de entrenamiento&lt;/td&gt;
&lt;td&gt;Medio&lt;/td&gt;
&lt;td&gt;Alto (Python-like)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Las escenas de Godot son archivos de texto que un LLM puede leer y escribir:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;gd_scene format=3&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;

&lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;node name="Jugador" type="CharacterBody2D"&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
&lt;span class="s"&gt;position = Vector2(100, 200)&lt;/span&gt;

&lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;node name="Sprite" type="Sprite2D" parent="."&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
&lt;span class="s"&gt;texture = ExtResource("1_abc123")&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Y GDScript es básicamente Python con tipos:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight gdscript"&gt;&lt;code&gt;&lt;span class="k"&gt;extends&lt;/span&gt; &lt;span class="n"&gt;CharacterBody2D&lt;/span&gt;

&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;velocidad&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kt"&gt;float&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;300.0&lt;/span&gt;

&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="nf"&gt;_physics_process&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;delta&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;direccion&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Input&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_axis&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"izquierda"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"derecha"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;velocity&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;direccion&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;velocidad&lt;/span&gt;

    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;Input&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;is_action_just_pressed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"saltar"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;is_on_floor&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
        &lt;span class="n"&gt;velocity&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;400.0&lt;/span&gt;

    &lt;span class="n"&gt;move_and_slide&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Si sabes Python, ya sabes GDScript.&lt;/p&gt;

&lt;h2&gt;
  
  
  El estado actual de la IA en game dev
&lt;/h2&gt;

&lt;p&gt;Según el &lt;a href="https://gdconf.com/news/gdc-2025-state-game-industry-survey-summary" rel="noopener noreferrer"&gt;GDC State of the Industry 2025&lt;/a&gt;, el 31% de los desarrolladores de juegos usan herramientas de IA. Pero la mayoría las usa para tareas aisladas: generar arte conceptual, escribir diálogos, o crear efectos de sonido.&lt;/p&gt;

&lt;p&gt;La generación de código para juegos sigue siendo problemática porque los LLMs no entienden el contexto del motor. No saben qué nodos tienes en tu escena, qué señales están conectadas, o cómo está configurada tu física.&lt;/p&gt;

&lt;p&gt;Esto está cambiando. Ya existen herramientas que se integran directamente en los motores para darle al LLM acceso al estado del editor. Pero por ahora, la mayoría de los desarrolladores de juegos siguen usando la IA como un asistente de búsqueda glorificado, no como un co-desarrollador real.&lt;/p&gt;

&lt;h2&gt;
  
  
  ¿Qué significa esto para los desarrolladores hispanohablantes?
&lt;/h2&gt;

&lt;p&gt;América Latina tiene una escena indie de juegos en crecimiento. Eventos como el &lt;a href="https://www.bigfestival.com.br/" rel="noopener noreferrer"&gt;BIG Festival&lt;/a&gt; en Brasil, &lt;a href="https://www.eventoseva.com/" rel="noopener noreferrer"&gt;EVA&lt;/a&gt; en Argentina, y la comunidad de &lt;a href="https://gamedev.es/" rel="noopener noreferrer"&gt;gamedev en español&lt;/a&gt; muestran que hay talento y demanda.&lt;/p&gt;

&lt;p&gt;La combinación de un motor gratuito (Godot) + herramientas de IA que entienden sus formatos reduce la barrera de entrada significativamente. Un desarrollador solo puede crear un prototipo jugable en un fin de semana, algo que hace cinco años requería un equipo de al menos tres personas.&lt;/p&gt;

&lt;p&gt;Si trabajas en web y nunca has tocado game dev, Godot + IA es la mejor puerta de entrada que ha existido.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cómo empezar
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Descarga Godot&lt;/strong&gt; (&lt;a href="https://godotengine.org" rel="noopener noreferrer"&gt;godotengine.org&lt;/a&gt;) — 100 MB, sin instalación&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Haz el tutorial oficial&lt;/strong&gt; — "Tu primer juego 2D" en ~2 horas&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Usa un LLM para escribir GDScript&lt;/strong&gt; — Claude y GPT-4 lo entienden bien&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Publica en itch.io&lt;/strong&gt; — gratis, con feedback de la comunidad&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Si alguien de la comunidad DEV.to en español ya desarrolla juegos con Godot, me encantaría saber su experiencia en los comentarios.&lt;/p&gt;

</description>
      <category>spanish</category>
      <category>godot</category>
      <category>gamedev</category>
      <category>ai</category>
    </item>
    <item>
      <title>Warum Godot 2026 die beste Engine für KI-gestützte Spieleentwicklung ist</title>
      <dc:creator>Ziva</dc:creator>
      <pubDate>Mon, 06 Apr 2026 04:10:46 +0000</pubDate>
      <link>https://forem.com/ziva/warum-godot-2026-die-beste-engine-fur-ki-gestutzte-spieleentwicklung-ist-1b52</link>
      <guid>https://forem.com/ziva/warum-godot-2026-die-beste-engine-fur-ki-gestutzte-spieleentwicklung-ist-1b52</guid>
      <description>&lt;p&gt;Wenn du als Entwickler in Deutschland, Österreich oder der Schweiz Spiele entwickeln willst, hast du wahrscheinlich schon von Unity und Unreal gehört. Aber Godot hat sich in den letzten zwei Jahren still zur besten Engine für KI-gestützte Entwicklung gemausert. Hier ist warum.&lt;/p&gt;

&lt;h2&gt;
  
  
  Die Ausgangslage: KI und Game Dev
&lt;/h2&gt;

&lt;p&gt;Laut dem &lt;a href="https://gdconf.com/news/gdc-2025-state-game-industry-survey-summary" rel="noopener noreferrer"&gt;GDC State of the Industry Report 2025&lt;/a&gt; nutzen mittlerweile 31% aller Spieleentwickler KI-Tools in ihrer täglichen Arbeit. Aber es gibt ein Problem: Die meisten KI-Tools sind für Web-Entwicklung optimiert, nicht für Game Engines.&lt;/p&gt;

&lt;p&gt;Der Grund ist simpel: Game Engines haben proprietäre Dateiformate, binäre Szenen-Strukturen und geschlossene Editoren. Ein LLM kann deinen Python- oder JavaScript-Code lesen und schreiben, aber mit einer Unity &lt;code&gt;.prefab&lt;/code&gt;-Datei oder einem Unreal Blueprint kann es wenig anfangen.&lt;/p&gt;

&lt;h2&gt;
  
  
  Warum Godot hier einen strukturellen Vorteil hat
&lt;/h2&gt;

&lt;p&gt;Godot macht drei Dinge anders als Unity und Unreal:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Textbasierte Szenen-Dateien
&lt;/h3&gt;

&lt;p&gt;Godots &lt;code&gt;.tscn&lt;/code&gt;-Dateien sind reiner Text. Eine einfache Szene sieht so aus:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight gdscript"&gt;&lt;code&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;gd_scene&lt;/span&gt; &lt;span class="n"&gt;format&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"Player"&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"CharacterBody2D"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;position&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kt"&gt;Vector2&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"Sprite"&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"Sprite2D"&lt;/span&gt; &lt;span class="n"&gt;parent&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"."&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;texture&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ExtResource&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"1_abc123"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ein LLM kann diese Dateien lesen, verstehen und generieren. Bei Unity sind Prefabs binär oder in einem YAML-Format, das ohne den Unity-Editor kaum zu bearbeiten ist.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. GDScript ist LLM-freundlich
&lt;/h3&gt;

&lt;p&gt;GDScript basiert auf Python-Syntax. Jedes moderne LLM hat Milliarden von Python-Tokens in seinen Trainingsdaten. Das bedeutet: Code-Generierung für Godot funktioniert deutlich besser als für C# (Unity) oder C++ (Unreal).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight gdscript"&gt;&lt;code&gt;&lt;span class="k"&gt;extends&lt;/span&gt; &lt;span class="n"&gt;CharacterBody2D&lt;/span&gt;

&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;geschwindigkeit&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kt"&gt;float&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;300.0&lt;/span&gt;
&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;sprungkraft&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kt"&gt;float&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;400.0&lt;/span&gt;

&lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;schwerkraft&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ProjectSettings&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_setting&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"physics/2d/default_gravity"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="nf"&gt;_physics_process&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;delta&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;is_on_floor&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
        &lt;span class="n"&gt;velocity&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="n"&gt;schwerkraft&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;delta&lt;/span&gt;

    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;Input&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;is_action_just_pressed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"sprung"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;is_on_floor&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
        &lt;span class="n"&gt;velocity&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sprungkraft&lt;/span&gt;

    &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;richtung&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Input&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_axis&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"links"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"rechts"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;velocity&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;richtung&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;geschwindigkeit&lt;/span&gt;

    &lt;span class="n"&gt;move_and_slide&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Wenn du Python kannst, kannst du GDScript in einer Stunde lernen.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Vollständig Open Source
&lt;/h3&gt;

&lt;p&gt;Godot ist MIT-lizenziert. Der gesamte Quellcode, die Editor-API und alle internen Strukturen sind offen dokumentiert. Das ist entscheidend für KI-Integration, weil:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;KI-Tools können auf den Editor-State zugreifen (welche Nodes existieren, welche Properties sie haben)&lt;/li&gt;
&lt;li&gt;Plugins können den Editor erweitern, um KI-Funktionen direkt einzubetten&lt;/li&gt;
&lt;li&gt;Keine API-Beschränkungen wie bei Unity oder Unreal&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Eigenschaft&lt;/th&gt;
&lt;th&gt;Godot&lt;/th&gt;
&lt;th&gt;Unity&lt;/th&gt;
&lt;th&gt;Unreal&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Szenen-Format&lt;/td&gt;
&lt;td&gt;Text (.tscn)&lt;/td&gt;
&lt;td&gt;Binär/YAML&lt;/td&gt;
&lt;td&gt;Binär&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Skriptsprache&lt;/td&gt;
&lt;td&gt;GDScript (Python-ähnlich)&lt;/td&gt;
&lt;td&gt;C#&lt;/td&gt;
&lt;td&gt;C++/Blueprints&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LLM-Kompatibilität&lt;/td&gt;
&lt;td&gt;Hoch&lt;/td&gt;
&lt;td&gt;Mittel&lt;/td&gt;
&lt;td&gt;Niedrig&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Editor-API&lt;/td&gt;
&lt;td&gt;Offen (MIT)&lt;/td&gt;
&lt;td&gt;Teilweise offen&lt;/td&gt;
&lt;td&gt;Teilweise offen&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Preis&lt;/td&gt;
&lt;td&gt;Kostenlos, keine Umsatzbeteiligung&lt;/td&gt;
&lt;td&gt;Kostenlos bis 200K$&lt;/td&gt;
&lt;td&gt;Kostenlos bis 1M$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Download-Größe&lt;/td&gt;
&lt;td&gt;~100 MB&lt;/td&gt;
&lt;td&gt;~15 GB&lt;/td&gt;
&lt;td&gt;~60 GB&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Was das praktisch bedeutet
&lt;/h2&gt;

&lt;p&gt;Ein konkretes Beispiel: Du willst ein 2D-Plattformspiel mit drei Levels erstellen.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ohne KI:&lt;/strong&gt; Du schreibst manuell den Spieler-Controller, designst jedes Level im Editor, erstellst oder kaufst Sprites, schreibst die Level-Logik. Zeitaufwand: 2-4 Wochen.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mit KI + Godot:&lt;/strong&gt; Du beschreibst den Spieler-Controller in natürlicher Sprache, generierst GDScript, lässt Level-Layouts per KI erstellen (die &lt;code&gt;.tscn&lt;/code&gt;-Dateien sind ja Text), generierst Sprites mit Bildgeneratoren. Zeitaufwand: 2-3 Tage.&lt;/p&gt;

&lt;p&gt;Der Geschwindigkeitsvorteil kommt nicht daher, dass KI "besser" programmiert. Er kommt daher, dass Godots Architektur es KI-Tools einfach macht, mit dem Engine-Format zu arbeiten.&lt;/p&gt;

&lt;h2&gt;
  
  
  Die deutsche Spieleentwickler-Szene
&lt;/h2&gt;

&lt;p&gt;Deutschland hat eine wachsende Indie-Szene. Die &lt;a href="https://www.gamescom.global/" rel="noopener noreferrer"&gt;gamescom&lt;/a&gt; in Köln ist die weltweit größte Spielemesse, und der &lt;a href="https://www.deutscher-computerspielpreis.de/" rel="noopener noreferrer"&gt;Deutscher Computerspielpreis&lt;/a&gt; fördert aktiv Indie-Entwicklung. Der Bundesverband &lt;a href="https://www.game.de/" rel="noopener noreferrer"&gt;game&lt;/a&gt; meldet über 900 Spieleunternehmen in Deutschland.&lt;/p&gt;

&lt;p&gt;Trotzdem gibt es kaum deutschsprachige Ressourcen für Godot. Die meisten Tutorials sind auf Englisch. Wenn du Deutsch sprichst und Godot lernen willst, musst du dich größtenteils durch englische Dokumentation arbeiten.&lt;/p&gt;

&lt;p&gt;Das ändert sich gerade. Die offizielle &lt;a href="https://docs.godotengine.org/de/stable/" rel="noopener noreferrer"&gt;Godot-Dokumentation&lt;/a&gt; wird zunehmend ins Deutsche übersetzt, und die Community wächst.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wie du anfängst
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Godot herunterladen&lt;/strong&gt; (&lt;a href="https://godotengine.org" rel="noopener noreferrer"&gt;godotengine.org&lt;/a&gt;) — 100 MB, keine Installation nötig&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offizielles Tutorial durcharbeiten&lt;/strong&gt; — "Dein erstes 2D-Spiel" dauert etwa 2 Stunden&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;KI in den Workflow einbauen&lt;/strong&gt; — Claude, GPT-4 oder lokale Modelle verstehen GDScript&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Auf itch.io veröffentlichen&lt;/strong&gt; — kostenlos, mit Feedback von der Community&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Spieleentwicklung war noch nie so zugänglich. Die Kombination aus einer kostenlosen, offenen Engine und KI-Tools, die deren Formate nativ verstehen, senkt die Einstiegshürde auf praktisch null.&lt;/p&gt;

&lt;p&gt;Wer in der DEV.to-Community arbeitet auch mit Godot? Würde mich über Erfahrungsberichte freuen.&lt;/p&gt;

</description>
      <category>german</category>
      <category>deutsch</category>
      <category>godot</category>
      <category>gamedev</category>
    </item>
  </channel>
</rss>
