Docs Sonstiges

FAQ

Ist das ein Cheat? Welche Versionen werden unterstützt? Was sieht die KI, was kann sie tun? Geht es ohne Programmierkenntnisse? …

Ist das ein Cheat?

Nein. Es ist eine Entwicklerschnittstelle für KI-Forschung und Unterhaltung, ausschließlich für Clients, die du rechtmäßig besitzt – lokal, im LAN oder in selbst gehosteten Spielen gegen den Computer oder andere KIs. Es darf nicht auf Battle.net oder Servern mit Anti-Cheat eingesetzt werden und bietet keinerlei Funktionen für Spiele gegen echte Menschen. Details unter Nutzungsgrenzen.

Welche Spielversionen werden unterstützt?

Derzeit nur Warcraft III 1.27 (The Frozen Throne). 1.24–1.28 teilen dieselbe Engine-Struktur; die Unterstützung mehrerer Versionen (Symboltabelle je Version, Signatur-Scan als Fallback, Selbsttest beim Start mit Fähigkeitsliste) ist Phase P4 der Roadmap. Versionen ab 1.29 und Reforged nutzen eine andere Engine, bräuchten eine eigene Anpassung und sind derzeit nicht zugesagt.

Werden meine Spieldateien verändert?

Nein. Die Runtime wird zur Laufzeit injiziert und verändert weder die Game.dll auf der Festplatte noch andere Spieldateien. Für mehrere Instanzen wird nur der Original-Starter War3.exe unverändert kopiert und umbenannt. Spieldaten (Einheitentabellen usw.) werden aus deinem eigenen Spiel extrahiert und nicht mit dem Code verteilt.

Was sieht die KI?

Im Grunde alles, was ein Profi wissen will – aktualisiert alle 50 ms:

  • Gold, Holz und Nahrung aller Spieler; für alle Einheiten Position, HP/Mana, aktuelle Order, wen sie gerade angreifen, Stufe und Erfahrung;
  • Fähigkeitsstufen und verbleibende Abklingzeiten von Helden und Einheiten, aktive Buffs, Inventar;
  • was jedes Gebäude gerade ausbildet / erforscht / baut / aufwertet, mit Fortschritt und ob es wegen fehlender Nahrung blockiert ist;
  • Gegenstände am Boden, Bäume, das begehbare / bebaubare Raster der Karte, Startpositionen, die Tageszeit im Spiel (Tag/Nacht);
  • den Event-Stream: Einheiten erscheinen und sterben, jeder einzelne Treffer (von wem, Angriffstyp, Schaden vor Rüstung), Kills, fertige Produktion, Helden-Level-ups …
  • außerdem kannst du die Engine direkt fragen: Ist etwas gerade möglich, und wenn nicht, warum? Welche Stufe hat eine Technologie? Ist ein Punkt sichtbar? Wie viel Gold hat eine Mine noch? Wohin will der Computergegner seine Armee führen?

Darauf aufbauend berechnet das SDK Kampfwerte (Konter, Rüstung, Angriffs-/Rüstungs-Upgrades), „wie viele Sekunden bis zum Kill“ und die Wegfindung am Boden. Alle APIs findest du im API-Katalog.

Was kann die KI tun?

Praktisch alles, was ein Spieler kann: bewegen, Angriffsbewegung, gezielt angreifen, stoppen, Position halten, patrouillieren, Boden angreifen, abbauen, reparieren, bauen (mit automatischer Platzsuche), ausbilden / erforschen / aufwerten, abbrechen, Fähigkeiten lernen, zaubern (auf Einheit / auf Punkt / ohne Ziel), Sammelpunkt, Helden wiederbeleben, Gegenstände aufheben / benutzen / ablegen / geben / verkaufen, einkaufen, „Zu den Waffen“; dazu Shift-Warteschlange, Marsch über Wegpunkte und mehrere Gebäude nacheinander mit einem Arbeiter. Außerdem Spielgeschwindigkeit, Pause und Sprechblasen. Jeder Befehl liefert eine Quittung.

Über die Aktionen eines Spielers hinaus kann sie eigene Panels und Markierungen ins Spielbild zeichnen (Canvas) und im Einzelspieler die 1291 JASS-Funktionen aufrufen, die auch Kartenautoren zur Verfügung stehen (JASS-Kanal).

