Star Citizen: Grafiktricks und galaktisch zerstörte Toiletten
"Es wird riesige Schiffe geben, die innen voll ausgestattet sind – sogar mit Toiletten. Und dann fliegen Massen an Feinden drum herum und machen alles kaputt": Für Alistair Brown, der bei Cloud Imperium Games(öffnet im neuen Fenster) für die Programmierung der Grafik von Star Citizen zuständig ist, ist das ein Problem. "Und es wird nicht leichter dadurch, dass Chris Roberts uns immer wieder die Vorgabe macht, bei allen Aspekten des PC-Weltraumspiels auf höchste Qualität zu setzen."

Auf der Game Developers Conference (GDC 2015) in San Francisco hat Alistair Brown vor allem über die Herausforderungen gesprochen, die das Zerstören von Schiffen mit sich bringt. Denn die Jäger und Bomber, aber auch Fregatten und Raumstationen explodieren nicht einfach nur. Stattdessen kann sich die Hülle als Folge von Treffern nach innen oder über sogenannte Height Maps scheinbar nach außen biegen. Je nachdem, welche Waffe der Gegner verwendet, glüht, dampft oder blitzt die Hülle – oder ein Flügel oder eines der Module jedes normalen Schiffs fällt gänzlich ab.
Die Entwickler müssen dafür sorgen, dass alle diese Möglichkeiten quasi jederzeit ohne spürbare Verzögerung abgerufen werden können. Dazu muss nicht nur das Raumschiff im Speicher vorhanden sein, sondern viele Arten von Texturen mit Schmauch- oder Brandspuren, von dem ganzen Jäger und einem zu 25 Prozent, 50 und 75 Prozent und von einem zu 100 Prozent zerstörten Schiff – und das setzt viel Speicher voraus.
Schon bevor die Schiffe zerstört werden, hat auch ein leistungsstarker PC genug mit ihrer Darstellung zu tun. Ein typischer, eher kleiner Raumjäger besteht laut Brown in Star Citizen aus kurzer Distanz aus rund 500.000 Polygonen, große Zerstörer aus fünf bis zehn Millionen Polygonen; bei zunehmender Entfernung wird der Level of Detail natürlich heruntergeschraubt. "In einer Szene im Hangar müssen wir vielleicht zwei bis drei Millionen Polygone berechnen – aber im schlimmsten Fall können es durchaus auch 20 bis 30 Millionen sein", so Brown über den MMO-Teil von Star Citizen.
Für die Berechnung der Schiffe ist vor allem die GPU zuständig. Das schafft zwar gewisse Probleme beim Speicher, aber die CPU wäre schlicht zu langsam. Einer der Tricks von Cloud Imperium Games, um dieses Problem zumindest etwas zu entschärfen: Die Schiffe sind so aufgebaut, dass 60 Prozent ihres gesamten Speicherbedarfs für die Texturen und 40 Prozent für die Geometrie verwendet werden – genreüblich würde dieses Problem eher bei 80 zu 20 Prozent liegen, so Brown. Weniger Textur bedeutet auch weniger belegter Platz im RAM.
Streaming mit explosiven Hindernissen
Außerdem setzen die Entwickler so stark wie möglich darauf, die Daten per Streaming durch den Speicher zu schleusen. "Das funktioniert natürlich nur so lange richtig gut, bis etwas Unvorhergesehenes passiert – also etwa ein Schiff zerstört wird", sagte Brown, nach dessen Angaben allein die "Damage States" pro Schiff mindestens 100 MByte groß sind.
.jpg)
Die Entwickler halten fast alle Daten, inklusive etwa von Schadenstexturen, im Speicher der GPU vor. Um Platz zu sparen, sind gerade mal fünf Prozent Schadensgrafiken für die Darstellung von Treffern reserviert, während 95 Prozent der tatsächlichen Anzeige auf der Außenhülle erst bei einem Treffer durch Algorithmen der GPU berechnet werden.
Natürlich gibt es neben solchen eher aufwendigen Tricks auch ein paar einfache, aus anderen Titeln bekannte Mittel. Wenn etwa ein Spieler in den Flügel eines feindlichen Jägers ein Loch schießt, wird dort nicht etwa die gesamte Geometrie neu aufgebaut, sondern – vereinfacht gesagt – eine transparente Textur appliziert.
Cloud Imperium Games arbeitet aber auch an Alternativen und probiert vieles neu aus: "Wir versuchen derzeit, die Schadensanzeigen im Buffer zu halten. Damit könnten wir sie besonders schnell auf das Schiff legen – das bringt vor allem dann etwas, wenn ein Schiff in einem Durchgang mehrfach getroffen wird", so Brown.
Ganz dezent deutet er übrigens an, dass Star Citizen möglicherweise nicht nur – wie bislang kommuniziert – DirectX-11.2 unterstützt, sondern möglicherweise DirectX-12; offiziell festlegen wollte er sich aber nicht. Nebenbei ist Brown auch darauf eingegangen, wie der MMO-Teil von Star Citizen in Sachen Serverstruktur aufgebaut sein wird. Das Spiel wird ein instanziertes MMO, in dem Planeten oder Raumsektoren auf jeweils eigenen Servern berechnet werden.
Als einen der Vorteile des Projekts bezeichnet er, dass die Entwickler das Spiel in Module unterteilt haben. Einige davon, etwa der Hangar und die Weltraumkämpfe von Arena Commander, sind ja bereits als Vorabversion für die Community verfügbar. Gleichzeitig könnten so aber viele Teams an dem Projekt arbeiten – seit kurzem übrigens auch in Deutschland: Cloud Imperium hat mittlerweile einen kleinen Ableger in Frankfurt am Main gegründet.
- Anzeige Hier geht es zum Handbuch für Softwareentwickler bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.


