Unvanquished : maintenant nous sommes libres !

62
17
sept.
2020
Jeu

Unvanquished est un jeu de stratégie en temps réel mettant deux espèces en compétition pour leur survie. Cela vous rappelle Tremulous ? Vous avez raison, Unvanquished ne prend pas seulement soin de cette expérience de jeu, Unvanquished est désormais à nouveau entièrement libre et « open source » ! C’est le moment de fêter ça !

Granger célébrant la liberté d’UnvanquishedDave sait comment célébrer !

Après quelques années à recontacter les auteurs de modèles 3D, textures et effet sonores, motiver de nouveaux venus à contribuer, voici un récapitulatif de ce qui a permis de faire d’Unvanquished un jeu libre (le moteur, le code du jeu, les graphismes, la musique…) avec l’aide de tous ces artistes.

Note de l’auteur — Ceci est une traduction du dernier billet de blog que j’ai écrit pour le site d’Unvanquished. Cet article est sous licence CC 0 1.0.

Sommaire

Invaincu et libre

Unvanquished est né des cendres de Tremulous, un jeu libre à code source ouvert de stratégie en temps réel à la première personne qui fut initialement publié en 2006. Alors que nous portions le jeu sur un meilleur moteur et prenions soin de la — alors petite mais dévouée — communauté, un énorme effort fut fait pour mettre à jour les données artistiques, tirant parti du nouveau moteur… ou inspirant des améliorations au moteur lui‑même.

Tandis que les licences choisies pour des données non essentielles comme les données communautaires n’importent pas beaucoup (et de toute façon, les gens font ce qu’ils veulent), il était clair que le jeu exigeait d’être libre et ouvert lui‑même. Des lignes directrices furent écrites avec cette intention.

Alors que le développement se déroulait sur les forums et la messagerie instantanée, après des dizaines et dizaines de versions empilées les unes au‑dessus des autres, nous avions à nettoyer le bazar et organiser les choses un minimum. À un moment cela devint nécessaire pour continuer le développement.

De 2015 à 2017, nous avons travaillé durement à créer des dépôts de données adaptés et développer des outils adaptés pour les gérer. Ce fut aussi le moment de purger quelques laissés‐pour‐compte. Alors, quand nous avons eu une vue claire sur ce que nous avions, il fut plus aisé de tracer les licences et les sources. J’en fis une affaire personnelle.

Je me suis vite rendu compte qu’il manquait à certaines données une déclaration explicite de licence, ou bien certaines déclarations étaient problématiques. Ce fut le commencement d’un effort de trois ans, une véritable quête pour le saint Graal du jeu vidéo : rendre Unvanquished libre et ouvert à nouveau !

Alors annonçons‑le avec des hymnes, des danses, des défilés et des feux d’artifices : Unvanquished est de retour à la maison ! Unvanquished est désormais à nouveau complètement open source, depuis le moteur jusqu’au code du jeu, depuis les modèles jusqu’aux textures !

Pourquoi est‑il important pour Unvanquished d’être un jeu libre et ouvert ?

Modèles Unvanquished de ChrisLes modèles de Chris sont désormais libres : la nacelle lance‑roquette, le réacteur, la foreuse, la tourelle, la station médicale, la grenade…

Tout d’abord, Tremulous était libre et ouvert. En fait, Tremulous a gagné beaucoup de popularité grâce à cela, à cette époque les gens ont vu dans Tremulous la preuve que le jeu vidéo libre et ouvert était possible, et qu’un tel jeu pouvait réellement être plaisant à jouer ! Cela serait vraiment dommage de ne pas honorer Tremulous en étant libre et ouvert comme il le fut. Unvanquished existe grâce à Tremulous et grâce au fait que Tremulous était libre et ouvert ! Notre propre passion pour Tremulous puis pour Unvanquished est profondément ancrée dans le fait d’être libre et ouvert. Cette passion n’aurait pas existé autrement.

Secondement, nous avons besoin d’atteindre les joueurs de jeux libres et ouverts. À l’époque où Tremulous a émergé, il a aussi gagné de la popularité de part le fait qu’il tournait bien sous GNU/Linux. Certaines personnes aujourd’hui peuvent ne pas avoir connu cette époque, mais il fut un temps où les jeux sous GNU/Linux étaient rares, étaient encore plus rares les jeux bien finis, bons et réjouissants… Cette époque est désormais révolue, pour le plaisir des joueurs : il y a maintenant des milliers de jeux qui tournent sans sourciller sous GNU/Linux ! Mais toujours peu d’entre eux sont complètement libres et ouverts. Alors que la compétition sur le marché du jeu vidéo sous GNU/Linux est désormais féroce, cela portait atteinte à Unvanquished de perdre par erreur la petite mais dévouée base de joueurs libres. Nous avons été supprimés des listes de certains sites Web et, pour être honnête, nous n’avons même pas essayé de lister Unvanquished à des endroits où nous savions qu’une ouverture complète était requise. Cela a affecté notre visibilité.

Troisièmement, il y a désormais de très impressionnants moteurs de jeu multi‐plates‐formes utilisables gratuitement jusqu’à ce que beaucoup d’argent soit fait avec, ce qui n’est pas près de se produire de notre côté puisqu’Unvanquished est gratuit. Alors que certains jeux gratuits utiliseraient un moteur fermé avec des millions de dollars investis dedans et ne seraient donc pas libres à cause de cela, nous utiliserions toujours notre moteur libre et ouvert mais ne serions toujours qu’un jeu gratuit et non libre dans son ensemble à cause de nos données. À ce niveau, rester dans cet entre‑deux était un non‑sens. Ou bien nous vendons notre âme et obtenons ce qui brille, ou bien nous gardons nos mains propres et pouvons nous regarder dans le miroir, mais il serait ridicule de se damner soi‑même tout en passant en même temps à côté du goût du fruit défendu…

Et bon, peut‑être que le jeu vidéo sous GNU/Linux est maintenant une chose grand public, mais le jeu vidéo libre a toujours une longue route de succès devant lui. Et Unvanquished vient tout juste de réaliser l’un de ces succès.

Concernant les données artistiques en particulier, une page de notre wiki résume les diverses licences utilisées : essentiellement des versions de la Creative Commons Attribution - Partage dans les Mêmes Conditions (CC By‑SA), parfois des licences plus permissives. Quant au code, c’est essentiellement la GPL pour le code hérité d’id Software et de XreaL, et la licence BSD pour le code nouvellement écrit.

Le marché du jeu vidéo est une rude compétition pour un jeu indépendant

Réacteur d’UnvanquishedLe réacteur de Chris, tel qu’on peut le voir dans la carte Chasm de Supertanker

Le marché du jeu vidéo est une rude compétition pour un jeu indépendant, mais Unvanquished a de bonnes cartes en main, si vous me permettez le jeu de mots.

Unvanquished est vraiment plaisant à jouer ! Unvanquished est d’abord multijoueur et va vous tenir pour des heures de jeux ! Avec votre communauté à l’esprit, Unvanquished vous permet d’héberger votre propre serveur sans aucun moyen pour nous de le désactiver. Unvanquished vous permet d’enregistrer vos jeux et de les rejouer, en tant que digne héritier de l’époque des démos.

Unvanquished, grâce au moteur Dæmon, est multi‐plate‐forme, tournant aussi bien sous GNU/Linux, macOS et Windows, tout en permettant aux modders de compiler leur propre code de jeu une seule fois pour toutes les plates‑formes.

Unvanquished tourne bien sur une large variété de matériels appartenant aux deux dernières décennies (nous parlerons plus de ce sujet bientôt).

Tandis que certains outils de création peuvent être encore un peu frustres, il y a un écosystème complètement libre autour d’Unvanquished et d’autres jeux libres ouverts amis pour créer des niveaux, des modèles, des textures, des effets sonores, et pour les distribuer de manière adéquate avec des formats efficaces.

En plus de permettre le rendu de nombreuses lumières en temps réel avec son moteur de rendu tuilé (« tiled renderer »), Dæmon prend désormais en charge les matériaux modernes comme le rendu physique réaliste (PBS/PBR) et les cartes de relief (plus sur ce sujet bientôt).

Et maintenant, Unvanquished a quelque chose de plus, quelque chose dont nous sommes très fiers : Unvanquished est un jeu libre et ouvert.

Trois années d’un long chemin, la vraie force de la patience

Station médicale et foreuse d’UnvanquishedLa Station médicale et la Foreuse de Chris, telles que représentées dans la carte Antares de Pevel

