KI (AI) Künstliche Intelligenz
Mein erstes Scenario

KI ( engl. AI ) steht ganz einfach für "Künstliche Intelligenz", gemeint ist hier das Spielverhalten der verbündeten oder feindlichen Computerspieler in Age of Empires.
Nachfolgendes Frage- Antwotsystem soll eine kleine Einführung zur KI geben ...

 

Was macht die Standard-KI?

Die Standard-KI ist eine von ES vorprogrammierte KI, welche je nach gewähltem Schwierigkeitsgrad den Aufbau der Wirtschaft und der Armee des Computerspielers regelt. Sie ist nach dem Erstellen eines neuen Scenarios bereits voreingestellt.
Neben der Standard-KI kann man auch noch die - Kartentyp KI - für den Comp.Spieler einstellen. Hierfür bedarf es keiner großen Kenntnisse ...

=> Karteneditor öffnen
=> ein Scenario auswählen /editieren
=> im Karteneditor auf der oberen Leiste anklicken
=> im unteren Menü eine ES vorprogrammierte Kartentyp-KI auswählen ...
z.B. Kartentyp-KI: Arabien - der Comp.Spieler entwickelt sich entsprechend der Umgebung. Baut wohl keine Häfen, Schiffe etc.

Wozu brauche ich eine eigene KI?

Je nach Scenario-Typ (z. B. RPG, Kampfspiel, …) ist jedoch oft die Standard-KI nicht für das gewünschte Computerverhalten geeignet, es wird eine individuelle KI benötigt.

Diese kann man mit einem Editor selbst erstellen oder eine passende KI aus einer anderen Map verwenden. Das beste und am meisten verwendete Beispiel einer solchen KI ist die "Immobile Units". Da auf eine KI kein Copyright besteht dürfen diese jederzeit aus jeder beliebigen Map verwendet, kopiert oder geändert und für eigene Maps verwendet werden.


Wie binde ich eine eigene KI in das Scenario ein?
Eine KI besteht immer aus 2 Dateien, welche die Endungen *.ai und *.per besitzen.

1. Die Datei ... *.ai ist für die Erkennung des Editors zuständig.
2. Die Datei ... *.per beinhaltet die KI-Regeln.

Beide Dateien der gewünschten KI müssen als erstes in den  Ordner: Age of Empires II / AI kopiert werden. Erst dann startet man Age of Empires II.
Beispiel zum Einbinden der KI ... Immobile Units.ai / Immobile Units.per

Nachdem beide Dateien in den Ordner: Age of Empires II / AI kopiert wurden, startet man Age of Empires II und macht dann folgendes ...
=> Karteneditor öffnen
=> ein Scenario auswählen /editieren
=> im Karteneditor auf der oberen Leiste anklicken
=> im unteren Menü einen Comp.- Spieler auswählen (z.B Spieler 2) dem man die KI zuweisen will

=> unter "Charakter" wählt man dann die gewünschte KI (Immobile Units)
=> Fertig
=> Scenario speichern
Hinweis: Spieler 1 benötigt keine KI (ist der menschliche Spieler). Spieler 2 - 8 werden vom Comp. gesteuert und brauchen eine KI.

Was macht die "Immobile Units"?
Die Immobile Units lässt, wie der Name schon sagt, fast alle Einheiten des Computerspielers in der vom Ersteller der Map gewählten Position verharren, ausgenommen sind dabei die Einheiten König, Marktkarren und Handelsschiffe. Die Einheiten der KI verteidigen sich, sobald eine feindliche Einheit in Sicht ist und bleiben wieder stehen, wenn diese wieder aus dem Sichtfeld der Einheit verschwunden ist. Dorfbewohner verteidigen sich nicht.
Ausnahme: Befehle von Schaltern (falls erstellt) führen die Einheiten aus.

Download der KI: Immobile Units   (Autor: Zanzard Lothar)

Wie sieht die: "Immobile Units.per" im KI-Editor aus?

Folgende Befehle, oder besser gesagt "Regeln" kommen in der "Immobile Units" zum Einsatz:

