Skip to main content

Sacred 2: Das 1080p/Technik-Interview

Einblick in die Arbeit der Engine-Coder

Digital Foundry: Du sprichst davon, dass ihr das Performance-Ziel verpasst hättet… was meinst du damit, V-Sync?

Tobias Berghoff: Unser Performance-Ziel war hauptsächlich konstante 30 FPS mit „weichem“ V-Sync. Ich sage „hauptsächlich“, weil Sacred 2 nicht die Menge an Feinden auf dem Bildschirm limitiert, um die Performance hochzuhalten. Das war eine bewusste Entscheidung der Spieldesigner und jeder war sich bewusst, dass dies im Grunde unmöglich macht, eine minimale Bildrate festzulegen. Ich schätze, man könnte umherlaufen und 100 Feinde um sich versammeln, um sie alle mit einem flächendeckenden Zauber zu töten, obwohl ich das selbst nie probiert habe.

Das Problem mit einem harten V-Sync ist, dass man, sobald man nicht schnell genug ist, buchstäblich Frames “fallen lässt“. Das bedeutet, dass deine Bildrate 60 durch einen Integer ist, etwa 60, 30, 20, 15, 12, usw. Von 30 FPS auf 20 FPS zu gehen, ist eine ziemlich unangenehme Erfahrung, weshalb wir Tearing zugelassen haben (d.h.: kein V-Sync), wenn wir 30FPS unterschreiten. Das ist im Grunde dasselbe, wie das worüber die Sony-Liverpool-Jungs in dem WipEout-Interview gesprochen haben.

Was wir verfehlt haben, war der Teil mit den 30 FPS. Zumindest auf der PS3 ist das ein CPU-Problem. Sofern man nicht ein paar wirklich gemeine Sachen in seine Richtung wirft, ist der Renderer in der Lage, auf 30 FPS zu laufen, aber die CPU hält ihn zurück. Es ist tatsächlich der klassische Kampf, einen PC-Code auf die SPUs zu kriegen. In einem 33ms-Frame hat man etwa 200ms an SPU-Zeit zur Verfügung, von denen wir etwa 50ms nutzen. Es ist also noch eine Menge Power frei. Wir hatten nur einfach nicht die Zeit, mehr Systeme neu zu schreiben. Auf der Xbox kann man prinzipiell die gleichen Multi-Threading-Tricks benutzen wie auf dem PC. Das ist also leichter für den Gameplay-Code. Was allerdings fehlt, ist die rohe Power der SPUs, was es schwieriger macht, GPU-Aufgaben auszulagern. Daher kommt der Performance-Vorteil, den ihr bei eurer Technikanalyse gemessen habt.

Am Ende war niemand wirklich glücklich mit der Performance, aber wir hatten - im Durchschnitt über die Lebensdauer des Projektes – etwa vier Technik-Programmierer auf der Xbox und zwei auf der PS3, was nicht gerade dem Plan entsprach. Dennoch: Meine Entschuldigung an alle Framerate- und Tearing-fühligen Leute da draußen.

Digital Foundry: Sony hatte die 1080p-Fähigkeiten der PS3 ziemlich eifrig beworben – gibt es etwas in ihren Tools, um Third-Party-Entwicklern die Arbeit zu erleichtern? Es sieht so aus, als wären die meisten der ambitionierten 1080p-Titel First-Party-Spiele.

Tobias Berghoff: Es gibt wirklich nichts Auflösung-spezifisches an ihren Tools. Man muss einfach die bestmögliche Renderleistung erreichen, aber das ist ja immer der Fall. Egal wie viele Pixel man shadet. Davon abgesehen hat Sony aber einige erstaunliche Tools fürs Debugging und Profiling des Rendering-Codes und die LibGCM API stellt sich nicht der Performance in den Weg.

Ich persönlich denke, es gibt zwei Hauptgründe dafür, dass 1080p eher ein First-Party-Ding ist. Zunächst einmal war die Xbox zuerst da, ziemlich genau gleichstark wie die PS3 und beschränkt auf 720p. Ein Entwickler setzt sich also Ziele in Sachen Bildqualität und im speziellen bei der Pixel-Shader-Komplexität, um sich an diese Situation anzupassen. Als die PS3 erschien, hätte niemand, der bei vollem Verstand ist, ihre Per-Pixel-Arbeit halbiert, um das Spiel auf 1080p zum Laufen zu bringen. Das ist also mein erster Grund: Aktuelle Bildqualitätsstandards basieren auf 720p – und wenn wir mal ehrlich sind, selbst das ist schon eine Herausforderung.

Der zweite Grund ist, dass die Zahl der Leute, die auf 1080p-Bildschirmen spielen recht niedrig ist. Es bringt also nur wenig Mehrwert für die meisten Verbraucher. Bei Sacred 2 war das ein bisschen anders, weil wir die Auflösung brauchten, um akzeptable Bildqualität zu erreichen.

Wir sind derzeit in einer recht interessanten Situation, weil alle Konsolenspieler die gleichen Games in 480p durch Komponentenkabel und in 1080p per HDMI spielen. Es ist nicht einfach, für all diese Leute eine gleich tolle Erfahrung zu erschaffen und man braucht dazu mindestens maßgefertigte GUIs für jede Auflösung. Am Ende des Tages ist es das vermutlich einfach nicht wert für Third-Party-Entwickler, während es für First-Party-Entwickler ein nettes Marketing-Mittel ist.