Quand j’ai commencé l’audit légal de nos fichiers après de si nombreuses années de développement, je me suis vite rendu compte que la situation n’était pas aussi bonne que je le désirais, c’est le moins que je puisse dire. Faire cet audit légal fut la première tâche que je voulais faire pour Unvanquished quand j’ai rejoint la direction. Eh bien, ce fut un travail d’endurance !

Tout d’abord, j’ai découvert que nous avions des contributions d’artistes qui n’avaient pas déclaré explicitement la licence. Ou bien ils avaient oublié de nous l’envoyer, ou bien nous avions oublié de les leur demander… Le résultat fut tristement le même : nous avions des fichiers sans licence.

Certains contributeurs étaient toujours actifs, ce fut facile de les contacter et ils ont tous donné volontiers une licence libre. Mais d’autres étaient des contributeurs d’un passé ancien qui avaient ensuite suivi d’autres chemins pour travailler sur d’autres projets. Je suis parti à leur recherche.

Je fus vraiment impressionné en découvrant les métiers qu’ils faisaient après avoir contribué à Unvanquished, nombre d’entre eux travaillant désormais pour des acteurs de premier plan de l’industrie du jeu vidéo. Alors que nous parlions au sujet de leurs contributions passées pour Unvanquished, j’ai appris qu’ils travaillaient maintenant pour des grands noms comme Ubisoft, Creative Assembly, NetherRealm et d’autres…

Chacune des personnes que j’ai retrouvées fut très aimable et nous a volontiers donné la licence dont nous avions besoin. Si vous aimez les histoires avec une fin heureuse, vous pouvez lire ma précédente dépêche intitulée « Histoire d’un arbre », elle contient plein de détails sur ce long, patient et engagé effort avec des retournements véritablement inattendus.

Mais pour certaines données, cela fut… plus compliqué. Les pires cas provinrent de déclarations conflictuelles de la part de personnes désormais inatteignables.

Par exemple, nous avions ordinairement trois thèmes musicaux pour accueillir le joueur sur le premier écran. Une piste était distribuée avec un fichier déclarant qu’elle était distribuée sous une licence CC By SA 3.0 pour usage exclusif dans Unvanquished… Mais la licence CC By SA (Creative Commons Attribution, Partage dans les mêmes conditions) et l’exclusivité ne sont pas compatibles. Donc, malheureusement et de façon inattendue, à cause de cette exclusivité que nous avons sur cet usage, nous avons dû la retirer… Heureusement, c’était une musique d’arrière‑plan utilisée uniquement sur l’écran d’accueil. Nous avons toujours deux d’entre elles de la part d’autres compositeurs, et même sans aucune d’entre elles la jouabilité ne serait pas affectée. Nous avons donc simplement retiré cette musique pour le moment, et nous espérons retrouver le compositeur un jour…

La situation la plus difficile fut celle qui vient tout juste d’être résolue. Un de nos meilleurs amis, Chris, un prolifique et talentueux contributeur, avait réalisé de magnifiques modèles pour Unvanquished, mais il disparut mystérieusement en 2017. Ceci fut vraiment inattendu et le minutage ne pouvait pas tomber plus mal : j’avais pratiquement recontacté tous nos contributeurs à ce moment‑là et il était tout simplement le prochain sur ma liste. Il faisait partie de ceux qui étaient toujours là après tout… Tandis que je me préparais à prendre soin de son travail, je découvris qu’il s’était déconnecté deux semaines plus tôt… Et jusqu’à ce jour, trois années complètes (et plus) ont passé.

Grenade et bombe incendiaire d’UnvanquishedLa grenade et la bombe incendiaire de Chris

Le problème que nous avons rencontré est que notre apprécié ami Chris a toujours dit combien ses contributions à Unvanquished étaient libres et ouvertes : lorsqu’il présentait son travail à la face du monde, il faisait toujours de l’ouverture de son travail une chose vraiment importante, un point dont il était très fier, et il en parlait comme si la liberté et l’ouverture étaient des arguments de vente importants pour son travail (même si Unvanquished est entièrement gratuit, vous voyez ce que je veux dire). Mais quand nous lûmes les fichiers de licence distribués avec ses contributions artistiques, nous découvrîmes qu’ils mentionnaient une licence Creative Commons avec une clause non commerciale qui est largement reconnue comme non libre !

Pour être clair, puisqu’Unvanquished est censé être gratuit, cela ne nous a jamais empêché de distribuer le jeu et cela ne nous aurait jamais empêché d’en faire autant à l’avenir, mais cela faisait qu’Unvanquished était considéré comme non libre.

Le véritable problème tient au fait qu’il y a un consensus sur certaines clauses qui permettent de considérer comme libre une œuvre donnée, ou au contraire des clauses l’en empêchent. L’une des conditions largement reconnue, et que l’on peut considérer comme acquise, est la « liberté pour tous les usages », la restriction des usages commerciaux est donc en conflit avec cette liberté. Des organismes notoires comme la Free Software Foundation ou l’Open Source Initiative expriment clairement le fait que cette clause n’est pas compatible avec le principe de liberté et d’ouverture. Le maintien de cette clause nous fermait donc la porte à une certaine reconnaissance.

J’ai déjà parlé de ce problème dans de précédentes dépêches, comme « Histoire d’un arbre » et cette autre dépêche au sujet de notre version précédente.

Ce fut vraiment un gros problème pour le projet Unvanquished parce que ces données n’étaient pas remplaçables : elles étaient déjà les remplacements. De plus, elles étaient tellement bonnes que nous ne pouvions même pas nous imaginer capables de les remplacer avant une ou deux décennies. Et puis, nous les apprécions tellement que nous ne pourrions le faire, et ça aurait été vraiment injuste pour Chris… Et de toute façon, nous n’avions pas les moyens de le faire. Ce n’est pas quelque chose que nous pouvions ne serait‑ce qu’envisager. C’était encore plus triste quand nous prenions en considération le fait que nous n’avions pas encore sorti le superbe fusil laser qu’il avait modelé et texturé…

Fusil laser d’UnvanquishedLe fusil laser de Chris, tel qu’on peut le voir dans la carte Vega d’Ingar, cette arme est toujours à livrer…

Et le 7 septembre 2020, Chris fut de retour et écrivit un message dans le forum, nous disant qu’il avait lu nos publications, celles que j’avais écrites, et nous donnait la permission pour « relicencier » sous une licence libre tout le travail qu’il avait apporté à Unvanquished. Il a dit :

Je voulais savoir comment les choses ont progressé et j’ai lu les nouvelles et je vais relicencier mes modèles, textures et sons sous CC By SA 4.0 ce qui inclut les données suivantes :

  • la tourelle d’Unvanquished ;
  • la grenade d’Unvanquished ;
  • le réacteur d’Unvanquished ;
  • la roquette d’Unvanquished ;
  • la nacelle lance roquette d’Unvanquished ;
  • la station médicale d’Unvanquished ;
  • le fusil laser d’Unvanquished ;
  • le répéteur d’Unvanquished.

Veuillez mettre à jour mes fichiers de licence en accord avec ceci.
J’espère que cela vous aidera les gars dans votre effort pour gagner plus de joueurs.

C’est désormais chose faite, voyez ce commit et celui‑là. Note : le modèle du répéteur est désormais utilisé pour la foreuse, et le fusil laser n’est pas encore fusionné dans la branche principale, mais la licence est déjà convenablement modifiée dans la branche de fonctionnalité.

Donc, vraiment, merci d’adresser à Chris de chaleureux remerciements et d’être emplis de gratitude non seulement pour son fantastique travail, mais aussi son attention délicate, son engagement et pour avoir conservé sa fidélité durant tant d’années ! Nous savions que nous pouvions compter sur toi Chris, et tu ne nous as pas déçus. Nous sommes très heureux d’être gratifiés par ta présence et par ton si génial et beau travail !

Unvanquished est le premier jeu complet et entièrement libre qui tourne sur le moteur Dæmon

Tourelle et nacelle lance‑roquette d’UnvanquishedLa tourelle et la nacelle lance‑roquette de Chris, telle que représentée dans la carte Plat23 de Supertanker

C’est une autre grande étape importante que nous devons mettre en lumière : Unvanquished est le premier jeu entièrement libre et complet motorisé par le moteur Dæmon.

Le moteur Dæmon est un moteur de jeu libre et ouvert taillé pour les jeux rapides, la modification (mod) et l’extensibilité.

Le moteur de jeu Dæmon trouve son héritage dans le travail réputé d’id Software, et en plus de nombreuses améliorations nous nous concentrons sur la collaboration entre projets pour se débarrasser de l’état d’esprit de « allons‑y “forkons” et produisons encore un autre projet déjà mort ».

