GO Wofür werden Partikelsysteme normalerweise eingesetzt?
AD Mit Partikelsystemen lässt sich eine Vielzahl von Effekten erzeugen, von Wetterphänomenen bis hin zum Staub und Schmutz, den Fahrzeuge bei der Fahrt durchs Gelände aufwirbeln, und vom Mündungsfeuer kleiner Waffen bis hin zu gewaltigen Explosionen und wütenden Feuersbrünsten. Partikelsysteme werden für die Modellierung von nahezu jeder Art von Rauch, Gas oder Flüssigkeit eingesetzt.
GO Wie komplex ist das Partikelsystem von Operation Flashpoint*: Dragon Rising? Welche Berechnungen muss der Prozessor beispielsweise bei einer Explosion durchführen?
AD Bei einer Explosion muss die CPU zwei eng verknüpfte Systeme verarbeiten. Das erste ist die im Spiel verwendete Havok*-Physics Engine. Sie steuert die Bewegungen und die Interaktionen großer Objekte, die durch die Explosion an einen anderen Ort versetzt werden, sowie ihre Verformung und Zerstörung. Das zweite System ist die Partikelsimulation selbst, die das Erstellen der schichtweise aufgebauten Partikelsysteme umfasst.
GO Haben Sie für die Partikelsysteme von Operation Flashpoint: Dragon Rising innovative Funktionen eingeführt oder eine neue Richtung eingeschlagen?
AD In Flashpoint wollten wir drei Hauptelemente anpacken. Zuerst entwickelten wir ein flexibles und äußerst effizientes CPU-basiertes System, mit dem wir eine gewaltige Zahl von Effekten gleichzeitig erzeugen können. Als nächstes entwickelten wir unsere EGO*-GPU-Lösung weiter, damit wir große Rauchschwaden über die Schlachtfelder wehen lassen können, ohne dabei die Bildfrequenz zu beeinträchtigen. Und schließlich bauten wir einen brandneuen EGO-Partikeleditor, mit dem unsere Grafikteams die letztendlich erzeugten Effekte schnell, wiederholt und umfassend steuern können.
GO Inwieweit werden bei der Verarbeitung der Partikelsysteme Mehrkernprozessoren und die Hyper-Threading-Technik berücksichtigt?
AD Das Partikelsystem läuft auf einem System, das aufgabenbasiert und auf die Multicore-Technik ausgerichtet ist. Basierend auf der Anzahl der Prozessorkerne erstellt das System eine feste Anzahl von Threads. Es kann sich anpassen und die aktiven Partikeleffekte auf die optimale Anzahl von Threads verteilen. Die optimale Thread-Anzahl variiert je nach Hardware. Das für Operation Flashpoint: Dragon Rising verwendete EGO ordnet verschiedene Threads bestimmten Aufgaben zu, zum Beispiel die Verarbeitung der kritischen Spiellogik oder den Datenfluss zur Grafikengine. Die übrigen Threads werden an den Task-Manager übergeben. Bei Systemen mit minimaler Spezifikation wird das Partikelsystem in einem einzelnen Thread ausgeführt, den es sich mit einer der primären Aufgaben teilt. Diese Funktionsweise ist einer der Gründe, warum das Spiel immens von einem Prozessor mit vier oder mehr Kernen profitiert.
GO Gibt es im Spiel noch weitere Systeme, für die eine schnelle CPU von Vorteil ist?
AD Eine schnelle CPU ist für viele Aspekte wichtig. Operation Flashpoint: Dragon Rising verwendet massenweise künstliche Intelligenz (KI) mit hoher Komplexität, und für die hierfür erforderlichen Berechnungen bringt eine leistungsfähige CPU deutliche Vorteile. Sogar die Grafik profitiert von einer guten CPU, da eine große Anzahl individueller Einheiten im Spiel eingesetzt wird, deren Rendering vorbereitet werden muss. Außerdem verarbeitet die CPU Filterroutinen für die Sichtbarkeit, die ermitteln, was der Spieler aus seinem Blickwinkel sehen kann. Zusätzliche Kerne sind hier von Nutzen, da zahlreiche Aufgaben gesplittet und parallel verarbeitet werden können.
Eine besonders aufwendige Funktion ist die Pfadsuche, anhand der die KI feststellt, wie sich Charaktere und Fahrzeuge von einem Punkt zum nächsten bewegen. Diese Aufgabe ist umso schwieriger, da die Spieler durch ihre Handlung die Umgebung verändern können.
GO Können Spieler davon ausgehen, dass sie einen Unterschied bemerken, wenn sie das Spiel auf einem Intel® Core™ i7 Prozessor ausführen?
AD Ja, der Intel Core i7 Prozessor ist eine ausgezeichnete Plattform für Operation Flashpoint: Dragon Rising. Er liefert Spitzenleistung für kritische Threads, wie den Hauptspielverlauf, und darüber hinaus kann das aufgabenbasierte und auf die Multicore-Technik ausgerichtete System der EGO-Engine die große Anzahl logischer Prozessoren auf der CPU verwenden, um die Rendering- und Aktualisierungs-Threads deutlich zu entlasten.
In Kürze: Unser zweites „Inside the Game“-Entwicklerinterview wird ausführlicher auf die Herausforderungen eingehen, mit denen Entwickler beim Schreiben des äußerst wichtigen Pfadsuche-KI-Codes konfrontiert sind.