Erfolgreiche Spieleentwicklung
der Effekt-Slot-ID das AL_EFFECTSLOT_NULL -Flag gesetzt werden:
alSource3i(SoundSource, AL_AUXILIARY_SEND_FILTER, AL_EFFECTSLOT_NULL, 0, AL_FILTER_NULL);
4 Grundlagen und fortgeschrittene Themen der KI-Programmierung
Neben der Grafik- und Audioprogrammierung gilt die künstliche Intelligenz als dritter Eckpfeiler der Spieleentwicklung. Dieses Kapitel befasst sich mit dem Einsatz von Bewegungsschablonen, KI-Skripten, Zustandsautomaten, Entscheidungsbäumen und Verhaltensnetzwerken sowie mit der Echtzeit-Wegfindung und dem Schwarmverhalten. Zwei Programmbeispiele im Downloadbereich unter www.entwickler-press.de/spieleentwickeln [5] dienen zur Demonstration der in diesem Kapitel behandelten Themen.
Die künstliche Intelligenz (KI) trägt seit jeher maßgeblich zum Spielspaß eines Computerspiels bei. In Spieleklassikern wie dem legendären Space Invaders sorgten die KI-Routinen lediglich für eine halbwegs intelligente Bewegung der Computergegner. Die Illusion einer lebendig wirkenden Spielewelt wurde zum ersten Mal in den Computerspielen der Elite -Reihe erschaffen. Nach nur wenigen Minuten stellte sich beim Spieler das Gefühl ein, man würde gemeinsam mit vielen weiteren Mitspielern den Weltraum bereisen, Handel treiben, Missionen absolvieren oder in kriegerische Auseinandersetzungen verwickelt werden. In Anbetracht der geringen Rechenleistung damaliger Computer war der in diesen Spielen erreichte Grad an Realismus einfach verblüffend. Auf heutigen Computern stehen für die KI-Berechnungen sehr viel mehr Ressourcen zur Verfügung, trotzdem sind die Computergegner noch weit davon entfernt, sich wie echte menschliche Mitspieler zu verhalten. Dumme KI-Gegner sind genauso unerwünscht wie perfekte, rücksichtslos auf Sieg programmierte Gegenspieler. Es kommt auf die Schwächen an. Jeder Spieler hat seine Freude daran, einen Gegenspieler auszutricksen. Wichtig ist jedoch, dass ein KI-Gegner aus seinen Fehlern lernt. Sobald man die KI auf immer gleiche Art und Weise überlisten kann, geht der Spielspaß verloren. Gute Computergegner sollten sich zudem adaptiv verhalten und sich der Spielweise des Spielers anpassen können. Insbesondere in den ersten Missionen, wenn sich ein Spieler noch mit einem Spiel vertraut machen muss, sollte nicht jeder kleine Fehler sofort rücksichtslos bestraft werden.
Ein letzter Punkt betrifft das Schummeln. Moderne Spiele sind mittlerweile derartig komplex, dass eine KI vielfach nur mit unlauteren Mitteln ein gewisses Maß an Spielstärke erreichen kann. In Strategiespielen werden Gebäude nicht selten nach im Vorfeld definierten Mustern platziert, oder die KI-Gegner verfügen im Unterschied zum Spieler über zusätzliche Informationen über die aktuellen Gegebenheiten in der Spielewelt. Es ist nichts Verwerfliches daran, wenn eine KI schummelt, um dadurch den Spielspaß zu erhöhen. Der Spieler sollte davon jedoch möglichst nichts mitbekommen, da sich das dann zwangsläufig negativ auf das Spielvergnügen auswirken würde.
4.1 Zielverfolgung, Flucht und Zufallsbewegung
Die KI-Routinen der allerersten Spiele nahmen kaum mehr als einige wenige Codezeilen in Anspruch. Können Sie sich noch an das Spiel Pac Man erinnern? Die künstliche Intelligenz der Gespenster, die dem Spieler das Leben schwer machten, bestand im Wesentlichen aus drei einfachen Routinen. Im Normalzustand jagten sie den Spieler dank eines einfachen Zielverfolgungsalgorithmus kreuz und quer durch ein Labyrinth:
Zielverfolgung Schritt 1: Abstand zum Gegner bestimmen
Zielverfolgung Schritt 2: Bewegungsrichtung so ändern, dass sich der Abstand zum Gegner verringert
Nach dem Verzehr einer Kraftpille besaß der Spieler vorübergehend die Fähigkeit, die Gespenster zu fressen. Während dieser Zeitspanne mussten sich die Geister mithilfe eines einfachen Fluchtalgorithmus in Sicherheit bringen:
Flucht Schritt 1: Abstand zum Gegner bestimmen
Flucht Schritt 2: Bewegungsrichtung so ändern, dass sich der Abstand zum Gegner vergrößert
Von Zeit zu Zeit änderten die Gespenster zudem ihre Bewegungsrichtung nach dem Zufallsprinzip, wodurch ihre Bewegungen weniger vorhersagbar und zugleich abwechselungsreicher wirkten.
Bewegungsschablonen früher und heute
Komplexere Flugmanöver und Bewegungsabläufe lassen sich mithilfe von Zielverfolgungs- und Fluchtalgorithmen nicht realisieren. An dieser Stelle kommen sogenannte Bewegungsschablonen (Movement Patterns) ins Spiel: Im Vorfeld definierte Bewegungsmuster, auf welche die einzelnen
Weitere Kostenlose Bücher