Russia 1917: Die KI der Feinde aufbauen – die Weißen

Der Stand vom Februar 2025 zur Entwicklung einer strategischen künstlichen Intelligenz für die Weißen Armeen in GDevelop.

Prototyp von Russia 1917 mit der strategischen Karte zwischen Murmansk, Archangelsk und Helsinki
Prototyp von Russia 1917 mit der strategischen Karte zwischen Murmansk, Archangelsk und Helsinki

Ich arbeite derzeit an einem Spiel, das 1917 in Russland mitten im Bürgerkrieg spielt. Der Spieler übernimmt die Bolschewiki, doch ich brauche eine künstliche Intelligenz, die die Weißen Armeen steuert – jene Kräfte, die sich den Bolschewiki entgegenstellen und versuchen, die Kontrolle über das Land zurückzugewinnen.

Das Ziel des Spiels? Truppen bewegen, strategisch wichtige Städte erobern und den Feind bekämpfen. Damit das interessant wird, musste die KI der Weißen Armeen in der Lage sein, schlüssige militärische Entscheidungen zu treffen.

Das Problem: GDevelop, die Engine, mit der ich das Spiel entwickle, ist nicht von Natur aus für komplexe künstliche Intelligenz ausgelegt. Ich musste daher eine zuverlässige Methode finden, mit der die KI Schritt für Schritt arbeiten kann, ohne Fehler zu verursachen.

Die KI der Weißen Armeen: eine militärische Strategie in Etappen

In meinem Spiel muss die Weiße Armee schrittweise vorgehen:

  1. freie Städte erkennen, die erobert werden können;
  2. die bolschewistische Bedrohung in der Umgebung einschätzen;
  3. entscheiden, ob sie angreift oder sich verstärkt;
  4. ihre Truppen intelligent bewegen.

Damit alles korrekt funktioniert, habe ich eine logische und gut strukturierte Methode entwickelt. So trifft die KI ihre Entscheidungen:

  • zunächst erstellt sie um jede ihrer Städte und Einheiten einen unsichtbaren Erkennungsradius;
  • wenn ein feindlicher Soldat mit einem dieser Kreise in Kontakt kommt, bedeutet das, dass er sich in der Nähe befindet und eine Bedrohung darstellt;
  • die KI ermittelt anschließend die Truppen, die diesem Feind am nächsten sind, und gibt ihnen den Befehl zum Angriff;
  • wird kein Feind entdeckt, schickt die KI ihre Einheiten los, um eine neue Stadt zu erobern und ihr Gebiet zu erweitern.

Von russischem Konstruktivismus inspiriertes Icon von Russia 1917

Das Icon des Spiels „Russia 1917“, das zum Zeitpunkt dieses Artikels verwendet wurde.

Die klassische GDevelop-Falle: Alles wird gleichzeitig ausgeführt

Zu Beginn hatte ich meine KI folgendermaßen aufgebaut:

  1. Erkennungskreise um Städte und Truppen erstellen;
  2. zum nächsten Schritt wechseln, um Feinde zu identifizieren;
  3. zum nächsten Schritt wechseln, um eine Aktion auszuwählen;
  4. zum nächsten Schritt wechseln, um die Truppen zu bewegen.

In der Theorie sieht das sauber aus. In der Praxis? Ein Desaster.

Warum? Weil „Schritt = 2“ nicht bedeutet, dass Schritt 1 tatsächlich abgeschlossen ist. Die KI begann daher, alles gleichzeitig zu tun: Kreise zu erstellen, Feinde zu analysieren und Truppen innerhalb eines einzigen Frames des Spiels zu bewegen.

Die eigentliche Lösung: Jede Aktion überprüfen, bevor es weitergeht

Das war die wichtigste Erkenntnis, die ich bei der Arbeit an dieser KI gewonnen habe:

Man sollte niemals einfach nur eine Variable ändern, um in einem Prozess weiterzugehen. Es muss immer eine Bedingung geben, die überprüft, ob die vorherige Aktion tatsächlich abgeschlossen ist.

Konkret mache ich also nicht Folgendes:

❌ „Wenn Schritt = 1, dann tue dies und gehe zu Schritt 2.“

Sondern eher:

✅ „Wenn Schritt 1 abgeschlossen ist – zum Beispiel, wenn alle Kreise korrekt erstellt wurden –, dann und nur dann geht es weiter zu Schritt 2.“

Schema der vier Entscheidungsschritte der künstlichen Intelligenz von Russia 1917

Die KI in Aktion: Erkennungskreise erstellen, die Lage analysieren, eine Entscheidung treffen und Befehle ausführen.

Warum diese Methode so wichtig ist

Mit diesem Ansatz eilt die KI nicht voraus und arbeitet flüssig. Jede Aktion wird vollständig abgeschlossen, bevor die nächste beginnt. Dadurch werden Fehler vermieden, bei denen alles gleichzeitig ausgeführt wird.

Und das verändert alles:

  • die KI wirkt intelligenter, weil sie schrittweise auf das Geschehen reagiert;
  • Fehler, bei denen alle Aktionen gleichzeitig ausgelöst werden, verschwinden;
  • das Spiel wird strategischer, weil die Weißen Armeen tatsächlich auf die Handlungen des Spielers reagieren.

Fazit: eine Technik, die man sich für GDevelop merken sollte

Wenn Sie in GDevelop eine effektive KI entwickeln oder auch nur einen komplexen Algorithmus strukturieren möchten, sollten Sie sich Folgendes merken:

Machen Sie niemals einfach nur „Schritt = 2“. Prüfen Sie immer, ob Schritt 1 wirklich abgeschlossen ist, bevor Sie fortfahren.

Das ist der Schlüssel dazu, dass GDevelop nicht alles gleichzeitig ausführt und eine flüssige, logische und strategische KI entsteht.

Nachdem ich dieses System nun erfolgreich strukturiert habe, kann ich die Weißen Armeen noch intelligenter machen. Vielleicht erhalten sie sogar fortgeschrittenere Strategien wie koordinierte Angriffe oder taktische Rückzüge…