Funktioniert es als ein Marketing-Mittel? Schwer zu sagen. Ein schneller Google-Check zeigt, dass ungefähr zwei Prozent der Seiten, auf denen die Konsolenversion von Sacred 2 Erwähnung findet, auch 1080p im Zusammenhang erwähnen. Bei Wipeout HD liegt dieser Wert bei 2.7 Prozent. Zum Vergleich: Bei Assassin‘s Creed sind es 0.9 Prozent. Interpretiert das, wie ihr mögt.

Digital Foundry: Euer Spiel ist “Full HD” auf 360 und PS3 und liefert in 1080p vergleichbare Performance… davon ausgehend: könnte man sagen, dass euch auf beiden Plattformen in etwa dieselbe Render-Power zur Verfügung steht? Falls nicht, besteht da nicht die Gefahr, dass Third-Party-Entwickler in einigen Fällen 720p bevorzugen, einfach nur, um auf beiden Plattformen das gleiche Ergebnis zu erzielen?

Tobias Berghoff: Ich formuliere es für gewöhnlich so: Die Optimallösungen für beide Plattformen sind überraschend gleichwertig in Sachen Performance (Wartet, Fanboys! Ich bin noch nicht fertig!). Alles andere abseits davon ist auf der Xbox halbwegs schnell und auf der PS3 absolut schrecklich.

Natürlich hängt das davon ab, was dein Spiel macht. Wenn man viel Overdraw hat, beispielsweise von Partikelsystemen, gewinnt die Xbox mühelos. Wenn man wiederholt den Buffer tauscht, so dass er wechselnd Render-Ziel und Textur ist, verprügelt die PS3 die Xbox und nimmt ihr auch noch das Essensgeld ab. Was wir herausgefunden haben, war, dass im Fall von unserem Spiel (und das kann man wirklich nicht auf andere Spiele übertragen!): Was eine Komponente gibt, nimmt die andere wieder weg. Die Xbox shadet eine Sache schneller, zahlt dafür aber beim Resolve. Die PS3 macht Shadow Filtering mit den SPUs, zahlt für Partikelsysteme aber extra. Stephan und ich hatten einen wirklich lustigen Wettbewerb für die besten Frametimes. Letzten Endes war das Ergebnis in etwa gleich. Manchmal gewinnt die Xbox, manchmal die PS3.

Was die aufgezwungene Gleichheit anbetrifft, macht man sich natürlich über seine Möglichkeiten Gedanken. Es besteht immer das sehr reale Risiko, dass man eine sehr negative Reaktion bekommt, wenn eine Version weniger leistet. Ich weiß nicht, ob sich das auch wirklich auf die Verkaufszahlen auswirkt, aber als Third-Party will man wirklich nicht so dastehen, als würde man ein System dem anderen vorziehen. Ich bin wirklich froh darüber, dass wir diese Wahl nicht treffen mussten. Ich kann dir aber sagen, dass einen nur wenige Dinge mehr motivieren, als die Tatsache, dass deine Version die „langsame“ ist.

Digital Foundry: Spricht etwas dafür, In-Game-Optionen zu integrieren, mit der man die Performance-Level wählen kann, wenn die 1080p-Performance im Vergleich hinter 720p zurückbleibt? Bei einem Auto-Scan wählt die PS3 automatisch auf 1080i auf vielen 720p-Bildschirmen, was in vielen Fällen zu unnötiger Skalierung und Performance-Problemen im Vergleich zum vollkommen fehlerfreien 720p führt.

Tobias Berghoff: Nun, die Auflösung ist etwas, um dass sich das OS der Konsole kümmert, nicht das Spiel. Aber sie sollten wahrscheinlich unaufdringliche spielbezogene Auflösungseinstellungen unterstützen. Die Performance-Optionen, die nicht die Auflösung betreffen, halte ich nicht für eine gute Idee. Die Feineinstellung sollte vom Entwickler vorgenommen worden sein und nicht vom Spieler.

Digital Foundry: Was hältst du von dem dynamischen 1080p-Framebuffer, der in WipEout HD genutzt wird?

Tobias Berghoff: Ich hab ihn nicht in Aktion gesehen, aber technisch mag ich ihn sehr. Für ein Rennspiel, in dem man nicht wirklich die Zeit hat, die einzelnen Pixel zu bewundern, ist es eine verdammt schöne Lösung.

Digital Foundry: Was ist die Situation beim Sacred-2-Entwicklungsteam im Moment, wenn man die finanziellen Probleme von Ascaron bedenkt? Bist du schon bei einer neuen Firma?

Tobias Berghoff: Das PC-Team wird aufgelöst und zum ersten dieses Monats wird das Studio geschlossen [Anm. der Redaktion: Zum Zeitpunkt der Veröffentlichung bereits geschehen]. Der Großteil des Konsolenteams hat vor einigen Wochen eine neue Firma gegründet (Gaming Minds Studios). Ich bin derzeit am königlichen Observatorium von Belgien und arbeite als Programmierer in der Solar-Physik-Abteilung. Aber ich habe vor, zum Ende des Jahres wieder in der Spiele-Industrie zu arbeiten.

Sacred 2: Fallen Angel ist für PC, PlayStation 3 und Xbox 360 erhältlich.

Schon gelesen?