Status Report - 11 September 2018
Der heutige Status- Report wird für die meisten von euch mit einer kleinen Überraschung beginnen, also schaut euch Eugens Eröffnungsankündigungen an. Unser Lead-Gameplay-Programmierer Mirek beantwortet Community-Fragen zu den aktuellen Server Problemen und unser Animator Adam demonstriert die Rückkehr des Kapitulations- und Rückhaltesystems. Lasst uns beginnen.
- Dev Update/Eugen
- Dev Update/Mirek
- Dev Update/Oresten
- Community Spotlight
Dev Update/Eugen
Liebe Überlebende, wir haben einige gute Neuigkeiten zu teilen. Das Content-Update hat die Experimental Branch heute getroffen, und das bedeutet, dass wir es auch Community-Servern zur Verfügung stellen, die derzeit bei einem unserer Game Server Provider (GSPs) hosten. Bitte erwarten Sie leichte Verzögerungen, da GSPs mit der Anzahl der Switch-Anfragen zurechtkommen, aber ich freue mich, dass sich die Dinge endlich in die Experimentalphase bewegen, nachdem die meisten kritischen Probleme in unseren Stresstests behoben wurden. Wir haben eine große Anzahl von Optimierungen in unserem Netzwerkcode implementiert und dabei versucht, ein Problem zu identifizieren, das am Ende von bestimmten Serverhardware Problemen verursacht wurde.
Jetzt habe ich etwas, was viele von euch wahrscheinlich noch nicht erwarten, aber wir möchten, dass sich die Dinge schneller entwickeln, damit wir Feedback bekommen können: Wir haben beschlossen, die DayZ 0.63 Server Files vor BETA und aktuell zu veröffentlichen möchten wir sie in der nächsten Woche allen DayZ-Spielern zur Verfügung stellen. Jeder wird in der Lage sein, die Server-Dateien kostenlos auf Steam unter den Tools-Bereich herunterzuladen, und von diesem Moment an wird jeder in der Lage sein, selbst einen DayZ-Server zu hosten. Ich denke, dass wir mit der Veröffentlichung von Server Files eine viel breitere Auswahl an Server-Setups und Community-Spielmodi sehen werden und während das komplette Modding-Toolset nicht vor BETA verfügbar sein wird, denke ihr, dass ihr schon viel herausgefunden habt von dem Zeug raus.
Last but not least ist unser Ziel mit dem nächsten Content Update (das wir vielleicht schon einen experimentellen BETA-Patch nennen, da wir die interne Version des Spiels auf den Stresstest-Maschinen stabilisieren werden), eine Veröffentlichung in der nächsten zu haben ein paar Wochen. Dieses Update wird wiederum eine Vielzahl neuer Dinge einführen, wobei Fahrzeuge etwas später nach der ersten Veröffentlichung dieses nächsten Inhaltsupdates eintreffen werden. Wir werden die neuen Funktionen und Inhalte ankündigen, sobald wir den ersten Stresstest-Build veröffentlicht haben. Um nur ein Beispiel zu nennen: Das neue Rückhaltesystem, von dem Adam spricht, ist definitiv eines meiner Lieblingsmodelle.
Die Xbox-Version des Spiels wird große Spiele-Updates bekommen, sobald sie den PC-Experimentalzweig betreten. Auch wenn wir ab sofort nicht auf der Xbox-Plattform mit Stress Testing arbeiten werden, werden wir weiterhin Updates mit Bug Fixes und Stabilitäts-Fixes für diese Version herausbringen, wenn sie sich selbst manifestieren. Bis heute haben wir ein Spielupdate mit vielen Bugfixes für die PC-Version veröffentlicht, und vor allem beheben wir einige der spezifischen Inventarprobleme und Controller-Bugs, die DayZ zu einem besseren, mehr machen werden erfreuliche Erfahrung auf Xbox.
- Eugen Harton / Lead Producer
Dev Update/Mirek
Hallo Überlebende. In den letzten Wochen haben wir fast jeden Tag neue Stresstest-Builds veröffentlicht, mit dem Ziel, die Serverleistung zu verbessern und endlich den BattleEye-Massentrick zu lösen. Und wir haben es gelöst! Ich möchte hier beschreiben, was wir getan haben und warum Stress-Tests für uns so wichtig sind.
Der beste Weg, um zu erklären, was wir in unseren letzten Stresstests getan haben, ist, einige Fragen direkt von der Community zu beantworten. Lassen Sie uns die Fragen durchgehen, die TheMagicTorch auf Reddit gestellt hat, da sie unseren Denkprozess auf anschauliche Weise verdeutlichen werden.
Frage: Arbeiten Sie mit BattleEye-Entwicklern zusammen, um die Probleme zu lösen?
Wir haben eine direkte Kommunikation mit den BattleEye-Entwicklern, und das erste, was wir gemacht haben, war, dass wir sie nach etwas Input gefragt haben, was falsch sein könnte. In jedem Fall war das Kicking-Problem schon da, als wir BattlEye deaktiviert hatten, also logischerweise suchten wir nach einem Problem an unserem Ende.
Frage: Was verursacht deiner Meinung nach das Treten? In technischer Hinsicht.
Wir wussten also, dass das Problem auf unserer Seite ist, wir waren uns sicher, dass es irgendwo auf der unteren Ebene unseres Netzwerks liegen muss - wir dachten, dass das Problem etwas mit der Paketbestellung oder dem erneuten Senden verlorener Pakete zu tun haben muss sogar mit Seriennummern von Paketen. Jetzt wissen wir, dass es durch Paketfragmentierung verursacht wurde - in einigen seltenen Fällen wurden einige Pakete gelöscht und der gesamte Server wurde zerstört.
Warum fällt es dir besonders schwer, Tritte und Verzögerungen zu lösen? Sind die Kicks und Lags das Ergebnis vieler Fehler, die Sie langsam durcharbeiten, oder versuchen Sie immer noch herauszufinden, wo Probleme liegen?
Die Quelle der Kicks war nur ein Fehler im Code, aber es war schwer zu finden, da wir es intern nicht reproduzieren konnten. Die Niederlassung von 0,63 wurde vor fast 2 Jahren gegründet und in dieser Zeit wurden viele Änderungen vorgenommen. Vor zwei Wochen haben wir begonnen, diese Änderungen rückgängig zu machen, weil es wahrscheinlich der schnellste Weg (aber nicht der einfachste Weg) war, die Ursache des Problems zu finden. Wir haben jeden Tag ein oder zwei Verbesserungen durchgeführt, einen Build erstellt und auf den Stresstest-Servern veröffentlicht, also gingen wir jeden Tag zurück in die Zeit (die Neugier ist hier, dass dieser Bug seit Mai 2016 im Build enthalten ist). Nachdem wir die Ursache des Problems ermittelt hatten, fingen wir damit an, die zurückgenommenen und funktionierenden Daten in den Zweig zurückzuliefern und im Stresstest # 46 zu veröffentlichen.
Verzögerungen sind eng mit der Serverleistung verbunden, sodass verschiedene Teile des Codes diese verursachen können. Wir haben jeden Tag die Server profiliert, um herauszufinden, woher die Leistung stammt oder was genau die meiste CPU-Zeit in Anspruch nimmt. Jeden Tag haben wir einige Verbesserungen vorgenommen, die für den Spieltest in den Stresstest-Zweig integriert wurden. Es ist wichtig, diese Optimierungen zu testen, da Optimierungen häufig Dinge unterbrechen können, die früher gut funktionierten. Eine Optimierung half uns herauszufinden, dass es ein Problem mit der Überprüfung der Feuerschadensanfälligkeit gab, was zu einer schlechten Trefferregistrierung führte. Dieser Bug war die ganze Zeit da, aber nach der Optimierung ist es öfter passiert.
Warum scheint die Leistung zwischen den Regionen zu variieren?
Das Bereitstellungsteam hat zusammen mit Eugen dieses Problem als Problem mit einer Hardwarekonfiguration der Server erkannt. Wir sehen jetzt eine konsistent gute Serverleistung in allen Regionen.
- Miroslav Maněna/ Lead Programmer
Dev Update/Oresten
Hey alle zusammen, es ist schon eine Weile her, seit ich etwas geschrieben habe, aber Junge, habe ich heute Süßigkeiten oder was?
In den letzten zwei Wochen habe ich daran gearbeitet, durch Optik, Kapitulation und zurückhaltende Zustände zu schauen.
Optik
Die aktuelle Implementierung des Blicks durch eine distanzierte Optik in der neuesten öffentlichen Version hatte viele Probleme damit ... Die Genauigkeit von Maus-zu-Bildschirm ist bestenfalls unterdurchschnittlich, und Sie können ein Ziel nicht genau verfolgen, ohne sich zu bewegen Deine Maus ein paar Meter. Wir diskutierten verschiedene Möglichkeiten, eine Lösung zu implementieren, aber ich war hauptsächlich besorgt darüber, dass der Charakter nicht genau anzeigt, wo jemand hinschaut. Wenn wir die Genauigkeit der Spieleranimation ignorieren und die Kamera einfach mit der Maus 1: 1 setzen, könnten andere Spieler denken, dass sie nicht alle entdeckt wurden, während der Spieler, der durch sein Fernglas schaut, sie verfolgen könnte.
Ich löste das, indem ich Ihnen nicht erlaubte, sich zu bewegen, während ich durch Ferngläser oder Fernrohre schaute, und dadurch eliminierte ich alle äußeren Faktoren, die die Genauigkeit der Animation stören könnten; weil wirklich, was für eine verrückte Person würde sich bewegen, während Sie durch ein Fernglas schauen? Ein falscher Schritt und du könntest dein Ziel komplett verlieren! Hier ist die Animation, die ich mir ausgedacht habe:
Wie Sie sehen können, ist es ziemlich empfindlich. So sieht es beim Durchschauen aus:
Es ist bisher in einem wirklich guten Zustand und zeigt exakt in und aus der Optik genau auf, wo diese Person hinschauen würde.
Ergeben und zurückhaltend
Surrender ist ein sehr gefragtes Feature, an dem wir gearbeitet haben, um in höchstmöglicher Qualität zu liefern. Auf den ersten Blick sieht es so aus, als wäre es nur eine weitere Geste; aber unter der Haube hält es eine Menge von Komplexitäten. Sie können nicht auf Ihr Inventar zugreifen, wenn Sie sich ergeben - nicht etwas, das für Gesten üblich ist. Sie haben auch neue Standregeln, bei denen Sie nur im Stehen gehen und sich nur im Stehen und in der Hocke drehen können - auch nicht mit Gesten. Zu guter Letzt hat es auch eine Reihe von sickerspezifischen Bewegungen, die die Haltung verändern - auch etwas, was Gesten nicht kontrollieren können. Angesichts dieser Dinge mussten wir uns der Kapitulationsmechanik etwas vorsichtiger nähern, da uns ein halbherziges Vorgehen wahrscheinlich später wieder auf die Sprünge bringen würde.
Wir haben es gelöst, indem wir es im Wesentlichen wie einen Gestenzustand auf der Skriptseite behandelt haben, aber auf der Animationsseite würde es als ein "Gegenstand" angesehen werden. Der Grund für diese Lösung ist, dass wenn ein Spieler einen Gegenstand in seine Hände legt, wird sein Charakter zu dem entsprechenden Animationssatz wechseln (Aufnehmen eines Gewehrs wird beginnen, die Gewehranimationen, Pistolen für Pistolen usw. zu spielen) mit all ihren spezifische Animationen zum Drehen, Ändern von Stellungen usw. Durch das Einbringen dieses "Geisterobjekts" in die Hände des Charakters wird das Übergabeanimationssatz aktiviert und die spezifischen Bewegungsregeln, die dieses Animationssatz enthält, werden zugewiesen. Außerdem haben wir Wege für uns selbst geöffnet, wo wir eine Reihe von kapitulationsspezifischen Animationen haben können; wie zum Beispiel Todesfälle, Gesten, Aktionen usw. Gesten in Gesten? Oh Junge.
Alle diese Regeln gelten auch für den zurückhaltenden Zustand, aber das bedeutet auch, dass wir genau zeigen können, welcher Gegenstand Sie derzeit einschränkt; wie in diesem Fall mit einigen verschlossenen Handschellen:
Vielleicht könntest du sogar von Angesicht zu Angesicht aus Teichen trinken, auch wenn du zurückgehalten wirst, um dich von deinen Entführern zu befreien. Wer weiß!
Bis zum nächsten Mal.
- Adam Oresten / Technical Animator
Community Spotlight
Hast du ein Problem mit der Orientierung in Chernarus? Wir haben jetzt keine In-Game-Map, aber wenn du herausfinden musst, wo du bist oder wohin du gehst, ist iZurvive eine Lösung. Es verfügt über eine 0,63 Karte und es gibt auch Wanderwege, Brunnen, Tierstandorte und mehr.
Sie können die Webkarte auf izurvive.com oder die mobile Version für iOS und Android verwenden.
- Baty / Community Manager
Header image by DrDeSync.