Für die Optik des Crowdfunding-Rekordhalters "Star Citizen" zeichnet die stark modifizierte CryTek-Engine verantwortlich. (Bild: Roland Austinat)

Wenn ein Spiel per Crowdfunding über 74 Millionen US-Dollar einnimmt, dann sollte es auch fantastisch aussehen. Das ist jedenfalls der Plan von Chris Roberts. Der Vater von "Wing Commander" will mit dem für 2016 geplanten "Star Citizen" an den Erfolg seiner früheren Weltraum-Actionspiele anknüpfen. Seit Ende 2012 wird das Spiel in Roberts' Firma Cloud Imperium Games entwickelt und ist in einer modularen Alphaversion zu 30 Prozent von den 700.000 Unterstützern spielbar, berichtete Grafikchefprogrammierer Alistair Brown in San Francisco. Auf der Game Developers Conference erzählte er unter anderem von der Herausforderung, ein realistisches Schadensmodell zu entwickeln.

Kleines Raumschiff, riesige Datenberge

Ein Blick ins Cockpit eines Raumjägers zeigt den Grund für die hohe Polygonzahl des Schiffs: Jeder Schalter lässt sich umlegen, auf jedem Display erscheinen Grafiken und Daten - und alles ist relevant für das Spiel. (Bild: Roland Austinat)

Beträgt das Verhältnis Texturen zu Polygonen bei vielen Spielen in etwa 80 zu 20, setzt Cloud Imperium Games auf doppelt so viele Polygone. Ein Blick ins Cockpit eines Raumjägers zeigt, warum das so ist: Jeder Schalter lässt sich umlegen, auf jedem Display erscheinen Grafiken und Daten – und alles ist relevant für das Spiel. "Zu Beginn der Entwicklung hatten wir mehr Inhalte als in den Speicher einer typischen Grafikkarte passen", sagt Alistair Brown. Ein Raumschiff benötigt komplett modelliert bis zu neun GByte. "Deswegen setzen wir stark auf Streaming-Techniken", erklärt Brown. Praktisch auch, dass aufgrund verschiedener Detailstufen, Blickwinkel und Schadenszustände das Schiff nie komplett zu sehen ist. Dennoch stießen die Programmierer gerade bei Szenen mit mehreren Fahrzeugen an die Grenzen der verwendeten CryEngine, die unter DirectX 11.1 beziehungsweise 11.2 läuft. Sie passten die Engine daher an ihre Bedürfnisse an: Transformations-Routinen laufen nun statt in 32 in 64 Bit, Z-Buffering in 32-Bit-Genauigkeit. "Auf moderner Hardware kommt es dadurch nicht zu Performance-Einbrüchen", sagt Alistair Brown.

Bild 1 von 8 Schiffe, Hangars, Weltraumschlachten: Chris Roberts "Star Citizen" (8 Bilder) Auch Piraten müssen manchmal schnell von A nach B kommen – und etwas Luxus hat man sich sicher auch verdient: jetzt spielbar mit dem Schiff Origins M50. (Bild: Cloud Imperium Games)

Kosmetische Schäden und Löcher in der Tragfläche

Bei Beschädigungen, die über reine Oberflächenveränderungen hinausgehen, wird das unbeschädigte Schiffsmodell an Einschlagsstellen mit einem deformierten Modell überlagert

Die Detailstufen eines Raumschiffs lassen sich problemlos im Voraus berechnen. Dynamische Beschädigungen wiederum sind unvorhersehbar und erfordern vorab definierte Polygonnetze. Ursprünglich wollten die Entwickler mit fünf verschiedenen Beschädigungsgraden arbeiten: unversehrt, zu 25, 50 und 75 Prozent beschädigt sowie komplett fluguntauglich. Doch vier verschiedene Detailstufen und mehr als zehn Baugruppen pro Schiff führen zu über 200 Polygonnetzen – und je Beschädigungsgrad fallen dabei über 100 MByte Daten an. Deshalb entwickelten die Programmierer ein dynamisches Schadensmodell. Dazu werden Schadensinformationen in der Grafikkarte gespeichert und je nach Treffer mit Pixel Shadern auf die Raumschiffgeometrie angewendet.

Die Parameter Deformation, Materialdicke, Temperatur und Verbrennung sorgen für erhöhten Realismus: Ein einfacher Treffer einer Projektilwaffe hinterlässt andere Spuren als eine Strahlenwaffe, die die Raumschiffoberfläche zum Glühen bringt. Verbrannte Farbe und verbranntes Metall reflektieren das Licht anders als durch Kugelhagel verbeultes Metall. Bei Beschädigungen, die über reine Oberflächenveränderungen hinausgehen, kommt "Geometry Morphing" zum Einsatz. Dabei wird das unbeschädigte Schiffsmodell an Einschlagsstellen mit einem deformierten Modell überlagert: Beschädigte Bereiche erscheinen nun eingedrückt, bei schweren Treffern ändert sich sogar die interne Geometrie, als sei mit einem überdimensionalen Locher ein Teil eines Flügels entfernt worden. Ein Partikelsystem sorgt dafür, dass Treffer so blitzen und funkeln, wie aus dem Kino bekannt.

Raumschlachten (nicht) im Schneckentempo

Ein mit Schiffen gefüllter Hangar kann schnell mehr als 20 Millionen Polygone besitzen. (Bild: Roland Austinat)

Doch im Größenvergleich mit einem Passagierflugzeug mit vier Triebwerken wird schnell klar: Manche Schiffe von "Star Citizen" sind sehr groß. Dutzende von Räumen inklusive, die alle von einem Piloten und seinen Freunden betreten werden können. Schließlich soll "Star Citizen" auch Online-Rollenspielelemente mit einer permanenten Spielwelt besitzen. Knapp zwei Kilometer lange Flottenträger stellen ganz besondere Herausforderungen an die Entwickler. "Weil ein Raumschiff zwischen 500.000 und 20 Millionen Polygone besitzt, kann ein gefüllter Hangar sehr schnell mehr als 20 Millionen Polygone besitzen", sagt Alistair Brown. Derzeit experimentiert Browns Team deshalb mit Textur-Arrays, die bei unterschiedlichen Detailstufen zum Einsatz kommen.

Damit das Spiel selbst dann nicht zur Diashow verkommt, setzen die Programmierer iterative heuristische Algorithmen ein, die die Zahl der pro Szene nötigen Draw Calls verringern. Passiert dies zu aggressiv beziehungsweise zu ruckelig, kann ein Grafiker auch manuell Hand an die unterschiedlichen Detailstufen und ihre Übergänge legen. An eine Massenraumschlacht mit Großkampfschiffen und Heerscharen von Jägern haben sich die Designer bislang noch nicht gewagt. Gleichzeitig schielen sie jedoch schon auf weitere Verschönerungen des Spieluniversums. Geplant sind unter anderem Gaswolken, Asteroidenfelder, Sterne, Planeten und Wurmlöcher.

Knapp zwei Kilometer lange Flottenträger stellen ihre ganz eigenen Herausforderungen an die Programmierer. (Bild: Roland Austinat)

(mfi)