Inhaltsverzeichnis

Achtung: Seite ist noch im Aufbau - alles hier ist rein „experimentell“ - Verwendung auf eigene Gefahr!!!

Hinweis: Diese Seite ist nur für Leute gedacht, die das Kapitel Computergegner - Einführung in die Grundlagen gelesen und verstanden haben. Die Formulierungen und Funktionen hier sind nicht für Anfänger & Einsteiger gedacht!

Hier geht es darum, wie man eine KI noch besser „steuern“ kann. Einige der hier aufgeführten Aussagen bedürfen noch einer genaueren Überprüfung, bzw. einer Korrektur. Sie sind durchweg mit einem FIXME gekennzeichnet.

KI im Spielverlauf aktivieren

Wenn man nicht von Anfang an möchte, dass eine KI Truppen rekrutiert, sie aber trotzdem schon Rohstoffe abbauen, Gebäude bauen, etc. soll, dann initialisiert man die KI anfangs nur durch den Aufruf von SetupPlayerAi(_playerId,_description) und nicht durch MapEditor_SetupAI()! Auch nicht mit Strength=0!

Wenn die KI dann ab einem bestimmten Zeitpunkt loslegen soll, kann man dann einfach MapEditor_SetupAI() mit den gewünschten Einstellungen aufrufen.

Mehrfacher Aufruf von MapEditor_SetupAI()

Ein schwieriges und weitestgehend noch unerforschtes Thema ;). Da eine dynamische Entwicklung einer KI sehr aufwendig ist, könnte man ja auch auf die Idee kommen, einfach die Funktion MapEditor_SetupAI() mehrfach im Laufe des Spiels aufzurufen.
FIXME Dabei kann es aber wohl zu „Nebenwirkungen“ kommen! Manche der Werte verhalten sich additiv. Einige bleiben bei einem einmal erreichten Max-Wert. Der Wert für den Techlevel gibt dabei ja die Upgradestufe für die zu rekrutierenden Truppen an. Eine einmal erreichte Upgradestufe kann nicht wieder rückgängig gemacht werden (also kein Downgrade möglich).
1. Beispiel:
1. Aufruf

MapEditor_SetupAI(4, 1, 50000, 0, "HQ_Player4", 0, 0)

2. Aufruf

MapEditor_SetupAI(4, 1, 50000, 2, "HQ_Player4", 0, 0)

ergibt einen Techlevel von 2 (Swordman3, usw.)

2.Beispiel:
1. Aufruf

MapEditor_SetupAI(4, 1, 50000, 1, "HQ_Player4", 0, 0)

2. Aufruf

MapEditor_SetupAI(4, 1, 50000, 1, "HQ_Player4", 0, 0)

ergibt auch einen Techlevel von 2 (Swordman3, usw.)

SetupPlayerAi()

Neben den bereits erwähnten Parametern gibt es noch zusätzliche Einstellmöglichkeiten. So ist es bspw. möglich:

Ein entsprechender Funktionsaufruf (hier für Player 2) sähe dann z.B. so aus:

SetupPlayerAi( 2, {
    serfLimit = 20,
    extracting = 1,
    resources = {
        gold = 2000,
        wood = 2000,
        clay = 2000,
        iron = 2000,
        stone = 2000,
        sulfur = 2000
    },
    refresh = {
        gold = 1000,
        wood = 0,
        clay = 0,
        iron = 0,
        stone = 0,
        sulfur = 0,
        updateTime = 120
    },
    rebuild = {
        delay = 180,
        randomTime = 1
    },
    repairing = true,
    constructing = true
})


Zur Tutorial-Übersicht