Menu Fermer

Dayz Standalone Status Report 11 Septembre 2018

 

Le rapport de situation d’aujourd’hui commencera par une petite surprise pour la plupart d’entre vous, alors jetez un coup d’œil aux annonces de la première partie d’Eugen. Notre programmeur en chef Mirek répond aux questions de la communauté sur les récents problèmes de serveurs et notre animateur Adam fait la démonstration du retour de la reddition et des systèmes de rétention. Allons-y !

 

 

Eugen Harton – Lead Producer

Chers survivants, nous avons de bonnes nouvelles à partager. La mise à jour du contenu a fait son entrée sur la Branche expérimentale aujourd’hui, ce qui signifie que nous la mettons également à la disposition des propriétaires de serveurs communautaires actuellement hébergés par l’un de nos fournisseurs de serveurs de jeux (GSPs). Attendez-vous à de légers retards, car GSPs traiteront un grand nombre de demandes de changement, mais je suis heureux de voir que les choses passent enfin à la phase expérimentale après que la plupart des problèmes critiques ont été corrigés dans nos tests de stress. Nous avons implémenté un grand nombre d’optimisations dans notre code réseau tout en essayant d’identifier un problème qui en fin de compte a été causé par des problèmes matériels spécifiques au serveur.

Maintenant, j’ai quelque chose à laquelle beaucoup d’entre vous ne s’attendent probablement pas encore, mais nous voulons que les choses avancent à un rythme plus rapide pour que nous puissions obtenir des retours : Nous avons décidé de publier les fichiers serveur de la version 0.63 de DayZ avant la BETA, et actuellement, nous aimerions les rendre disponibles pour tous les joueurs de DayZ dans la semaine qui vient. Chacun pourra télécharger gratuitement les Fichiers Serveur sur Steam dans la section Outils, et à partir de ce moment, chacun pourra héberger son propre serveur DayZ. Je pense qu’avec la sortie des fichiers serveur, nous verrons une plus grande variété de configurations de serveur et de modes de jeu communautaires et bien que l’ensemble des outils de modification ne sera pas disponible avant la BETA, je pense que vous avez déjà compris la plupart de ces choses.

Enfin, notre objectif avec la prochaine mise à jour de contenu (que nous pourrions déjà appeler un patch BETA expérimental puisque nous allons stabiliser la version interne du jeu sur les machines Stress Test) est d’avoir une sortie dans les deux semaines qui viennent. Cette mise à jour introduira, encore une fois, une variété de nouveautés, avec des véhicules qui arriveront un peu plus tard après la sortie initiale de cette prochaine mise à jour de contenu. Nous annoncerons les nouvelles fonctionnalités et le contenu dès la sortie de la première version de Stress Test. Pour ne citer qu’un exemple, le nouveau système de rétention dont parle Adam est certainement l’un de mes préférés.

La version Xbox du jeu verra les mises à jour majeures du jeu arriver peu de temps après avoir atteint la branche PC expérimentale. Bien que nous n’effectuerons pas de tests de stress dès maintenant sur la plateforme Xbox, nous continuerons à produire des mises à jour avec des corrections de bogues et des corrections de stabilité pour cette version au fur et à mesure qu’elles se manifestent. Même aujourd’hui, nous avons effectué une mise à jour du jeu avec de nombreuses corrections de bugs que nous avons vues dans la version PC, et surtout, nous corrigeons certains des problèmes d’inventaire spécifiques et des bugs liés au contrôleur qui feront de DayZ une expérience meilleure et plus agréable sur Xbox.

 

 

Miroslav Maněna- Lead Programmer

Bonjour les survivants. Au cours des deux dernières semaines, nous avons publié de nouvelles versions de tests de stress presque tous les jours dans le but d’améliorer les performances du serveur et de résoudre enfin le problème d »expulsion par BattlEye. Et nous l’avons résolu ! J’aimerais décrire ici ce que nous faisions et pourquoi les tests de stress sont si importants pour nous.

La meilleure façon d’expliquer ce que nous faisions lors de nos derniers tests de stress est probablement de répondre directement aux questions de la communauté. Passons en revue les questions que TheMagicTorch a posé sur Reddit, car elles démontrent bien notre processus de réflexion.

Q : Travaillez-vous avec les développeurs de BattlEye pour essayer de résoudre les problèmes ?
R : Nous avons une communication directe et ouverte avec les développeurs de BattlEye, et la première chose que nous avons faite a été de leur demander leur avis sur ce qui pourrait ne pas fonctionner. Quoi qu’il en soit, le problème des expulsions était là même lorsque nous avons désactivé BattlEye, donc logiquement, nous avons commencé à chercher un problème de notre côté.

Q : D’après vous, qu’est-ce qui cause les expulsions ? En termes techniques.
Nous savions donc que le problème était de notre côté, nous étions sûrs qu’il devait se situer quelque part dans la partie inférieure de notre réseau – nous pensions que le problème devait avoir quelque chose à voir avec la commande ou le renvoi de paquets perdus, ou même avec des numéros de série des paquets. Maintenant, nous savons qu’il a été causé par la fragmentation de paquets – dans de rares cas, certains paquets se sont perdus et le serveur entier s’est effondré.

