Dossier

SQF Enforce et Beta avec B.Hicks et E.Harton

Dayz Standalone viens de franchir une étape importante avec l’arrêt définitif des scripts SQF et Eugen Harton nous en parle dans un sujet posté sur le forum officiel, que j’ai tradui en français ci dessous. Viendra ensuite un autre sujet ouvert cette fois par Brian Hicks nous parlants du travail qu’il reste encore d’ici la bêta. De bonnes nouvelles – bonne lecture.

Sujet de Eugen Harton

SQF road to beta

 

Cette semaine, nous avons atteint une étape importante avec le retrait complet de notre ancien langage de script SQF (il a été avec nous, sous différentes formes, depuis le lancement de la première version d’Arma). Dorénavant, notre branche interne de DayZ exécute uniquement des modules écrits avec le script Enforce.

Du coup je voulais parler de cette étape interne et expliquer ses répercussions, je serai plus direct que d’habitude, mais avant d’aller un peu plus en profondeur, la partie la plus importante pour la majorité de nos fans est la suivante:

Désormais, en interne, la plupart de l’équipe DayZ n’a plus besoin de travailler avec un jeu qui utilise d’anciens modules de Dayz et des fonctionnalités scriptées en SQF. Les modules et scripts hérités étaient souvent incompatibles avec les nouveaux écrits avec Enforce Script, ce qui nous bloquaient alors que nous étions prêts à les supprimer progressivement. Nous n’avons plus besoin de nous en préoccuper et nous pouvons commencer à relier tous les nouveaux modules du moteur, les modules techniques et les données ensemble, et nous concentrer uniquement sur ces derniers. En un sens, cela signifie qu’en interne, nous ne conservons plus deux versions différentes du contenu et du gameplay de DayZ.

Avant de trop vous enthousiasmer, cela ne signifie en aucun cas que nous soyons très proches d’une version public de la BETA: il y a encore beaucoup de travail à venir, mais cette étape est un soulagement majeur pour l’équipe.

Pourquoi? C’est là que je vais donner plus de détails:

Si nous définissons le gameplay comme une action que le joueur peut effectuer dans le jeu, il y a deux manières en général de faire que ce gameplay « fonctionne »:

  • Avoir des choses « codé en dur » (en C + + dans le cas de DayZ)
  • En utilisant un langage de script (Enforce Script pour DayZ, précédemment SQF dans DayZ et les autres jeux Bohemia de la branche Arma)

La plupart des jeux utilisent à la fois des scripts et des fonctionnalités codées en dur. Dans un monde où le modding communautaire est important (= notre monde!), vous essayez de garder autant de choses que possible écrites en script – vous voulez avoir la possibilité de les éditer plus tard. Les scripts rendent également l’itération plus rapide et aident nos propres concepteurs à créer des choses par eux-mêmes, tout en ne dépensant pas plus de temps de programmation qu’il n’est nécessaire.

Dans notre exemple en particulier, il y a des avantages directs à passer de SQF à la nouvelle interprétation de notre gameplay en utilisant le script Enforce. En comparaison, nous pouvons dire que Enforce Script est beaucoup plus rapide et plus flexible. Il est également orienté objet et sera l’épine dorsale de tout le modding de DayZ. Pour les modders eux-mêmes, nous voulons introduire un éditeur de script avec un environnement de développement intégré (IDE) et des fonctionnalités de debogage.

Peut-être vous demandez vous maintenant: tout le travail que nous avons fait sur les branches publiques de DayZ a-t-il été mis au rebut tout d’un coup? La réponse est: certains d’entre eux oui (script), et certains d’entre eux non (données). Nous n’avons pas besoin d’écrire rapidement une version précipitée de tout dans DayZ en utilisant le nouveau script maintenant car nous avons travaillé à la fois avec le script hérité (SQF) et le nouveau script en même temps, et ce qui existe dans les branches publiques de DayZ maintenant existe déjà dans le script Enforce. Comme il n’y a pas de «compatibilité descendante» directe entre les deux scripts, nous avons dû réécrire le gameplay entièrement vers le nouveau script, en traitant tous ces chantiers en parallèle.

Dans le même temps, le contenu comme les modèles, les textures et autres fichiers binaires reste fonctionnel – nous avons dit à maintes reprises que nous essayions d’équilibrer notre développement d’une manière qui évite, le plus souvent possible, de faire les choses deux fois – afin d’économiser du temps et des efforts. Et c’est ce que nous avons réussi à faire – tout en élargissant leur qualité et ajoutant des fonctionnalités.

