DayZ-Statusreport vom 04. April 2017

Im DayZ-Statusreport erweist uns in dieser Woche ausnahmsweise Lead Producer Eugen Harton anstatt von Creative Director Brian Hicks die Ehre. Unterstützt wird er von Lead Designer Peter Nespesny, Lead Gameplay Programmer Miroslav Maněna und Map Designer Adam Franců. Im Bereich Animationen gibt es generelle Informationen im Entwicklerinterview mit Viktor Kostik.

DayZ- und Early-Access-Entwicklung

Es ist auch dem Lead Producer nicht unbekannt, dass es weitreichend Bedenken zur DayZ-Entwicklung gibt. Vieles davon, was aktuell in der Entwicklung geschieht, ist Pionierarbeit und in der jungen Early-Access-Geschichte wurde eine offene Entwicklung in diesen technischen Umständen noch nicht versucht. Das Beispiel DayZ zeigt die Vor- und Nachteile.

Early Access ist eine dynamische Umgebung, die sich fundamental von traditionellen Entwicklungsprozessen unterscheidet. Als Lead Producer steht Eugen Harton zu den im Team getroffenen Entscheidungen, sieht aber dennoch die Fehler in der Präsentation der technischen Änderungen. Dabei handelt es sich um essentielle Bausteine, die mit der Zeit eine starke Veränderung der Spielerfahrung bedeuten werden. Sie betreffen:

  • Renderer
  • Netzwerk-System
  • Steuerung
  • Script
  • Sounds
  • Physics
  • Werkzeuge / Konsolen
  • Server-Client-Architektur in den meisten Systemen
  • Animationen
  • sämtliche Gameplay-Systeme, die im Script geschrieben sind.

An all diesen Systemen wird gearbeitet und iteriert, während auf den öffentlichen Zweigen Daten erhoben und neue Systeme Stück für Stück getestet werden. Das sorgt in der Folge für ein gewisses Fehlen an sichtbarem Fortschritt, weil die Entwicklung zwar in Bewegung ist, jedoch einiges an Zeit benötigt, um öffentlich vorzeigbare Form anzunehmen. So sind die meisten der Systeme aktuell nur intern nutzbar, und das Team verbringt bedeutend Zeit damit, die veralteten Systeme zu beseitigen, während die neuen untereinander verbunden werden.

Aus Alt mach Neu

So zum Beispiel das veraltete Physic-System, dass schwer auf die Server-Performance schlägt. Da diese Systeme alle statisch im Code festgeschrieben waren, müssen alleine für das Austauschen der Physics gleich mehrere ausgetauscht werden. Aber dieser Aufwand ist es wert: Denn wie wir bei DayZ und auch vielen Konkurrenz-Titeln sehen, kann eine schlechte Server-Performance jedes Spiel ruinieren. Aus diesem Grunde wurde hier praktisch von neu angefangen, um die Physics vom Code in ein gescriptetes Modul zu übertragen.

Jedes Problem in DayZ hat eine Ursache – die meisten dieser Ursachen sind den Entwicklern bekannt und sie haben bereits Lösungen dafür entwickelt. Ein Beispiel dafür sind die „tödlichen Treppen“, die ihre Ursache in einer Kombination aus Daten-Umrechnung, den Physics, der Kollision, Server-Client-Architektur und selbst dem Script und Spieler haben. So benötigt es für ein scheinbar simples Problem Jahre, um es permanent und effizient zu beheben. Es wäre zwar möglich, in wenigen Wochen einen Fix zu erhalten, der wäre jedoch so oberflächlich und kurzfristig, dass er beim nächsten Patch wieder fehlschlagen könnte und die gesamte Arbeit damit für die Katz wäre. Das Entwicklerteam arbeitet für den langfristigen Erfolg des Spiels, nicht für die kurzfristige Beschwichtigung der Community.

Und darin liegt das Problem am Early-Access-Ansatz: Arbeiten benötigen Zeit, aber es zeigt sich in der Entwicklung, dass man die Geduld der Community nicht durch lange, technische Begründungen erkaufen kann. Würden die Entwickler den aktuellen Stand der neuen Technik auf Stable schicken, hätten die Spieler nicht mehr als eine Tech-Demo. Noch macht diese keinen Spaß. Es ist ab diesem Punkt, wenn die neue Technik auf dem Stand ist, dass das Gameplay ausreichend spielbar ist, um Spaß zu machen, dass die Beta freigegeben wird.

Wald in DayZ
Ebenfalls im Wandel: Die Wälder von Chernarus.

Ein anderes Beispiel aus der Entwicklung sind die aktuellen Arbeiten an den neuen Spielersounds. Diese haben ihre Wurzeln weitaus tiefer im Spiel, als man bei ein paar Tapsern vermuten möchte: Denn neben den Soundfiles, die von der Datenstruktur und technik unterstützt und bearbeitet werden müssen, gibt es die sogenannten Events, die dafür sorgen, wann welcher Sound abgespielt wird. Diese Events wiederum sind mit dem Gameplay verbunden, wie z.B. Spieleraktionen. Dem liegt wiederum die gesamte Struktur des Spiels zugrunde wie das Script, die Animationen, Items und die Umwelt. Im Gesamten muss eine übereinstimmende Ordnung herrschen.

Auch dieses System war früher im Code festgeschrieben, also schwer zu optimieren oder gar zu ändern. Jetzt werden auch die Sounds modular gestaltet, damit es leichter geändert oder auch erweitert werden kann. Aufgrund der Zusammenhänge im Code kann man hier aber nicht einfach ein Zahnrad aus dem Getriebe nehmen und erwarten, dass dennoch alles problemlos läuft.

Heißt für das Beispiel Spielersounds: Das Team ist aktuell im Prozess, den neuen Sound Event Manager zu schreiben. Dann müssen die Sounds in der Datenstruktur verbunden und Events definiert werden, die sie für die neuen Animationen der Spielerbewegung starten. Nebenbei werden mit Update 0.62 die Texturen überarbeitet, damit das Spiel Oberflächen besser erkennt oder ob ein Sound z.B. innerhalb oder außerhalb eines Hauses gespielt wird. Gleichzeitig wird ein Weg programmiert, die Daten im Animations-Editor zu ändern, damit diese Events sichtbar erstellt werden und nicht nur ein Loop gespielt wird wie im alten System. Am Ende all dieser Arbeit hören wir schließlich Schritte, wenn der Fuß des Spielers den Boden berührt.

Das mag zunächst dumm klingen, aber all diese Systeme erweitern auf lange Sicht gleichermaßen die Möglichkeiten für Entwickler und Modder. Das wird nicht leicht, aber die DayZ-Entwicklung wird entgegen aller Troll-Behauptungen auch nicht einfach so aufhören.

Inventar, Gesten und Fahrzeug-Physik

Das Inventar-UI wird neu geschrieben. Das ist notwendig, um unter der Forderung nach neuen Features und ambitionierten Spieleraktionen, Crafting, Attachments und Inventar-Verwaltung ein besseres, saubereres, funktionableres und vor allem schnelleres Inventar-UI zu erhalten.

Das Gesten-System wurde in das Enforce-Script implementiert und ist nicht mehr fest im Code, was mehr Möglichkeiten erlaubt. Getrieben vom neuen Animationssystem bringt es fließendere Steuerung und Übergänge von der gewählten Geste zur regulären Bewegung. Da die Zahl der Emotes zu groß wurde, wird jetzt an einem radialen Menü zur Auswahl gearbeitet (eine Tastenbindung wird aber weiterhin möglich sein).

Das Auto Sedan in DayZ
Verschiedene Schadensstufen an den Teilen des Sedans.