Si vous êtes un développeur de jeux, le projet du moteur Dæmon vous accueille et nous serons très heureux de réviser et fusionner les fonctionnalités que vous voulez implémenter de façon à ce que vous puissiez utiliser le code amont, afin de vous permettre de récupérer pour vous‑même ce que nous faisons pour nous‑mêmes de la même manière ! Vous ne serez pas seul et nous sommes plus forts en tant que communauté !

Donc, il y a déjà quelques projets travaillant avec le moteur Dæmon :

Nos excellents amis du projet Xonotic ont un portage expérimental de leur jeu sur le moteur Dæmon (et ils ont beaucoup amélioré Dæmon dans ce but), mais pour le moment c’est surtout une preuve de concept pour y exécuter une Q1VM minimaliste. Alors que Xonotic est en lui‑même un jeu complet et complètement libre, ce portage sur Dæmon est actuellement à un état précoce, et tout ce que vous pouvez faire c’est déambuler dans quelques cartes. Donc, pas encore un jeu complet et jouable libre sur Daemon. Un jour, peut‑être ? Nous l’espérons pour sûr !

Le projet UnrealArena est aussi à l’étape de preuve de concept… Il n’a même pas encore de modèle… Mais l’idée est prometteuse et, là encore, la collaboration a rendu meilleurs Dæmon et son écosystème.

Le jeu Smokin’Guns a des projets de portage vers le moteur. Mais à ce niveau, ce qui fut matérialisé furent quelques correctifs dans le moteur pour mieux prendre en charge leurs données et pas encore beaucoup plus.

Unvanquished est ainsi le premier projet tournant sur le moteur Dæmon à atteindre à la fois la complétude et la liberté ! C’est une énorme étape pour le moteur Dæmon !

La carte Parpax est maintenant libre elle aussi

Carte Parpax d’UnvanquishedLa carte Parpax pour Unvanquished par Viech est tout autant libre désormais !

La carte Parpax était la dernière carte à utiliser une clause non commerciale. Heureusement, son auteur était facile à contacter : Viech est une des trois têtes du projet !

Il y a trois ans Viech m’a dit :

Comment vont les choses ? Chris a‑t‑il mis une nouvelle licence ?
Si tu peux l’atteindre, dis‑lui que je le ferai s’il le fait.

Il semble que les publications que j’ai écrites ont atteint le cœur de Chris, donc, Viech étant un homme de parole, la licence de Parpax a été changée en CC By SA 4.0 elle aussi, voir le commit.

Ce qu’il reste de nos données à remplacer

Nous voulons toujours remplacer les effets sonores hérités de Tremulous.

Tremulous a été considéré libre et ouvert depuis presque quinze ans déjà, donc utiliser ces données ne devrait pas nous causer de soucis sur ce plan. Cela dit, ces données sont difficiles à tracer, donc nous préférons les remplacer. En fin de compte, et jusqu’à ce que nous les ayons remplacés, ces effets sonores ne peuvent pas rendre Unvanquished moins libre que Tremulous.

Si vous lisez ceci, que vous êtes concepteur d’effets sonores et voulez placer votre nom dans notre panthéon, vous êtes bienvenu !

Unvanquished 0.52 est quasiment là

Roquette d’UnvanquishedLa roquette de Chris, délivrant sa charge utile…

Alors que nous planifiions une sortie en mai, nous avons manqué cette date et cela aurait été un mauvais calcul de publier quand tant de personnes étaient loin de leur clavier à profiter de leurs vacances après un tel confinement. Nous avons utilisé ce rab de temps pour polir plus le jeu, pour votre propre plaisir.

Unvanquished est maintenant complètement libre et ouvert, notre prochaine version est au coin de la rue, faites passer le mot !

Il y a tellement à dire sur la version à venir que nous écrirons plusieurs articles jusqu’à la sortie pour détailler les super bonnes choses que nous avons mises dedans. Cet article est le premier, il y a plus à venir, nous sommes impatients de partager tant de bonnes choses avec vous, restez à l’écoute !

Note — Si vous découvrez le jeu Unvanquished en lisant cette dépêche, bienvenue ! Notre précédente version est un peu vieille mais toujours efficace et peut être téléchargée ici. Nous vous encourageons à joindre les serveurs mentionnant « backport » dans leur nom pour avoir une expérience exempte de bogues que nous avons découvert entretemps. Aussi, si vous avez besoin d’aide avec le jeu, merci de rentrer en contact avec nos services de discussion instantanée ou notre forum.