Nous avons essayé de tester des choses qui avaient du sens d’être testées sur la branche publique – des choses qui vous ont fourni une expérience de jeu raisonnable, et des choses qui nous ont fourni les données nécessaires. Mais à partir de ce point pour continuer d’avancer, en interne, nous n’exécutons que la version 0.63 qui est la version BETA pour nous. C’est cette version qui aura tous les nouveaux modules de moteur et modules techniques, avec toutes les données qui ont été créées pour soutenir ces modules.

Une fois de plus: Supprimer SQF signifie que notre client interne exécute uniquement la fonctionnalité de gameplay qui est soit codée en dur, soit écrite dans le nouveau Enforce Script. Il ne reste aucun système hérité et aucun module de moteur hérité. C’est le jeu pour lequel la plupart d’entre nous ont travaillé si dur la majeure partie de ces trois dernières années. Nous sommes ravis et avons voulu partager cette étape importante avec vous.

Eugen

 

Sujet de Brian Hicks

SQF bugfixing priorities beta

Je vois beaucoup de gens mécontent que les vieux bugs ne soit corrigés à la vitesse qu’ils aimeraient, ne soient pas une priorité dès maintenant, ou en général que le passage à la bêta ne va pas assez vite (ou dans certains cas – les éléments qu’ils attendent ne soient pas encore en jeu). Je suis sûr que pour certains d’entre vous, ce sujet sera une répétition des choses que j’ai déjà dit (et je vous recommande de vous tenir au courant et de vous informer sur le développement;)), mais pour ceux qui ont peut-être raté certaines de ces choses, j‘aimerais y revenir.

Avec la 0.61 nous sommes un peu face à un mur, tandis que la majorité de l’équipe se concentre sur le travail nécessaire pour la Bêta. Ajoutez à cela le fait qu’une bonne partie du travail et d’enquête nécessaires pour résoudre les problèmes sur la 0.61 est un travail qui sera jeté à la poubelle pour ainsi dire – de plus c’est un travail qui ne bénéficiera pas directement à la bêta ou aux systèmes touchés par cette version. Par exemple, les gens se sont faits entendre sur des problèmes telles que la duplication, bien sur le glitch, le spam de pomme, et ainsi de suite – le vieil adage « du bandage sur une jambe cassée » peut être appliquée ici. De petits correctifs peuvent être appliqués, avec du temps et des ressources – mais le problème de base c’est la façon dont les anciennes actions utilisateur et le système d’animation * permettent * ce type d’abus ou problèmes. Cela fait partie intégrante des nouvelles actions de l’utilisateur, système d’animation, et ainsi de suite. Alors que, comme nous l’avons dit – nous * sommes en train * de travailler sur ces questions critiques telles que les performances du serveur, les baisses de FPS et ainsi de suite – nos ressources doivent se concentrer absolument sur le bon objectif. Obtenir DayZ en version bêta et 1.0 (encore une fois – les numéros de version ne correspondent pas à un chemin linéaire jusqu’à la 1.0 – nous n’avons pas besoin de chaque nombre entre la 0.61 et la 1.0 – il est pour la gestion des versions, pas une indication de la progression de la fin de l’accès anticipé)

Quand aux mécaniques et systèmes non encore en jeu – je sais que j’en ai parlé sur les forums (et en aucun cas cela signifie que la Beta est en attente de chaque système  – mais nous travaillons tous fort pour obtenir le meilleur et intégrer le maximum pour la bêta). Une bonne partie de la fondation et la colonne vertébrale de grands changements à DayZ sont directement liés à la technologie dont la bêta dépend aussi. De fait – laissez-moi vous mettre le post original que j’ai fait ici sur les forums il y a un peu:

hicks bug fixing

La base même de la façon dont vous, les joueurs interagissaient avec le monde est en cours de suppression, remplacement et amélioration – non seulement cela signifie de grands changements sur le ressenti de DayZ  – mais cela signifie aussi un grand changement dans notre façon de mettre en œuvre de nouvelles technologies et prototypes, de correction de bugs et ajout de contenu. En aucun cas, la bêta ne signifie une expérience «sans bugs» – mais elle représente le plus grand changement technologique que DayZ ait vu depuis le nouveau moteur de rendu – et sans doute même encore plus.

Je, et nous savons tous combien il peut être frustrant de jouer sur les versions actuelles de DayZ – avec les bugs hérités, et la limitation des versions sur Steam qui sont parfois à une bonne distance derrière notre développement interne – mais nous espérons que vous y accrocher, et continuer d’avancer avec nous pour cette aventure.

Brian

 

Image à la une de Septic Falcon

Laisser un commentaire