Durch Veränderungen an der Fahrzeug-Physik und -Simulation soll auch die visuelle Variation von Fahrzeugen erweitert werden. So sollen Teile wie Türen, Motorhauben und ähnliches jetzt von Fahrzeugwracks an- und abschraubbar werden und verschiedene Kombinationen von Farbe und Zerstörungsgrad erlauben.

Animations-Meilenstein und Netzwerk-Optimierung

Sämtliche Tiere und Infizierten werden jetzt über das neue Animationssystem gesteuert. Damit ist das alte System komplett aus dem internen Build entfernt. Das heißt, die Entwickler können sich auf eine Art der Implementierung konzentrieren und eine Menge veralteten Code entfernen. Jetzt müssen die weiteren Features (wie oben schon von Eugen erklärt) mit dem System verbunden werden, um Probleme wie zum Beispiel das Schieben von Spielern durch die KI zu beheben.

Die Interaktion mit der Umwelt wurde ebenfalls stark modifiziert: Sie läuft jetzt nicht mehr in gegenseitiger Abfrage zwischen Client und Server, sondern ausschließlich auf Client-Seite. Das bedeutet eine geringere Netzwerk-Auslastung und keine Verzögerung mehr dabei. Dazu wird es eine serverseitige Überwachung dieser Aktionen geben, um in Konfliktfällen (z.B. zwei Spieler greifen nach demselben Item)  oder im Falle von Cheating einzugreifen.

Die Stimmkommunikation über das Netzwerk läuft jetzt ebenfalls über eine Client-Server-Struktur. Das optimiert nicht nur den Voice-Datenverkehr, sondern es sind auch endlich keine Peer-to-Peer-Verbindungen zwischen den Spielern mehr nötig. Mit diesen Änderungen können die Scripter auch endlich mit Arbeiten an erweiterten Kommunikations-Features beginnen, wie einem öffentlichen Adressieren oder statischen Transmittern wie der Radiostation.

Map Design für Update 0.62

Hier wurden große Fortschritte mit den Färbungen der neuen Vegetations-Assets gemacht. Das stellt einen wichtigen Meilenstein für den Release vom 0.62-Update dar und fokussiert sich darauf, dass die Assets gut zusammenpassen und richtig nebeneinander aussehen. Durch das neue Färbungs-Feature werden zusätzlich ortsspezifische Eigenheiten in der Färbung geschaffen. Bitte beachtet, dass es sich bei allen hier gezeigten Bildern um Work in Progress handelt – nichts, was ihr hier seht, ist final.

Wald in DayZ
Alt: Ein rotfarbiger Einheitsbrei mit wenig Abwechslung.
Wald in DayZ
Neu: Gezielte Grünschimmer bringen mit dem neuen Färbungsfeature Abwechslung in die Wälder.

Weiterhin wurden junge Nadelbäume hinzugefügt, wo bisher nur voll-ausgewachsene, dicht Bäume möglich waren. Die dünneren Bäume sollen einen Eindruck von jüngeren Wäldern bieten, da in Chernarus seit Generationen aktiv Holz gefarmt und neu angebaut wird.

Wald in DayZ
Alt: Ein dichtgewachsener Tanennwald, wie praktisch überall auf der Karte zu finden.
Wald in DayZ
Neu: Ausgedünnte, jüngere Baumpopulation mit weniger Zweigen.

Die Überarbeitung der Westgrenze von Chernarus geht ebenfalls voran. Zuletzt wurden die westlichen, bisher ausschließlich prototypisch vorhandenen Wälder durch gezielte Generierungen ersetzt. Auch dabei handelt es sich nur um die erste Iteration, es ist noch einiges geplant.

Wald in DayZ
Neue Vegetation an der westlichen Mapgrenze.

Wir suchen Redakteure! Wenn ihr Interesse daran habt, engagiert und aktiv beim Projekt 'Survivethis' mitzumachen, sendet uns einfach eine E-Mail an bewerbung@survivethis.news!
Mehr Infos gibt es hier!

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.