URL: https://linuxfr.org/news/unvanquished-zone-51 Title: Unvanquished Zone 51 Authors: Thomas Debesse bubarđŸŠ„, palm123, Davy Defaud et ZeroHeure Date: 2018ćčŽ12月10æ—„T07:31:26+01:00 License: CC By-SA Tags: unvanquished, jeux_linux, idtech, art_libre, jeu et jeu_vidĂ©o Score: 44 Le jeu _Unvanquished_ est sorti ce dimanche 9 dĂ©cembre en version alpha 0.51, aprĂšs plus de deux ans de dĂ©veloppement. Voici donc une note de version dĂ©taillĂ©e de cette fournĂ©e ! ![couverture Unvanquished](https://dl.illwieckz.net/b/linuxfr.org/unvanquished/zone-51/facebook-cover.png) _Note : Ceci est une traduction de la note de version officielle que j’ai Ă©crite pour le projet Unvanquished, un jeu vidĂ©o de stratĂ©gie en temps rĂ©el Ă  la premiĂšre personne opposant dans un futur intersidĂ©ral une espĂšce extra‐terrestre et l’humanitĂ©._ ---- [TĂ©lĂ©charger Unvanquished](https://www.unvanquished.net/download) [Histoire d’un arbre](https://linuxfr.org/news/histoire-d-un-arbre) [Unvanquished toujours sur les rails !](https://linuxfr.org/users/illwieckz/journaux/unvanquished-toujours-sur-les-rails) [Unvanquished Area 51 (article original)](https://www.unvanquished.net/?p=1278) ---- _Cette traduction est sous [licence CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/deed.fr)._ Nous l’avons donc fait ! Voici notre derniĂšre, tant attendue publication, la version 0.51 ! [Se servir tant que c’est chaud !](https://www.unvanquished.net/download) Il y a eu Ă©normĂ©ment de changements dans cette version depuis que la prĂ©cĂ©dente a Ă©tĂ© publiĂ©e il y a deux ans et huit mois et, le dĂ©veloppement ne sommeillant pas, il sera difficile de tout raconter. Cependant, le code du jeu lui‐mĂȘme est vraiment trĂšs stable, vu que nous avons Ă©tĂ© capables de rĂ©tro‐porter presque tout sur la prĂ©cĂ©dente version Ă  travers les annĂ©es. Je dis « presque tout » parce qu’un bogue (dĂ©sormais corrigĂ©) du systĂšme de fichiers nous a empĂȘchĂ© de surcharger indĂ©finiment nos paquets avec des nouveaux, ce qui nous a empĂȘchĂ© de faire Ă©talage de certains de nos modĂšles. Mais le _gameplay_ fut entiĂšrement rĂ©tro‐portĂ© et les joueurs Ă©taient en mesure d’y jouer depuis plus d’un an avec leur client 0.50 non modifiĂ©, rien qu’en rejoignant des serveurs. C’est un trĂšs bon point pour nous, et cela dĂ©montre la robustesse de l’architecture et prouve que le moteur DĂŠmon est une solide plate‐forme de modification. Vous savez dĂ©jĂ  que _kharnov_ a quittĂ© le projet et, puisque c’est notre premiĂšre version sans lui, nous lui dĂ©dions cette alpha 51. Nous savons combien il a intensĂ©ment attendu cette version et espĂ©rait tant voir celle‐ci devenir la premiĂšre bĂȘta. Ne t’inquiĂšte pas _kharnov_, la bĂȘta est toute proche. Pour le rappeler Ă  nos lecteurs, nous catĂ©gorisons nos versions _alpha_ et _bĂȘta_ non Ă  cause de leur stabilitĂ© mais en fonction de la complĂ©tude de nos objectifs. Celle version est signalĂ©e comme une version alpha, mĂȘme si nous aurions voulu mettre dessus l’étiquette bĂȘta. Mais, jouons la prudence : nous prĂ©fĂ©rons appeler bĂȘta quelque chose que les joueurs ont eu en main. 🙂 Vous remarquerez probablement que le jeu possĂšde des chaĂźnes de version 0.51.1 Ă  certains endroits, nous avons sournoisement Ă©tiquetĂ© une version 0.51.0 quelques semaines plus tĂŽt qui agĂźt un peu comme une candidate Ă  la publication. AprĂšs quelques corrections de derniĂšre minute, nous sommes prĂȘts pour distribuer publiquement le jeu Ă  nouveau ! Joie ! # Metteur Ă  jour, lanceur de jeu ! [![Metteur Ă  jour](https://dl.illwieckz.net/b/linuxfr.org/unvanquished/zone-51/20181210-055235-000.unvanquished-updater.png)](https://dl.illwieckz.net/b/linuxfr.org/unvanquished/zone-51/20181210-055235-000.unvanquished-updater.png) _Le metteur Ă  jour d’Unvanquished_ Nous accueillons donc notre nouveau metteur Ă  jour ! Nous le distribuons dĂ©sormais officiellement et c’est maintenant le moyen officiel de tĂ©lĂ©charger et mettre Ă  jour _Unvanquished_. Au fond, c’est un lanceur d’_Unvanquished_. Vous tĂ©lĂ©chargez simplement un binaire, vous le lancez, et il rĂ©cupĂšre ce qui manque avant de lancer le jeu. La prochaine fois que vous le lancerez, le jeu sera mis Ă  jour avant d’ĂȘtre dĂ©marrĂ© si une nouvelle version est disponible. Ce metteur Ă  jour donne aussi un aperçu du dernier billet de blog. Donc, pendant que vous attendez pour la mise Ă  jour, vous verrez qu’il y a des nouvelles et vous cliquerez juste dessus pour lire l’article comple ! MĂȘme s’il n’était pas annoncĂ©, certaines personnes utilisaient dĂ©jĂ  la prĂ©cĂ©dente itĂ©ration de ce metteur Ă  jour, nous avons donc Ă©tĂ© en mesure d’écouter les besoins et idĂ©es pour le rendre meilleur. Non seulement le comportement fut amĂ©liorĂ© pour rĂ©pondre aux besoins des joueurs, mais le metteur Ă  jour fut entiĂšrement refait en utilisant [QML](https://en.wikipedia.org/wiki/QML) et prĂ©sente mieux ! Ce metteur Ă  jour est le fruit du travail d’_Ishq_, sur la base d’une maquette de _Gireen_. # Changements dans la mĂ©canique de jeu Parlons Ă  prĂ©sent du changement de _gameplay_, puisque c’est ce qui fait sens dans le dĂ©veloppement d’un jeu ! ## Minage de ressource et contrĂŽle de territoire Cette version introduit un important changement dans la maniĂšre dont les points de constructions sont gĂ©rĂ©s. Vous connaissez peut‐ĂȘtre le _drill_ (foreuse) et le _leech_ (sangsue) si vous avez dĂ©jĂ  jouĂ© au jeu avant. La foreuse est une machine humaine qui mine des points de construction et la sangsue est l’_alter ego_ extra‐terrestre, un ĂȘtre vivant, Ă©tant donnĂ©e la nature de cette espĂšce. Chaque foreuse ou sangsue construite contribue une certaine quantitĂ© de points de construction et de puissance au fond commun de l’équipe, qui est dĂ©sormais global et non rattachĂ© aux lieux. Les autres constructions comme les tourelles, les armureries, tubes d’acides et les Ɠufs consomment les points de construction et la puissance fournie par les foreuses et sangsues. Cela signifie que ces foreuses et sangsues doivent ĂȘtre dĂ©fendues puisque leur destruction laisse non alimentĂ©es les constructions dĂ©pendantes. De plus, lorsqu’une construction est dĂ©truite, cela prend du temps pour les points de construction utilisĂ©s d’ĂȘtre rĂ©introduits dans le fond commun. Pour ĂȘtre efficaces, les foreuses et sangsues doivent maintenir une certaine distance entre elles. Ce changement de _gameplay_ encourage les guerres de territoire dans la façon dont les Ă©quipes ont besoin de contrĂŽler des territoires extĂ©rieurs pour construire des foreuses ou sangsues Ă©loignĂ©es, comme le requiert la construction de leurs base. Puisque le mĂ©canisme rend les constructions dĂ©pendantes des appareils de minage, cela apporte une alternative Ă  l’ancienne mort subite de _Tremulous_ : plus le jeu dure longtemps, plus cela prend du temps de recouvrir les points de construction aprĂšs la destruction d’une structure, affaiblissant la base la moins bien gĂ©rĂ©e et accĂ©lĂ©rant consĂ©quemment sa destruction. [![Une foreuse](https://dl.illwieckz.net/b/linuxfr.org/unvanquished/zone-51/unvanquished_2018ćčŽ12月09æ—„_175108_000.jpg)](https://dl.illwieckz.net/b/linuxfr.org/unvanquished/zone-51/unvanquished_2018ćčŽ12月09æ—„_175108_000.jpg) _La foreuse_ Le rĂ©pĂ©teur est dĂ©sormais enlevĂ©. Le rĂ©pĂ©teur Ă©tait la structure humaine construite pour alimenter les autres constructions dans les bases avancĂ©es. Maintenant, la foreuse fait aussi le travail du rĂ©pĂ©teur : minant les ressources, les stockant et alimentant le tout, y compris les bases avancĂ©es. Puisque le rĂ©pĂ©teur avait un modĂšle plus beau que celui de la foreuse, la foreuse rĂ©utilise le modĂšle du rĂ©pĂ©teur et le modĂšle de la foreuse est dĂ©sormais retirĂ©e. Fondamentalement, ce modĂšle ressemble Ă  un petit « rĂ©acteur », ce qui fait beaucoup sens : le rĂ©acteur est le gĂ©nĂ©rateur principal de puissance et le centre nerveux. ## Dretch + Tourelle = 💜 Les _dretchs_ sont Ă  nouveau capables d’attaquer les tourelles et les _rocket pods_ ! Les _dretchs_ sont l’une des deux formes extra‐terrestres qu’un joueur peut choisir pour (rĂ©)apparaĂźtre en jeu, l’autre Ă©tant la forme de constructeur _granger_. Le _dretch_ est une petite et faible forme d’attaque que le joueur extra‐terrestre utilise avant de se transformer en de plus fortes et meurtriĂšres formes. Le jeu _Tremulous_ original permettait Ă  ces _dretchs_ d’attaquer les structures dĂ©fensives comme les tourelles, mais cette fonctionnalitĂ© avait Ă©tĂ© dĂ©sactivĂ©e dans la _gameplay preview_ (GPP) de la version 1.2 qui ne fut jamais distribuĂ©e. Les joueurs demandaient le retour de cette fonctionnalitĂ© et ça faisait beaucoup sens parce que cela semblait assez incohĂ©rent qu’un extraterrestre seul ne puisse pas ĂȘtre en mesure de dĂ©truire une base humaine quand un joueur humain sans protection et seul pouvait dĂ©truire une base extra‐terrestre. ## Mouvements des joueurs Quelques changements ont Ă©tĂ© implĂ©mentĂ©s dans la façon dont les joueurs se dĂ©placent, tel que demandĂ©s par certains joueurs, en les Ă©coutant et prenant soin des problĂšmes qu’ils rapportent. Il est dĂ©sormais possible de sauter sur les murs pour atteindre certaines plates‐formes plus facilement. Le glissement humain a Ă©tĂ© un peu modifiĂ© et l’esquive humaine a Ă©tĂ© dĂ©sactivĂ©e. ## Indicateur de dommages _Enneract_ a implĂ©mentĂ© cet excellent changement ! Les joueurs ont maintenant un retour visuel montrant combien efficace est leur attaque. Cela aidera aussi les joueurs Ă  comprendre naturellement quelle arme ou attaque est meilleure pour chaque situation, et combien leur visĂ©e est bien entraĂźnĂ©e, ou s’il y a encore de la place pour du perfectionnement ! [![Indicateur de dommages](https://dl.illwieckz.net/b/linuxfr.org/unvanquished/zone-51/unvanquished_2018ćčŽ12月09æ—„_172815_000.jpg)](https://dl.illwieckz.net/b/linuxfr.org/unvanquished/zone-51/unvanquished_2018ćčŽ12月09æ—„_172815_000.jpg) _Indicateur de dommages_ ## AmĂ©lioration du « spiker » Le _spiker_ a Ă©tĂ© amĂ©liorĂ© pour le rendre plus utile et efficace. Le _spiker_ est une construction extra‐terrestre de dĂ©fense qui lance des Ă©pines mortelles sur les humains insouciants. DĂ©sormais, le _spiker_ dĂ©coche ses Ă©pines seulement si les dommages attendus atteignent un certain seuil, pour ne pas gaspiller son attaque mortelle (elle se recharge lentement), et il essaie dĂ©sormais d’éviter le tir ami quand d’autres structures extra‐terrestres sont en ligne de mire. PrĂ©cĂ©demment, son comportement par dĂ©faut Ă©tait de ne pas attaquer en cas de tir ami, mais cela le rendait inutile quand une autre construction n’était pas correctement positionnĂ©e. DĂ©sormais, le _spiker_ vise la cible plus prĂ©cisĂ©ment pour Ă©viter d’endommager les structures de son Ă©quipe. Les Ă©pines elle‐mĂȘmes ont reçu une compensation de leur gravitĂ©. # Gros travail sur les donnĂ©es de jeu Vous l’avez probablement remarquĂ© si vous avez lu les prĂ©cĂ©dents billets : un gros travail a Ă©tĂ© fait sur le plan de la gestion des donnĂ©es. Elles ne sont pas seulement dĂ©sormais [hĂ©bergĂ©es dans des dĂ©pĂŽts Git](https://github.com/UnvanquishedAssets/UnvanquishedAssets), nous avons reconstruit leur historique passĂ© lorsque c’était possible, en rejouant les prĂ©cĂ©dents paquets sur l’arbre, par exemple. ## Nettoyage Un gros nettoyage a Ă©tĂ© fait, Ă©liminant les laissĂ©s‐pour‐compte et en dĂ©dupliquant les choses. Notre systĂšme de gestion de paquets nous permettait de surcharger des paquets prĂ©cĂ©demment publiĂ©s, mais cela ne faisait qu’ajouter de nouveaux fichiers Ă  ceux existant, puisque tous les paquets prĂ©cĂ©demment publiĂ©s devaient ĂȘtre distribuĂ©s dans tous les cas. Quelques corrections ont Ă©tĂ© faites sur le _set_ de textures communes, pour renommer ou abandonner des choses obsolĂštes. Les _sets_ de textures _ej01_ ont Ă©tĂ© fusionnĂ©s en un seul, le modĂšle de rĂ©pĂ©teur a Ă©tĂ© abandonnĂ© comme expliquĂ©, et il y a eu beaucoup de nettoyage dans les _shaders_. Ici le mot _shader_ est Ă  entendre comme un « _shader_ _Quake 3_ », un moyen simple de dĂ©finir des matĂ©riaux, pas comme un « _shader_ GLSL ». L’ensemble de la collection de donnĂ©es a subi une grande quantitĂ© de renommages pour unifier les choses et standardiser plus encore. Pour donner quelques nombres, l’alpha 50 pesait 737 Mio avec 6 322 fichiers, quand l’alpha 51 pĂšse 488 Mio avec 4 178 fichiers. C’est une Ă©conomie de 34 % ! ## ModĂšles Cette publication introduit aussi le nouveau modĂšle du dragon et le nouveau modĂšle de l’exosquelette ! Le dragon est un modĂšle de RaphaĂ«l « RXMT » Moreault‐Truchon​ et l’exosquelette un modĂšle de Luiz Henrique « lhdc » de Camargo. [![Dragon et exosquelette](https://dl.illwieckz.net/b/linuxfr.org/unvanquished/zone-51/unvanquished_2018ćčŽ12月09æ—„_164225_000.jpg)](https://dl.illwieckz.net/b/linuxfr.org/unvanquished/zone-51/unvanquished_2018ćčŽ12月09æ—„_164225_000.jpg) _Le dragon et l’exosquelette_ L’ancienne main a Ă©tĂ© repeinte. L’ancienne main est le modĂšle de main Ă  la premiĂšre personne qui est utilisĂ©e avec les anciennes armes qui ne sont pas encore remplacĂ©es. Certaines d’entre elles ne sont pas si mal et, puisque nous sommes en besoin d’animateur et d’implĂ©menteur, il convient de les garder pour un temps. Avec cette main repeinte de maniĂšre Ă  ressembler Ă  la nouvelle, il y a beaucoup moins d’incohĂ©rences affichĂ©es Ă  l’écran ! [![Ancienne main repeinte](https://dl.illwieckz.net/b/linuxfr.org/unvanquished/zone-51/repainted-legacy-hand.jpg)](https://dl.illwieckz.net/b/linuxfr.org/unvanquished/zone-51/repainted-legacy-hand.jpg) _De gauche Ă  droite : ancienne main avec le fusil Ă  impulsion, ancienne main repeinte, nouvelle main avec le fusil Ă  pompe_ Bien que le moteur soit en mesure de translater, tourner ou redimensionner les modĂšles Ă  l’exĂ©cution en se servant de fichiers de configuration, nous le faisons dĂ©sormais au moment de construire les donnĂ©es et nous les distribuons dĂ©jĂ  translatĂ©es, tournĂ©es et redimensionnĂ©es pour que les outils tierce‐partie comme des Ă©diteurs de niveaux puissent aussi les afficher correctement. Un bogue a Ă©tĂ© trouvĂ© du cĂŽtĂ© du moteur concernant le _zOffset_ (translation verticale), donc les modĂšles ont Ă©tĂ© corrigĂ©s pour ĂȘtre affichĂ©s correctement aprĂšs la correction de ce bogue. ## Les sons Du travail a commencĂ© du cĂŽtĂ© de la face cachĂ©e du son. _Obani_ en a contribuĂ© quelques‐uns (le son du jetpack, le son de pré‐construction), et quelques‐uns ont Ă©tĂ© repris de dĂ©pĂŽts de donnĂ©es libres comme [opengameart](https://opengameart.org), provenant de divers auteurs, quand ces sons Ă©taient suffisamment proches de ce que nous avions dĂ©jĂ  (bruit de tir de la mitrailleuse, les pas de l’exosquelette...). AprĂšs une vĂ©rification des licences certains sons de _Tremulous_ qui ont Ă©tĂ© vĂ©rifiĂ©s comme sĂ»rs ont Ă©tĂ© rĂ©importĂ©s. Nous distribuons dĂ©sormais un paquet de ressources nommĂ© _res‐legacy_ pour fournir des choses hĂ©ritĂ©es de _Tremulous_ qui ont Ă  ĂȘtre remplacĂ©es ou dĂ©placĂ©es vers d’autres dĂ©pĂŽts quand elles sont vĂ©rifiĂ©es comme sĂ»res et libres. Ce paquet distribue des substituts qui ont vocation Ă  ĂȘtre entiĂšrement abandonnĂ©s un jour. Donc, s’il vous plaĂźt, ne mettez pas ce paquet dans les dĂ©pendances de vos propres paquets. ## Les cartes Un gros chargement de corrections de cartes est apportĂ© par cette version : des lieux oĂč le _granger_ pouvait construire Ă  l’extĂ©rieur de la zone de combat dans Antares, Perseus et Spacetracks sont maintenant marquĂ©s comme non constructibles. Un endroit oĂč le spectateur pouvait quitter la zone de combat dans Perseus a Ă©tĂ© scellĂ©. Dans Thunder, un mobilier extĂ©rieur permettait par erreur aux joueurs de s’y cacher, ce modĂšle est dĂ©sormais proprement clippĂ© (_N. D. L. A. : un clip est une surface spĂ©ciale qui dĂ©coupe l’espace en zones traversables ou non selon la nature de l’objet qui tente de traverser_). Dans Spacetracks quelques surfaces avec un « clip complet » ont reçu un « clip d’arme » Ă  la place pour permette aux projectiles de traverses les portes entrouvertes sans laisser les joueurs sortir de la carte. [![Porte entrouverte sur Spacetracks](https://dl.illwieckz.net/b/linuxfr.org/unvanquished/zone-51/unvanquished_2018ćčŽ12月10æ—„_045628_000.jpg)](https://dl.illwieckz.net/b/linuxfr.org/unvanquished/zone-51/unvanquished_2018ćčŽ12月10æ—„_045628_000.jpg) _Porte entrouverte sur Spacetracks : les projectiles ne sont dĂ©sormais plus clippĂ©s_ Sur la carte Chasm du travail fut rĂ©alisĂ© pour empĂȘcher le _granger_ de construire des Ɠufs au bord du ciel ou bien Ă  l’intĂ©rieur du gouffre, et des systĂšmes de particules de flocons de neige ont Ă©tĂ© ajoutĂ©s Ă  un endroit oĂč ça manquait. La carte Chasm a aussi reçu des optimisations de _hint_ (_N. D. L. A. : un_ hint _est une surface indicative qui permet au compilateur de carte d’optimiser les calculs de visibilitĂ© et donc les performances_). [![Un Ɠuf dans le gouffre](https://dl.illwieckz.net/b/linuxfr.org/unvanquished/zone-51/unvanquished_2018ćčŽ10月05æ—„_005859_000.jpg)](https://dl.illwieckz.net/b/linuxfr.org/unvanquished/zone-51/unvanquished_2018ćčŽ10月05æ—„_005859_000.jpg) _Cela requĂ©rait une dextĂ©ritĂ© vraiment impressionnante, mais c’était possible. Oups !_ Les cartes comme Parpax, Station15, Spacetracks et Chasm ont fait l’objet d’un travail de _caulk_ (_N. D. L. A. : un _caulk_ est une surface spĂ©ciale qui n’est pas affichĂ©e et qui n’a aucun effet en jeu, elle est mĂȘme gĂ©nĂ©ralement supprimĂ©e Ă  la compilation ; ces surfaces sont utilisĂ©es sur les faces invisibles des polygones Ă  des fins d’optimisation_), rĂ©duisant parfois la taille des cartes de lumiĂšres (_lightmaps_) par un quart pour les deux derniĂšres (_N. D. L. A. : les cartes de lumiĂšre sont des textures dĂ©crivant les jeux d’ombres et de lumiĂšres pré‐calculĂ©es pour toutes les surfaces_). Thunder a vu certaines textures manquantes corrigĂ©es en mĂȘme temps qu’un gros effort de dĂ©duplication : cette carte est antĂ©rieure Ă  la plupart des _sets_ de textures, mais elle repose dĂ©sormais sur eux. Quelques changements mineurs ont Ă©tĂ© faits par _Viech_ sur Parpax, et _EmperorJack_ a mis Ă  jour sa carte Forlorn en bĂȘta 1. Vous avez tout ça dans cette version. ## Du cĂŽtĂ© communautaire Supertanker a publiĂ© une [prĂ©version d’une carte urbaine appelĂ©e Freeway](https://forums.unvanquished.net/viewtopic.php?f=33&t=2114) qui n’est pas encore distribuĂ© avec le jeu, parce qu’il y a encore beaucoup de travail Ă  faire, mais vous pouvez dĂ©jĂ  l’essayer sur les serveurs ! [![La carte Freeway en prĂ©version](https://dl.illwieckz.net/b/linuxfr.org/unvanquished/zone-51/unvanquished_2018ćčŽ12月09æ—„_170311_000.jpg)](https://dl.illwieckz.net/b/linuxfr.org/unvanquished/zone-51/unvanquished_2018ćčŽ12月09æ—„_170311_000.jpg) _La carte Freeway Ă  venir_ Du cĂŽtĂ© communautaire, certains cartographes ont fait de chouette cartes qui vous enjoueront peut‐ĂȘtre sur les serveurs. Bien que non officielles, elles valent le dĂ©tour et le jeu : _Matth_ a publiĂ© une refonte de la bonne vieille carte Tremor sous le nom « USS Tremor », une refonte d’UTCS sous le nom CTCS et aussi une carte dans un univers dĂ©sertique, appelĂ©e Fortification, avec un plan qui rappelle ATCS. Vous remarquerez l’impressionnante carte Hangar28 de _tvezet_, qui raconte tant d’histoires par elle‐mĂȘme. _Freeslave_ a portĂ© sa carte Stalkyard pour _Unvanquished_, et _cu-kai_ fait de mĂȘme avec sa carte combat-t3. Donc, en mĂȘme temps que les mises Ă  jour officielles, il y a plein de truc nouveaux Ă  apprĂ©cier sur les serveurs. ## Amorçage Le dossier `main/` du dĂ©pĂŽt Unvanquished est dĂ©sormais extrait comme un dĂ©pĂŽt Ă  part entiĂšre nommĂ© « [unvanquished_src.dpkdir](https://github.com/UnvanquishedAssets/unvanquished_src.dpkdir) » et rĂ©importĂ© comme sous‐module dans le dossier `pkg/` du dĂ©pĂŽt Unvanquished. Ce dĂ©pĂŽt de paquets ne contient pas suffisamment de choses pour jouer au jeu mais en a suffisamment pour dĂ©marrer le jeu, rejoindre un serveur et rĂ©cupĂ©rer tout le reste Ă  partir de lĂ . # Polissage du code du jeu Bon, il va ĂȘtre difficile de rapporter toutes les corrections, mais essayons tout de mĂȘme. Pour commencer, les donnĂ©es ne sont pas les seules Ă  avoir subi un grand nettoyage, le code aussi et du code rĂ©siduel a Ă©tĂ© supprimĂ©. ## De meilleurs « bots » Les _bots_ peuvent dĂ©sormais se dĂ©bloquer eux‐mĂȘmes et le remplissage de _bot_ a Ă©tĂ© implĂ©mentĂ© (commande `bot fill`) : c’est la mĂ©thode de gestion des _bots_ communĂ©ment implĂ©mentĂ©e sur les jeux en ligne oĂč une rĂ©serve de _bots_ est introduite sur les serveurs vides puis automatiquement retirĂ©e au fur et Ă  mesure que de vrais joueurs rejoignent la partie. Ces deux fonctionnalitĂ©s Ă©taient attendues depuis longtemps. Toujours du cĂŽtĂ© des _bots_, le code de jeu retire dĂ©sormais les _bots_ Ă  la fin du jeu quand une carte est redĂ©marrĂ©e, et une division par zĂ©ro se produisant quand l’habiletĂ© d’un _bot_ Ă©tait de 10 est dĂ©sormais corrigĂ©e. ## Animation de modĂšle, interface utilisateur, lecture audio Quelques interpolations dĂ©fectueuses d’animation affectant la fluiditĂ© des modĂšles sont corrigĂ©es, l’animation par squelette a Ă©tĂ© refactorisĂ©e, les attaques du _spiker_ et de l’_overmind_ ne sont plus interrompues par les animations de douleur. Les joueurs ne s’inclinent plus deux fois dans le sens de leur marche. Comme dit prĂ©cĂ©demment, l’interprĂ©tation des dimensions des modĂšles a Ă©tĂ© corrigĂ©e et les modĂšles redimensionnĂ©s en consĂ©quence. Au sujet de l’interface utilisateur, le filtrage _listmap_ et son affichage ont Ă©tĂ© corrigĂ©s (c’est une fonctionnalitĂ© de console), plus de choses sont relancĂ©es au redĂ©marrage des cartes pour retirer le tableau des scores de l’écran dans ce genre de situation par exemple, et les longues chaĂźnes de caractĂšres ne dĂ©placent plus les Ă©lĂ©ments dans les tableaux : avant ça, les longs noms d’utilisateur mettaient la pagaille dans le tableau des scores, de mĂȘme avec les longs noms de serveurs dans la liste des serveurs : c’est dĂ©sormais corrigĂ©. [![Explorateur de serveur de jeu](https://dl.illwieckz.net/b/linuxfr.org/unvanquished/zone-51/unvanquished_2018ćčŽ12月09æ—„_185107_000.png)](https://dl.illwieckz.net/b/linuxfr.org/unvanquished/zone-51/unvanquished_2018ćčŽ12月09æ—„_185107_000.png) _Les longs noms ne dĂ©placent plus les autres Ă©lĂ©ments_ Les chemins d’accĂšs des fichiers de son sont dĂ©sormais indĂ©pendants de leur extension. Ceci nous permet de distribuer de nouveaux sons en utilisant un nouveau format sans avoir Ă  se soucier de ce que l’ancien format soit toujours lĂ  dans les anciens paquets. Avant ça, si un effet sonore obsolĂšte Ă©tait appelĂ© `son.wav` et son remplacement utilisait un format plus rĂ©cent et Ă©tait nommĂ© `son.opus`, l’ancien aurait Ă©tĂ© chargĂ© dans tous les cas. À prĂ©sent, le fichier le plus rĂ©cent est prioritaire, quel que soit le format. ## RĂ©seau, initialisation, systĂšme de composant Un vilain bogue a Ă©tĂ© corrigĂ© dans le paquet `inforesponse`. C’est utilisĂ© par les outils d’interrogation et l’explorateur de serveur tierce partie comme [qstat](https://github.com/multiplay/qstat) ou [XQF](https://xqf.github.io/) (dont [on a dĂ©jĂ  parlĂ© dans ces colonnes](https://linuxfr.org/news/xqf-1-0-6-la-resurrection)) et le bogue affichait simplement une quantitĂ© erronĂ©e de joueurs quand on interrogeait les serveurs. Quand le jeu Ă©tait dĂ©marrĂ© pour la toute premiĂšre fois quelques options d’initialisation n’étaient pas faites, menant Ă  un menu de configuration erronĂ©. C’est corrigĂ©. Un plantage se produisant lors des redĂ©marrages avec `switchteam` est Ă©galement corrigĂ©. Le systĂšme de composants a Ă©tĂ© profondĂ©ment remaniĂ©, particuliĂšrement du cĂŽtĂ© des constructions, et les composants de pensĂ©e ont Ă©tĂ© optimisĂ©s. ## Options de dĂ©veloppeur Une nouvelle triche `give bp` a Ă©tĂ© ajoutĂ©e pour se donner Ă  soi‐mĂȘme une quantitĂ© arbitraire de points de construction en vue de tests, et une nouvelle option de dĂ©veloppeur appelĂ©e `g_neverEnd` a Ă©tĂ© ajoutĂ©e pour ne pas terminer le jeu mĂȘme s’il n’y a plus du tout de points de rĂ©apparition. Ceci est utile pour les cartographes qui ont besoin de tester leur travail en cours ou pour les dĂ©veloppeurs qui doivent ouvrir des cartes dans _Unvanquished_ provenant d’autres jeux, alors qu’ils travaillent sur un portage et que leur jeu n’est pas encore complet. Ils ont simplement Ă  activer cette option et Ă  charger cette carte avec `devmap`. Une petite bidouille a Ă©tĂ© introduite pour empĂȘcher le clip de l’arme de l’exosquelette. Du code mort a Ă©tĂ© retirĂ©, merci Ă  _Slipher_ d’en avoir pris soin. Oh, et le jeu peut dĂ©sormais ĂȘtre construit contre un dossier du moteur DĂŠmon stockĂ© Ă  l’extĂ©rieur de l’arbre des sources d’_Unvanquished_. De nombreux correctifs ont Ă©tĂ© apportĂ©s grĂące Ă  de l’analyse statique. C’est vrai aussi pour le code du moteur. # AmĂ©lioration du moteur Cette version casse la compatibilitĂ© avec les prĂ©cĂ©dentes versions sous plusieurs aspects : gestion de paquets, stockage des donnĂ©es des utilisateurs, entrĂ©e... Puisque la compatibilitĂ© allait ĂȘtre cassĂ©e dans tous les cas, c’était le meilleur moment pour implĂ©menter tous les autres changements qui cassent la compatibilitĂ© et qui attendaient depuis longtemps. C’était le moment de se dĂ©faire des vieilleries. ## Le grand dĂ©barras des vieilleries Nous avons donc basculĂ© vers le [format de paquet DPK](https://wiki.unvanquished.net/index.php?title=DPK_Format), comme [expliquĂ© dans un article prĂ©cĂ©dent](https://linuxfr.org/users/illwieckz/journaux/unvanquished-toujours-sur-les-rails). C’est le moment d’annoncer une importante amĂ©lioration sur le plan de l’utilisabilitĂ© : il faut remercier le travail de _Slipher_, qui permet aux utilisateurs d’associer des caractĂšres non‐ASCII, et il y a plusieurs maniĂšres d’associer une touche, l’une d’entre elle utilisant des identifiants matĂ©riels qui sont indĂ©pendants de l’agencement du clavier. Cela signifie que nous pouvons dĂšs maintenant distribuer une carte de touches qui fonctionne quel que soit l’agencement du clavier et la langue, tout en permettant aux personnes de la personnaliser en utilisant les noms des touches dans leur propre langue. Il faut noter que les anciennes associations de touches sont automatiquement converties depuis les prĂ©cĂ©dents paramĂštres pour ĂȘtre utilisĂ©es dans le nouveau moteur, mais elles ne seront pas utilisables par des moteurs plus anciens aprĂšs ça. _EACFreddy_ a aussi travaillĂ© Ă  une meilleure prise en charge des manettes de jeu. Le stockage des donnĂ©es utilisateur suit maintenant les [recommandations XDG](https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html) sous GNU/Linux. Donc, Ă  moins que vous ayez des variables d’environnement personnalisĂ©es, le moteur utilise dĂ©sormais le chemin `~/.local/share/unvanquished` sous GNU/Linux, dĂ©plaçant automatiquement l’ancien dossier cachĂ© `~/.unvanquished`. ## Aller de l’avant Nous avons aussi mis Ă  jour le code de Crunch en le rebasant sur l’amont d’Unity... Crunch est un outil de compression et un format d’image Ă  destination des cartes graphiques : les textures peuvent ĂȘtre distribuĂ©es dans un format compressĂ© qui peut ĂȘtre dĂ©chargĂ© directement vers la carte graphique, Ă©conomisant de l’espace disque, de la mĂ©moire vive principale, du calcul processeur et de la bande passante, et donc du temps de chargement. Crunch est un outil et un format initialement dĂ©veloppĂ© par BinomialLLC, mais, plus tard, Unity a mis ses mains dans le code et l’a beaucoup amĂ©liorĂ©. Par beaucoup, je veux dire beaucoup. Les gens d’Unity disent que leur outil crunch modifiĂ© « peux compresser jusqu’à 2,5 fois plus rapidement, tout en produisant un meilleur taux de compression de 10 % ». Nous avons donc menĂ© un test sur notre [propre dĂ©pĂŽt de donnĂ©es](https://github.com/UnvanquishedAssets/UnvanquishedAssets), « re‐crunchant » tous les paquets de ressources et de textures. Le corpus donnĂ© au moment oĂč nous fĂźmes les tests produisirent 1 797 fichiers `.crn`. Nous avons comparĂ© notre ancien outil crunch basĂ© sur le code de BinomialLLC et le nouveau d’Unity avec nos modifications apportĂ©es. Nous avons recompilĂ© l’exĂ©cutable, il n’y a donc pas de biais sur ce plan‐lĂ . Et voici les rĂ©sultats : **Le crunch de BinomialLLC :** - temps de compression : 115 minutes et 8 secondes ; - taille des fichiers produits : 269 mĂ©gaoctets. **Le crunch d’Unity :** - temps de compression : 26 minutes et 43 secondes ; - taille des fichiers produits : 239 mĂ©gaoctets. Donc, l’outil crunch d’Unity rĂ©duit le temps de compression par 4,31 et rĂ©duit la taille par 11,15 %. Ils disaient « jusqu’à 2,5 fois plus rapide », mais nous avons vu certaines textures ĂȘtre compressĂ©es six fois plus rapidement, et la moyenne de l’ensemble est 4,3 fois plus rapide. Et oui, l’outil compresse mieux que 10 %, plus intensĂ©ment. Les rĂ©sultats sont impressionnants et sont beaux Ă  voir. Le point noir, c’est que ce nouvel outil crunch casse la compatibilitĂ© du format pour pouvoir rĂ©aliser ces amĂ©liorations ([en lire plus dans nos forums](https://forums.unvanquished.net/viewtopic.php?f=4&t=2158)), cependant le code de BinomialLLC est en dormance, tandis que celui d’Unity est non seulement actif mais aussi implĂ©mentĂ© dans Unity (c’est une large base d’utilisateur). Et mĂȘme l’auteur original de chez BinomialLLC semble avoir lui‐mĂȘme embranchĂ© l’arbre d’Unity ; donc, nous avons sautĂ© le pas. L’amont d’Unity semble ne pas fusionner les demandes de fusion, donc si vous ĂȘtes un dĂ©veloppeur de jeu intĂ©ressĂ© par Crunch, jetez un Ɠil Ă  [notre divergence](https://github.com/DaemonEngine/crunch) du code source qui maintient des corrections de compilation pour GNU/Linux et macOS, un _Makefile_ corrigĂ©, une intĂ©gration avec l’outil CMake (il semble que les gens d’Unity se focalisent uniquement sur Windows et Visual Studio), la personnalisation d’assertion et une normalisation optionnelle de carte normale, tout en restant synchronisĂ© avec l’amont d’Unity. ## Traiter avec des pilotes dĂ©fectueux et corriger nos propres erreurs Un plantage se produisant avec du matĂ©riel et du logiciel NVIDIA spĂ©cifique est dĂ©sormais corrigĂ©. Ce bogue Ă©tait ennuyeux et mĂȘme la quantitĂ© massive de fichiers journaux partagĂ©s par les joueurs dans les rapports de bogue n’était pas suffisante pour circonscrire correctement le problĂšme. Heureusement, quelqu’un dans l’équipe de dĂ©veloppement rĂ©ussit Ă  mettre la main sur ce bout de rebut dĂ©fectueux, nous permettant de reproduire et contourner le problĂšme puisque nous savons que le pilote ne sera plus jamais mis Ă  jour. Nous avons corrigĂ© une erreur GLSL qui plantait le jeu sur des pilotes correctes parce que, eh, pas seulement les autres font des erreurs, mais au moins, nous, nous corrigeons les nĂŽtres. Un bogue en rapport avec le _light culling_ est dĂ©sormais corrigĂ©. Le _shader_ SSAO est dĂ©sormais corrigĂ© sous OpenGL 2.1, et quelques incompatibilitĂ©s avec OpenGL 2.x sont corrigĂ©es. Un mĂ©chant bogue menant Ă  un crash quand de trop nombreux avertissements Ă©taient affichĂ©s dans le terminal de l’utilisateur est dĂ©sormais corrigĂ©. Toujours du cĂŽtĂ© du terminal, une mauvaise initialisation causant un problĂšme d’affichage de la console _ncurses_ est dĂ©sormais une chose du passĂ©. Nous avons dĂ©couvert un problĂšme liĂ© Ă  la gestion des canaux privĂ©s (la quantitĂ© de personnes connectĂ©es Ă©tait fausse dans certains cas), dĂ©sormais corrigĂ©. ## Rendre le moteur plus accueillant [![Un granger](https://dl.illwieckz.net/b/linuxfr.org/unvanquished/zone-51/unvanquished_2018ćčŽ12月09æ—„_180936_000.jpg)](https://dl.illwieckz.net/b/linuxfr.org/unvanquished/zone-51/unvanquished_2018ćčŽ12月09æ—„_180936_000.jpg) _Ce granger est trĂšs accueillant_ Pour amĂ©liorer la compatibilitĂ© avec d’autres jeux essayant de se porter vers le moteur DĂŠmon, la prise en charge de DXT3 et BC2 a Ă©tĂ© ajoutĂ©e, c’est utilisĂ© dans certains formats d’image comme le DDS (_DirectDraw Surfaces_). Le moteur prend maintenant en charge le prĂ©fixe `dds/` que des moteurs de jeu comme celui de Doom 3 ou encore Darkplaces attendent. L’interprĂ©tation des _shaders_ n’avorte plus en cas d’avertissement (nous parlons toujours de matĂ©riau Quake 3). C’était une erreur, puisque les avertissements sont pensĂ©s pour avertir, pas pour avorter. Et ce correctif aide aussi les donnĂ©es de tierces parties Ă  ĂȘtre chargĂ©es mĂȘme si elles sont incomplĂštes ou essaient d’utiliser des fonctionnalitĂ©s non prises en charge. Le moteur ne recompresse plus salement les _skyboxes_ (_N. D. L. A. : une _skybox_ est une texture spĂ©ciale en forme de cube vu de l’intĂ©rieur qui reprĂ©sente l’environnement lointain tout autour d’une carte, gĂ©nĂ©ralement le ciel_). Cela utilisait avant la trĂšs inefficace compression OpenGL, et nous ne faisons plus ce genre de chose puisque la compression de texture est dĂ©sormais prise en charge au moment de construire les donnĂ©es, sĂ©lectionnant le meilleur format pour un bon affichage, un chargement court, et de hauts rĂ©sultats de compression. Cette recompression inefficace produisait de trĂšs laides _skyboxes_. Et c’était trĂšs problĂ©matique, puisqu’une _skybox_ dessine une image statique devant les yeux du joueur par conception, remplissant parfois l’écran entier. Ainsi, un artefact serait trĂšs visible et ennuyeux, et ce n’est pas acceptable. Les _shaders_ [[GLSL]] sont dĂ©sormais embarquĂ©s dans le moteur au moment de la compilation. Quelques efforts ont Ă©tĂ© faits pour rendre le moteur plus autonome, faisant en sorte que certains fichiers de police de caractĂšre soient optionnels, par exemple. Ce travail n’est pas complet : le moteur a toujours besoin de quelques donnĂ©es pour se charger, mais c’est mieux qu’avant. Autonomiser le moteur rend le portage de jeux plus facile. Le code de dĂ©mo a Ă©tĂ© nettoyĂ© par _Melanosuchus_ (_N. D. L. A. : une dĂ©mo est un enregistrement de tous les Ă©vĂ©nements du jeu qui peuvent ĂȘtre rejouĂ©s par le moteur_), les _cvars_ ont Ă©tĂ© proprement renommĂ©es et des fonctionnalitĂ©s cassĂ©es ont Ă©tĂ© retirĂ©es (_N. D. L. A. : une _cvar_ est une forme de variable utilisĂ©e dans le jeu que le joueur peut configurer depuis la console intĂ©grĂ©e_). _Melanosuchus_ Ă©tait celui qui avait dĂ©jĂ  importĂ© les codes de couleur RGB depuis _[Xonotic](https://xonotic.org)_ Ă  l’époque de la version 0.43. Cette fois‐ci, _T4im_ a apportĂ© des corrections au code de couleur. ## Meilleur code Le machin mathĂ©matique des [[quaternions]] a Ă©tĂ© remaniĂ©, ne comptez‐pas sur moi pour expliquer ça en dĂ©tails. Le moteur utilise dĂ©sormais des appels non bloquants pour gĂ©nĂ©rer de l’alĂ©a si possible. Quelques modernisations de C++ ont Ă©tĂ© dirigĂ©es par _T4im_. _Gimhael_ a corrigĂ© un bogue se produisant avec des cartes n’ayant pas de _lightmap_, un bogue qui a Ă©tĂ© dĂ©couvert par nos amis du projet en chantier _[UnrealArena](http://www.unrealarena.net)_. Un problĂšme liĂ© Ă  _breakpad_ (outil de rapport de crash) a Ă©tĂ© corrigĂ© et un problĂšme empĂȘchant de construire le moteur depuis un dossier extĂ©rieur Ă  l’arbre des sources a reçu une correction. Le problĂšme de systĂšme de fichiers nous empĂȘchant de publier des prĂ©versions dans certains cas a Ă©tĂ© corrigĂ©, comme dit prĂ©cĂ©demment. ## Encore plus Il y a eu beaucoup de travail rĂ©alisĂ© sur la chaĂźne d’édition de carte, l’éditeur de carte NetRadiant et le compilateur de carte q3map2 sont dĂ©sormais pleinement pris en charge. Il y a tellement Ă  dire qu’un billet dĂ©diĂ© est requis. Restez Ă  l’écoute ! Le moteur peut dĂ©sormais interroger plusieurs serveurs maĂźtres, et maintenant le jeu le fait : nous avons mis en place un serveur maĂźtre secondaire (_master2.unvanquished.net_), il rend le jeu plus rĂ©silient quand [de mauvaises choses se produisent](https://www.unvanquished.net/?p=1145). Nous attendons toujours la permission restante de _dsalt_ pour basculer le Wiki depuis la licence non libre CC By-NC-SA vers la licence libre CC By-SA. Nous sommes toujours sans nouvelle de _chris807_, ses modĂšles Ă©tant les derniers Ă  ne pas ĂȘtre sous la mĂȘme licence que les autres. Comme annoncĂ© dans les prĂ©cĂ©dentes publications, nous avons dĂ©sormais une [page pour suivre l’activitĂ© du dĂ©veloppement](https://www.unvanquished.net/activity/) et un [salon _discord_](https://discord.gg/pHwf5K2) a Ă©tĂ© ouvert. Les [canaux IRC](https://www.unvanquished.net/?page_id=334) vous accueillent toujours, rejoignez‐nous et prenez part Ă  un gros et excitant projet comme _Unvanquished_ ! Nos amis de _Smokin’ Guns_ [ont annoncĂ© une tentative de porter leur jeu vers le moteur DĂŠmon](https://www.smokin-guns.org/news/smokinguns-return), espĂ©rons que cela sera un succĂšs parce que ce jeu est vraiment amusant et mĂ©rite un rafraĂźchissement ! ## Remerciements Il serait difficile de nommer tous ceux qui ont Ă©tĂ© impliquĂ©s dans cette publication, mais nous remercions profondĂ©ment tous ceux de l’équipe et chacun des contributeurs. ## Contribuer Nous avons besoin d’animateur et d’implĂ©menteur pour pouvoir distribuer certains de nouveaux modĂšles qui sont dĂ©jĂ  modelĂ©s. Le jeu a besoin d’un Ă©cran de vote de carte, avoir des dĂ©mos cĂŽtĂ© serveur comme _Xonotic_ serait apprĂ©ciable, importer l’effet d’eau et les _lightmaps_ sRGB depuis le moteur Darkplaces serait excellent, expĂ©rimenter avec [WebAssembly](https://webassembly.org/) dans l’intention de remplacer [Native Client](https://developer.chrome.com/native-client) un jour serait une bonne chose pour notre systĂšme de bac Ă  sable. Nous avons toujours besoin de nouveaux sons, [quelqu’un a dit qu’il travaillait Ă  refaire la bibliothĂšque sonore](https://forums.unvanquished.net/viewtopic.php?f=8&t=2167). Donc, si vous dĂ©sirez contribuer sur cette partie, c’est mieux de le contacter. Et maintenant la meilleure chose Ă  faire : jouons ! ![Battlesuit](https://dl.illwieckz.net/b/linuxfr.org/unvanquished/zone-51/bsuit.png)

AltStyle ă«ă‚ˆăŁăŠć€‰æ›ă•ă‚ŒăŸăƒšăƒŒă‚ž (->ă‚ȘăƒȘă‚žăƒŠăƒ«) /