Infinity Ward äußert sich zu den Auflösungen der Next-Gen-Versionen von Call of Duty: Ghosts
Hofft bei zukünftigen Teilen auf native 1080p auf der Xbox One.
Als Infinity Wards Mark Rubin in der letzten Woche bekannt gab, dass Call of Duty: Ghosts auf der Xbox One in nativem 720p (via Upscaling in 1080p) und auf der PlayStation 4 in nativem 1080p läuft, war das für viele ein gefundenes Fressen und ein guter Grund, mal wieder über die Leistungsfähigkeit der beiden kommenden Konsolen zu diskutieren.
Im Gespräch mit Eurogamer ging Rubin nun nochmal etwas näher auf das Thema ein und zeigt sich zuversichtlich, dass man bei künftigen Teilen der Reihe auch auf der Xbox One native 1080p erreicht.
Einen Next-Gen-Launch-Titel zu entwickeln, klingt wie ein Alptraum. Kannst du die Herausforderungen beschreiben, mit denen ihr konfrontiert wart?
Mark Rubin: Besonders für unsere Techniker war es das. Glücklicherweise ähneln Xbox One und PS4 sehr einem PC, weit mehr als die Generation davor. Das half uns enorm. Wenn die Systeme ihre gänzlich eigene Architektur gehabt hätten, wie es in der aktuellen Generation der Fall ist, wäre das schwierig geworden. Allerdings gestaltete sich die Entwicklung aufgrund dessen diesmal deutlich einfacher. Ich habe den Current-Gen-Launch erlebt. Ich war bei Infintiy Ward, arbeitete an COD 2. Wir veröffentlichten es für PC und Xbox 360, aber das war unsere erste Konsole. Punkt. Es gab danach eine Menge zu lernen, aber es war lediglich eine Konsole und es ging nur um den PC und diese neue Konsole. Es war eine interessante Herausforderung.
Es für PC, zwei Current-Gen- und zwei Next-Gen-Systeme zu entwickeln, war eine gewaltige Herausforderung. Mit theoretischer Hardware zu arbeiten, wäre ein Desaster gewesen, wenn... ehrlich gesagt ist das Schwierigste nicht die Architektur. Es ist das Betriebssystem der Konsolen. Das ist das, was zuletzt an die Reihe kommt. Das Xbox-One-OS und das Sony-OS sind am schwierigsten. Bei all den Konsolen und Dingen, mit denen man arbeiten muss - dass sind die Sachen, die sich verändern, nicht die Hardware selbst.
Was genau war denn bei den Betriebssystemen das Problem?
Mark Rubin: Es gibt Bestandteile des Konsolen-Betriebssystems, die mit dem Spiel interagieren. Der Voice-Chat wird beispielsweise oftmals vom Hardwarehersteller unterstützt, nicht von der Software, und man nutzt einfach das, was vorhanden ist. Wenn sich das verändert - weil sie es bei sich weiterentwickeln - und sich die benötigten Ressourcen verändern, besteht die Herausforderung aus Sicht der Game-Designer darin, diesen Ressourcen genügend Raum zu lassen, aber gleichzeitig so viele Ressourcen wie möglich zu verwenden.
Eine der größten Herausforderungen ist das Memory Management, oder auch Thread Management. Eine CPU verfügt über eine bestimmte Zahl an Threads. Wo in diesen Threads verbergen sich die Sachen von Microsoft und Sony? Wie funktioniert es? Man hat die SDKs für diese Features noch nicht, dann kommen sie und man denkt sich, okay, es braucht 3 MB RAM - verdammt, wir haben nur zwei zugeteilt! Man kann nicht einfach von irgendwo ein MB nehmen. Es ist nicht so, als würden irgendwo haufenweise MB herumliegen. Man muss es woanders abzweigen und das alles irgendwie ausbalancieren.
Für die gesamte Engine führt das intern zu einer gewaltigen Veränderung, wenn sie den benötigten Ressourcen ein paar MB hinzufügen oder voraussetzen, dass alle Prozesse über einen Thread erledigt werden. Wenn es kein Multi-Threading gibt, müssen wir einen Thread nutzen. Und auf diesem Thread müssen wir dann den Platz dafür finden, damit kein Stau entsteht. Manchmal müssen wir etwas von einem Thread zum anderen verschieben, um mit all dem zurechtzukommen.
Genau damit haben die Programmierer oftmals zu tun: Sie verwalten den Traffic der CPU-Threads und des Arbeitsspeichers, kümmern sich um die Zuteilung des Arbeitsspeichers. Und was für ein Arbeitsspeicher ist es? Ist er dynamisch? Manchmal müssen wir 3 MB sofort zuteilen und sagen, dass genau diese 3 MB für diese eine Sache gedacht sind. Man kann sie nicht woanders verwenden. Wenn es dynamisch ist, können wir einfach sagen, dass wir 3 MB brauchen, aber es spielt keine Rolle, woher diese 3 MB kommen.
All das kann sich spontan verändern. Und man versucht sein System so zu entwickeln, dass es dazu passt - und das bei zwei Konsolen, nicht nur bei einer: Sony und Xbox. Für unsere Techniker ist es das ein ziemlicher Alptraum.
Wow. Das klingt schwieriger als ich dachte.
Ist all das, was du gerade beschrieben hast, der Grund dafür, dass die Xbox-One-Version in nativem 720p läuft und die PS4-Version in nativem 1080p?
Mark Rubin: In gewisser Weise. Ich weiß nicht, ob ich einen spezifischen Grund dafür nennen kann. Anfangs hatten wir noch keine Ahnung, bei welcher Auflösung wir am Ende sein würden, weil wir keine Hardware oder Software dafür hatten. Wie versuchten uns auf 1080p zu konzentrieren und glaubten, dass wir uns damit irgendwie an der Grenze zu einer guten Performance bewegten... Wir haben versucht, für jede Plattform die beste Entscheidung zu treffen, mit der man das bestaussehendste Spiel bei konstanten 60 Frames pro Sekunde hat.
Es gibt keinen spezifischen Grund dafür, dass wir auf der Xbox One keine nativen 1080p erreichen konnten - es lag nicht daran, dass der Voice-Chat so viele Ressourcen brauchte oder was auch immer. Ich kann euch keine konkrete Ursache dafür nennen. Es liegt einfach am Gesamtpaket. Wir schauten uns einfach jedes System separat an und sagten uns: „Okay, lasst uns das beste Spiel für jedes System machen."
Ich denke, beide sehen großartig aus. Einige würden es vielleicht bemerken, wenn sie sich beide nebeneinander anschauen. Andere wiederum nicht. Die Xbox-One-Version wird in 1080p ausgegeben, weil sie von der Hardware hochskaliert wird.
Es war auch eine späte Entscheidung, sie wurde erst vor rund einem Monat getroffen.
Was dachtest du, als sich herausstellte, dass es so sein würde. Ich nehme an, eure Techniker erklärten dir, dass es einfach so sein muss. Wie habt ihr intern reagiert? Hätten Microsofts Techniker helfen können?
Mark Rubin: Das war keine kurzfristige Sache. Er ist nicht einfach an irgendeinem Tag gekommen und hat gesagt, dass es so und so ist. Es ist ein langer Prozess. Und wir arbeiten immer mit beiden Plattformen. Es waren Microsoft-Techniker während der Entwicklung hier, sie sind immer da. Es gab nicht wirklich so etwas wie ein Event, kein Meeting. Es war einfach etwas, dass sich mit der Zeit so entwickelte. Jeder war beteiligt.
Bei den PR-Jungs sah das schon anders aus, da war es mehr so etwas wie ein Event als bei den Entwicklern, die bei der Arbeit sitzen und daran arbeiten. Also müsstet ihr sie fragen.
Jeder wird die Frage stellen, ob es schlicht daran liegt, dass die Xbox One nicht so leistungsfähig ist wie die PS4 und ihr einfach euer Bestes gebt oder ob vielleicht auch zukünftige Spiele auf der Xbox One in nativem 1080p laufen können?
Mark Rubin: Es ist sehr gut möglich, dass wir native 1080p schaffen können. Ich habe es schon in nativem 1080p gesehen. Wir haben einfach nicht die Framerate in den Bereich bringen können, wo wir sie gerne haben würden.
Und es lag nicht an mangelnden Bemühungen. Es geschah nicht in der letzten Minute. Lange Zeit arbeiteten wir mit theoretischer Hardware. So etwas bekommt man recht schnell und es verändert sich nicht dramatisch. Es ging mehr um die Ressourcenverteilung, die sich auf den Konsolen unterscheidet. Es ist ein großes Netz aus verwobenen Ressourcen, ob sie nun Thread-basiert sind, GPU-Threads oder ob es der Arbeitsspeicher ist - was auch immer -, die Optimierung kann jedenfalls nicht ewig nur in der Theorie weiterlaufen.
Ich bin definitiv zuversichtlich, dass beide Plattformen beim nächsten Mal sehr viel besser aussehen werden. Als offensichtlichen Vergleich solltet ihr euch einfach Call of Duty 2 und COD 4 anschauen. Es war in puncto Grafik ein gewaltiger Sprung nach vorne. Das liegt einfach daran, dass es Zeit braucht, um das alles zu bewerkstelligen.
Der erste Launch auf einer neuen Konsole ist immer schwierig. So ist es einfach. Für die Leute, die Angst haben, dass ein System stärker als das andere ist: Es ist noch ein langer Weg.