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 !  _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 ! [](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. [](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 ! [](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. [](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 ! [](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. [](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_). [](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 ! [](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Ă©. [](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 [](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 ! 