Aller plus loin

  • # Development quote of the week sur LWN

    Posté par  (site web personnel) . Évalué à 10.

  • # Jeu de stratégie ‽

    Posté par  (site web personnel) . Évalué à 10.

    Vous appelez ça un jeu de stratégie, vous ? Je comprends bien qu'il y a des aspects de stratégie, mais ça me semble plutôt être principalement un jeu de tir à la première personne.

    Qualifier ça de jeu de stratégie m'interpelle particulièrement, parce qu'il se trouve que j'apprécie les jeux de stratégie, en temps réel comme les Warcraft, Starcraft, Command & Conquer et 0AD (pas encore essayé celui-là, il faut absolument que je m'y mette !), ou au tour par tour comme Wesnoth. Et que, parallèlement à cela, je suis parfaitement incapable de jouer à un jeu de tir subjectif, donc je pense pouvoir assez bien faire la différence entre ces deux genre.

    • [^] # Re: Jeu de stratégie ‽

      Posté par  . Évalué à 3. Dernière modification le 17 septembre 2020 à 12:06.

      J'allais le dire, ce titre prête vraiment à confusion.

      L'article LWN parle de "real-time first-person strategy game" (« jeu de stratégie à la première personne temps-réel ») ???

      • [^] # Re: Jeu de stratégie ‽

        Posté par  . Évalué à 7.

        En regardant le site, je n'ai pas compris non plus en quoi ce jeu est un jeu de stratégie. Ni cet article, ni le site du jeu n'explique le principe du jeu. Cela doit paraître tellement évident aux auteurs, qu'ils n'ont pas du penser à expliquer ce que c'était.

        Heureusement, des contributeurs à Wikipedia en anglais ont fait le travail

        D'après ce que j'en ai compris, s'agit bien d'un jeu de tir à la première personne, multijoueur, comportant de le stratégie temps-réel. Chaque équipe, d'après ce que j'ai lu sur le site, humain (ici l'alien, car envahisseur) ou extra-terrestre (ici le local du coup), doit, d'après Wikipédia, accumuler des ressources pour sa survie, s'assurer de la protection et progression des bases et extension de son camp et détruire les ressources adverses afin d'éliminer l'autre camp.

    • [^] # Re: Jeu de stratégie ‽

      Posté par  (site web personnel) . Évalué à 7.

      Oui, chaque carte implique une stratégie, selon que l'on soit dans le groupe des humains ou des aliens.

      Il y a une stratégie dans les éléments à poser, leur emplacement, le moment etc. Et aussi la manière d'aller vers l’ennemi. Par exemple, les humains ne devraient jamais partir seuls, et un groupe humain devrait se replier quand il est réduit. Parce que chaque mort apporte de point au groupe ennemi, et leur permet de devenir plus forts.

      • Les humains s'équipent, avec des armes de plus en plus puissantes.
      • Les aliens progressent, vers de formes de plus en plus puissantes.

      Pourquoi bloquer la publicité et les traqueurs : https://greboca.com/Pourquoi-bloquer-la-publicite-et-les-traqueurs.html

    • [^] # Re: Jeu de stratégie ‽

      Posté par  (site web personnel) . Évalué à 10. Dernière modification le 18 septembre 2020 à 09:29.

      Je vais peut-être te surprendre, mais Unvanquished c’est la même mécanique de jeux que 0 A.D. :

      • Tu as une carte à parcourir (tu as d’ailleurs une minicarte qui t’indique ce que tu as découvert)
      • Tu dois miner des ressources (pour construire des infrastructures)
      • Tu as un territoire à contrôler (pour miner les ressources)
      • Tu dois gérer des comptes (monnaie, ressource minière)
      • Tu traverses des époques qui débloquent des technologies
      • Tu as perdu quand ta civilisation est éteinte

      Excepté que tu fais tout cela à la première personne, que chaque seconde compte et que c’est toi qui tiens le flingue ou l’outil de construction, que tous les personnages sont censés être de vrais joueurs à qui tu parles en vrai, et que les époques durent quelques minutes (et que tu peux régresser). C’est toi et tes équipiers qui construisez et réparez votre base, les poste avancés, placez vos machines d’extraction de ressources, qui gagnez votre solde, qui tenez le siège, et qui défendez la place forte. Plutôt que simplement donner des directives à des automates, tu dois faire avec les avis contradictoires, les paris gagnants et les erreurs des autres et tu dois gagner la confiance de vrais joueurs.

      Unvanquished est un jeu de stratégie en temps réel en vue subjective. Ces trois points ne s’opposent pas. De même que le temps réel ne s’oppose pas à la stratégie (un jeu de stratégie n’étant pas nécessairement au tour par tour) le fait que le jeu se joue à la première personne n’est qu’une question de point de vue.

      En fait le « jeu à la première personne » n’est pas vraiment un genre, c’est une modalité de jeu.

      Tu as des jeux à la première personne où tu as une histoire et des niveaux à parcourir avec un début et une fin, en fait c’est le genre « livre dont vous êtes le héro » décliné à la première personne : Doom, Quake, GoldenEye 007, Half-Life, Halo, etc. Ils forment évidemment des sous-genres, en solo, en coopération, avec des éléments tactiques, mais le joueur déroule une histoire.

      Tu as des jeux à la première personne où le but c’est de marquer le plus de points : Quake III Arena, Unreal Tournament, Xonotic, etc. T’es dans une arène, parfois seul, parfois en équipe. Toi ou ton équipe gagne en tuant le plus d’ennemis, en capturant le plus de drapeau, en restant le dernier en vie etc. Pas d’histoire, s’il y a des thèmes développés ce n’est que du décor. C’est le genre « balle au prisonnier », « chat » et ses variantes, ou… « capture du drapeau » (j’y ai joué en vrai dans mon enfance) etc. décliné en virtuel…

      Tu as des jeux à la première personne où tu dois gérer des ressources, construire ta base, contrôler des territoires, le but c’est de mettre en échec l’équipe adverse. Unvanquished rentre dans cette catégorie. Tu as gagné le jeu quand tu as mis l’adversaire échec et mat : tu as gagné quand tu dénies à tous les joueurs de l’équipe adverse et en même temps la capacité de revenir en jeu.

      Il y a bien d’autres genres et bien entendu les genres sont poreux et se mélangent. Des jeux comme Quake ont un mode multijoueur en arène. Un jeu comme Xonotic a un ensemble de jeu en local organisés en campagne, a des modes de jeu de contrôle du territoire, etc.

      Le genre d’un jeu comme Portal c’est le puzzle. Dans portal, tu joues en temps réel à la première personne et tu as au premier plan une sorte d’arme qui permet de tirer des portails permettant de te déplacer ou interagir avec l’environnement pour résoudre des casse-têtes. C’est le même genre que le jeu Newton Adventure de devnewton< ou que le pousse-pousse bien physique. Quand je disais que les genres sont poreux, les jeux comme Doom, Duke Nukem, etc. en plus de développer le jeu de tir intègrent aussi des éléments de puzzle pour déverrouiller la progression ou des secrets à découvrir.

      Un jeu comme Portal c’est 100% d’une infrastructure de FPS. Par exemple Quake3 intègre des portails et des armes, implémenter un clone de portal est une affaire de modification (et ça existe).

      Les jeux comme DeFraG (implémenté dans Quake 3, ou son implémentation libre sur Xonotic dont j’avais parlé ici) utilisent 100% d’une infrastructure de FPS, mais ce sont des sports de courses sur des parcours complexes qui se complètent avec des gymnastiques spéciales (le même genre que le Parkour en fait).

      Le FPS est un mode de jeu, pas vraiment un genre. Cette confusion vient des débuts du jeu vidéo où les FPS étaient nouveaux et qu’on y a vu un genre à part. Le jeu à la première personne n’est pas vraiment un genre, c’est un ensemble de modalités.

      Dire que Unvanquished serait un jeu de FPS c’est comme dire que le Monopoly et les échecs c’est pareil : ça se joue sur un plateau avec des pions que les joueurs assis autour du plateau déplacent. En fait Unvanquished est sur le plan de la mécanique de jeu plus proche du Monopoly (gestion de ressources) et du jeu d’échec (infliger une situation sans issue, classes) que de Quake, mais plus proche de Quake quant à certaines modalités (pas de tour par tour, vue subjective).

      En parlant de classe et les échecs, un jeu comme Team Fortress est comparable dans certaines mécaniques : tu as des classes de joueur qui ont des propriétés spécifiques (mouvements, armes) qu’il faut combiner, un autre jeu à base de classe comme Wolfenstein Enemy Territory ajoute aussi des élements de progression qui sont conservés entre les parties (grades).

      Et pour faire un peu le tour des jeux de tirs… un jeu comme Time Crisis (“first person rail shooter”) c’est le genre du ball trap. Mettre le ball trap, les échecs, le monopoly, le pousse-pousse et le jeu du chat dans le même genre semblerait un peu large, c’est pourtant ce qui fut souvent fait avec les jeux à la première personne.

      Bref, le fait qu’Unvanquished se joue en temps réel et à la première personne sont des aspects de ce jeu de stratégie.

      Au-delà de la temporalité et du point de vue, Unvanquished c’est donc aussi, en plus des points déjà listés :

      • deux équipes avec des classes (celui qui attaque, celui qui construit…) et des équipements;
      • du mobilier à construire et à organiser selon des rôles, chaque équipe ayant un mobilier névralgique (réacteur, overmind) dont les autres mobiliers dépendent pour fonctionner, des constructions de défenses aux propriétés bien particulières, des constructions vitales dont dépendent l’issue du jeu, etc.
      • une monnaie à gérer (acheter/revendre des armes, incarner des formes plus évoluées);
      • une santé à conserver et soigner (guérison, équipements de soin);

      Techniquement, en tant que joueur, tu gères simultanément trois comptes : la monnaie (ou les points d’évolution) qui est propre à chaque joueur (qu’il est possible de transférer entre joueur selon la configuration du serveur), les points de construction (compte commun à l’équipe et en compétition avec l’équipe adverse), et le momentum (qui définit ta progression et les technologies qui te sont accessibles).

      Se faire tuer par l’adversaire enrichit/nourrit l’adversaire, à la fois en monnaie mais aussi en progression, et bien sûr tu ne récupères pas la monnaie que tu as dépensé pour t’équiper et ton équipe perd en progression. Se fait démolir une base coûte des points de construction à l’équipe qui ne seront jamais récupérés et réduit la progression de l’équipe, mais enrichit en monnaie et augmente la progression de l’équipe adverse qui peut se voir débloquer des technologies et devenir capable de se les payer.

      Pour gagner il faut donc mettre l’équipe adverse en échec. Pour cela il faut parvenir à détruire les équipements qui permettent aux joueurs adverses de revenir en jeu lorsqu’ils sont morts, et bien entendu de les éliminer sans exception pour qu’ils ne les reconstruisent pas. Quand toi et tous tes coéquipiers sont bloqués dans la salle d’attente et que cette salle d’attente ne peut techniquement plus se vider, votre équipe a perdu.

      Un jeu comme Unvanquished est très exigeant mentalement et physiquement. Une partie peut se terminer en 15 minute comme durer un peu plus d’une heure, heure pendant laquelle chaque seconde peut être décisive : tu dois concevoir les bases, les construire, les défendre, les reconstruire, élaborer des actions, attaquer, te replier, te cacher, te soigner, sauver ta peau, faire fructifier ton gain et l’investir intelligemment (que ce soit en monnaie ou en points de construction), retenir un assaut, tenir un siège.

      Effectivement, si tu es incapable de jouer à un jeu en tir subjectif, tu auras peut-être du mal avec ce jeu : l’adresse au jeu de tir à la première personne est requise. Mais tu peux toujours t’essayer au rôle de celui qui construit les bases, pense les défenses, étend le territoire, etc. =)

      Par exemple tu peux démarrer le jeu en local avec la carte « Plat23 » qui est assez indulgente envers les bots. Ajoute trois bots aliens, deux bots humains et rejoint l’équipe des humains. Prends le « Construction Kit » et essaie de déterminer la victoire. Ensuite fais l’inverse en rejoignant l’équipe des aliens en jouant en tant que granger sur cette même carte. Un objectif intermédiaire sera que ton équipe de bots atteignent un niveau suffisant pour que tu puisses évoluer et marcher sur les murs pour rendre ta base plus efficace. La troisième étape sera de jouer sur la carte Chasm en tant qu’humain avec l’outil de construction. Une équipe de bots humains ne survivent pas longtemps face aux aliens sur cette carte (cette asymétrie est spécifique aux bots qui ne sont pas si humains que ça…), tu dois pouvoir faire gagner ton équipe uniquement en construisant des infrastructures pour tes bots, mais tu seras très vite tenté de t’acheter un flingue. ;-)

      Note que le jeu ne permet pas (pour le moment ?) de donner des ordres aux bots. Il y a déjà des mécanismes intégrés au jeu pour dire « attaquer ici », « défendre là », mais les bots ne les écoutent pas. Il faut dire que ce sont des pis aller, normalement le jeu se joue en équipes de vrais joueurs, c’est le but recherché. Si quelqu’un implémentait tout de même cela et mettait la caméra au-dessus de la carte… la comparaison avec un jeu comme 0 A.D. serait encore plus frappante.

      Il serait tout à fait possible d’implémenter dans 0 A.D. un mode à la première personne jouée au niveau du sol où les personnages seraient d’autres joueurs.

      À noter qu’un jeu comme Natural Selection qui se situe sur le même créneau qu’Unvanquished propose un rôle spécial où un des joueurs voit la carte de dessus et donne des ordres à ses coéquipiers. La différence avec un jeu comme 0 A.D. est donc que les petits bonshommes que tu vois courir sur la carte ne sont pas pilotées par des intelligences artificielles mais par de vraies personnes.


      Bref, il est vrai qu’il est assez ennuyeux pour le cerveau de celui qui écrit de devoir rappeler le jeu à chaque dépêche. Je sais que c’est important et je dois me forcer. En particulier le fait de décrire le jeu comme un jeu de stratégie est le minimum vital que je rappelle.

      Le point de vue du jeu (première personne) est vraiment moins important et il ne faut en parler que si l’élément stratégique est clairement énoncé d’abord, sinon le lecteur sera trompé et son appréciation sera erronée.

      Même le fait de dire qu’Unvanquished serait un jeu de tir à la première personne avec des élements de stratégie serait mensonger. Unvanquished est d’abord un jeu de stratégie, et ce jeu de stratégie se joue à la première personne, en temps réel, avec des mécanismes de tir.

      Lors de la sortie de Tremulous 1.1.0 en 2006 un lecteur avait commenté « [Ca ressemble beaucoup] a Nexuiz vous trouvez pas ? ».

      Ce genre de première appréciation est vraiment problématique parce que oui à l’écran il y a un flingue au premier plan, mais ça ne définit pas un jeu ça, ça définit un point de vue. Les jeux comme Xonotic (successeur de Nexuiz) et Unvanquished (successeur de Tremulous) sont vraiment très différents. Les communautés de joueurs ne se mélangent d’ailleurs pas vraiment (ce qui n’est pas forcément vrai du point de vue des développeurs) : le public de Xonotic n’est pas nécessairement le public d’Unvanquished, comme quelqu’un qui joue à Unvanquished pourrait dire que les jeux comme Xonotic ne sont pas vraiment son genre de jeu. Les gens qui jouent aux deux sont surtout l’exception.

      ce commentaire est sous licence cc by 4 et précédentes

      • [^] # Re: Jeu de stratégie ‽

        Posté par  (site web personnel) . Évalué à 4.

        Petite correction pour éviter des incompréhension :

        - En plus de simplement donner des directives à des automates, tu dois faire avec les avis contradictoires, les paris gagnants et les erreurs et tu dois gagner la confiance de vrais joueurs.
        + Plutôt que simplement donner des directives à des automates, tu dois faire avec les avis contradictoires, les paris gagnants et les erreurs des autres et tu dois gagner la confiance de vrais joueurs.

        ce commentaire est sous licence cc by 4 et précédentes

      • [^] # Re: Jeu de stratégie ‽

        Posté par  (site web personnel) . Évalué à 4.

        Merci pour cette analyse détaillée sur les mécaniques de Unvanquished !

        C'est vrai que la classification dans un genre particulier est difficile pour beaucoup de jeux (jouant aux roguelikes, j'en sais quelque chose) et pas forcément utile en soi. Elle dépend trop de la sensibilité de chacun : tel ou tel critère est plus important et attractif ou non suivant les personnes.

        En pratique, j'ai l'impression que le plus clair pour réintroduire vite-fait dans un post, c'est juste d'essayer de condenser le plus d'aspects en précisant les termes un peu trop vastes comme stratégie : genre ici, « jeu de tir et stratégie entre joueurs (incluant construction et gestion) à la première personne en temps-réel » ou quelque chose dans ce goût là. Les deux points qui sont peut-être inattendus pour un jeu de tir en première personne, c'est le côté élaboration d'une stratégie entre joueurs et la partie construction/gestion qui, d'ailleurs, n'est pas totalement mise en avant dans le premier paragraphe du about du site qui mentionne uniquement les upgrades (après, j'avoue, c'est pas facile à bien résumer tout ça).

        Perso, je comprends ton point de vue : en lisant simplement jeu de tir à la première personne, même avec le mot stratégie à côté, c'est facile de faire un raccourci et de rester sur une image erronée du jeu. Par contre, le risque de résumer simplement en un jeu de stratégie temps réel dans un post, c'est qu'on ne s'imagine pas que c'est un jeu d'action à la première personne entre joueurs ; enfin, avec les images un peu quand même :-) Même si le cœur du jeu est la stratégie entre joueurs, les actions de base effectuées (bouger, tirer, etc.) correspondent aux sensations d'un jeu de tir à la première personne, l'interface utilisateur en est fortement dépendante. Je dirais que l'interface utilisateur n'est pas vraiment un aspect du jeu : même si ça ne définit pas l'essence du jeu (c'est plus de la stratégie), ça nous dit à quel type d'interaction de base on doit s'attendre, ce qui est aussi important dans un jeu vidéo.

      • [^] # Re: Jeu de stratégie ‽

        Posté par  (site web personnel) . Évalué à 6.

        on sens ta passion dans ton commentaire c'est top :)

        Merci car j'avais pas l'impression que c'était aussi vaste comme jeux

      • [^] # Re: Jeu de stratégie ‽

        Posté par  . Évalué à 6.

        Effectivement, si tu es incapable de jouer à un jeu en tir subjectif, tu auras peut-être du mal avec ce jeu : l’adresse au jeu de tir à la première personne est requise. Mais tu peux toujours t’essayer au rôle de celui qui construit les bases, pense les défenses, étend le territoire, etc. =)

        C'est ce qui me semble le plus important. Si quelqu'un me demande de décrire les Trem-like en 3 mots je vais plutôt dire "FPS que "RTS". Celui qui n'a pas forcément une connaissance exhaustive du jeu vidéo se réfère principalement à deux trucs :

        • l'interface utilisateur

        • les compétences demandées

        Ensuite, si la personne me dit qu'elle n'aime pas tirer sur des cibles ou qu'elle veut en savoir plus, là je présente le jeu comme "50% FPS, 50% First Person RTS" (et ça reste pas tout à fait vrai). Pour être vraiment précis il faudrait décrire le jeu comme tu viens de le faire, ou juste dire "un team-based arena FPS pas comme les autres" :D

        C'est presque impossible de décrire les jeux atypiques de façon concise, par exemple UFO:AI est souvent décrit comme un TBS alors que c'est assez éloigné de la réalité, une vraie catégorisation serait "military management + 3D turn-based tactics". Si on parle simplement de TBS/TBT les gens s'attendent à un truc comme battle for wesnoth ou tanks of freedom.

        Un jeu comme Unvanquished est très exigeant mentalement et physiquement. Une partie peut se terminer en 15 minute comme durer un peu plus d’une heure, heure pendant laquelle chaque seconde peut être décisive : tu dois concevoir les bases, les construire, les défendre, les reconstruire, élaborer des actions, attaquer, te replier, te cacher, te soigner, sauver ta peau, faire fructifier ton gain et l’investir intelligemment (que ce soit en monnaie ou en points de construction), retenir un assaut, tenir un siège.

        Je me demande vraiment comment Unvanquished se joue(rait) en compétition. Il y a un aspect stratégie très fort mais l'interface est taillée pour le tir, pas la stratégie. Dans mes souvenirs il n'y a pas d'indicateurs économiques poussés permettant d'aider l'équipe à prendre des décisions à l'avance sur la partie construction/contrôle des ressources. Je pense cependant qu'un metagame pourrait se développer assez rapidement, où sur chaque map les joueurs finissent par identifier la meilleure façon de construire une base et de la défendre, où placer les points de ressources, les spawns savoir combien de tourelles mettre à chaque fois, etc, et mémoriser tout ça, mais c'est tout ce que j'arrive à imaginer.

        Quand on parle de metagame dans un FPS je pense surtout à xonotic/nexuiz en mode CTF : il a déjà été établi que le meilleur mode est le 5v5, et dans une moindre mesure, les 4v4 et 3v3, que l'équipe doit être séparée entre un midfielder, un attacker, un flagrunner, un midfield defender et un flagroom defender, avec tout un tas de tâches attribuées à chaque rôle et notamment que le midfielder a une fonction de capitaine et doit coordonner les autres, si possible en utilisant un salon VoIP.

        Là sur Unvanquished, avec l'interface actuelle, j'ai du mal à comprendre comment comment on peut se mettre d'accord sur une stratégie au poil de nez près sans avoir un superviseur qui spec la map pendant toute la durée du jeu et téléguide les joueurs de son équipe en VoIP.

        *splash!*

      • [^] # Re: Jeu de stratégie ‽

        Posté par  . Évalué à 3.

        A l'époque il y avait Savage qui était sympa aussi dans le mix stratégie et FPS. Par contre c'était pas libre.

  • # Avantages pour les autres projets

    Posté par  . Évalué à 5.

    Nos excellents amis du projet Xonotic ont un portage expérimental de leur jeu sur le moteur Dæmon (et ils ont beaucoup amélioré Dæmon dans ce but), mais pour le moment c’est surtout une preuve de concept pour y exécuter une Q1VM minimaliste. […]

    Le projet UnrealArena est aussi à l’étape de preuve de concept… ils n’ont même pas encore de modèle… Mais l’idée est prometteuse et, là encore, la collaboration a rendu meilleurs Dæmon et son écosystème.

    Le jeu Smokin'Guns a des projets de portage vers le moteur. Mais à ce niveau, ce qui fut matérialisé fut quelques correctifs dans le moteur pour mieux prendre en charge leurs données et pas encore beaucoup plus.

    Est-ce qu'il y aurait des captures d'écran pour comparer, ou des sujets de discussion qui expliquent les motivations pour ces trois projets de passer à Dæmon (plus beau, plus performant…) ?
    En recherchant rapidement j'ai vu que Xonotic parlait déjà d'un portage en 2016…

    • [^] # Re: Avantages pour les autres projets

      Posté par  (site web personnel) . Évalué à 9.

      Du plus simple au plus complexe à décrire…

      Pour UnrealArena, c’est un projet ex nihilo, il n’y a pas de portage depuis un autre moteur. C’est le moteur qui a été choisi par ce projet et c’est comme ça.

      Pour Smokin'Guns, il se trouve que Smokin' Guns est, comme Tremulous, un mod de Quake3 devenu standalone. On sait qu’un portage depuis le moteur Quake 3 vers Dæmon est possible: Unvanquished l’a fait. Il est assez naturel pour un projet basé sur les technologies de Quake 3 qui voudrait se réinventer un peu de lorgner du côté de Dæmon. Les données utilisent les mêmes formats, avec les mêmes outils pour les gérer. Dæmon apporte quelques changements par-dessus et autour de ces formats parce qu’avec des décennies de recul on sait ce qui pouvait être mieux pensé, mais même quand la compatibilité est cassée pour faire mieux, porter les données de l’un à l’autre n’est pas très compliqué.

      Au final Dæmon est un moteur qui est réellement utilisé par un jeu et qui est maintenu. Un projet comme ioquake3 apporte de nouvelles fonctionnalités, mais elles ne sont pas vraiment éprouvées parce que la vocation première d’ioquake3 est de faire tourner Quake 3 sans le casser. Ça veut aussi dire qu’ioquake3 ne peut pas corriger certains défauts de conception.

      Par exemple ce que je vais dire pourra paraître surprenant et à contre-courant des présupposés, mais Quake3 n’as pas vraiment été pensé pour être “moddé”, il a été pensé pour être mis à jour facilement. La nuance, c’est que les mécanismes utilisés par les “moddeurs” sont des mécanismes qui permettent à l’éditeur du jeu de modifier son propre jeu pour l’améliorer, distribuer ses mises à jour, mais ces mécanismes ne sont pas pensés pour isoler les modifications du jeu original. N’importe quel serveur malintentionné peut distribuer un fichier de mise à jour qui casse le jeu tant que ce fichier n’est pas supprimé manuellement par le joueur (s’il l’identifie). Dæmon a amélioré le format des archives à la base du système de fichier virtuel du jeu en ce sens par exemple.

      Par ailleurs, le moteur est juste plus avancé dans plein de domaines, notamment graphique.

      Pour Xonotic, la raison n’est pas « plus beau ». En termes de résultat final (ce qui est affiché à l’écran), Dæmon est encore un peu en retrait de Darkplaces (le moteur actuellement utilisé par Xonotic. Pour être au même niveau il faut réparer les effets d’eau et implémenter les lightmaps dans l’espace sRGB. Par ailleurs Darkplaces est encore un peu plus performant que Dæmon. DarkPlaces a l’avantage d’être bien plus mature et éprouvé, 3D Realms a même sorti un jeu dessu en 2020: Wrath: Aeon of Ruin.

      Mais DarkPlaces est un vieux cheval. C’est initialement un moteur pour faire tourner Quake 1, et aucune modification qui pourrait casser Quake 1 ne sera implémentée. Dans DarkPlaces, les jeux sont codés en QuakeC, une espèce de langage dédié qui ressemble un peu au C, et tournent dans une machine virtuelle maison communément dénommée Q1VM. C’est un langage et un environnement très spécifique, avec des tas de vieilleries, de limitations, et de bizarreries.

      Le moteur de Quake 3 avait fait le choix de partir sur du C pour le code des jeux, du véritable C, mais compilé avec un compilateur spécifique (et non-libre, LCC) dont les binaires tournaient sur une machine virtuelle maison (QVM). C’est déjà énorme par rapport à la Q1VM et le QuakeC. Dæmon est allé plus loin. Le problème de la QVM est que là encore, c’est une technologie spécifique, on est donc loin des performances que peut permettre l’état de l’art actuel, même s’il faut le reconnaître, c’est tout de même pas mal. L’autre problème de la QVM c’est que si c’est du vrai C, c’est du C assez ancien qui compile avec un compilateur ancien et limité. On oublie tous les progrès sur les compilateurs qui ont pu être fait en 20 ans, on oublie la réutilisation de certains codes en C écrit depuis qui ne seraient tout simplement pas compilable sur LCC, etc. Sachant que pour conserver des fichiers sources commun entre le moteur et le jeu, le moteur en subit des limitations

      Dæmon prend en charge le même C++ dans le moteur et le jeu. La machine virtuelle actuelle est NativeClient (NaCl), maintenant que celui-ci est déprécié au profit de WebAssembly (WASM, le mal nommé, qui n’est pas du tout spécifique au web), nous avons un plan de migration vers celui-ci, mais jusqu’à très récemment d’après les spécialistes, WebAssembly n’était pas encore prêt pour nos besoins. À suivre…

      Le but de Xonotic serait donc de s’affranchir de DarkPlaces. Il y a plusieurs expérimentations. Celle qui donne des résultats déjà visibles est une espèce de glue qui en réalité implémente une Q1VM par-dessus NaCL. L’idée serait de porter le jeu en Quake C d’abord, puis de l’améliorer par partie dans un autre langage si j’ai bien compris. Actuellement tout ce qu’on peut faire avec ça c’est se ballader dans les maps et c’est tout. C’est une démo technique, une preuve de concept.

      J’ai vu passer deux projets de transpileurs. L’un qui transpile du code vers du C++ mais sans tenir compte du fait que ce soit lisible à la sortie. L’idée serait là aussi de porter petit à petit le code tout en transpilant ce qui n’est pas porté, si j’ai bien compris.

      Un autre projet plus ambitieux est un projet qui vise à transpiler le code QC vers du rust directement exploitable.

      Tout ça ce sont fondamentalement des travaux de recherche en fait. Le futur appartient aux audacieux, aux persévérants, et aux chanceux qui survivent aux chauffards.

      Il est tout à fait possible que Xonotic reste sur DarkPlaces encore longtemps.

      Il y a des choses intéressantes à lire à ce sujet ici :
      https://gitlab.com/xonotic/xonotic/-/issues/244

      Et là:
      https://gitlab.com/xonotic/daemon-glue/-/issues/1

      De ce que je sais, même si Dæmon est un peu à la traine derrière Darkplaces concernant certains effets graphiques (mais pourrait être en avance sur d’autres, mais pour Xonotic forcément l’éventuel « plus » ne peut pas se voir), Dæmon aurait une architecture plus moderne sur le plan du moteur de rendu. L’idée serait donc de bénéficier de ce que DarkPlaces n’a pas en ajoutant ce qui manque a Dæmon, sur une base déjà plus accueillante.

      Il se trouve que DarkPlaces a implémenté nombre de technologies de Quake 3: le format des paquets, le format des maps, et partiellement le format des matériaux. Xonotic a donc des données qui se chargent à 90% dans Dæmon sans trop pousser. Ceci est vraiment important pour Xonotic car avec 19 ans d’histoire (en comptant Nexuiz) ça fait plusieurs milliers de cartes communautaires dont il serait dommage de casser la compatibilité.

      Et globalement, derrière tout ça, il y a l’idée d’aller plus loin ensemble.

      Par exemple revient parfois la discussion de l’éventualité d’intégrer le moteur graphique de Dæmon dans ET:Legacy, mais seulement la partie rendu graphique parce qu’ils doivent rester binairement compatible avec le jeu Wolfenstein: Enemy Territory. Ce serait là aussi pour éviter la dispersion. Mais comme beaucoup de choses ce sont des idées qui flottent au-dessus de nos têtes et on verra bien dans le futur ce qu’il en deviendra…

      Les communautés de joueurs ne se mélangent pas vraiment, mais plusieurs développeurs ont un pied dans plusieurs projets. Et personnellement je travaille beaucoup à entretenir le réseau. Je pense que c’est vraiment ce qui me tient le plus à cœur : jeter des ponts et rassembler. J’essaie de faire ce qui est à ma portée. =)

      ce commentaire est sous licence cc by 4 et précédentes

  • # Graphisme / RTX

    Posté par  . Évalué à 2.

    Merci Thomas ! 👍

    En regardant les captures d'écran en bon béotien, je n'ai pas pu m'empêcher de me dire "Oh, mais qu'est-ce que ce serait chouette en RTX". Est-ce que tu sais si c'est quelque chose qu'il serait envisageable d'implémenter à l'avenir ?

    • [^] # Re: Graphisme / RTX

      Posté par  (site web personnel) . Évalué à 6.

      Rien n'empêche un jeu open source d'intégrer l'extension Vulkan Raytracing (qui peut utiliser RTX), mais je n'en vois pas trop l'intérêt. Il y a beaucoup d'autres façons d'améliorer les graphismes du jeu sans restreindre les améliorations aux cartes NVIDIA :)

      • [^] # Re: Graphisme / RTX

        Posté par  . Évalué à 3.

        Et puis fuck NVIDIA comme dirait torvald !

      • [^] # Re: Graphisme / RTX

        Posté par  . Évalué à 6.

        Le "real time ray tracing" ou même des textures très haute résolution ou de la tessellation pour un jeu qui se veut assez nerveux et en plus avec une dimension compétitive c'est une piètre utilisation des ressources de développement et des capacités du matériel.
        Tu testes au début puis passé l'effet Wah! tu te rends compte que c'est important d'avoir des fps pour win la game.
        La première chose que faisaient beaucoup de gens sur Counter Strike en débarquant sur la carte Aztec c'était de retirer l'effet de pluie.

      • [^] # Re: Graphisme / RTX

        Posté par  . Évalué à 4.

        l y a beaucoup d'autres façons d'améliorer les graphismes du jeu sans restreindre les améliorations aux cartes NVIDIA :)

        Puis RTX c'est comme pour le DLSS : rien n'indique que l'API va rester la même ou que, comme PhysiX, la fonctionnalité ne soit pas retirée d'ici quelques générations faute de popularité.
        N'oublions pas non plus que ces deux nouveautés ne sont implémentés que parce que l'architecture à base de Tensor Cores de Nvidia dans l'offre gaming haut de gamme est avant tout une version réduite d'une archi orientée entreprise (comme l'était GCN) et il est tout à fait possible qu'ils décident de revenir vers des architectures distinctes, plus spécialisées, comme le prévoit AMD avec la distinction RDNA/CDNA.

    • [^] # Re: Graphisme / RTX

      Posté par  (site web personnel) . Évalué à 10.

      Sans parler de RTX mais de « Raytracing » en général, rien n’empêche que ce soit implémenté, ce qu’il faut pour ce faire, c’est que quelqu’un le fasse. Et en fait ce n’est pas spécifique au tracé de rayons, c’est spécifique à toute fonctionnalité graphique qui pourrait être implémentable.

      Les développeurs de moteur de jeu sont une espèce très rare et précieuse, et qui se raréfie. Les spécialistes des moteurs de rendu sont encore plus rare. Il y a plusieurs raisons à cela et je ne suis pas certain de tout savoir, mais déjà ce sont des compétences très pointues, et qui sont de plus en plus pointues (et qui sont donc de plus en plus sélectives). Si on regarde le marché du jeu vidéo, on voit surtout de très très grosses entreprises qui produisent des moteurs de jeu. Cette concentration n’est d’ailleurs pas spécifique au jeu vidéo : IBM rachète Red Hat, Microsoft rachète Zenimax (et donc id Software). Je ne sais d’ailleurs pas si c’est une sorte de bulle qui va éclater, ou si c’est l’avènement d’un monde cyberpunk où tout est entre les mains d’une poignée d’acteurs, mais c’est le constat pour le jour actuel.

      Dans le domaine des moteurs de jeu et peut-être plus encore de moteur de rendu graphique, l’artisanat est devenu une curiosité. Les rares ressources sont déjà bien exploitées par une poignée d’acteurs. C’est la dèche. Donc bref, la seule chose qui empêche que tel ou tel truc sexy soit implémenté c’est tout simplement les limites de la main d’œuvre. Pour Unvanquished/Daemon on a la chance d’avoir quelques développeurs qui connaissent le domaine.

      Un projet comme Unvanquished/Dæmon c’est un projet qui avance au rythme des disponibilités et compétences de chacun.

      Pour voir implémenté du raytracing, du vulkan ou toute autre chose à la monde il faut que quelqu’un à qui c’est à la portée de le faire, s’y mette. 😁

      En fait, un de nos développeurs, Fuma, a déjà un projet de tracé de rayon qui semble fonctionnel même si incomplet (quelques copies d’écran ici, l’absence de texture est volontaire puisque ce qui est comparé sont les lumières et les ombres). Je n’ai aucune idée des performances. Par rapport à ce projet, il est du genre à venir sur le chat une fois l’an avec des nouvelles. Je ne peux donc pas dire si ça viendra un jour ou jamais. Ça dépend entièrement de lui en fait… Fuma fait partie des gens qui peuvent lire des papiers de recherche et produire quelque chose, tout en ayant une bonne connaissance de l’état de l’art actuel (je ne sais pas ce qu’il fait en dehors d’Unvanquished en fait).

      Pour donner un exemple, de mon côté, j’ai fait un énorme travail de nettoyage de code (un autre effort de plusieurs années) qui, par réécritures et refactorisations successives ont conduit à supprimer 680 lignes tout en ne retirant aucune fonctionnalité, permettant de combiner plus de ces fonctionnalités, rende certaines fonctionnalités implémentables, et rend le code plus testé, rend la maintenance plus facile, et dont la conception du code empêchera certains bugs d’être introduit ou oublié d’être corrigé par inadvertance. Ce travail a fait passer le moteur Dæmon de la preuve de concept qu’était XreaL à quelque chose de propre sur ce plan, en corrigeant parfois des bugs qui avaient été introduit dans XreaL avant même la sortie standalone de Tremulous 1.1.0… Ce grand nettoyage fera, je l’espère, l’objet d’un autre article.

      Mais faire cela pour moi a été essentiellement une forme de méta-programmation, il s’agissait de reformuler les chose, réorganiser le code, le découper, le factoriser, le dédupliquer, changer la façon dont il était appelé pour le rendre réutilisable. À aucun moment je n’ai vraiment touché aux formules mathématiques. Un autre spécialiste des moteurs de rendu, gimhael, a surtout contribué ces dernières années par des commentaires, des explications très précieuses, que du code. Cela a rendu ce travail de refactorisation et de nettoyage possible, mais pour implémenter de nouvelles fonctionnalité il faudra des commits de leur part. On verra bien ce que nous réserve le futur. 😃

      Mais avant le tracé de rayon, il y a tout plein de choses sur lesquelles on peut agir et qui sont plus à la portée des contributeurs les plus actifs actuellement. Grâce à ce travail de refactorisation, le reliefmapping a été corrigé et est utilisable : aux artistes de fournir les fichiers qui vont bien pour en profiter. Le PBR (physical based rendering) a été activé pour toutes les surfaces, là encore c’est aux artistes de fournir les textures qui vont bien, avant cela, le moteur saura faire mais ne le fera pas. J’ai découvert que quelque chose d’encore inconnu assombri le jeu… Si je charge la même carte dans Dæmon avec la petite démo Xonotic, la luminosité est celle attendue, si je charge la même carte dans Dæmon avec le jeu Unvanquished, quelque chose l’assombri un peu… Nous avons donc un bug à trouver et corriger pour améliorer les choses ! Aussi, j’aimerai voire implémentée la prise des lightmaps sRGB. Les lightmaps sont des textures de lumières et d’ombres précalculées. Il s’agit là d’utiliser un format d’image non-linéaire qui privilégie les valeurs utiles l’œil (ce qui réduit les dégradés à grosse marche bien visible) et d’avoir des calculs qui sont plus proche de ce qui se passe physiquement. Avant même de faire du tracé de rayon, il serait bon d’avoir des formules qui soient plus proches des modèles physiques, et on n’a pas besoin de tracer des rayons pour ça. =)

      Bref, ce sujet est dans ma liste des sujets dont j’espère pouvoir faire un article (comme annoncé à la fin de celui-ci), ce commentaire m’aura aidé à trouver un angle d’attaque et donné quelques idées quant au découpage de ses parties. 😉

      ce commentaire est sous licence cc by 4 et précédentes

      • [^] # Re: Graphisme / RTX

        Posté par  (site web personnel) . Évalué à 5.

        Je me rends compte que cette partie pourrait être mal comprise :

        Aussi, j’aimerai voire implémentée la prise des lightmaps sRGB. Les lightmaps sont des textures de lumières et d’ombres précalculées. Il s’agit là d’utiliser un format d’image non-linéaire qui privilégie les valeurs utiles l’œil

        Les lightmaps sont implémentées, mais pas la variante sRGB.

        ce commentaire est sous licence cc by 4 et précédentes

  • # Enpaquetage dans les distributions GNU/Linux

    Posté par  (site web personnel) . Évalué à 5.

    Salut.

    Félicitation et merci à toute l’équipe d’Unvanquished !

    J’aimerai savoir si, puisque les freins juridiques et philosophiques sont désormais levés, une inclusion prochaine de votre jeux dans les dépôts officiels des diverses distributions GNU/Linux, est à l’ordre du jour.

    Voici quelques liens :

    • [^] # Re: Enpaquetage dans les distributions GNU/Linux

      Posté par  (site web personnel) . Évalué à 10. Dernière modification le 05 octobre 2020 à 23:32.

      Pour Arch, il y a effectivement un paquet AUR qui est maintenu par Viech, un des autres membres du triumvirat à la tête du projet Unvanquished.
      Pour Debian, le dépôt fournit un dossier debian/ que j’ai corrigé cette année. Donc techniquement, la connaissance pour empaqueter chez Arch et Debian existe. Mais c’est tout.

      Je ne pense pas que le projet va dépenser de l’énergie à empaqueter pour les distributions par principe, c’est un métier à part entière. Si quelqu’un du projet (comme Arch) c’est son initiative. Dit autrement, si ces paquets sont bienvenus, nous sommes alors à la recherche de contributeurs dans ce domaine.

      Le projet fournit un programme (appelé actuellement « updater » par manque d’imagination) qui est pensé comme le point d’entrée du jeu. Il agit comme un splash screen évolué qui peut annoncer au joueur la présence d’un nouvel article sur le blog du jeu, la présence de mise à jour, et opérer l’installation de la mise à jour elle-même.

      Ce qui serait vraiment bienvenu, c’est une alternative qui ait la même ambition d’universalité que ça. Quelque chose comme Snap ou Flatpak (avis personnel pour des raisons qui sont sans rapport avec Unvanquished et que je peux développer, ma préférence va à Flatpak).

      Le besoin est réel. On vient tout juste ces dernières semaines de découvrir que notre version actuelle, sortie en 2018, ne tourne plus sur les distributions les plus « fraîches », que ce soit les « rolling relase » comme Arch, les préversions comme Debian testing ou les « cutting edges » comme Fedora 33, ça ne marche plus et c’est vraiment tout récent. On ne sait pas quelle est la cause, mais le binaire segfault quasi immédiatement au démarrage, sans autre forme de procès. Avec les mises à jour progressives des distributions, ce binaire ne tournera simplement nulle-part à moyen terme. Pour pallier à ce genre de problème qui survient sans prévenir, un paquet Mageia ou OpenSuse ou Debian n’est d’un intérêt que… très limité. Là concrètement si on avait déjà un Flatpak de prêt, ça satisferait l’écrasante majorité de ceux qui rencontrent le problème.

      Donc voilà, vous savez faire un Flatpak ? Vous voulez faire entrer votre nom dans l’histoire d’Unvanquished ? Viendez !

      Par ailleurs, concernant l’inclusion dans les distributions, la liberté c’est une chose mais ça ne fait pas tout. Un projet comme Unvanquished c’est compliqué à empaqueter selon les critères de Debian. Actuellement, à cause de la machine NativeClient, nous distribuons un SDK NaCl précompilé pour Linux, macOS et Windows. Celui-ci est téléchargé par CMake lors de la compilation du jeu. Ça ne va pas faire plaisir à Debian. =)

      Compiler quelque chose comme NaCl c’est énorme, c’est bien plus complexe que compiler le moteur Dæmon ou le jeu Unvanquished : il faut compiler LLVM etc.

      Ça changera peut-être avec Wasm. Le SDK de Wasm n’est probablement pas moins complexe à construire que celui de NaCl, mais on peut s’attendre à ce que les distributions le fournisse à moyen terme.

      Par ailleurs, pour parler de Debian… tu peux regarder le ticket pour l’inclusion de Xonotic qui est ouvert depuis le 23 octobre… 2011.

      Xonotic est entièrement libre, GPLv2+ des pieds à la tête, moteur, jeu et données artistiques. C’est pas pour autant empaqueté dans Debian, presque dix ans plus tard.

      Ce ticket Xonotic chez Debian est parti dans tous les sens, par exemple certains ont commencé à parler de recompiler les maps. Y a un moment ça va trop loin. Oui les sources des maps sont fournies, oui les sources du compilateur de map sont fournies (et c’est pareil pour Unvanquished, contrairement à Tremulous qui ne fournissait pas les sources de nombre de ses maps), mais « compiler une map », c’est entre autre faire tourner un traceur de rayon pendant des heures, et en 2011, le faire pour l’intégralité des cartes de Xonotic était probablement une affaire de plusieurs jours…

      De plus, il est vraiment important que les données des joueur soient strictement identiques au bit près à celles du serveur, et c’est pas seulement pour des raisons de prévention de la triche, mais c’est aussi le moyen pour le serveur de s’assurer que le joueur est équipé correctement pour pouvoir jouer sur le serveur, et c’est aussi le moyen de sélectionner les bons fichiers s’il y a un doute. Obtenir une reproductibilité sur les données, c’est un projet plus grand que le projet Unvanquished, ça demande éventuellement d’auditer et corriger tous les outils mis en œuvre, jusqu’au convertisseur de format d’image et je sais pas quoi, dès lors qu’il y a une transformation. Perso j’aimerai que ce soit possible, mais l’objectif réaliste que je poursuis c’est que déjà, n’importe qui puisse construire le jeu intégralement, code et données. Et ça c’est déjà possible. En gros ça signifie que n’importe qui peut produire la prochaine version d’Unvanquished sur son ordinateur. Ce ne sera pas égal bit à bit à ce qu’obtiendrait son voisin si son voisin le ferait, mais l’expérience serait exactement la même et complète.

      Bref, on est loin de satisfaire à toutes les ambitions idéologiques. Mais techniquement n’importe qui peut produire le jeu intégralement sur sa propre machine, et techniquement n’importe qui peut déjà empaqueter Unvanquished en se contentant de reprendre les fichiers DPK tels quels.

      Et puis si on regarde bien le ticket Xonotic dans Debian, le plus gros problèmes n’est pas tant ceux qui partent dans tous les sens et dont il faudrait calmer les ardeurs, mais tout simplement l’absence de contributeur, l’absence de celui qui fait le boulot.

      Les fichiers DPK sont les archives qui contiennent les données du jeu. Un des problèmes difficiles à résoudre est que l’un d’entre eux embarque le code du jeu lui-même, et pas que des données.

      Donc tout ça dépend du niveau de concession acceptable par une distribution. De plus, autant une distribution comme Debian est exactement ce qu’il faut pour installer un système Linux pour un serveur ou un bureau, autant ce n’est pas forcément son rôle de distribuer Unvanquished en particulier. Si Debian le fait tant mieux, si Debian ne le fait pas, Debian n’est pas en faute.

      Un Flatpak pour commencer serait vraiment super.

      ce commentaire est sous licence cc by 4 et précédentes

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.