(defrule
  (true)
=>
  (set-strategic-number sn-maximum-food-drop-distance
0)
  (set-strategic-number sn-maximum-wood-drop-distance
0)
  (set-strategic-number sn-maximum-gold-drop-distance
0)
  (set-strategic-number sn-maximum-stone-drop-distance
0)
  (set-strategic-number sn-maximum-hunt-drop-distance
0)
  (set-strategic-number sn-food-gatherer-percentage
0)
  (set-strategic-number sn-gold-gatherer-percentage
0)
  (set-strategic-number sn-minimum-civilian-explorers
0)
  (set-strategic-number sn-wood-gatherer-percentage
0)
  (set-strategic-number sn-cap-civilian-explorers
0)
  (set-strategic-number sn-percent-civilian-explorers
0)
  (disable-self)
)

(defrule
  (true)
=>
  (set-strategic-number sn-percent-enemy-sighted-response
100)
  (set-strategic-number sn-hits-before-alliance-change
25)
  (set-difficulty-parameter ability-to-maintain-distance
100)
  (set-difficulty-parameter ability-to-dodge-missiles
100)
  (set-strategic-number sn-number-explore-groups
0)
  (set-strategic-number sn-percent-attack-soldiers
0)
  (set-strategic-number sn-task-ungrouped-soldiers
0)
  (set-strategic-number sn-number-attack-groups
0)
  (set-strategic-number sn-enemy-sighted-response-distance
10)
  (set-strategic-number sn-total-number-explorers
0)
  (set-strategic-number sn-relic-return-distance
0)
  (disable-self)
)

 

Erläuterung des Beispiels:
Jede KI-Regel wird stets eingeleitet mit: (defrule

Danach werden die Bedingungen aufgelistet. In diesem Fall ist die Bedingung: (true) , das bedeutet, das die Regel sofort in Kraft tritt, denn mit: (true)   ist die Bedingung immer erfüllt.

Nach dem:  =>
werden die Aktionen aufgeführt, welche der Computerspieler ausführen soll.

Bei dieser KI (Immobile Units) sind dies hauptsächlich strategische Befehle. Wichtig beim Erstellen einer KI ist die:  Einhaltung der Klammersetzung. Wie man sieht, wird jede geöffnete Klammer wieder geschlossen. Genau so auch am Ende die gesamte Regel.


Wie kann man KI-Programmieren lernen?

Einige Forumsmitglieder von AOE2 haben in einem Gemeinschaftswerk den "CPSB" (Computer-Player-Strategie-Builder) ins deutsche übersetzt, welchen man in der AgeArena hier downloaden kann. Das englische Original befindet sich auf der Aok-CD im Ordner \DOCS.

Ansonsten lernt man es, wie so oft im Leben, durch fleißiges Üben und Bearbeiten von KI’s.


Womit erstellt man am besten eine KI?

Zum Erstellen einer KI eignet sich im Prinzip jeder beliebige Texteditor. Einfacher ist es jedoch mit einem speziellen Programm-Editor zu arbeiten, da diese in der Regel über ein Syntax-highlighting verfügen und das Programmieren damit übersichtlicher ist.

Zur KI-Programmierung eignet sich am besten der:  AI-Editor  von Stoyan Ratchev.

Dieser erkennt die KI-Syntax bereits beim eingeben, verfügt über einen sehr guten "Strategie Builder Guide" und hat außerdem einen Fehler-Analyzer integriert, was gerade für KI-Anfänger kein schlechtes Tool ist.


Text / Bild von Günter Zengerle


Copyright © 1997-2015 Agearena.de
Diese Seite ist Teil der Agearena und optimiert für IE 1024 x 768 oder höher
Inhalte und Bilder dieser Seiten dürfen ohne Zustimmung weder kopiert noch für andere Websites verwendet werden.
Age of Empires™ sowie Ensemble Studios ® und Microsoft ® sind eingetragene Warenzeichen bzw. Markennamen und unterliegen warenzeichen-,und patentrechtlichem Schutz.