Ausblick auf Alpha 3.0 und das technische Fundament hinter Star Citizen

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Ausblick auf Alpha 3.0 und das technische Fundament hinter Star Citizen


      Bereits zum zweiten Mal in Folge ist es dem GameStar-Team gelungen, kurz vor dem Beginn der in Deutschland größten stattfindenden Spielemesse, der Gamescom, eine exklusive Titelgeschichte zu Star Citizen zu veröffentlichen. Während Fans vor dem Beginn einer klassischen Studiotour in einem der vier Standorte weltweit obligatorisch eine Verschwiegenheitsvereinbarung (engl. NDA) unterzeichnen und den CIG-Mitarbeitern "nur" über die Schulter schauen dürfen, konnten die Redakteure des deutschen Spielemagazins im Frankfurter Studio Foundry 42 den kommenden Alpha-Patch 3.0 bereits selbst Probe spielen und ihre Eindrücke ausführlich in der aktuellen Heft-Ausgabe, sowie online (im GameStar Plus-Format), schildern und bebildern. Soviel sei schon Vorweg gesagt - die 3.0 Demo lief mit ca. 30 FPS auf einem i7 5930K, einer Nvidia GTX 980 und 32GB RAM.

      Da der mehrseitige Artikel ins Englische übersetzt und in Stichworten zusammen gefasst seinen Weg zu Reddit gefunden hat, werde ich kurz den Aufbau des Artikels erläutern: Der Text widmet sich zu Beginn eine der neuen Missionen aus dem kommenden Patch 3.0, streift anschließend - in Kurzform - das Thema Squadron 42 und legt danach den Fokus auf die technischen Aspekte des Projekts. Da ich die Mission nicht spoilern möchte, die die GameStar-Redakteure in Frankfurt Probe spielten, werde ich im ersten Schritt auf den letzten Punkt des Artikels (Engine-Entwicklung) eingehen und im zweiten Schritt die neuen Inhalte des 3.0 Patch in den Fokus rücken. Die dafür zusammengetragenen Infos stammen aus verschiedenen Quellen. Abschließend gehe ich nochmal, basierend auf dem GameStar-Artikel, auf Squadron 42 ein.


      Engine-Entwicklung

      Star Citizen ist ein ambitioniertes Projekt. Ohne die entsprechende Technik und passenden Entwickler-Tools ließe sich dieser Titel niemals realisieren. Im GameStar-Interview wird deutlich, das nicht jede Idee so implementiert werden kann, wie es ursprünglich angedacht war. Das schreckt die Entwickler jedoch nicht ab, diese Ideen von Grund auf neu zu denken und auf einem anderen Wege eine optimalere Implementierung zu ermöglichen. Daher wurde auch ein Großteil der Zeit bislang darauf verwendet, entsprechend kreative Teams zusammen zu stellen und die technische Grundlage - in Form von Veränderungen an der Engine selbst - neu aufzubauen. Marco Corbetta und Carsten Wenzel (ehemalige Crytek Mitarbeiter und seit 2 Jahren bei CIG angestellt) verdeutlichen, dass die momentane Engine (intern auch als StarEngine bezeichnet) kaum noch der CryEngine ähnelt. Bei einem direkt 1:1 Vergleich der Engines kann man ca von 50% CryEngine-Code und 50% neuem Code sprechen. Sieht man sich allerdings im Detail an, welcher Code aktuell von Star Citizen genutzt wird, bleiben nur noch 10% des ursprünglichen CryEngine Codes über, die restlichen 90% greifen bereits auf die neuen Code-Zeilen zurück. Die zwei größten Herausforderungen waren demnach die schiere Größe des Universums sowie die Interaktionsmöglichkeiten, die innerhalb des Universums stattfinden sollen. Das erste Problem löste man nach ca. einem Jahr mit der 64-Bit Precision-Technik. Bzgl. der Interaktionen benötigte man eine Überarbeitung des sog. Job-Managements-Systems, welches die große Anzahl an Interaktionen mit NPCs und Objekten überhaupt erst ermöglicht. Künftig soll der Code alle vorhandenen CPU-Kerne voll ausnutzen.

      Eine weitere Schwäche der CryEngine war, dass nicht alles als sog. "entity", also Einheit, behandelt wurde. Durch die Änderungen des Teams können nun alle Einheiten zusätzlich verschiedene Komponenten aufweisen. Bei einem Schiff bedeutet dies bspw., dass das flight-control-system ebenso eine Komponente darstellt wie das life-support System (in Form von verschiedenen Räumen, die bspw. Sauerstoff enthalten). CIG benennt diese Technik als "Item 2.0". Sie ermöglicht dem Team, jede Komponente individuell zu testen. Laut C. Roberts stellt Item 2.0 ein sehr modernes Prinzip dar, welches beliebig erweitert werden kann, ressourcenschonend arbeitet und die Synchonisation zwischen der Spielwelt und dem Netzwerk erleichtert.
      Diese technische Weiterentwicklung hat natürlich Auswirkungen auf die Infrastruktur des gesamten MMOs Star Citizens. So war zu Beginn der Kampagne im Jahre 2012 angedacht, das Konzept anderer MMOs zu kopieren und nur eine begrenzte Anzahl an Spielern in abgekapselten Instanzen spawnen zu lassen. Derzeit (Version 2.6.3) können bis zu 24 Spieler eine Instanz betreten, was sich im Hinblick auf Alpha 3.0 vermutlich auch nicht ändern wird. Zukünftig sollen jedoch deutlich mehr Spieler in einer Instanz miteinander agieren können - nach dem rewrite des Netcodes sollen sehr viele Server (gemeint sind hier vermutlich die Amazon Web Service-Server) untereinander kommunizieren und das Zusammenspiel von tausenden Spielern ermöglichen. Derzeit beherbergt ein physical server 32 Kerne, die wiederum 8 virtual machines ermöglichen. Eine Aufstockung dieser virtual machines ist momentan noch nicht möglich, da die CryEngine dafür nicht mehr als vier Kerne nutzen kann. Ein weiteres Problem: Mehr Kerne ermöglichen keinen linearen Anstieg der Spielerzahlen, wie man ggf. vermuten könnte. Dies wird sich jedoch nach Aussagen der Entwickler in den kommenden Jahren ändern. Aktuell werden 24 Spieler mithilfe von 4 Kernen dargestellt; zukünftig soll eine Verbesserung der Mehrkernnutzung die Darstellung von mehr als 100 Spielern auf einen einzelnen Server realisieren können. Sobald diese in einem Netzwerk reibungslos miteinander kommunizieren, spielt theoretisch und praktisch jeder Spieler in ein und derselbe Instanz der Welt. Ein großer Schritt, diesem Ziel näher zu kommen, ist das sog. "Batch-updating". Mithilfe dieser Technologie wird ein Bündel an Daten von allen verfügbaren Kernen einer CPU bearbeitet, was die Synchornisierung deutlich vereinfacht. Insbesondere die Physik des Spiels wird mit dieser Methode deutlich skalierbarer. Chris Roberts Ziel: 90% der Bevölkerung soll aus NPCs bestehen.

      Ein Blick auf die Hardware der Spieler: Optimierungen für die neuen Ryzen-Prozessoren sind seitens CIGs geplant. Die Mindest-Anforderungen lauten jedoch noch immer: 4-Kern CPU, 2GB GPU, 8GB RAM - eine SSD wird empfohlen! Ca. 20 Optionen für Grafik-Einstellungen sollen zukünftig dem Performance-Bedarf nach angepasst werden können (derzeit gibt es nur eine Qualitäts-Einstellung). Downgrades soll es keine geben - das Spiel wird ja nicht für die Konsolen entwickelt. CIG zielt auf zukünftige Hardware ab; die User sollen bei Bedarf selbst ihre Settings zurückschrauben.

      Nun erfolgt ein kleiner Ausreißer in das Gefilde eines künftigen Patches. Interne Tests werden von bis zu 70 Personen begleitet, danach erfolgen zwei Community-Testwellen (Evocati mit ca. 1000 Spielern und das public test Universe (PTU) mit bis zu 20.000 Spielern). Nur die Version eines Patches, die alle Testreihen erfolgreich absolviert, geht zum Schluss online.
      Der Multiplayer-Part stellt dabei natürlich die größte Herausforderung dar. Ob etwas im Editor der Entwickler getestet wird oder über das Internet aus allen Teilen der Welt ist ein gigantischer Unterschied. Große Probleme macht ihnen dabei immer die Synchronisierung der Physik über das Internet, da diese verschiedene Gravitationen und Gravitationsrichtungen erzeugt.


      DirectX vs. Vulkan
      • Das Spiel nutzt ein Low-Level Interface wie Direct X 11. Da Direct X 12 ausschließlich auf Windows 10 läuft, will CIG für weitere API features künftig Vulcan nutzen - eine Implementierung zum Release ist das Ziel. Es kann sogar sein, dass CIG Direct X 11 danach gar nicht mehr unterstützt.
      • Vulkan ermöglicht eine deutliche Verbesserung der Nutzung von CPU-Kernen, was im Endeffekt zu mehr drawcalls führt.
      • Die CryEngine soll in nicht all zu ferner Zukunft Vulkan 5.4 unterstützen, CIG kann diese Updates jedoch nicht nutzen, da der Code mittlerweile zu differenziert ist.
      • Die aktuell vorhandenen Probleme sind mehr auf den Game Code zurückzuführen, als auf die Grafik-API. Daher erfährt dieses Thema bislang noch keine große Beachtung.


      Alles prozedural oder was?
      • Eines Tages soll Star Citizen rund 100 Sternensysteme mit mehr als 300 Planeten und Monden umfassen.
      • Jeder dieser Planeten und Monde soll begehbar sein.
      • Zum Release plant Chris Roberts 5 bis 10 Sternensysteme zu implementieren.
      • Für die Umsetzung dieses Ziels wurde die Prozedurale Planeten-Technologie entwickelt.
      • Die Planeten werden nicht generiert während man an ihnen vorbei fliegt. Stattdessen wird der Planet mit Biomen und Schichten überzogen, bspw. mit einem bestimmten Typ Wald, Gestein oder - in der Zukunft - Wasser.
      • Jeder Planet und Mond wird danach von den Entwicklern bearbeitet, um POIs (Point of Interests) und Landezonen hinzuzufügen.


      Wohin mit all den Daten

      • Während man sich durch die Spielwelt bewegt sollen dem Klient-PC stets die korrekten Daten vorliegen. Ein gesamtes Sternensystem mitsamt realen Planeten darzustellen, stellt natürlich eine techische Herausforderung dar. Daher muss das Streamen von Daten sehr effizient ablaufen.
      • Um dieses Problem zu lösen, entwickelte CIG das "Object Container Streaming".
      • Ein object container enthält all die Daten, die wichtig sind, um diesen Container darstellen zu können. Das kein ein ganzer Planet sein, eine Raumstation oder nur ein einzelner Raum einer Raumstation.
      • Star Citizen identifiziert zukünftig, welches Objekt gebraucht wird und lädt all diese Daten frühzeitig vor. Eine Hirachie sorgt dann dafür, dass die wichtigsten Dinge zuerst verfügbar sind.
      • Mehrere Kerne unterstützen ein verbessertes Streaming, da so der main thread entlastet wird.
      • Um die Technologie hardwaretechnisch optimaler unterstützen zu können, wird die Nutzung einer SSD sowie eine große Anzahl an RAM empfohlen.
      • Derzeit befinden sich aus technischen Gründen nur 4-5 spezielle Areale auf Planeten und Monden. Sobald das Object Container Streaming implementiert ist, wird die Anzahl angehoben. Dies soll laut C. Roberts bis zum Ende diesen Jahres der Fall sein.




      Inhalte der kommenden Alpha 3.0

      4 Prozedural generierte Objekte:

      - Der Planetoid Delamar mitsamt der Levski Landezone wurde aus dem Nyx-System ins aktuell vorhandene Stanton-System "gezogen", um eine weitere Landezone neben Grimhex und Port Olisar nutzen zu können.
      - Yela (Eisiger, von Kraterlandschaften gezeichneter Mond), umgeben von dem uns bereits bekannten Asteroidenfeld.
      - Cellin (von Vulkanen und Gysieren überzogener Mond)
      - Daymar (von staubige Berglandschaften durchzogener Mond, auf dem Gewitterstürme toben)


      Auf diesen werden zahlreiche kleine Inhalte eingefügt, um der Tristesse der kargen Mondlandschaften entgegen zu wirken:
      - 7-14 neue Missionen werden hinzugefügt (Anzahl richtet sich danach, ob alle Bugs noch rechtzeitig beseitigt werden können)
      - Outposts (in Form von Contrainer-Siedlungen) - prozedural generiert
      - Derelicts (Schiffswracks) - sowohl auf den Monden als auch im All
      - Mission Givers (vergeben dynamische Missionen) - bspw. "Miles Eckhardt"
      - Crossplay-Funktion ermöglicht, dass mehrere Spieler die selbe Mission bearbeiten. Dadurch sollen Spieler in der sonst weitläufigen Welt zusammen geführt werden.


      Darüber hinaus finden nachfolgende (Gameplay-)Mechaniken den Weg ins Spiel:
      - Item 2.0
      - Persistenz
      - Cargo- & Fracht-Interaktion
      - Handel von Waren über die Kiosk UI
      - Versicherung
      - Mobiglass & dazugehörige Apps (Mission Board App, Service Beacon, Star Map App, Personal Manager App, Cargo Manifest, Vehicle Customization App)
      - Character Customization


      Neue Schiffsmodell bzw. reworks:
      - Drake Dragonfly
      - Aopoa Nox
      - Ursa Rover
      - Cutlass Black (rework)
      - RSI Aurora (rework)
      - Constellation Aquila
      - MISC Prospector (ohne Mining-Mechanik)

      - FPS-Waffen (neue Modelle sowie reworks)
      - Heavy Marine Rüstung
      - Explorer Suit
      - Ausdauer-System






      Wo ist Squadron 42?

      Nachdem CIG im letzten Jahr den vertical slice zu SQ42 verschoben hat, war die Enttäuschung auf beiden Seiten groß. Laut C. Roberts befand sich die Demo, die zur Messe gezeigt werden sollte, nicht in dem Zustand, den er sich erhofft hatte. Außerdem sollte SQ42 von der neu entwickelten Planeten-Technologie mitsamt Landung und Bodengefechten profitieren. EIn weiterer Grund, der für die Verschiebung angeführt wird: Die KI. Bis Ende 2016 nutzte CIG einen Mix aus der Kythera-Technologie und der Cry-AI. Diese beiden Technologien verschmolzen die Entwickler in den letzten Monaten zur sog. "Subsumption-AI". Diese soll nun wesentlich authentischer agieren und Bewegungsabläufe flüssiger darstellen.
      Laut Chris Roberts wurde das Material, welches für den Vertical Slice von SQ42 erarbeitet wurde, nicht verworfen. Das Team hat sich dazu entschieden, den Fortschritt des letztes Jahres nicht zu zeigen und stattdessen ein finalisiertes System ohne Kompromisse und Workarounds vorzustellen. Mit dem aktuellen Zustand zeigt sich Chris Roberts sehr zufrieden. Zitat:
      "When the people see it, they will understand and they will be very happy about it. It's done when it's done."



      Zusammenfassung und persönliche Einschätzung:

      CIG hat beachtliche Fortschritte bei der Weiterentwicklung der CryEngine an den Tag gelegt und kann 5 Jahre nach Beginn der Kampagne viele Erfolge in Form von passgenauen und bedarforientierten Entwickler-Tools sowie Technologien vorweisen. Technisch ist Star Citizen daher nach wie vor auf dem Stand "von morgen" - über 400 Entwickler arbeiten tagtäglich an der Vision namens Star Citizen. Wer diese Fortschritte nicht sieht, hat tatsächlich Tomaten auf den Augen. Es ist eine Freude, das Projekt wachsen zu sehen. :thumbsup:

      Auf der anderen Seite müssen wir Bilanz ziehen und einen Rückblick wagen: Die Gamescom-Präsentation 2016 war für viele eingefleischte Fans eine kleine Enttäuschung, die vom Ausbleiben des vertical slice der SQ42-Kampagne auf der CitizenCon nochmal getoppt wurde. Die Erwartungshaltung, dass die Roberts-Brüder und ihr Team auf beiden kommenden Events (Gamescom im August & CitizenCon im Oktober) etwas Großes vorweisen sollten, ist deutlich gestiegen. Und es sieht ganz so als, als könnte CIG dieses Jahr liefern! Der GameStar-Artikel lässt keinen Zweifel daran, dass wir dieses Jahr Ausschnitte aus Squadron 42 zu sehen bekommen - vermutlich im Rahmen der CitizenCon. Ein Release der Einzelspieler-Kampagne Squadron 42 ist jedoch in meinen Augen in diesem Jahr nicht mehr realistisch.

      Und wie ist es um den kommenden 3.0 build bestellt?
      Der von CIG ursprünglich anvisierte Release-Zeitpunkt für die Alpha 3.0 - 29. Juni - wurde überschritten. Die Evocati-Tester haben zum Zeitpunkt der Veröffentlichung dieses Beitrags noch keinen Zugriff auf einen 3.0 test build.
      In Anbetracht des aktuellen Production Schedule Reports und der Tatsache, dass in vier Wochen das Star Citizen Event in Köln stattfindet, vermute ich einen holprigen Start der 3.0 Version. Nach dem Release der beiden großen Content-Updates (Version 1.0 - Dez. 2014 & Version 2.0 - Dez. 2015), waren einige Patches nötig, um die gröbsten Bugs zu beseitigen und ein stabiles Test-bzw. Spielerlebnis garantieren zu können. Darüber hinaus sorgte der Ansturm der Unterstützer in den ersten Tagen und Wochen häufig für Serverüberlastungen. Eventuell kann letzteres in diesem Jahr durch die Umstellung auf die AWS-Serverstruktur aufgefangen werden. Leider ist der von der Community getaufte "Delta-Patcher" noch nicht im Umlauf; dieser könnte wesentlich effizienter neue Inhalte und Bugfixes nachladen. Ein weiteres Detail, welches ich nicht unerwähnt lassen möchte: Die 3.0-Demo der GameStar-Redakteure lief mit ca. 30 FPS über den Schirm. Wir wissen außerdem, dass wichtige Netcode-Optimierungen erst mit Alpha 3.1 hinzugefügt werden sollen. Ich vermute daher, dass sich die Performance des kommenden builds auf einem ähnlichen Niveau bewegen wird, welches wir bereits aus 2.6.3 kennen.
      Nichtsdestotrotz stehen uns spannende Monate ins Haus! Zum Schluss möchte ich euch den jüngsten CIG-Trailer, der im Kontext von 3.0 steht, natürlich nicht vorenthalten:



      "See u in the `verse"

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von pyro ()