Q : Pourquoi trouvez-vous qu’il est particulièrement difficile de résoudre les problèmes d’expulsion et de latence (lag)? Les expulsions et les latences sont-ils le résultat d’un grand nombre de bogues que vous êtes en train de résoudre lentement, ou essayez-vous encore d’identifier où se trouvent les problèmes ?
La source des expulsions n’était qu’une erreur dans le code, mais c’était difficile à trouver, car nous n’étions pas capables de le reproduire en interne. La branche 0.63 a été créée il y a près de 2 ans et de nombreux changements ont été apportés au cours de cette période. Il y a deux semaines, nous avons commencé à inverser ces changements, parce que c’était probablement le moyen le plus rapide (mais pas le plus facile) de trouver la source du problème. Nous avons rétabli une ou deux améliorations chaque jour, fait une compilation et l’avons publiée sur les serveurs Stress Test, donc nous sommes retournés dans le temps chaque jour (la curiosité ici est que ce bug est dans la version depuis mai 2016). Lorsque nous avons identifié la source du problème, nous avons commencé à remettre le contenu inversé et fonctionnel dans la branche, et l’avons publié dans le test de stress n° 46.

Les latences sont étroitement liées aux performances du serveur, donc différentes parties du code peuvent les provoquer. Nous faisions le profil des serveurs tous les jours pour découvrir la source des baisses de performance, ou ce qui prend exactement la majeure partie du temps CPU. Chaque jour, nous avons apporté quelques améliorations, qui ont été fusionnées dans la branche Stress Test pour les tests en jeu. Il est important de tester ces optimisations car elles peuvent souvent casser des choses qui fonctionnaient bien auparavant. Une optimisation nous a aidés à découvrir qu’il y a un problème avec la vérification des dommages causés par les armes à feu, qui a occasionné un mauvais enregistrement des coups. Ce bogue était là tout le temps, mais après l’optimisation, il s’est produit plus souvent.

Q : Pourquoi le rendement semble-t-il varier d’une région à l’autre ?
L’équipe de déploiement et Eugen ont identifié ce problème comme étant un problème de configuration matérielle des serveurs, et nous constatons maintenant que les performances des serveurs sont toujours décentes dans toutes les régions.

 

 

Adam Oresten – Technical Animator

Salut tout le monde, ça fait un moment que je n’ai pas écrit quelque chose, mais il se trouve que j’ai des cadeaux aujourd’hui ou quoi ?

Au cours des deux dernières semaines, j’ai travaillé sur les optiques, la reddition et les états de restriction.

Optique

La mise en application actuelle qui consiste à regarder à travers une optique détachée dans la dernière version publique a eu beaucoup de problèmes … La précision de la souris à l’écran est au mieux inférieure à la normale, et vous ne pouvez pas suivre avec précision une cible sans déplacer votre souris de quelques mètres. Nous avons discuté de différentes façons de mettre en œuvre une solution, mais j’étais surtout inquiet du fait que le personnage ne montrait pas avec précision où quelqu’un regardait. Si nous devions ignorer la précision de l’animation du personnage et régler la caméra à 1:1 avec la souris, les autres joueurs pourraient penser qu’ils n’ont pas été découverts pendant que le joueur qui les regarde avec ses jumelles pourrait les suivre.

J’ai résolu ce problème en ne vous permettant pas de vous déplacer en regardant à travers des jumelles ou des lunettes, et en faisant cela, j’ai éliminé tous les facteurs externes qui pourraient nuire à la précision de l’animation ; parce qu’en fait, quel cinglé se déplace en regardant à travers une paire de jumelles ? Un faux pas et vous pourriez perdre complètement votre cible ! Voici l’animation que j’ai faite :

Comme vous pouvez le voir, elle réagit très bien. Voici à quoi cela ressemble en regardant à travers :

Il est dans un état vraiment bon pour le moment et affiche avec précision dans et hors de l’optique exactement où cette personne serait vue.

 

Se rendre et restreindre

La reddition est une caractéristique très recherchée sur laquelle nous avons travaillé pour offrir la meilleure qualité possible. À première vue, on pourrait croire qu’il ne s’agit que d’un geste de plus, mais sous le capot, il y a une sacrée dose de complexité. Vous ne pouvez pas accéder à votre inventaire lorsque vous vous rendez, ce qui n’est pas courant pour les gestes. Vous avez aussi de nouvelles règles de posture où vous ne pouvez marcher qu’en position debout et ne vous tourner qu’en position debout et accroupie – ce que les gestes ne peuvent pas non plus contrôler. Enfin, et ce n’est pas le moins important, il comporte également une série d’animations de changement de position spécifiques à la reddition – également quelque chose que les gestes ne peuvent contrôler. En gardant cela à l’esprit, nous avons dû approcher le mécanisme de reddition avec un peu plus de prudence, car une approche à demi-mesure reviendrait probablement nous faire mal plus tard dans le processus.

Nous l’avons résolu en le manipulant essentiellement comme un état gestuel du côté du script, mais du côté de l’animation, il serait considéré comme une sorte  » d’objet « . La raison derrière cette solution est que lorsqu’un joueur met un objet dans ses mains, son personnage va passer à l’animation correspondante (ramasser un fusil va commencer à jouer les animations du fusil, les pistolets pour pistolets, etc) avec toutes leurs animations spécifiques en rotation, changer de positions, etc. En mettant cet « objet fantôme » entre les mains du personnage, l’ensemble d’animation de la reddition est activé, et les règles de mouvement spécifiques que cet ensemble d’animation rattaché à lui. De plus, nous nous sommes ouvert des possibilités où nous pouvons avoir un tas d’animations spécifiques à la reddition, comme des cadavres, des gestes, des actions, etc, etc. Des gestes dans les gestes ? Oh mon dieu.

Toutes ces mêmes règles s’appliquent également à l’état de détention, mais cela signifie également que nous pouvons montrer avec précision quel objet vous retient actuellement, comme dans le cas présent avec des menottes:

 

Peut-être par la suite, vous pourriez boire la tête la première dans un étang même si vous êtes immobilisé pour vous hydrater tout en fuyant vos geôliers. Qui sait !

Jusqu’à la prochaine fois.

 

Source

Image en tête DrDeSync

Laisser un commentaire, aucun compte requis