Funktioniert das auch auf RPG- / Custom Maps?

Ja. Wähle eine RPG-Karte, gib der Instanz das Schema „Begleiter-Beispiel“, und spiel nach dem Start selbst: An deiner Seite läuft ein KI-Partner, der mitkämpft, dich heilt und mit dir plaudert – siehe RPG-Begleiter. g.map_data liest die Namen der eigenen Einheiten einer Karte aus; über den JASS-Kanal kannst du Einheiten erzeugen, Bündnisse setzen, Panels einblenden … wie du spielst, entscheidest du. Aktionen, die die Welt verändern, gehen nur im Einzelspieler (im Multiplayer käme es zu Desyncs); das Canvas ist auch im Multiplayer sicher.

Geht es ohne Programmierkenntnisse?

Ja. Richte die Umgebung nach dem Schnellstart ein und lies dann Einen Bot mit einem LLM schreiben: Du beschreibst die Spielweise in Alltagssprache, das LLM schreibt den Code. Läuft etwas schief, gib ihm die Fehlermeldung oder beschreib, was du im Spiel siehst, und lass es nachbessern.

Geht nur Python?

Das SDK ist in Python geschrieben. Zwischen Runtime und externen Programmen liegt nur ein Shared-Memory-Protokoll (W3P); jede Sprache, die unter Windows Shared Memory lesen und schreiben kann, kann sich anbinden. Noch einfacher geht es über das Gateway (WebSocket / JSON): JS, C#, Go, Rust, Browserseiten und Programme auf anderen Rechnern können dieselben APIs aufrufen; LLM-Agents können direkt über MCP eingebunden werden.

Welches LLM ist am besten?

Jedes gängige Modell, das programmieren kann. Entscheidend ist nicht das Modell, sondern das richtige Material (Handbuch + api.json + ein Beispiel) und die Vorgabe, nur Methoden aus dem API-Katalog zu verwenden. Echtzeitentscheidungen im Spiel (Coach, Einheiten-Dialoge) sind latenzkritisch; lokale MoE-Modelle schneiden dort sehr gut ab, siehe LLM als Strategie-Coach und Sprechblasen & lokale Modelle.

Bremst es das Spiel aus?

Eine Erfassung des Weltzustands kostet auf dem Spiel-Thread im Median 0.5–0.9 ms (100–120 Einheiten), einmal alle 50 ms. Befehle kosten auf dem Spiel-Thread jeweils wenige Mikrosekunden; ein Abarbeitungsdurchlauf hat ein Zeitbudget von 4 ms, was nicht fertig wird, kommt beim nächsten Mal dran – das Spiel wird nicht aufgehalten. Alle Aufrufe ins Spiel sind gegen Ausnahmen abgesichert: Stürzt ein Bot ab, stoppt nur diese Seite, das Spiel läuft weiter.

Kann ich mehrere Spiele gleichzeitig laufen lassen?

Ja. runtime/farm.py orchestriert mehrere Instanzen, jede mit eigener Nummer; gestartet und gestoppt wird in der Farsight-Konsole. Dein Bot verbindet sich mit --inst N zu einer bestimmten Instanz.

Können zwei KIs gegeneinander spielen?

Öffne im selben Spiel zwei player-Kanäle (--player 0 / --player 1) – schon spielt KI gegen KI. Lokal beruht Fairness auf Absprache; offizielle Matches mit Schiedsrichter, Sichtfilterung und Besitzprüfung gibt es auf der Arena (Phase P6).

Werden Mac und Linux unterstützt?

Derzeit nur Windows 10 / 11.

Welche Lizenz gilt?

Die Lizenz wird mit dem offiziellen Release veröffentlicht. Drittkomponenten behalten ihre eigenen Lizenzen (z. B. MinHook unter BSD-2); AMAI steht unter einer eigenen Lizenz, abgeleitete Daten werden nicht mit dem Projekt verteilt, sondern bei der Installation aus dem öffentlichen AMAI-Repo geholt und generiert.

Wo melde ich Probleme?

Mit dem offiziellen Release öffnen wir einen Kanal für Feedback. Gib dabei bitte die Instanznummer, die Ausgabe von python -m openwar3 status und die Schritte zum Reproduzieren an. Schau vorher in Debugging & Performance, ob sich das Problem damit schon lösen lässt.