Chris Angelini und Johan Andersson sprechen über Battlefield 4 und Frostbite 3
Letzte Woche habe ich mich mit Johan Andersson zusammengesetzt, den Sie als Rendering-Architekt im Frostbite-Engine-Team bei DICE kennen, um über Battlefield 4, Frostbite 3, Next-Gen-Konsolen und AMDs Mantle-Initiative zu sprechen. Wenn Sie Battlefield 4 in den Wochen seit seiner Veröffentlichung genossen haben, dann sind Sie natürlich bereits mit seiner Arbeit vertraut.
Als Battlefield 3 zum ersten Mal vorgestellt wurde, habe ich mehrere Tage damit verbracht, die Einzelspieler-Kampagne durchzuspielen und in der Mehrspieler-Komponente herumzuspielen und die neuesten Grafikkarten und CPUs zu testen. Johan half dabei, Feedback zu Engpässen, Grafikfunktionen und Tests zu geben. Zwei Jahre später war es gut, ihn wieder einzuholen.
Chris Angelini: Es war großartig, wieder mit dir zu sprechen, Johan, und herzlichen Glückwunsch zu Battlefield 4. Ich habe die gesamte Kampagne am Abend der Veröffentlichung durchgespielt, um einen Benchmark für meinen GTX 780 Ti-Test zu erstellen.
Johan Andersson: Ja, es tut auch gut, mit dir zu reden.
Chris: Also, ich habe über das neue Spiel, Frostbite 3, Konsolen und Mantle nachgedacht. Zunächst einmal haben Sie eindeutig viel mit AMD zu tun. Verwendet DICE Middleware für das Audio von Battlefield 4 oder eine hausinterne Lösung? Gibt es Pläne, TrueAudio-Unterstützung zu integrieren?
Johan: Wir verwenden im Wesentlichen unsere eigenen Audiolösungen, die wir hier im Haus haben. Derzeit gibt es keine Pläne, TrueAudio zu verwenden. All das kam ziemlich spät für uns und wir waren ziemlich zufrieden mit dem, was wir hatten. In Zukunft werden wir dies wahrscheinlich untersuchen. Nicht speziell für BF4, sondern für Frostbite im Allgemeinen. Wir hatten nicht wirklich Zeit, es vollständig auszuwerten und was es bedeuten könnte.
Chris: In Ordnung. Also, welches Feature von Battlefield 4 hat dich am meisten begeistert, als es erfolgreich implementiert wurde?
Johan: Das ist eine gute Frage. Ich bin mir nicht wirklich sicher. Ich schätze, es mag nach Marketing klingen, aber ich sage Levolution. Wir haben seit geraumer Zeit dynamische Radiosity in unserer Engine. Und wir haben die Engine mit Frostbite 3 erweitert, um sie jetzt etwas flexibler zu machen, aber wir sehen nur, wie Künstler mit der gesamten Frostbite-Toolbox verschiedener Arten von Beleuchtungsänderungen, Wetteränderungen und -effekten herumspielen und dies in der Praxis anwenden. Wie Paracel Storm zum Beispiel in BF4, wenn Sie sehen, dass das gesamte Level stürmisch wird und Sie sehen, wie sich das Wasser ändert und es zu regnen beginnt. Der Himmel verändert sich. Tatsächlich ist die Beleuchtungsänderung auf dem Level ziemlich signifikant, und wir haben auch viele dynamische Windsimulationen auf Bäumen und verschiedenen Arten von Laub hinzugefügt. Nur zu sehen, dass alle irgendwie zusammenkommen, und dann haben wir natürlich den Marketingnamen Levolution dafür hinzugefügt. Ich denke, das ist wirklich cool und wirkt sich ziemlich auf das Gameplay aus, was Spaß macht.
Chris: Ja, und ich würde zustimmen. Levolution und was es für die Zerstörung bedeutet, ist auch eines meiner Lieblingsdinge am Spiel. Was musste technisch getan werden, um dies zu erreichen? Warum sind nicht mehr Spiele diesen Weg gegangen, mehr zerstörbares Gelände hinzuzufügen?
Johan: Das ist ein bisschen schwer zu sagen. Alle Spiele haben unterschiedliche Einschränkungen, richtig? Wenn Sie eine Einzelspieler-Kampagne erstellen, ist dies möglicherweise nicht wirklich sinnvoll. Für Battlefield und sein Multiplayer-Spiel war es jedoch schon immer ziemlich groß angelegt und es passierten ziemlich viele verschiedene Dinge in den Levels, und es machte für uns Sinn, immer mehr dynamische Dinge hineinzubringen. Es ist auch etwas, das ein bisschen bedeutet, dass es eher zu einem ausgereiften Motor geworden ist. Wenn Sie nicht nur an Ihren Low-Level-Systemen arbeiten oder sich nur darauf konzentrieren, Ihren Renderer zu erstellen, müssen die Inhaltsersteller tatsächlich wissen, wie sie die Engine verwenden und erweitern, was ziemlich viel Arbeit erfordert. Und dann die Künstler zu haben, die sehr daran gewöhnt sind, mit Ihrer Engine zu arbeiten; Um ehrlich zu sein, erfordert es viel Flexibilität, auch innerhalb der Engine, um all diese Systeme steuern zu können und sicherzustellen, dass sie gut zusammenspielen. Aus Performance-Sicht kann es auch ziemlich schwer sein, nur Wind zu simulieren und all die Wassersimulationen durchzuführen, die wir machen. Das erfordert enorme Mengen an Parallelität und Rechenleistung, insbesondere wenn man versucht, dies mit 60 FPS auf den Konsolen zu tun.
Chris: Richtig.
Johan: Da müssen wir uns sehr anstrengen. Ich glaube nicht, dass es wahrscheinlich nicht so viele andere Studios oder Spieleteams da draußen gibt, die all diese Dinge zusammen haben, um so etwas erreichen zu können.
Chris: Ja, sicher, okay. Ich glaube, Sie verwenden in Frostbite 2 bereits einen Compute-Shader für kachelbasierte verzögerte Schattierung, richtig?
Johann: Ja.
Chris: Wie baut Frostbite 3 auf dem auf, was Sie mit DirectCompute machen?
Johan: Wir haben Unterstützung für den Compute-Shader; das ist im Wesentlichen unser wichtigster Teil. Wir haben den Lighting Compute Shader seit BF3 erheblich optimiert, auch um mehr Optimierungen daran vorzunehmen, was ganz nett ist. Wir haben auch daran gearbeitet, einige unserer Unschärfen und Nachbearbeitungen darin durchzuführen. Oh, und unsere Sprite-Tiefenschärfe verwendet tatsächlich einen Compute-Shader. Wir verwenden dies bei Ultra-Detaileinstellungen für den PC, um eine Art Bokeh-Form für unsere Schärfentiefe zu erhalten. Der Compute-Shader orchestriert all das, um sicherzustellen, dass er eine wirklich gute Leistung liefert. Dann rendern wir es mit der Grafikpipeline. Wir haben mit DirectCompute an vielen verschiedenen Stellen nasse Füße bekommen, und ich denke, dass es für uns in Zukunft wirklich wichtig sein wird, die Leistung damit weiter zu optimieren.