Ein neues Gameplay-Framework
UE6 wird ein völlig neues Gameplay-Framework enthalten, das zusammenfassend als Scene Graph bekannt ist und von Grund auf neu auf Verse aufgebaut ist. Verse bildet die Grundlage für das zukünftige Programmiermodell von Epic. Es ist eine Programmiersprache der nächsten Generation, speziell dafür entwickelt, gewaltige, persistente Spielwelten in großem Maßstab anzutreiben, in denen der globale Zustand einfach funktioniert und die transaktional korrekte Gleichzeitigkeit von der Laufzeitumgebung verarbeitet wird. Scene Graph ist ein modernes High-Level-Gameplay-Framework, das dir eine echte Grundlage bietet, um ganz einfach Spiele und Erlebnisse zu erstellen und ihre interoperablen Komponenten zwischen Spielen zu teilen.
Verse greift Ideen aus funktionalen, logischen und imperativen Sprachen auf und sollte sich sofort vertraut anfühlen, wenn du schon mit Sprachen wie Python oder C# gearbeitet hast. Aber es weist auch einige einzigartige Funktionen auf, die darauf abzielen, die Komplexitäts- und Skalierungsprobleme der modernen Spieleentwicklung zu lösen – beginnend mit seinem einzigartigen Software-Transaktionsspeichermodell.
Sämtliche Funktionen in Verse laufen als Teil von atomaren Transaktionen, die bei Bedarf zurückgesetzt und neu simuliert werden können. Diese Transaktionssemantik erstreckt sich auch auf jeden C++-Code, der von Verse aufgerufen wird. Damit das alles funktioniert, läuft Verse vorerst mit einem einzelnen Thread und ruft C++-Code auf, der über einen benutzerdefinierten LLVM-Compiler erstellt wurde, der den C++-Code automatisch transaktionalisiert. Grundsätzlich können wir diese Methode erweitern, um Transaktionen automatisch gleichzeitig auf verschiedenen Threads auszuführen, aber wir müssen noch etwas Arbeit investieren, um dies auf Hardware zu erreichen, die entsprechend skaliert.
Das Interessanteste, was dies für große, lebendige Welten ermöglicht, ist, dass wir mit UE6 daran arbeiten, ein vollständiges verteiltes Software-Transaktionsspeichersystem aufzubauen. Wir beabsichtigen, den bestehenden Ein-Thread-Verse-Spielcode zu nehmen und ihn dann automatisch auf mehrere Server zu verteilen. Wenn ein Objekt auf einem Server im Cluster benötigt wird, macht die Verse-Laufzeit die aktuelle Transaktion rückgängig, migriert das Objekt auf den entsprechenden Server und führt die Transaktion dann erneut mit dem jetzt vorhandenen Objekt aus.
Der Trick dabei ist, dass dein Spielcode so geschrieben werden kann, als würde er auf einer einzelnen Maschine laufen und nicht überall benutzerdefinierten Netzwerkcode koordinieren muss. Hinter den Kulissen können viele Server hochgefahren werden, um die Arbeit automatisch zu verteilen. Unsere frühe Prototypenarbeit ist vielversprechend und hat gezeigt, dass wir sowohl „Single-Server“-Code schreiben als auch eine Performance-Skalierung durch die transparente Verteilung der Arbeit erzielen können.
Noch besser: Die Verteilungs- die Transaktionssemantik vereinfachen das Speichern von Spieldaten erheblich. Die Verse-Laufzeit kann automatisch jeden globalen Zustand für das Programm synchronisieren und speichern und diesen Zustand über sämtliche laufenden Instanzen eines Spiels oder Ökosystems hinweg teilen.
Für den Spielprogrammierer bedeutet dies, dass das Einrichten von etwas wie einem Speicherzustand für einen Spieler so einfach ist wie das Definieren einer einzigen globalen Karte von Spieler zu gespeichertem Zustand. Du musst keine Datenbanken mehr einrichten und Schemata zwischen deinem Spiel und anderen Backend-Diensten koordinieren. All das geht, ohne Verse jemals zu verlassen. Die frühen Stadien davon kann man in den weak_map-Persistenzfunktionen von UEFN in Aktion erleben, die vorwärtskompatibel mit der hier beschriebenen allgemeinen Methode sind.
Wir glauben, all dies zusammen führt zu einem wirklich leistungsstarken neuen Programmiermodell für die Zukunft.
All dies wird schrittweise in UEFN und UE6 eingeführt, während wir Fortschritte bei der Vereinheitlichung der beiden Produkte machen.
Portable Inhalte
Sprechen wir nun über das zweite Leitprinzip der UE6: Inhalte und Code sollten über Spiele und Engines hinweg portabel sein. Unser Ziel ist, der Spielebranche eine ganz neue Möglichkeit zu geben, unsere Ökosysteme um Cross-Promotion und den Mehrwert der mobilen Spieler zu erweitern sowie wirklich all jene Win-Win-Dynamiken zu nutzen, die Metcalfes Gesetz für die Verbindung von Erfahrungen und sozialen Graphen vorhersagt.
Wir erzielen dies mit einer entschlossenen Anstrengung, um UE über die reine Erweiterbarkeit hinaus auf offene Spezifikationen für die Interoperabilität hin zu entwickeln. Wo bestehende Standards wie glTF oder USD die Anforderungen von UE6 erfüllen können, werden wir sie zu erstklassigen Formaten innerhalb der Engine machen. Wo noch kein Standard existiert, der den Anforderungen von Spielökosystemen gerecht wird, werden wir die Systeme von Unreal als offene Spezifikationen mit Verse-APIs, definierten Asset-Konventionen und Dokumentation öffnen, gegen die jede Engine, jedes Werkzeug oder jedes Studio implementieren kann.
Kosmetische Inhalte für Fortnite werden unser erster echter Beweis für die Portabilität sein. Wir beginnen mit dem Verschieben des Basissystems hin zu einem offenen UE6-Modul. Das bedeutet: Du hast die Möglichkeit, berechtigte Fortnite-Outfits eines Spielers in deinen eigenen Spielen zu verwenden, und du erhältst die Werkzeuge, um Outfits für deine eigenen Spiele zu erstellen, die in Fortnite funktionieren. Wir gehen dieses Problem zuerst an, weil wir die Dinge mit einem System erproben wollen, das komplex genug ist, um einen aussagekräftigen Existenzbeweis für die Idee zu liefern, und das von Natur aus einen großen Spielerwert mit sich bringt, indem es die Käufe der Spieler in einem vernetzten Ökosystem von Spielen respektiert.
Wir sehen dies als den ersten Schritt zum Aufbau einer gemeinsamen Wirtschaft für Smart-Assets: funktionale Assets mit Logik und Funktionalität, die spielübergreifend funktionieren, um der Zeit und den Ausgaben der Spieler besser gerecht zu werden. Am Ende ist dies tatsächlich nicht bloß eine reine Fortnite-Sache. Es geht darum zu beweisen, dass ein so ausgereiftes komplexes System in großem Maßstab funktionieren kann – und dass jedes Spiel, das mit diesen Systemen arbeitet, sofort davon profitieren wird.
Kreativitäts- und Produktivitätsmultiplikatoren mit deinen bevorzugten Modellen
Zum Thema modellgestützte Erstellung sehen wir, wie sie hilft, Iterationsschleifen zu verkürzen und den zeitaufwändigen manuellen Aufbau von Levels, Charakter-Rigs, Partikelsystemen, dem Skinning von Bone-Gewichten, dem Anpassen der Beleuchtung usw. zu reduzieren: die gesamte manuelle Arbeit, die erforderlich ist, um die professionelle kreative Absicht in interaktive, performante und plattformübergreifende Spiele zu übersetzen. Entscheidend ist: Die Unreal Engine ist einzigartig positioniert, um als effiziente, plattformübergreifende Laufzeit mit hoher Wiedergabetreue zu fungieren, die als Grundlage vieler der besten Spiele der Welt dienen wird.
So sehen wir für die UE6 LLMs generative KI-Modelle und Werkzeuge wie Claude und Codex in einer zentralen Rolle, die dir helfen werden, Inhalte schneller zu erstellen, während du die von dir benötigte kreative Kontrolle behältst. Ein großer Teil unserer Arbeit besteht darin, eine breite Palette von Engine-Fähigkeiten über das MCP-Protokoll bereitzustellen, damit Entwickler die besten Spitzenmodelle kombinieren und individuelle Integrationen aller Art auf einer offenen Unreal Engine 6 MCP-Basis aufbauen können. Wir verbessern auch den Epic Developer Assistant (EDA) als optionale einsatzbereite Lösung, die für alle standardmäßig verfügbar ist.
Unser Ziel für die Unreal Engine 6 ist, die mühsame Arbeit bei der Inhaltserstellung erheblich zu reduzieren, um der kreativen Erkundung mehr Zeit einzuräumen und die Anzahl der Iterationen zu erhöhen, die ein Team durchführen kann, um seine Inhalte zu verfeinern. UE6 wird mit Werkzeugen und Workflows ausgeliefert, bei denen du deine eigenen Lieblingsmodelle mitbringen kannst – erprobt gegen die interne Entwicklung und in UEFN.
Auch intern haben wir bei Epic viel geforscht, um zu sehen, was für die Code-Generierung funktioniert – und was nicht. Wir haben vor Kurzem eine ziemlich breite Nutzung für die Code-Generierung und KI-Analyse in unseren Backend-, Engine- und Spieleentwicklungs-Engineering-Teams ermöglicht.
Wir hatten besonderen Erfolg mit Leuten, die maßgeschneiderte Werkzeuge für ihre eigene Arbeit schreiben: rasante Code-Indexierungswerkzeuge, die LLMs helfen, große Codebasen wie Unreal Engine zu handhaben, schnelle Incidence Response Analysis, automatisierte Root Cause Crash- und CIS-Jobfehleranalysen, automatisierte Testgenerierung und natürlich die Beschleunigung und Parallelisierung, die man bei der Backend-Service-Entwicklung erwartet.
Interessant dabei: Die meisten dieser Anwendungsfälle generieren nicht einmal den Hauptcode der Unreal Engine, obwohl das wahrscheinlich auch irgendwann kommen wird. Du darfst erwarten, dass die Unreal Engine 6 auch sämtliche wichtigen Erkenntnisse für die Verwendung von Codegen im Engineering zusammen mit Content-Workflows enthalten wird.
Gemeinsam aufbauen
UE6 wird vieles daran ändern, wie Spiele gemacht werden. Sie wird nichts an dem ändern, was am wichtigsten ist – Dass die Menschen in dieser Branche, die Spieleentwickler, die Filmemacher, unsere Unreal Engine-Familie, diejenigen sind, die tatsächlich etwas bewirken. Vielen Dank, dass du die Unreal Engine so zum Strahlen bringst.
Auf dem Weg zum Early Access werden wir noch viel mehr zu berichten haben: darunter Tiefenanalysen zum neuen Gameplay-Rahmen, zu Verse, Scene Graph und zu den modellgestützten Workflows, die wir in die Produktionswerkzeuge integrieren. In der Zwischenzeit: Baue weiter auf UE5 und UEFN auf. Alles, was du heute veröffentlichst, ist ein Schritt hin zu dem, was wir gemeinsam in der Unreal Engine 6 veröffentlichen werden.