Vorheriger Beitrag: Entwicklergemeinde trifft sich auf der OOP 2009
Lernen mit Crytek: Deshalb ist Crysis erfolgreich
Anfang Dezember haben Crytek und Ascaron den Deutschen Entwicklerpreis 2008 verliehen bekommen. Acscaron für Sacred 2 – Fallen Angel und Crytek für Crysis. Beiden Spielen liegt eine Menge an Optimierungsarbeit zugrunde. Soll heißen, dass beide Softwareschmieden ihre Erfolgstitel intensiv auf Multicore-Plattformen abgestimmt haben, damit diese bestmöglich auf zwei, vier, acht oder mehr Prozessorkernen skalieren.
In beiden Fällen wollten wir natürlich wissen, welche Anstrengungen unternommen wurden, um die Spieletitel zu parallelisieren. Tja, und heute haben wir Teil eins unserer Fragen zurückbekommen, und zwar von Crysis. Geantwortet hat der Director of Technology höchstpersönlich, Mister Mark Atkinson. Mark zeichnet übrigens verantwortlich für erfolgreiche Titel wie Burnout Revenge und Football Manager 2009, die er vor seiner Zeit bei Crytek mitentwickelt hat.
Software Dev Blog: Mit welchen Tools haben Sie Crysis für Multicore-Plattformen optimiert?
Mark Atkinson: Wir setzen im Wesentlichen eigene Tools ein, um den Quellcode unserer Spieletitel wie Crysis für Multicore-Plattformen zu optimieren. Aber auch externe Anwendungen wie der VTune Performance Analyzer kommen bei uns zum Einsatz. Dieser ist für uns vor allem wegen des Thread Profilers interessant, mit dessen Hilfe wir überprüfen können, in welchem Umfang und in welcher Qualität die Parallelisierung des Spieletitels gelungen ist.
Welche Hürden mussten Sie bei der Multicore-Optimierung überwinden?
Atkinson: Die wesentliche Arbeit bestand darin, die Game-Engine völlig umzukrempeln. Wir mussten nämlich große Teile des sequenziell programmierten Quellcodes parallelisieren, damit bestimmte Aufgaben wie die KI, Effekte etc. gleichzeitig ablaufen. Nur so konnten wir das optimale Spielerlebnis erreichen, das Crysis auszeichnet.
Welche Tipps würden Sie Entwicklern geben, wenn diese parallelen Programmcode schreiben wollen?
Atkinson: Die Hauptregel lautet: Erstelle fehlerfreien Sourcecode vom ersten Moment an. Denn parallel programmierte Anwendungen und Spiele lassen sich nur sehr aufwändig testen und debuggen. Daher sollte man von Anfang an darauf achten, dass sich erst gar keine Fehler in den Code einschleichen. Wir setzen hierfür erprobte Methoden, Bibliotheken und Hilfesysteme ein, die uns dabei unterstützen. Außerdem sorgen wir dafür, dass unsere Software-Entwickler bestens in Sachen Paralellprogrammierung ausgebildet sind. Denn nichts erfordert mehr Know-how als der Umstieg von der sequenziellen auf die parallele Programmierung.
Keine ähnlichen Artikel.



Kommentare
Keine Kommentare vorhanden.