URL: https://linuxfr.org/news/unvanquished-0-53-beta-est-la-un-petit-pas-pour-les-bots-un-bond-en-avant-pour-unvanquished Title: Unvanquished 0.53 Beta est là : un petit pas pour les bots, un bond en avant pour Unvanquished ! Authors: GG Thomas Debesse, bobble bubble, BAud, theojouedubanjo, Ysabeau, tisaac, Arkem et NeoX Date: 2022-07-02T18:46:49+02:00 License: CC By-SA Tags: unvanquished, jeux_linux, jeu_libre, jeu_vidéo, daemon_engine, idtech et tremulous Score: 3 Unvanquished est l’un des rares jeux qui combinent à la fois le mode FPS (_First Person Shooter_ : [Tir à la première personne en vue subjective](https://fr.wikipedia.org/wiki/Jeu_de_tir_%C3%A0_la_premi%C3%A8re_personne)) et le mode RTS (_Real-Time Strategy_ : [Stratégie en temps réel](https://fr.wikipedia.org/wiki/Jeu_de_strat%C3%A9gie_en_temps_r%C3%A9el)) en équipe. Chaque joueur peut choisir une faction : Aliens ou Humains. L’objectif étant d’annihiler la faction opposée. Les deux factions se jouent différemment, et c’est l’un des intérêts de Unvanquished. Malgré la différence importante de _gameplay_ entre les deux équipes, certains mécanismes sont communs, avec notamment la possibilité de construire qui implique de ne pas avoir de capacité de combat importante. Vaincre des ennemis fournit des crédits qui peuvent être dépensés en améliorations pour le joueur, et la progression de l’équipe permet de débloquer des options de bâtiments et d’améliorations personnelles. Une nouvelle version est sortie, la 0.53, et nous allons vous présenter ci-après dans les grandes lignes les changements les plus importants. ![Unvanquished 0.53 - Splash screen](https://unvanquished.net/wp-content/uploads/2015/01/splash.png) ---- [Télécharger Unvanquished](https://unvanquished.net/download/) [Les instructions pour tester le jeu sans attendre (Wiki Unvanquished)](https://wiki.unvanquished.net/wiki/Get_started_easy) [Des recommandations sur le fonctionnement du jeu (Wiki Unvanquished)](https://wiki.unvanquished.net/wiki/Gameplay) [Unvanquished 0.53 Beta, what a milestone! (Blog Unvanquished)](https://unvanquished.net/unvanquished-0-53-beta-what-a-milestone/) [Unvanquished 0.53.1 and launcher 0.2.0, quick fix and dark magic! (Blog Unvanquished)](https://unvanquished.net/unvanquished-0-53-1-and-launcher-0-2-0-quick-fix-and-dark-magic/) [Version précédente : Unvanquished 0.52 Beta est là (LinuxFr.org)](https://linuxfr.org/news/unvanquished-0-52-beta-est-la) [Version précédente : Unvanquished Zone 51 (LinuxFr.org)](https://linuxfr.org/news/unvanquished-zone-51) ---- Deux factions : les Aliens et les Humains ========================================= La faction humaine est particulièrement vulnérable au début, mais la grande majorité de leurs armes permet le combat à distance, et ils sont tous équipés d’une arme de poing, le blaster, qui est certes faible mais dispose de munitions infinies. Le port d’une armure est particulièrement recommandé, dès que possible. L’une de ces armures, la _[battlesuit](https://wiki.unvanquished.net/wiki/Battlesuit)_, est l’armure la plus résistante, mais ne permet pas le port d’équipements dorsaux (le _[jetpack](https://wiki.unvanquished.net/wiki/Jetpack)_ qui permet de voler et le radar qui permet de localiser et mettre en évidence des ennemis, partageant l’information avec l’équipe) et réduit drastiquement la mobilité des humains (fatigue accrue, impossibilité de courir sur les murs, taille plus imposante). L’[armure moyenne](https://wiki.unvanquished.net/wiki/Medium_Armour) permet de conserver une grande mobilité et d’avoir ces équipements additionnels. Les humains peuvent construire des bâtiments robustes, mais peu variés, dont ils peuvent accélérer l’auto-réparation avec le _[Kit de construction](https://wiki.unvanquished.net/wiki/Construction_Kit)_. [![Un humain en battlesuit avec le chaingun](https://unvanquished.net/wp-content/uploads/2022/08/Unvanquished_2021-11-07_Battle_Suit_Firing_ChainGun.crop_-768x618.jpg)](https://unvanquished.net/wp-content/uploads/2022/08/Unvanquished_2021-11-07_Battle_Suit_Firing_ChainGun.crop_.jpg) _Un humain en tenue de combat avec le chaingun_ La faction alien se spécialise quant à elle dans le combat au corps à corps, bien que certaines de ses formes avancées disposent de quelques attaques à courte distance (les _Dragoons_ et les _Grangers_ peuvent cracher, le _Marauder_ peut émettre de puissants arcs électriques). Afin de trouver et atteindre leur cible, les aliens disposent tous du _sens alien_ qui leur permet de repérer ennemis et alliés au travers des murs, ainsi que de mécaniques de déplacements qui varient selon la forme : le _Dretch_, le _[Mantis](https://wiki.unvanquished.net/wiki/Mantis)_, ainsi que les _Grangers_ peuvent marcher sur les murs, le _Mantis_ ainsi que les _Dragoons_ (rien à voir avec les dragons européens ou chinois!) peuvent se propulser dans les airs, les _[Marauders](https://wiki.unvanquished.net/wiki/Marauder)_ peuvent rebondir sur les murs, et les _Tyrants_ ont la faculté de charger. Leurs formes, tailles et bâtiments sont aussi variés que leurs capacités de déplacement. Alors que la faction Humaine est relativement simple à prendre en main, les différentes formes d’Aliens se jouent très différemment, et nécessitent un apprentissage pour chaque forme. Entre des mains expertes, les Aliens sont la faction la plus redoutable, et en particulier le Dragoon Avancé (_Advanced Dragoon_). [![Un dragoon prêt à bondir](https://unvanquished.net/wp-content/uploads/2022/08/Unvanquished_2021-08-Goon_front_on_ground.crop_.jpg)](https://unvanquished.net/wp-content/uploads/2022/08/Unvanquished_2021-08-Goon_front_on_ground.crop_.jpg) _Un dragoon prêt à bondir_ Tout comme les personnages des factions, les bâtiments correspondants sont très différents. Les Humains bénéficient de bâtiments qui vont pouvoir attaquer à distance, en particulier le [lance-roquettes](https://wiki.unvanquished.net/wiki/Rocket_Pod) (_Rocket Pod_), alors que la faction des Aliens ne peut compter que sur le nid de frelons (_Hives_) pour l’attaque à distance, qui est plutôt une forme de défense et sera utilisé à l’intérieur pour piéger un espace sans exposer le nid, vulnérable. Toutes les constructions Aliens sont vulnérables aux feux, et [ne devraient pas être construites au sol ou trop serrées](https://wiki.unvanquished.net/wiki/Aliens#Example). Un joueur débutant sera plus à l’aise avec la faction humaine. Avec le _SMG_ (arme de base) puis équipé d’une [armure](https://wiki.unvanquished.net/wiki/Humans#Armour) dès que possible, il pourra défendre la base et se joindre à un groupe pour faire ses premiers pas. Les joueurs débutants ne devraient pas s’aventurer seuls. Il est important de rentrer à la base dès que la situation commence à s’envenimer (trop de blessures, groupe diminué, manque de munitions, etc.). Notez que les Humains bénéficient d’un _Medikit_, gratuit, qui leur permet de récupérer lentement de la santé et de lutter contre le poison inoculé par les Aliens. Le _Medikit_ se récupère à la [Station de Soin](https://wiki.unvanquished.net/wiki/Medistation) (_Medistation_). Que ce soit dans la faction humaine ou celle des aliens, vous pouvez facilement vous mettre à dos les membres de votre équipe en construisant, voir en déposant à foison des _[Drill](https://wiki.unvanquished.net/wiki/Drill)/[Leech](https://wiki.unvanquished.net/wiki/Leech)_ ! En effet, la destruction des bâtiments par les ennemis leur donne des points qui leur permettront de devenir plus dangereux. Le placement inadéquat d’une construction peut facilement faire basculer la partie en défaveur de l’équipe. La documentation ! ================== Le Wiki fournit des astuces avec des captures d’écrans : [wiki.unvanquished.net/wiki/Gameplay](https://wiki.unvanquished.net/wiki/Gameplay) Et pour ceux qui veulent essayer rapidement : [wiki.unvanquished.net/wiki/Get_started_easy](https://wiki.unvanquished.net/wiki/Get_started_easy) Il y a eu beaucoup de changements entre la version 0.52 et 0.53. Le plus visible étant que les bots sont moins stupides, en fonction de leur degré de compétence (qui était déjà réglable, mais ce réglage a un plus fort impact maintenant). D’autre part, les variantes pour les cartes et le mode PvE (Joueurs humains contre bots, acronyme très utilisé notamment dans le milieu des _mmorpg : Player versus Enemy_) apportent plus de diversité à la monotonie des cartes. Plusieurs contributeurs ont porté d’anciennes cartes de Tremulous et les ont adaptées pour Unvanquished. Ces trésors rappelleront de bons souvenirs à certains. Ces cartes ne sont pas encore sur les serveurs officiels, mais sont disponibles sur d’autres. Installation et lancement ========================= La méthode recommandée pour installer Unvanquished est notre [_lanceur_](https://unvanquished.net/download/) (parfois nommé _updater_), il se charge de télécharger, installer, mettre à jour, configurer le système et lancer le jeu. La configuration du système consiste à enregistrer le schéma d’url permettant de joindre une partie en cliquant sur un lien dans une page web ou dans le chat (ou tout autre moyen). Pour certains systèmes, le _launcher_ s’assure aussi que le système d’exploitation autorise l’exécution du jeu. Les nouvelles d’Unvanquished 0.53 ============================ En dehors des versions mineures, ceci est notre seconde bêta. Cela fait un an que nous sommes entrés dans la phase de bêta. Le projet Unvanquished a eu 10 ans le 29 févier 2022 ! Notre chat a migré depuis Freenode vers Libera. Libera, Matrix et Discord sont reliés entre eux, ce qui permet aux utilisateurs des différents services de ne pas être isolés, voir notre page [Chat](https://unvanquished.net/chat). Deux nouveaux développeurs nous ont rejoint officiellement ; ils contribuaient déjà et font désormais partie de l’équipe : _afontain_ et _bmorel_. Cette version est le fruit d’un travail assez important, et -- comme avec les icebergs -- la majeure partie n’est pas visible. Énormément de refonte et de documentation de code a été faite pour rendre les choses plus simples pour les prochains candidats à la contribution. En chiffres, cela donnait environ, en juillet 2022 : - 573 modifications pour le code du jeu (exclut donc les données qui sont dans un dépôt séparé, mais inclut les synchronisations), 248 fichiers modifiés (pour environ 420 fichiers), ~14 KLoC (milliers de lignes de code) ajoutées et ~11.5 KLoC supprimées, pour environ 144.4 KLoC au total. - 291 commits dans le moteur, 179 fichiers modifiés, ~4 KLoC ajoutées et ~6,2 KLoC supprimées, pour environ 156 KLoC. Les gros changements bien visibles ------------------------------------- La carte [Parpax](https://wiki.unvanquished.net/wiki/Maps/Parpax) a été profondément remaniée par Viech, l’expérience de jeu est désormais très différente ! ![La carte Parpax mise à jour](https://wiki.unvanquished.net/images/thumb/c/c8/Unvanquished_2022-map_Viech_Parpax.1.jpg/1000px-Unvanquished_2022-map_Viech_Parpax.1.jpg) _La carte Parpax mise à jour_ Un [serveur](https://unvanquished.net/servers/) nommé « _Nightly Experimental Server_ » a été mis en place par _afontain_, il reconstruit automatiquement les branches [master](https://github.com/Unvanquished/Unvanquished/tree/master) du code et des données pour permettre de tester la majorité des changements sans attendre une nouvelle version (certains changements nécessitent malheureusement une rupture de compatibilité et ne peuvent y être testés, ceux-ci sont dans une branche à part, tandis que la branche _master_ conserve sa compatibilité avec la dernière version du moteur publiée). Les données (cartes, etc.) sont reconstruites en utilisant [Urcheon](https://github.com/DaemonEngine/Urcheon/). Les gros bugs qui tâchent ------------------------- Au moment d’apparaître en jeu il n’est plus possible d’entrer en collision avec un autre joueur qui se tiendrait sur un [œuf](https://wiki.unvanquished.net/wiki/Egg) ou un _[telenode](https://wiki.unvanquished.net/wiki/Telenode)_. Il était déjà prévu que ça ne se produise pas, mais il restait quelques cas rares où cela se produisait, ce qui bloquait les joueurs ! Les [serveurs](https://unvanquished.net/servers/) de jeu ne disparaissent plus dans la liste ! Les serveurs maîtres de jeux qui sont temporairement inatteignables sont réinterrogés après un certain délai au lieu d’être oubliés pour toujours, cela empêche de voir son serveur retiré de la liste parce qu’un problème réseau est temporairement apparu une fois entre le serveur maître et le serveur de jeu. Le code d’origine était pensé pour les limitations des réseaux des années 90 (il y avait même encore des contournements pour des limitations de Windows 95 !) et donc cette partie a été réécrite. Il subsiste un problème qui affecte uniquement les utilisateurs de connexion internet 4G Free Mobile (probablement dû à une restriction côté opérateur) et qui empêche de lister les serveurs de jeu (même s’ils sont correctement enregistrés sur le serveur maître). En attendant un correctif, ces utilisateurs peuvent utiliser notre [liste de serveurs en ligne](https://unvanquished.net/servers/) ou glander\^W discuter sur IRC où un robot annonce régulièrement les serveurs peuplés. Le bug qui empêchait de se connecter à un serveur depuis la page du site une fois que le jeu avait déjà été lancé a aussi été corrigé ! Le son du _jetpack_ n’est plus audible à travers toute la carte (c’était un bug), pareil pour le son du bouton de l’ascenseur de la carte [Spacetracks](https://wiki.unvanquished.net/wiki/Maps/Spacetracks) ! Pour la petite histoire, les sons positionnels doivent être mono… Les changements des interactions et de l’environnement du jeu ----------- Le mécanisme du [lance-flammes](https://wiki.unvanquished.net/wiki/Flame_Thrower) a été modifié pour réduire le déséquilibre de puissance, les dégâts les plus efficaces sont les dégâts indirects (par le feu généré), et il faut plus de temps pour allumer un feu : on ne peut plus vraiment peindre le sol de flammes en courant, le lance-flammes devient donc surtout une arme d’attaque de base alien qui demande de la coordination alors qu’avant un seul joueur humain avec un lance-flammes pouvait mettre en échec une équipe entière d’aliens. Avant, on pouvait facilement créer un tapis de flammes: ![Flammes au sol](https://wiki.unvanquished.net/images/6/66/2021-11-HumanBS_FlameThrower.jpg) Les _blobs_ aliens (_[granger](https://wiki.unvanquished.net/wiki/Granger)_, _[dragoon](https://wiki.unvanquished.net/wiki/Dragoon)_, _[trapper](https://wiki.unvanquished.net/wiki/Trapper)_) font désormais une taille de 5 au lieu de 0, ce qui rend leur usage moins élitiste. Les _blobs_ sont des sortes de crachats que jettent certaines créatures ou constructions pour blesser, immobiliser, ralentir, éteindre des feux… [Trappeurs (1)](https://wiki.unvanquished.net/wiki/Trapper), [Épines projetées (2)](https://wiki.unvanquished.net/wiki/Spiker) et [Tubes d’acides (3)](https://wiki.unvanquished.net/wiki/Acid_Tube) en action: ![Trappeurs et Tubes d’acide en action](https://wiki.unvanquished.net/images/thumb/b/b8/Unvanquished_2021-11-Human_under_trap_Spikes_acid_tube.png/650px-Unvanquished_2021-11-Human_under_trap_Spikes_acid_tube.png) Le rayon d’extinction de feu du crachat du _[granger avancé](https://wiki.unvanquished.net/wiki/Granger)_ a été augmentée de 20 à 64 (environ 3 m dans le jeu). La portée d’utilisation des constructions (comme l’armurerie) est désormais la même pour les joueurs et les bots (et les joueurs qui utilisaient des raccourcis claviers), elle est donc plus courte. Le joueur alien est automatiquement écarté du mur pour avoir assez de place pour évoluer au lieu d’avoir un message frustrant qui dit qu’il faut bouger ! Le _[canon lucifer](https://wiki.unvanquished.net/wiki/Lucifer_Cannon)_ vibre quand il charge ! En fait c’était déjà implémenté mais ça ne marchait pas ! Merci à _bmorel_ d’avoir corrigé ça, parmi plein d’autres bugs. Le _[drill](https://wiki.unvanquished.net/wiki/Drill)_ peut désormais recharger les armes à énergie ce qui permet de recharger ces armes dans des bases avancées. Cela rend plus intéressant de dépenser de l’argent dans une arme à énergie en sachant qu’elle peut être rechargée sans revenir à la base principale. Cela étend les stratégies possibles comme le fait de préférer dépenser du crédit personnel dans une arme à énergie plutôt que de dépenser les points de construction de l’équipe dans la construction d’une armurerie dans une base avancée. Le _répétiteur_ avait cette fonctionnalité avant mais quand il a été remplacé par l’extracteur (Drill) cette fonctionnalité n’a pas été transférée (par accident), ce qui était donc une régression. Il devient possible de rejoindre la même équipe que d’autres joueurs même si le ratio joueur/bot est déséquilibré tant que l’équipe adverse n’est composée que de bot, tout en forçant l’équilibrage des équipes dès lors qu’il y a de vrais joueurs dans chacune des équipes. Cela permet à des joueurs de décider en début de partie de combattre ensemble contre des bots plutôt que d’être contraints à se battre l’un contre l’autre. Un vétéran peut ainsi choisir d’accompagner un nouveau venu plutôt que de le massacrer et le dégoûter du jeu (sans même en faire exprès, parfois). [![Un humain avec un pistolet laser près d'un Drill](https://unvanquished.net/wp-content/uploads/2022/08/Unvanquished_2021-11-Light_armor_with_lasgun-768x469.jpg)](https://unvanquished.net/wp-content/uploads/2022/08/Unvanquished_2021-11-Light_armor_with_lasgun-768x469.jpg) _Un humain avec un pistolet laser près d’un Drill_ Améliorations de l’interface et des mécaniques du jeu ----------------------------------------------------- Les icônes de l’inventaire ont été agrandies. En cas de course rapide, l’interface l’indique avec une icône spécifique. C’est particulièrement utile pour les joueurs qui utilisent le mode de bascule à la place de l’appui de la touche pour la course rapide. Spéciale dédicace à Bob Vador pour ce travail sur les pictogrammes. [![L’indicateur de mode de course](https://unvanquished.net/wp-content/uploads/2022/07/20220731-214239-000.unvanquished-running-indicator-768x480.jpg)](https://unvanquished.net/wp-content/uploads/2022/07/20220731-214239-000.unvanquished-running-indicator.jpg) _L’indicateur de mode de course_ La capacité en oxygène est indiquée dans l’interface lorsque le personnage est sous l’eau. C’est aussi valable pour les Aliens. [![L’indication de la réserve d’oxygène](https://unvanquished.net/wp-content/uploads/2022/07/unvanquished_2022-07-31_232422_000-768x432.jpg)](https://unvanquished.net/wp-content/uploads/2022/07/unvanquished_2022-07-31_232422_000.jpg) _L’indication de la réserve d’oxygène_ Les messages de chargement de carte ont été rétablis. Ce sont principalement des messages humoristiques, mais ils indiquent la progression du chargement, et certains messages sont utiles pour l’utilisateur, comme le message qui indique que les shaders GLSL sont en train d’être compilés. [![Messages de chargement des cartes](https://unvanquished.net/wp-content/uploads/2022/07/20220731-233301-001.unvanquished-loading-messages-768x170.jpg)](https://unvanquished.net/wp-content/uploads/2022/07/20220731-233301-001.unvanquished-loading-messages.jpg) _Messages de chargement des cartes_ Il est toujours possible de voter quand on est seul dans un jeu. Les instructions de tutoriel pour la vie faible et le manque de munitions sont affichées en orange pour être mieux remarquées par le joueur. La description du _battlesuit_ est désormais correcte et mentionne sa capacité à s’accroupir, celle du _[chaingun](https://wiki.unvanquished.net/wiki/Chaingun)_ aussi et mentionne que le recul est plus faible quand on porte une _battlesuit_. La description et le tutoriel du _granger avancé_ ont également été complétées pour mentionner la capacité d’immobiliser un ennemi et éteindre des feux. Lorsqu’un bâtiment est placé, la projection holographique est affichée en jaune à la place du rouge lorsque le bâtiment ne peut pas être construit pour des raisons autres que celles liées à l’emplacement. Par exemple quand le [Réacteur](https://wiki.unvanquished.net/wiki/Reactor) ou [l’Overmind](https://wiki.unvanquished.net/wiki/Overmind) sont encore en cours de déploiement. Le système de traduction du jeu a été ré-implémenté et couvre également les interfaces réalisées avec RmlUI, mais pour le moment les traductions n’ont pas été réalisées (et celles existantes sont fortement obsolètes). Les traductions ayant été délaissées pendant très longtemps le jeu n’est pas considéré comme traduit, mais il redevient possible de le traduire. La musique sur l’écran d’accueil peut à nouveau être coupée en modifiant la variable 'audio.volume.music'. Le maximum de FPS (même une fois débloqué) a été plafonné à 333 pour éviter des bugs (au-delà, ça peut générer des bugs à cause d’un manque de précision puisque les _frames_ sont comptées en millisecondes). Les benchmarks basés sur la fonction 'timedemo' ne sont pas affectés par ces bugs et donc non-plafonnés. Le code d’initialisation _OpenGL_ a été refait et les messages de diagnostic sont désormais plus utiles pour comprendre ce qui se passe quand ça ne fonctionne pas (merci à _papap_ pour les tests !). La compilation des _shaders_ GLSL qui ne sont pas nécessaires pour le menu principal est retardée au premier lancement d’une partie. Quand le joueur utilise un matériel peu performant, cela lui permet d’accéder très rapidement au menu pour désactiver des options au lieu d’attendre longtemps que le moteur compile des _shaders_ que l’utilisateur compte désactiver de toute façon. [![Message d’erreur pour l’absence de OpenGL](https://unvanquished.net/wp-content/uploads/2022/07/20220731-182933-000.unvanquished-missing-opengl.png)](https://unvanquished.net/wp-content/uploads/2022/07/20220731-182933-000.unvanquished-missing-opengl.png)  _Message d’erreur pour l’absence d’OpenGL_ Le [bug de rendu](https://github.com/DaemonEngine/Daemon/issues/471) qui affectait les utilisateurs de cartes Intel UHD sous Linux et certains utilisateurs avec des cartes graphiques Nvidia a été corrigé. Si vous observez des zones noires, vous devez désactiver les lumières dynamiques (_dynamic lighting_), puis les réactiver à nouveau. Toutes les variables _cvars_ de la logique de jeu (préfixes `cg_` et `g_`) ont maintenant une description et une information sur le type. les _Bots_ ---------- Un énorme travail sur les bots a été fait par _bmorel_ ! Les bots humains peuvent désormais utiliser des grenades, peuvent patrouiller autour des _[médistations](https://wiki.unvanquished.net/wiki/Medistation)_ en attendant qu’elles se libèrent au lieu de faire la queue, peuvent acheter un _pulse rifle_ au lieu d’un _canon lucifer_ pour défendre s’ils sont proches du réacteur (moyen basique mais efficace de faire en sorte que le bot détecte qu’il est dans la base et utilise une arme qui ne va pas faire trop de dommages collatéraux à sa propre base…), alternent l’usage du lance-flammes et du pulse-rifle… Ils vont aussi essayer de s’équiper (gilet pare-balles ou _battlesuit_, radar) avant de réparer une base. Les humains vont défendre leur base s’ils voient un ennemi pendant qu’ils se guérissent (mais encore faut-il qu’ils le voient !). Les bots aliens évoluent uniquement s’ils ont assez de santé pour ne pas gaspiller leurs points d’évolutions et enrichir l’adversaire. Leur comportement par défaut est maintenant d’évoluer avant de se battre, ce qui fait qu’ils sont plus efficaces pour défendre leur base et enrichissent aussi moins les humains de cette manière. Le code d’achat des bots a été réécrit, les bots humains peuvent acheter n’importe quelle combinaison d’équipements autorisés. Les bots essaient de fuir plus rapidement, en courant pour les humains, en sautant (_jump_), bondissant (_pounce_) ou chargeant pour les aliens. Le déclenchement de leur fuite est moins prévisible, dépend à la fois de leur compétence (_skill_) et de leur distance d’avec les points de guérison, ce qui leur permet parfois de se rebiffer s’ils sont attaqués au mauvais moment, mauvais endroit. Leur attaque (_rush_) dépend de combien d’argent ils ont, leur compétence, et ce qu’ils pourraient s’acheter. Certains problèmes de bots qui n’arrivent pas à accéder à l’armurerie ont été contournés dans certains cas, ça peut encore se produire mais moins souvent. Ils vont aussi aller se refaire une santé même s’ils ne sont plus en dessous de 50 %, selon leur niveau d’aptitude et la distance du point de remise en forme. Sur la carte [Chasm](https://wiki.unvanquished.net/wiki/Maps/Chasm) les bots ne trouvaient pas l’armurerie dans la configuration par défaut. Ce problème est causé par les bâtiments qui génèrent des blocages de navmesh quand ils sont assez gros. Du coup, quand un bâtiment est dans une enclave (comme dans la configuration par défaut de Chasm) aucun chemin ne peut être trouvé. bmorel a été obligé de faire un _hack_ dégueulasse (dixit) parce qu’il ne savait pas exactement pourquoi il y avait ce problème. Le contournement fait que parfois les bots se heurtent sur leur propre constructions, mais c’est acceptable parce qu’ils savent se débloquer dans ce genre de situation, et que cela ne devrait plus arriver dans la prochaine mouture. # Pour les administrateurs de serveurs L’option pour paramétrer le « tir ami » (_friendly fire_) est désormais configurée par per faction, et réduit de moitié par défaut pour les aliens pour rendre les dégâts d’équipe moins dévastateurs pour cette équipe. Les possesseurs de serveurs peuvent modifier ces paramètres avec ` g_friendlyFireAlienMultiplier` et `g_friendlyFireHumanMultiplier`. Des permissions additionnelles ont été données aux administrateurs qui ne sont pas des opérateurs de serveur. Le niveau 4 (« senior admins ») peut désormais utiliser les commandes `pause`, `buildlog`, `revert`, et `bot`. Les niveaux 2 et 3 (« junior admins » and « team managers ») peuvent désormais utiliser la commande `bot`. Pour que ce changement prenne effet sur un serveur préexistant, il faut malheureusement sauvegarder le fichier `/game/admin.dat`, le supprimer, démarrer et éteindre le serveur, et insérer à nouveau vos administrateurs serveurs dans le fichier. Le fichier `autogen_server.cfg` n’est plus exécuté au démarrage du serveur. Les fichiers démo ont été renommés pour permettre un triage des fichiers par date et heure. GeoIP n’est plus utilisé. Cette bibliothèque était utilisée par le serveur de jeu pour connaître d’où se connectaient les clients. Changements de cvar: - Les cvars `logs.logLevel.*` ont été renommées en `logs.level.*` ; - `g_autoPause` est désormais désactivée par défaut, puisque cela gèle les joueurs mais n’empêche pas le temps de s’écouler. Cela met donc en jeu d’une façon qui casse le système de momentum et de point de construction : - De nombreuses commandes et cvars obsolètes ou cassées ont été abandonnées, le plus souvent parce qu’elles n’avaient tout simplement jamais été implémentées. Notamment `g_botKickVotesAllowed` et `g_botKickVotesAllowedThisMap` ont été remplacées par `g_disabledVoteCalls`. - 23 cvars inutilisées ont été retirées du code du jeu. - Les délais de suicide (commande `/kill`) peuvent désormais être ajustées avec la cvar `g_killDelay`. - `g_teamForceBalance` a un nouveau paramètre. Quand cette cvar est mise à « 2 », le serveur va désormais permettre à tous les joueurs de rejoindre la même équipe tant que l’autre équipe n’a que des bots. La documentation des cvars a aussi été améliorée: toutes les cvars qui ont un impact en jeu ont désormais un texte explicatif. Cela signifie que vous pouvez utiliser la commande `/listCvars` pour y trouver de l’inspiration. ## Intelligence artificielle Les options pour contrôler les comportements des bots qui n’avaient pas été implémentées (_toggle rush_, _toggle heal_, _group size_, _toggle build_…) ont été retirées, et des options pour leur permettre ou les empêcher d’acheter un équipement donné ou une classe ont été ajoutées et intégrées à l’interface. Il est aussi possible d’ajuster le nombre (en pourcentage) de radars que les bots veulent avoir dans leur équipe. Il est possible de changer l’habileté (_skill_) par défaut des bots, ce qui signifie qu’il n’est plus nécessaire d’ajouter systématiquement l’option d’habileté en ajoutant les bots si vous voulez des jeux plus faciles ou plus difficiles. Il n’est plus possible pour les bots d’avoir une habileté de niveau 10, puisque cela cassait beaucoup leur visée. Il n’est plus nécessaire de créer un fichier `.dpk` pour fournir des « _behavior tree_  » ou des « _navmesh » personnalisées. Ces fichiers peuvent être personnalisés en plaçant une version modifiée dans le sous-dossier `game/` du dossier utilisateur (`homepath`). # Pour les modeurs et les contributeurs libRocket, la bibliothèque d’interface graphique utilisée pour implémenter pratiquement toute l’interface graphique utilisateur (GUI) et le [HUD](https://fr.wikipedia.org/wiki/Affichage_t%C3%AAte_haute_(jeu_vid%C3%A9o)) était abandonnée depuis longtemps par ses auteurs, nous avons terminé la migration vers RmlUi. Cette dernière est un fork maintenu de libRocket avec quelques nouvelles fonctionnalités. Cela devrait permettre d’implémenter des HUD/GUI plus agréables, par exemple, des contours de caractère pour rendre le texte plus lisible dans les zones très claires. Le mécanisme de traduction a été réimplémenté et inclut les éléments GUI/HUD. Les anciennes traductions n’ont pas été utilisées, car elles sont pour la plupart obsolètes (d’où cette mise à jour dans la section « pour les contributeurs »). De nombreux fichiers liés au gameplay ont été déplacés de divers dépôts vers `unvanquished_src.dpkdir` pour en faciliter la maintenance. Suppression de `nobuildsurface`, `noalienbuildsurface` et `nohumanbuildsurface` rendus obsolètes par le _contentparm_ `nobuild` (les surfaces héritent de la propriété du contenu). Outils de débogage : `cg_drawBBOX` affiche la zone d’effet des flammes au sol (en plus des boîtes englobantes du joueur et de la construction). `cg_drawDebugDistance` affiche une sphère autour du joueur de la taille sélectionnée pour se faire une idée des distances. [![Affichage de la sphère de distance avec l’outil de debug](https://unvanquished.net/wp-content/uploads/2022/07/unvanquished_2022-07-31_213000_000-768x432.jpg)](https://unvanquished.net/wp-content/uploads/2022/07/unvanquished_2022-07-31_213000_000.jpg) _Affichage de la sphère de distance avec l’outil de debug_ [![Zone d’effet des flammes au sol avec l’outil de debug](https://unvanquished.net/wp-content/uploads/2022/07/unvanquished_2022-07-31_213601_000-768x432.jpg)](https://unvanquished.net/wp-content/uploads/2022/07/unvanquished_2022-07-31_213601_000.jpg) _Zone d’effet des flammes au sol avec l’outil de debug_ Les fichiers `.arena` ne sont désormais plus utilisés pendant l’affichage de la liste des cartes pour éviter des ralentissements. La commande `/give` permet maintenant de donner de la vitesse à une équipe spécifique. Les bots peuvent désormais cibler directement le bâtiment ennemi ou allié le plus proche, des nœuds d’arborescence de comportement inversé ont été ajoutés et divers autres changements. Une page de documentation sur le travail en cours sur le mécanisme de l'arbre de comportement et sur l’API est disponible [dans le wiki](https://wiki.unvanquished.net/wiki/Behavior_Trees). La commande `/testmodel` permet de tester des modèles avec squelette. La nouvelle cvar `cg_lazyLoadModels` peut être utilisée pour accélérer le chargement de gamelogic pendant `/devmap`. Pour améliorer la compatibilité avec les cartes Tremulous, le flag `solid` sur `env_afx_gravity` / `trigger_gravity` est supprimé automatiquement. Il est donc maintenant possible d’entrer dans une zone avec une gravité modifiée, celle-ci aurait été traitée comme des murs dans la version 0.52.1. De même, `trigger_class` et `trigger_equipement` devraient maintenant fonctionner comme ils le faisaient dans Tremulous. Les paquets de carte doivent avoir un nom commençant par `map-` et contenir un fichier `maps/.bsp`. Les paquets peuvent utiliser des fichiers `DELETED` (comme `DEPS`) pour ignorer des fichiers de leurs parents, qui peuvent être utilisés pour créer des paquets partiels supprimant des éléments du jeu officiel. C++14 est désormais autorisé dans Daemon et la base de code est plus compatible avec la détection de failles addressSanitizer. La compilation est plus facile à configurer grâce à des valeurs par défaut plus saines et à des descriptions d’options améliorées. # Capacités de benchmark Pour les _benchmarkers_ et ceux qui écrivent des logiciels de benchmark et veulent un benchmark Unvanquished, une « démo » (un fichier qui enregistre les positions et actions d’une partie en vue d’être réaffichés) est fournie à cette intention [ici](https://dl.unvanquished.net/benchmark/demos/). Décompressez le fichier `.dm_86`, enregistrez-le dans le dossier `/demos/` et exécutez cette commande : daemon -set demo.timedemo on -set common.shutdownOnDrop on +demo_play unvanquished-benchmark_0.53.0 Le jeu va démarrer, jouer la démo et quitter automatiquement. Quelques statistiques de ce genre peuvent alors être trouvées dans le fichier `/daemon.log` : 6199 frames, 12.9s: 479.6 fps Demo completed Le fichier démo fourni est spécifique à une version du jeu donc vous voudrez probablement télécharger [le nouveau fichier démo](https://dl.unvanquished.net/benchmark/demos/) quand une nouvelle version du jeu est publiée. Ce genre de fichier démo est fiable pour comparer la performance de divers matériels et logiciels en utilisant la même version du jeu, pas pour comparer la performance du même jeu au fur et à mesure de ses versions. # Mise à jour 0.53.1 et nouveau lanceur Rapidement après la sortie de la version 0.53 certains joueurs ont commencé à remonter un bug pour le moins gênant et qui était resté sous-marin jusqu’alors : parfois le jeu se déconnectait du serveur après avoir réalisé une action (écrire dans le chat du jeu, ouvrir un menu). Ce qui était encore plus gênant était que le bug n’était pas reproductible quand le jeu était compilé en bibliothèque dynamique ou exécutable natif pour être exécuté dans un débuggeur. Et pour ajouter à l’inquiétude, le système _breakpad_ devant générer des « _crashdump_ » lorsque le code est compilé au format nexe (binaire indépendant du système d’exploitation pour la machine virtuelle NaCl) ne générait pas de _crashdump_ pour ce crash précis (mais uniquement dans ce cas précis). Mais après une enquête demandant donc de relever de sacré défis, le bug a été identifié dans le « _Garbage collector_ » Lua de la bibliothèque RmlUi, bug qui semble être déjà présent dans LibRocket que nous utilisions mais qui ne se manifestait pas. L’équipe Unvanquished a donc investigué en vitesse et publié une version 0.53.1 dans les 4 jours (le jeu affiche toujours la version 0.53.0 dans les menus car seul un petit composant a été modifié, c’est normal). Au passage une nouvelle version du lanceur a été publiée qui corrige un bug pas bloquant mais gênant : à la fin de la mise à jour de 0.52.1 vers 0.53.0 un message d’erreur s’affichait et il fallait redémarrer le lanceur pour qu’il termine l’installation et lance le jeu comme il faut… Il semble que le lanceur était confus que la nouvelle version du moteur soit plus petite que la version précédente… Plus de détails se trouvent [dans un billet de blog dédié](https://unvanquished.net/unvanquished-0-53-1-and-launcher-0-2-0-quick-fix-and-dark-magic/) (en anglais). # Conclusion Il nous reste beaucoup de travail à réaliser : beaucoup d’améliorations de l’IA sont encore possibles, il nous reste à mettre à jour la version de la lib de GUI/HUD que nous utilisons, ainsi que de développer de meilleures GUI et, plus important, nous avons l’espoir de remplacer notre intégration NaCl vieillissante avec Wasm, ce qui devrait nous permettre de prendre en charge plus d’architectures de matériel comme les systèmes ARM. Nous savons aussi que les mécanismes et l’environnement dans le jeu ne sont pas parfaits, mais nous croyons que nous avons grandement amélioré l’expérience de jeu cette année de développements et de contributions intenses. Si vous rencontrez une difficulté ou quelque chose dont vous voudriez discuter à propos du jeu, de son environnement, n’hésitez pas à venir en parler avec nous, que ce soit via notre forum, l’outil de suivi ou encore via les messageries instantanées quand vous serez lassés de guerroyer. Nous espérons que vous apprécierez cette version autant que nous. Unvanquished a désormais plus de 10 ans ! Nous publierons dans les prochains jours une rétrospective détaillée de notre histoire. Restez à l’écoute !