Im vierten offiziellen Entwickler-Interview von Bohemia Interactive stellt sich der leitende Gameplay-Programmierer Mirek Maněna den Fragen der DayZ-Community. Die Fragen behandeln die Aufgaben seines Teams und aktuelle Herausforderungen.
Im Detail ist DayZ auf drei Ebenen programmiert: Als Grundlage dient die Engine. Auf zweiter Stufe arbeiten die Gameplay-Programmierer und darüber die Designer auf Scriptbasis. Die Aufgabe von Mirek's Team liegt in der Arbeit am Netzwerk-Code, Komponenten wie dem Charakter-System, dem Inventar und der Central Economy.
Als Leiter seiner Abteilung hat er den Überblick über den Quellcode. Er deligiert die anstehenden Aufgaben an seine Programmierer und diskutiert Vorgehensweisen für bspw. Optimierungen.
Er liebt die Arbeit an DayZ, weil der Titel aufgrund vieler Faktoren eine große Herausforderung darstellt. Darunter fallen die Nutzung von Nah- und Fernkampfwaffen, eine riesige, offen bespielbare Welt und, dass es sich um ein MMO mit zahlreichen Spielern handelt.
Von den Game-Designern erhält sein Team Aufträge, wie zum Beispiel das Implementieren neuer Inhalte wie einem Damage-System. Wenn die Programmierer eine Version fertiggestellt haben, reichen sie diese an die Designer weiter und erhalten Feedback zur weiteren Optimierung. So entwickelt sich in Zyklen ein neues Feature.
Der Grafikspeicher soll nicht für immer auf maximal 2 GB beschränkt bleiben. In Zukunft soll es das Engine-Team ermöglichen, mithilfe des 64-bit Clients bessere Systeme zu unterstützen.
Die Central Loot Economy ist aktuell in der Lage, die Menge sowie Position von Loot und Infizierten zu steuern, und diese ohne extra-Patch zu verändern. Es ist dazu eine interessante Idee, über diese Mechanik später vielleicht auch das Wetter steuerbar zu machen.
Die bisher größte Aufgabe seines Teams ist die Überarbeitung des kompletten Netzwerk-Codes zur Optimierung der Server-Client-Verbindung. Auch die Charakter-Simulation fordert den Programmierern alles ab, um die wichtigen Komponenten vom Hardcode ins Script zu übertragen. Das soll es den Game-Designern und später auch den Moddern erleichtern, selbstständiger an eigenen Spieleraktionen zu arbeiten.
Ein weiterer Kernpunkt ist die Vermeidung von Input-Lag - also der Verzögerung von der Eingabe einer Aktion bis hin zu Umsetzung durch den ingame-Charakter. Dieses in Action-Spielen extrem lästige Problem entsteht oft durch Schwächen in der Server-Performance. Im Fall von DayZ werden hier weniger Simulationsschritte aufgezeichnet und fehlende durch Interpolation ersetzt.
Der erste Teil des Interviews auf Englisch.
Ein DayZ-Server funktioniert - simpel gefasst - in drei Schritten: Im ersten werden Input-Daten vom Spieler-Clienten zum Server gesendet. Dieser interpretiert die Daten dann und setzt sie in der Spielwelt um. Das Resultat - sei es eine Animation, Aktion, Menü oder ähnliches - sendet er dann an den Spieler zurück. Die Simulation, die im zweiten Schritt stattfindet, verlangt der CPU aktuell noch sehr viel ab, und im dritten Schritt muss die Netzwerk-Auslastung optimiert werden. Für letzteres haben die Entwickler bereits einen Plan, um das Netzwerk zu entlasten.
Dem Problem mit der Simulationsrate wurde mit einer Mechanik entgegen gewirkt, welche die Simulationsschritte von Tieren und Infizierten, die weiter als 500 Meter von einem Spieler entfernt sind, drastisch herabsetzt. Dadurch wurde mit 0.61 Freiraum für mehr Infizierte und die Wolfrudel geschaffen.
Weiterhin berechnet der Server die Persistenz von Items: Dies schließt nicht nur das peranente Kontrollieren des Item-Verfalls ein (Haltbarkeit von Items kann zwischen Minuten und Tagen liegen), sondern auch das Speichern nahezu aller Spielinhalte auf dem Server wie Fahrzeugen, dynamischen Events und natürlich den Loot. Aktuell arbeitet das Team noch an der Speicherung von Hauscontainern wie (Kühl-)Schränken sowie von Tieren und Infizierten.
Das Schadenssystem benötigte dringend eine Überarbeitung, da es von Arma her ausschließlich auf Explosionen beruhte, und so selbst Faustschläge über diese Mechanik berechnet wurden. Mit dem überarbeiteten System können Waffentypen wie Nahkampf, Schusswaffe oder Explosivwaffen weitaus genauer berechnet werden, ebenso wie die Schutzwirkung von unterschiedlichster Ausrüstung. Aktuell basieren nur die Infizierten auf dem neuen Schadenssystem, wodurch es immer wieder zu Konflikten mit dem alten System des Spielers kommt.
Der neue Spieler-Charakter soll uns eine bessere Kontrolle geben als zuvor, und auch als der in Arma 3. Dabei sollen auch die Kamera helfen, die sich individuell zu jeweiligen Haltung des Charakters anpasst. Qualitativ soll die Charakter-Kontrolle mit gängigen Action-Spielen mithalten können.
Die größte Herausforderung bis zur Beta stellt die Zeit dar: Denn in der Entwicklung treten nun einmal Probleme auf und Dinge gehen schief, aber die Zeit läuft leider immer weiter. Technisch ist der Spieler-Charakter der bedeutendste Meilenstein. Ist dieser einmal implementiert, wird die Fehlerbehebung in der Beta auch in der Meinung des leitenden Gameplay-Programmierers weitaus schneller gehen.
The Walking Dead hat Mirek leider bereits vor zwei Jahren aufgehört zu gucken, aber dennoch hofft er, dass Glenn und Abraham bis zum Ende überleben werden.
Der zweite Teil des Interviews auf Englisch.
Weitere DayZ-Entwicklerinterviews: