Bücher online kostenlos Kostenlos Online Lesen
Erfolgreiche Spieleentwicklung

Erfolgreiche Spieleentwicklung

Titel: Erfolgreiche Spieleentwicklung
Autoren: Alexander Rudolph
Vom Netzwerk:
KI-Gegner jederzeit zurückgreifen können. Obwohl diese Technik regelrecht aus der Steinzeit der Spieleentwicklung stammt – sie kam bereits in den ersten Arcade-Spielen wie Space Invaders zum Einsatz – lassen sich Bewegungsschablonen auch in heutige Spiele sinnvoll integrieren. Betrachten wir hierzu als Beispiel den Flug eines Raumfrachters von der Erde zum Mars:
Ein Raumschiff dockt an einer Raumstation im Erdorbit an und nimmt Treibstoff und Fracht auf
Das Schiff verlässt den Erdorbit und steuert den Mond an
Das Schiff fliegt eine Station im Mondorbit an
Zusätzlicher Treibstoff für einen interplanetaren Raumflug wird aufgenommen
Das Schiff verlässt den Mondorbit und steuert den Mars an
    Bewegungsschablonen, wie sie in früheren Arcade-Spielen verwendet wurden, helfen uns an dieser Stelle natürlich nicht weiter. Früher wurden lediglich die Richtungen abgespeichert (Up, Down, Left, Right, Wait), in die sich ein KI-Gegner zu einem bestimmten Zeitpunkt bewegen sollte. Um den Flug unseres Raumfrachters zu simulieren, benötigen wir ein Pattern Instruction Set, wie es in KI-Demo1 zum Einsatz kommt:
Pattern Step 1: Wait
Pattern Step 2: Move To Position
Pattern Step 3: Move To Object
Pattern Step 4: Wait
Pattern Step 5: Move To Position

4.2 KI-Scripting
    Die zunehmende Komplexität heutiger Spiele stellt die KI-Programmierer vor immer neue Herausforderungen. Die Anzahl der zu bewältigenden Aufgaben steigt an (Wegfindung, Einzel-KI, Gruppen-KI, Umgebungs-KI, Planung, Bau, Ressourcengewinnung, Storytelling usw.), das Regelwerk vergrößert sich (die Anzahl der Situationen, die ein KI-Objekt zu bewältigen in der Lage sein muss) und die KI-Objekte müssen mit zerstörbaren, immer detailreicheren und zugleich weitläufigeren Umgebungen interagieren können. Um die im Verlauf der KI-Entwicklung auftretenden Schwierigkeiten möglichst frühzeitig in den Griff zu bekommen, sollten die einzelnen KI-Routinen schrittweise verfeinert und von Fehlern befreit werden. Hierzu ist es notwendig, dass die KI parallel zur Entwicklung ausführlichen Tests unterzogen wird, in denen die KI-Objekte gegeneinander und gegen den Spieler antreten (schrittweiser interaktiver Designprozess). Um den Entwicklungs- und Balancing-Prozess nicht durch aufwändige Projekt-Rebuilds unnötig in die Länge zu ziehen, sollten zudem so viele Teile der KI-Programmierung wie möglich in externe Skripte ausgelagert werden. Im Bereich der Spieleentwicklung erfreut sich die Skriptsprache Lua großer Beliebtheit. Entwirft man ein Framework oder eine Game Engine von Grund auf neu, bietet sich alternativ die Entwicklung eines eigenen Skriptsystems an. Das prominenteste Beispiel hierfür ist die Sprache UnrealScript , die in allen auf der Unreal -Engine basierenden Spielen zum Einsatz kommt.
    In den KI-Programmbeispielen auf Basis des in Kapitel 2 vorgestellten Graphics and Physics Frameworks nutzen wir spezialisierte Skriptinterpreter, die jeweils für einen einzelnen Verwendungszweck entworfen wurden (Animation, Partikeldarstellung, Textureffekte, Movement Pattern, Definition von zeitgesteuerten und getriggerten Ereignissen). Der Vorteil von spezialisierten Skriptinterpretern besteht darin, dass sich ein Skript auf eine einfache Abfolge von Anweisungen reduzieren lässt. Betrachten wir als Beispiel ein Movement-Pattern-Skript (Listing 4.1).
    #NumMovementPatternSteps:# 7

Set_MovementPatternStep_MOVE_TO_OBJECT Parameterliste
Set_MovementPatternStep_MOVE_TO_POSITION Parameterliste
Set_MovementPatternStep_MOVE_IN_RANDOM_DIRECTION Parameterliste
Set_MovementPatternStep_MOVE_TO_RANDOM_AREA Parameterliste
Set_MovementPatternStep_MOVE_IN_DIRECTION Parameterliste
Set_MovementPatternStep_MOVE_TO_RANDOM_POSITION Parameterliste
Set_MovementPatternStep_END Parameterliste
    Listing 4.1
    Nach dem gleichen Prinzip lassen sich selbstverständlich auch komplexe Handlungsabläufe (Storytelling) skripten, denn im Grunde besteht eine Mission lediglich aus einer Abfolge von zeitgesteuerten und getriggerten Ereignissen. Während sich die Handlung mithilfe von zeitgesteuerten Ereignissen unabhängig vom Verhalten des Spielers vorantreiben lässt, berücksichtigen getriggerte Ereignisse das augenblickliche Spielgeschehen (Spieler betritt einen bestimmten Bereich, hat eine Aufgabe erfolgreich beendet usw.). Betrachten wir hierzu einige der Anweisungen des im Graphics and Physics Framework implementierten Skriptsystems für die Definition von zeitgesteuerten und getriggerten
Vom Netzwerk:

Weitere Kostenlose Bücher