Epic Games hat am 4. Oktober 2017 technische Optimierungen aus der Entwicklung von Fortnite Battle Royale vorgestellt. Im offiziellen Tech-Blog beschreibt das Unternehmen Änderungen an Unreal Engine 4, die auch anderen Teams mit großen Mehrspielerwelten zugutekommen sollen.
Fortnite Battle Royale war für bis zu 100 gleichzeitige Spieler auf einer 5,5 Quadratkilometer großen Karte ausgelegt. Der dedizierte Server sollte dabei mit 20 Hz arbeiten und die Netzwerkbandbreite möglichst gering halten. Epic begrenzte unter anderem die Zahl der Spieler, die pro Frame Aktualisierungen erhalten, auf 25 in der Lobby und 50 während des Spiels.
HLOD und automatisierte Kartenaufbereitung
Für die große Sichtweite setzte Epic auf Hierarchical Level of Detail, kurz HLOD. Dabei werden Bereiche der Karte zu einem niedrig aufgelösten Mesh zusammengefasst, das mit einem einzelnen Draw Call dargestellt werden kann. Ein neues Commandlet sollte den Neuaufbau der HLODs über Nacht automatisieren, damit Künstler nicht auf lokalen Rechnern warten mussten.
Die Verbesserungen gingen über Fortnite hinaus. Epic stellte die Änderungen in Perforce und GitHub bereit und kündigte an, einen Teil davon mit Unreal Engine 4.18 sowie weitere Komponenten mit Version 4.19 auszuliefern. Der Xbox-One-Start von The Culling hatte einige Monate zuvor ebenfalls gezeigt, wie Battle-Royale-Konzepte auf der Konsole umgesetzt wurden.
Weniger Speicherbedarf auf Xbox One
Für Xbox One und PlayStation 4 arbeitete Epic zusätzlich an der Speicherverwaltung. Effizientere Aktualisierungen von Volumentexturen senkten den Spitzenbedarf laut Tech-Blog um mehr als 240 MB. Auf Xbox One kamen außerdem unterschiedliche Render-Target-Layouts, eine geringere Belegung der D3D12-Descriptor-Heaps um 120 MB und eine bedarfsgerechte Verwaltung von Render Targets hinzu, die weitere 100 MB oder mehr einsparte.
Epic nennt außerdem eine Reduzierung der Eingabelatenz durch Änderungen an der Thread-Synchronisierung. Bei Spielen mit 30 Hz sollte die Latenz um rund 66 Millisekunden sinken, bei 60 Hz ungefähr um die Hälfte. Die Angaben beziehen sich auf die von Epic beschriebenen Optimierungen in der damaligen Entwicklungsfassung der Engine.

