tag:linuxfr.org,2005:/sections/jeu
LinuxFr.org : les dépêches de Jeu
2023-12-16T18:11:53+01:00
/favicon.png
tag:linuxfr.org,2005:News/41798
2023-12-16T18:11:54+01:00
2023-12-16T18:11:53+01:00
Libération du jeu Blupimania
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p><em>Blupimania</em> est un jeu réalisé en 1994 par la société suisse Epsitec SA. Il met en scène un petit personnage jaune nommé <a href="https://fr.wikipedia.org/wiki/Blupi" title="Définition Wikipédia">Blupi</a> dans un jeu de puzzles en 3D isométrique.</p>
<p>Accroché à un ballon, Blupi sort d’un trou. Malheureusement, son ballon s’envole. Perdu dans son monde, Blupi avance, tourne à gauche ou à droite et effectue diverses actions de sa propre initiative, sans que vous puissiez prévoir son comportement. Le but du jeu consiste à l’aider à retrouver un ballon, afin qu’il puisse repartir vers l’énigme suivante.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f626c7570692e6f72672f696d616765732f6d616e69612e78732e706e67/mania.xs.png" alt="Capture d'écran de Blupimania" title="Source : https://blupi.org/images/mania.xs.png"></p>
<p>Le jeu comprend plus de 120 énigmes de quatre niveaux de difficulté. Il faut avoir résolu une énigme pour passer à la suivante. En revanche, il est toujours possible de changer de niveau.</p>
<p>Chaque niveau comporte deux modes de jeu. Il y a le mode sans antenne où vous devez vous occuper d’un ou plusieurs Blupi autonomes, en agissant sur le décor pour influencer le déroulement du jeu, par exemple poser une barrière pour empêcher Blupi de tomber dans un trou. Et il y a le mode où Blupi a une antenne, et c’est vous qui le télécommandez. D’autres Blupi autonomes peuvent aussi évoluer, et vous devez les aider, car tant que chaque Blupi n’a pas trouvé un ballon, l’énigme n’est pas résolue. Pour les aider, vous devez toujours modifier le monde environnant. Par exemple, pour poser une barrière, il faut amener le Blupi télécommandé devant l’emplacement choisi.</p>
</div><ul><li>lien nᵒ 1 : <a title="https://blupi.org" hreflang="fr" href="https://linuxfr.org/redirect/113093">Blupi.org</a></li><li>lien nᵒ 2 : <a title="https://mania.blupi.org" hreflang="fr" href="https://linuxfr.org/redirect/113094">Blupimania</a></li><li>lien nᵒ 3 : <a title="https://github.com/blupi-games/blupimania-dev" hreflang="en" href="https://linuxfr.org/redirect/113096">Dépôt GitHub de Blupimania</a></li></ul><div><p>Un peu plus de 6 ans après <a href="https://fr.wikipedia.org/wiki/Plan%C3%A8te%20Blupi" title="Définition Wikipédia">Planète Blupi</a>, Blupimania est désormais librement téléchargeable (GPLv3+ pour code <strong>et</strong> éléments artistiques) pour toutes les plates-formes majeures (GNU/Linux, Apple macOS et Microsoft Windows).</p>
<h3 id="toc-peut-être-que-le-nom-blupi-vous-dit-quelque-chose">Peut être que le nom Blupi vous dit quelque chose ?</h3>
<p>En 2017, la <a href="//linuxfr.org/news/liberation-du-jeu-planete-blupi">libération du jeu Planète Blupi a été annoncée</a> sur LinuxFr.org. Je vous présentais le jeu et je vous racontais la petite histoire de ce personnage et de ses différentes parutions dans des jeux allant de 1988 (Toto à la maison) jusqu’à 2003 (pour Blupimania 2). J’expliquais également que depuis longtemps, je souhaitais réaliser moi-même les portages des jeux pour les différents systèmes d’exploitation. Planète Blupi est alors le premier de ce que j’espérais être une longue série.</p>
<p>La réalité a fait qu’il ne m’a pas été possible de consacrer tout le temps que j’imaginais à ces portages. Dans le premier article, je parle de Blupimania, qui fait partie des « anciens » jeux et le fait que son auteur, Daniel Roux, avait tout simplement perdu les codes sources. Je n’avais plus beaucoup d’espoir pendant plusieurs années. Puis un jour, Daniel débarque au bureau avec un vieux CD-R (de 1997) qui semblait prometteur et qu’il avait retrouvé un peu par hasard en faisant du rangement. Il ne savait pas trop ce qu’il y avait encore dessus. Il me l’a confié au cas où des données intéressantes pouvaient encore s’y trouver. C’était alors en 2019 et je venais de devenir papa pour la seconde fois. J’ai finalement pu attaquer les travaux fin 2021 pour enfin avoir une version publiable en novembre 2023.</p>
<h3 id="toc-blupimania">Blupimania</h3>
<p>Le jeu a été créé à l’origine pour les micro-ordinateurs <a href="https://fr.wikipedia.org/wiki/Smaky" title="Définition Wikipédia">Smaky</a>. Il pouvait fonctionner en différents modes selon les possibilités matériels du Smaky (monochrome, couleurs, avec ou sans bruitage).</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f626c7570692e6f72672f6d616e69612f696d616765732f73746172742e706e67/start.png" alt="Config" title="Source : https://blupi.org/mania/images/start.png"></p>
<p>Il existe aussi une version DOS, mais (à cette époque) je n’ai pas pu mettre la main sur son code source. La version Smaky n’avait pas grand-chose à envier à la version DOS. Il faut savoir que pour DOS, il était question d’un portage qui ajoutait deux fonctionnalités par rapport à la version Smaky. D’abord, on y trouvait des traductions pour l’allemand et l’anglais (le Smaky étant complètement francophone) et la seconde fonctionnalité était l’ajout de musiques pendant les phases de jeu (à ne pas confondre avec les jingles qui peuvent être désactivés dans la version Smaky avec la case à cocher <em>musiques</em>). Le Smaky ne permettait pas de mixer les sons ; on ne pouvait y jouer qu’un son à la fois, ce qui empêchait d’avoir du bruitage en même temps qu’une musique de fond. La photo ci-dessous représente un Smaky 100 monochrome.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f626c7570692e6f72672f696d616765732f736d616b793130302e6a7067/smaky100.jpg" alt="Smaky 100" title="Source : https://blupi.org/images/smaky100.jpg"></p>
<p>Tout comme dans le cas de Planète Blupi, j’ai utilisé la bibliothèque SDL2 (que je connais plutôt bien) pour effectuer ce portage. Il y a eu des modifications fondamentales et tout n’a pas été des plus simple. J’ai écrit un journal dans lequel je raconte tous les déboires et les réussites que j’ai connus tout au long de l’adaptation. Au moment où j’écris ces lignes, ce journal n’est pas encore public.</p>
<p>Je vous invite à vous rendre sur le site <a href="https://blupi.org">Blupi.org</a> pour trouvez Blupimania (ainsi que les autres jeux). Blupimania est disponible sous la forme d’une AppImage pour GNU/Linux, d’un DMG pour Apple macOS et d’un installateur NSIS pour la version Microsoft Windows. Pour les nostalgiques de l’époque du Smaky 100 et de son écran phosphorescent vert, un clin d’œil vous est destiné dans les options du jeu.</p>
<p>Il y aura certainement dans le futur quelques mises à jour pour combler les quelques bugs restants. A propos de la mise à disposition de Blupimania via des distributions Linux, le jeu va (comme c’est le cas depuis longtemps avec Planète Blupi) intégrer prochainement Debian et ses dérivées (Merci à <a href="https://qa.debian.org/developer.php?login=didier%40raboud.com">OdyX</a>). Il y a des chances aussi de le voir apparaître chez Slackware sous l’impulsion d'<a href="//linuxfr.org/users/yth">Yth</a> (s’il passe par ici).</p>
<h3 id="toc-et-la-suite">Et la suite</h3>
<p>Cette fois je ne vais faire aucun plan. Dans <a href="//linuxfr.org/news/liberation-du-jeu-planete-blupi">l’ancien article</a> je disais attaquer prochainement Speedy Blupi 1 et 2 ainsi qu’une version haute définition pour Planète Blupi. Je n’ai rien fait de tout cela (en réalité j’ai bien attaqué une version haute résolution de Planète Blupi mais j’ai décidé d’arrêter ces travaux).</p>
<p>J’ai longtemps reçu des messages de fans des jeux Speedy Blupi (Speedy Eggbert) qui me réclament le code source ou tout simplement une réédition mieux adaptée aux systèmes actuels. Je leur ai adressé <a href="https://t.co/Rd980nRZHm">une lettre</a> (via le compte X/Twitter de <a href="https://twitter.com/BlupiGames/status/1725986328263725474">BlupiGames</a>) pour expliquer ce qu’il en est.</p>
<p>Je verrais bien où le vent me mènera…</p>
</div><div><a href="https://linuxfr.org/news/liberation-du-jeu-blupimania.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/134162/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/liberation-du-jeu-blupimania#comments">ouvrir dans le navigateur</a>
</p>
Mathieu SCHROETER
Benoît Sibaud
BAud
ted
https://linuxfr.org/nodes/134162/comments.atom
tag:linuxfr.org,2005:News/41725
2023-11-18T09:39:55+01:00
2023-11-18T17:19:51+01:00
Des nouvelles de Xonotic
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>La <a href="//linuxfr.org/news/suivre-le-championnat-du-monde-de-defrag-xonotic">dernière dépêche traitant du jeu Xonotic</a> sur LinuxFr date de 2018, la <a href="//linuxfr.org/news/xonotic-0-8-2">dernière annonce d’une nouvelle version</a> date de 2017, il y a 6 ans ! Beaucoup de choses se sont passées depuis, et il y a donc beaucoup de choses à raconter !</p>
<p>Xonotic est un jeu totalement libre (code et données) de tir à la première personne en arène. Il propose de très nombreux modes de jeu, les classiques combat à mort et capture du drapeau, mais aussi de capture de base ou de course contre la montre.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f786f6e6f7469632f786f6e6f7469632e6f72672f786f6e6f7469632d6c6f676f2e706e67/xonotic-logo.png" alt="Logo Xonotic" title="Source : https://dl.illwieckz.net/b/linuxfr.org/xonotic/xonotic.org/xonotic-logo.png"></p>
<p>Depuis la version 0.8.2 sortie en 2017, deux versions sont sorties : la 0.8.5 et la 0.8.6, Xonotic a fêté ses dix ans, les brevets sur les textures DXTC ont expiré, l’éditeur NetRadiant suit désormais son propre cycle de publication, et Xonotic a eu quelques histoires avec Wikipédia. De quoi parler de jeu, de technique, et de drama, tous les ingrédients d’une bonne recette de lecture passionnante sur LinuxFr.org !</p>
</div><ul><li>lien nᵒ 1 : <a title="https://xonotic.org/download/" hreflang="en" href="https://linuxfr.org/redirect/112846">Télécharger et jouer à Xonotic</a></li><li>lien nᵒ 2 : <a title="https://fr.wikipedia.org/wiki/Xonotic" hreflang="fr" href="https://linuxfr.org/redirect/112847">Xonotic dans l’encyclopédie Wikipédia francophone</a></li><li>lien nᵒ 3 : <a title="https://xonotic.org/posts/2023/xonotic-0-8-6-release/" hreflang="en" href="https://linuxfr.org/redirect/112848">L’annonce de Xonotic 0.8.6</a></li><li>lien nᵒ 4 : <a title="https://xonotic.org/posts/2020/happy-anniversary-xonotic/" hreflang="en" href="https://linuxfr.org/redirect/112849">Les 10 ans de Xonotic</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#toc-premi%C3%A8re-d%C3%A9cennie-pour-xonotic-et-18-ans-de-jeu-libre">Première décennie pour Xonotic, et 18 ans de jeu libre</a></li>
<li><a href="#toc-la-version-085-qui-sest-tant-fait-attendre">La version 0.8.5 qui s’est tant fait attendre</a></li>
<li><a href="#toc-et-la-version-086-vite-vite">Et la version 0.8.6, vite vite</a></li>
<li><a href="#toc-netradiant-revenu-dentre-les-morts">NetRadiant, revenu d’entre les morts</a></li>
<li><a href="#toc-merci-s2tc-pour-le-service-rendu">Merci S2TC pour le service rendu</a></li>
<li><a href="#toc-xonotic-enfin-dans-la-wikip%C3%A9dia-francophone">Xonotic enfin dans la Wikipédia francophone</a></li>
<li><a href="#toc-xonotic-comme-outil-de-travail">Xonotic comme outil de travail ?</a></li>
<li><a href="#toc-jouer-%C3%A0-xonotic">Jouer à Xonotic !</a></li>
</ul>
<h2 id="toc-première-décennie-pour-xonotic-et-18-ans-de-jeu-libre">Première décennie pour Xonotic, et 18 ans de jeu libre</h2>
<p>Xonotic a eu 12 ans en septembre 2023 ! Xonotic a en effet <a href="https://xonotic.org/posts/2020/happy-anniversary-xonotic/">soufflé ses 10 bougies le 8 septembre 2021</a>. Xonotic étant lui-même un <em>fork</em> et une continuation du jeu Nexuiz, on peut aussi fêter depuis le 31 mai 2023, les 18 ans de développement et de jeu libre que ces deux projets successifs ont apporté au monde ! 18 ans ? À quand le droit de vote ?</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/xonotic/xonotic-2023/20231109-105831-000.xonotic-gameplay.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f786f6e6f7469632f786f6e6f7469632d323032332f32303233313130392d3130353833312d3030302e786f6e6f7469632d67616d65706c61792e3732302e6a7067/20231109-105831-000.xonotic-gameplay.720.jpg" alt="xonotic 2023" title="Source : https://dl.illwieckz.net/b/linuxfr.org/xonotic/xonotic-2023/20231109-105831-000.xonotic-gameplay.720.jpg"></a><br><br>
<em>Une partie de Xonotic.</em></p>
<p>L’histoire de Xonotic ne fut pas de tout repos et avec de nombreux hauts et bas ! Après une première version de Nexuiz en 2005 et une croissance spectaculaire, la vente du nom Nexuiz en 2010 avait contraint les contributeurs à trouver un nouveau nom, Xonotic, pour continuer à faire vivre le jeu, perdant immédiatement toute la renommée acquise associée à la marque, l’image de marque et la notoriété de la marque. Mais le phœnix a su renaître de ses cendres (d’où le logo de Xonotic) ! Le projet Xonotic peut désormais se vanter d’avoir publié pendant trois fois plus longtemps (déjà 12 ans) que ne l’a fait Nexuiz (4 ans).</p>
<h2 id="toc-la-version-085-qui-sest-tant-fait-attendre">La version 0.8.5 qui s’est tant fait attendre</h2>
<p>La dernière version <a href="//linuxfr.org/news/xonotic-0-8-2">annoncée dans ces pages</a> fut la version 0.8.2, publiée en avril 2017. La version suivante, sautant directement à la version <a href="https://xonotic.org/posts/2022/xonotic-0-8-5-release/">0.8.5, ne fut publiée qu’en 2022</a>, le 30 juin exactement, 5 ans plus tard ! Ce qui est très long. Cette version 0.8.5 se fit beaucoup attendre. Il semble qu’un certain creux a affecté plusieurs projets de jeux libres ces années-là, comme <a href="https://unvanquished.net">Unvanquished</a> qui avait attendu entre <a href="//linuxfr.org/news/unvanquished-zone-51">2018</a> et <a href="//linuxfr.org/news/unvanquished-0-52-beta-est-la">2021</a> (trois ans !) pour sortir une nouvelle version et revenir sur des publications moins espacées. Pourtant, le développement ne s’est jamais arrêté et fut très actif pour ces deux projets, mais les ressources pour faire aboutir le processus de publication semblent avoir manqué dans ces années-là !</p>
<table>
<thead>
<tr>
<th>Bromine</th>
<th>Opium</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/xonotic/xonotic-2023/20231108-104557-000.xonotic-bromine.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f786f6e6f7469632f786f6e6f7469632d323032332f32303233313130382d3130343535372d3030302e786f6e6f7469632d62726f6d696e652e3732302e6a7067/20231108-104557-000.xonotic-bromine.720.jpg" alt="xonotic 2023" title="Source : https://dl.illwieckz.net/b/linuxfr.org/xonotic/xonotic-2023/20231108-104557-000.xonotic-bromine.720.jpg"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/xonotic/xonotic-2023/20231108-104636-000.xonotic-opium.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f786f6e6f7469632f786f6e6f7469632d323032332f32303233313130382d3130343633362d3030302e786f6e6f7469632d6f7069756d2e3732302e6a7067/20231108-104636-000.xonotic-opium.720.jpg" alt="xonotic 2023" title="Source : https://dl.illwieckz.net/b/linuxfr.org/xonotic/xonotic-2023/20231108-104636-000.xonotic-opium.720.jpg"></a></td>
</tr>
</tbody>
</table>
<p><em>Les nouvelles cartes Bromine et Opium.</em></p>
<p>La version 0.8.5 avait apporté beaucoup de polissage du <em>game play</em>, et le mode duel était devenu un mode de jeu à part entière (et pas seulement un match à mort à deux). Ça signifie qu’il est possible de définir des paramètres propres aux duels et de traiter les statistiques séparément. Le mode de jeu <em>Freeze Tag</em> avait reçu plein de petites améliorations. Du côté des bots, le niveau de compétence a été augmenté et la navigation sous-marine corrigée, et pour la navigation terrestre, la capacité à sauter et s’accroupir fut implémentée. Deux cartes furent ajoutées : Bromine par <em>packer</em> et Opium par <em>cityy</em>. Les cartes Drain et Oilrig furent conservées mais cachées par défaut en vue d’un retrait lors d’une version future. Les autres cartes avaient reçu plein de correctifs et d’améliorations. De très nombreux modèles avaient été refaits par <em>Morphed</em>. Du côté de <a href="https://stats.xonotic.org/">XonStat</a>, le logiciel de statistique des parties, des joueurs et des serveurs Xonotic, eh bien… il fut entièrement réécrit de zéro ! Le code est passé de Python à Go et beaucoup d’erreurs de conception corrigées. Le système de calcul de comparaison d’expérience de joueur est passé de Elo à <a href="https://jmlr.csail.mit.edu/papers/volume12/weng11a/weng11a.pdf">Weng-Lin</a>. Le jeu affiche désormais un dialogue « <em>Terms of Service</em> » lors de la première utilisation expliquant quelles données sont requises et lesquelles sont optionnelles. Du côté du moteur, un mode d’accélération de souris à la <em>Quake Live</em> a été ajouté. L’éditeur de niveau <a href="https://netradiant.gitlab.io/">NetRadiant</a> qui a subi un fort regain d’activité pendant le cycle de développement de la version 0.8.2 a désormais <a href="https://netradiant.gitlab.io">son propre site</a> et son cycle de développement, mais ça on en reparlera dans le chapitre dédié.</p>
<p>Il est impossible de tout mentionner, donc les curieux et les historiens pourront <a href="https://xonotic.org/posts/2022/xonotic-0-8-5-release/">consulter l’annonce de la version ici</a>.</p>
<h2 id="toc-et-la-version-086-vite-vite">Et la version 0.8.6, vite vite</h2>
<p>Xonotic 0.8.6 est <a href="https://xonotic.org/posts/2023/xonotic-0-8-6-release/">sortie le 20 juin 2023</a>, tout juste un an après la version 0.8.5. Un bug affectant les versions inférieures à la version 0.8.6 fut découvert et corrigé, bug qui pouvait être exploité par des administrateurs de serveurs malintentionnés pour faire planter les clients, et éventuellement, s’ils parvenaient à contourner certaines protections, à exécuter du code arbitraire. Aucun code exploitant cette faille n’est connu, mais il ne fallait pas attendre plus longtemps pour sortir une mise à jour et encourager tout le monde à faire cette mise à jour !</p>
<table>
<thead>
<tr>
<th>Go</th>
<th>Trident</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/xonotic/xonotic-2023/20231108-104744-000.xonotic-go.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f786f6e6f7469632f786f6e6f7469632d323032332f32303233313130382d3130343734342d3030302e786f6e6f7469632d676f2e3732302e6a7067/20231108-104744-000.xonotic-go.720.jpg" alt="xonotic 2023" title="Source : https://dl.illwieckz.net/b/linuxfr.org/xonotic/xonotic-2023/20231108-104744-000.xonotic-go.720.jpg"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/xonotic/xonotic-2023/20231108-104926-000.xonotic-trident.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f786f6e6f7469632f786f6e6f7469632d323032332f32303233313130382d3130343932362d3030302e786f6e6f7469632d74726964656e742e3732302e6a7067/20231108-104926-000.xonotic-trident.720.jpg" alt="xonotic 2023" title="Source : https://dl.illwieckz.net/b/linuxfr.org/xonotic/xonotic-2023/20231108-104926-000.xonotic-trident.720.jpg"></a></td>
</tr>
</tbody>
</table>
<p><em>Les nouvelles cartes Go et Trident.</em></p>
<p>La version 0.8.6 a ajouté deux nouvelles cartes : Go par <em>dublpaws</em> et <em>Debugger</em> et Trident par <em>proraide</em>. Il est possible de proposer une carte pour inclusion qui sera alors soumise à un vote, il est nécessaire que la carte et ses données soient entièrement libres. Comme prévu depuis la 0.8.5, les cartes Drain et OilRig sont désormais retirées. Trois nouveaux modes de jeux furent ajoutés : <em>Mayhem</em>, <em>Keepaway</em> et <em>Survival</em>. D’autres modes de jeux déjà existants ont reçu beaucoup de soin. La campagne solo a reçu un gros travail de refonte ! De nouvelles fonctionnalités de bannissement et de modération furent ajoutées, en particulier la capacité d’ignorer les paroles d’un autre joueur. De nombreux effets visuels ont été retravaillés, et les annonces sont désormais placées dans une queue pour éviter que deux annonces soient exprimées simultanément. En continuation de la version 0.8.5, la compatibilité avec les cartes de Quake III Arena a été améliorée.</p>
<p>Autour de la version 0.8.5 et la version 0.8.6 le développement du moteur de jeu DarkPlaces a reçu de nombreuses contributions, rendant moins nécessaire la migration précédemment planifiée vers le moteur Dæmon (le moteur du jeu Unvanquished). Xonotic se recentre donc sur DarkPlaces !</p>
<p>Du côté de l’éditeur de niveau NetRadiant, l’expérience d’édition et l’intégration du jeu Xonotic fut améliorée.</p>
<h2 id="toc-netradiant-revenu-dentre-les-morts">NetRadiant, revenu d’entre les morts</h2>
<p>Si Xonotic est un Phœnix, que dire de NetRadiant, l’éditeur de niveau des jeux comme Xonotic, Smokin' Guns ou Unvanquished ? NetRadiant est un très ancien projet à l’histoire très compliquée, <em>fork</em> communautaire de GtkRadiant, lui-même libération de Q3Radiant par id Software, aussi connu sous le nom de QERadiant, héritant son nom de QuakeEd, l’éditeur de niveau pour Quake interne à id Software… qui tournait sous NextStep. De NextSTEP à GTK en passant par les MFC de Windows, déjà on se dit que le code en a vu et pas que des belles. Mais si je commence à parler des <em>forks</em>… en fait non, <a href="https://github.com/illwieckz/compare-radiant/blob/master/docs/known-radiant-list.md">ne parlons pas des <em>forks</em></a>, encore un <a href="//linuxfr.org/news/batir-une-communaute-comme-un-service">logiciel conçu pour être <em>forké</em>, ça alors…</a></p>
<p>L’éditeur NetRadiant était <strong>LE</strong> projet communautaire à l’époque de Nexuiz : l’éditeur de choix pour Nexuiz bien entendu, mais aussi pour Tremulous, Warsow, et autres jeux héritant du code d’id Software (générations Quake 1 à 3 et Doom 3). Bien qu’utilisé par les mappeurs de Nexuiz, il n’était pas officiellement maintenu par Nexuiz. Lorsque le projet Xonotic a repris et continué le développement du jeu Nexuiz sous le nom Xonotic, il fallait bien un éditeur et le projet Xonotic a adopté NetRadiant. Mais le développement de l’éditeur était vraiment secondaire, et avait beaucoup ralenti. Sous l’impulsion du projet Unvanquished, le développement a reçu un sérieux gain d’activité !</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/xonotic/xonotic-2023/20231108-112218-000.netradiant-xonotic-opium.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f786f6e6f7469632f786f6e6f7469632d323032332f32303233313130382d3131323231382d3030302e6e657472616469616e742d786f6e6f7469632d6f7069756d2e3732302e706e67/20231108-112218-000.netradiant-xonotic-opium.720.png" alt="xonotic 2023" title="Source : https://dl.illwieckz.net/b/linuxfr.org/xonotic/xonotic-2023/20231108-112218-000.netradiant-xonotic-opium.720.png"></a><br><br>
<em>NetRadiant éditant la carte Opium de Xonotic.</em></p>
<p>NetRadiant est désormais fonctionnel non-seulement sous Windows et Linux mais aussi sous macOS et ce sans XQuartz, ce qui requiert des bidouilles très <em>sales</em> mais qui fonctionnent.</p>
<p>Un peu plus tard après la reprise du développement, un fork a fait surface, <em>NetRadiant-Custom</em>, basé sur une version ancienne de NetRadiant, et difficile à fusionner : le projet NRC était non seulement basé sur une ancienne version déjà incompatible, mais le développement s’est fait pendant des années sans VCS, et l’historique plus ou moins reconstruit est un enfer à fusionner. Certains changements du fork NetRadiant-Custom ont été fusionnés récemment, mais il faudra penser à de nouvelles façons d’opérer cette fusion car actuellement la masse de travail est plus élevée que ce que la main d’œuvre peut encaisser.</p>
<h2 id="toc-merci-s2tc-pour-le-service-rendu">Merci S2TC pour le service rendu</h2>
<p>L’impact de certains projets libres sur le monde est parfois plus grand qu’il n’y parait. Saviez-vous que la police <em><a href="https://sev.dev/fonts/xolonium/">Xolonium</a></em>, créée tout spécialement pour Xonotic par <em>sev</em> (un développeur de longue date de Xonotic), est utilisé par Asus pour la sérigraphie de certains de ses claviers de sa gamme ROG (Republic of Gamers) ? Mais ce n’est pas de cela que l’on va parler.</p>
<p>Les plus jeunes l’ignoreront peut-être, les plus vieux l’auront oublié, mais la quasi-totalité des jeux étaient injouables sous Linux sans se soumettre à certains brevets. Les brevets logiciels en cause ? Ceux utilisés dans l’algorithme de compression de texture S3TC. S3TC est un algorithme de compression très ancien (ça existe depuis au moins OpenGL 1.3 et DirectX 6) tellement utilisé que même s’il n’a jamais fait partie du tronc d’une version d’OpenGL, un pilote qui implémenterait complètement le standard mais qui n’implémenterait pas cette extension serait perçu comme incomplet.</p>
<p>Le grand avantage des textures S3TC (<em>S3 Textures Compression</em>) c’est qu’elles sont non-seulement compressées sur les supports de stockages (CD, disque dur…) avec le gain de place en stockage ou de temps de téléchargement du jeu si le jeu est téléchargeable, mais ces textures sont également envoyées compressées à la carte graphique (gain de temps au chargement du jeu !), et mieux encore, elles sont conservées compressées dans la mémoire de la carte graphique et les calculs se font directement à partir des textures compressées à l’intérieur de la carte graphique ! Ça signifie un gain de place en mémoire graphique et donc la capacité d’utiliser de hautes résolutions avec un coût en mémoire mesuré. Ça explique pourquoi quasiment tous les jeux utilisent ce genre de technique. Un conteneur populaire pour ces images sont les fichiers <code>.dds</code>, DDS pour <em>DirectDraw Surface</em>.</p>
<p>Mais voilà, les brevets logiciels ne sont pas illégaux partout, et il était donc impossible d’implémenter S3TC dans Mesa, la collection de pilotes libres de carte graphique utilisés sous Linux.</p>
<p>Il <a href="https://www.phoronix.com/news/OTE1OA">existait une bibliothèque</a> tierce qui prenait en charge S3TC et que les pilotes Mesa savaient utiliser <em>si par un heureux hasard elle se trouvait installée à côté</em>, mais ça ne résolvait toujours pas le problème de la distribution et donc elle n’était pas installée par votre distribution, c’était <em>à vous</em> de vous la procurer <em>où vous savez</em>.</p>
<p>Xonotic faisant un usage intensif de ces textures S3TC, mais Xonotic étant un jeu libre, entièrement libre, requérir un pilote non-libre (comme les pilotes Nvidia ou fglrx d’ATI à l’époque) ou nécessiter que les joueurs bricolent leur système, ça n’était pas satisfaisant et c’était très gênant au quotidien. Deux développeurs de Xonotic, Maik Merten et Rudolf Polzer (divVerent) se sont mis en tête d’implémenter une fonctionnalité similaire et compatible, mais en évitant de mettre les pieds dans ces brevets !</p>
<p>Et <a href="https://www.phoronix.com/review/s2tc_s3tc_fix">ils y ont réussi</a>, le logiciel s’appelait <a href="https://github.com/divVerent/s2tc">S2TC</a> (<em>Super Simple Texture Compression</em>). <a href="https://lists.freedesktop.org/archives/mesa-dev/2011-August/010039.html">S2TC est arrivé</a> en 2011. Le logiciel fournissait une bibliothèque capable de lire des fichiers S3TC de manière suffisante pour que ça ressemble au résultat attendu, ainsi qu’un convertisseur d’image capable de compresser des images de manière à ce qu’elles soient lisibles par la fonctionnalité S3TC des pilotes et cartes graphiques, quand bien même la qualité ne serait pas aussi bonne, mais suffisante. Les plus taquins parmi les plus anciens pourront rétorquer avec malice que de toute façon, ça ne pouvait pas être pire que ce que ce que produisait le bug matériel des GeForce de chez Nvidia <a href="https://www.hardware.fr/news/2641/geforce-dxt1-bug-hardware.html">qui réduisait à 16-bits</a> la précision des images DXT1 32-bits.</p>
<p>Sur le plan technique, comparé à S3TC l’implémentation S2TC avait des avantages et des inconvénients. Par exemple il n’y avait pas d’interpolation entre les couleurs, donc le résultat était moins léché, mais puisque l’implémentation était plus simple, elle était aussi plus performante. Mais la victoire incontestable est qu’il était désormais possible de produire des images compatibles S3TC avec un logiciel libre et sans brevet, et qu’il était possible de lire des images S3TC avec un logiciel libre et sans brevet ! C’était il y a 11 ans déjà et <em>antistress</em> nous en avait parlé <a href="//linuxfr.org/news/s2tc-fait-la-pige-a-s3-pour-la-gestion-libre-des-textures">dans une dépêche</a>.</p>
<p>En 2012 Valve (l’éditeur de Steam et opérateur du marché éponyme) avait fait pression sur Ubuntu pour distribuer S2TC, car ils en avaient besoin pour étendre sous Linux leur marché de jeu vidéo ! Les autres distributions avaient suivi.</p>
<p>On mesure parfois assez peu comment certaines personnes et certains projets peuvent changer la face du monde de manière aussi profonde. Si vous avez joué à un jeu acquis sur Steam ces dix dernières années, vous pouvez remercier Xonotic d’avoir participé à rendre cela possible. En produisant S2TC le projet Xonotic a fait gagner 6 ans aux joueurs sous Linux, y compris à tous ceux qui n’ont jamais joué à Xonotic mais ont joué à certains des milliers d’autres jeux sur le marché. C’est considérable. Sans S2TC, la viabilité de Steam sous Linux aurait été très différente et aurait probablement dû attendre 2017 au lieu de 2013 pour être utilisable <em>au déballage</em> dans nos distributions favorites.</p>
<p>En 2017, les derniers brevets sur S3TC ont expiré. Mesa intègre désormais une implémentation complète de S3TC et l’implémentation S2TC n’est plus nécessaire dans les pilotes.</p>
<p>Pour son outil de compression pour produire ses images DDS, le projet Xonotic est passé de l’outil <code>s2tc</code> à <a href="https://github.com/DaemonEngine/crunch">Crunch</a>, qui produit des images compressées de meilleure qualité. La chaine de production utilise la branche maintenue par le projet Unvanquished pour le moteur de jeu Dæmon, cette branche intègre les améliorations réalisées par les développeurs du moteur de jeu (propriétaire) Unity. Crunch est un logiciel libre (<a href="https://github.com/DaemonEngine/crunch/blob/master/license.txt">license Zlib</a>).</p>
<p>Au revoir donc, et merci à toi S2TC pour ce temps passé à rendre possible tant de parties de jeu vidéo pendant tant d’année, et merci à toi S2TC d’avoir rendu possible de produire des images compatibles S3TC pendant tant d’années.</p>
<p>Et merci au projet Xonotic et à ses développeurs Rudolf Polzer et Maik Merten d’avoir réalisé tout cela !</p>
<h2 id="toc-xonotic-enfin-dans-la-wikipédia-francophone">Xonotic enfin dans la Wikipédia francophone</h2>
<p>En janvier dernier, les lecteurs assidus auront repéré dans <a href="//linuxfr.org/journaux">les journaux</a> un bien curieux article intitulé <em><a href="//linuxfr.org/users/err404/journaux/si-on-ne-fait-rien-xonotic-va-disparaitre-de-wikipedia-fr">si on ne fait rien, Xonotic va disparaitre de Wikipedia FR</a></em>.</p>
<p>Il se trouve que la page Xonotic dans la Wikipedia francophone avait déjà été <a href="https://web.archive.org/web/20150921115202/https://fr.wikipedia.org/wiki/Xonotic">supprimée deux fois</a>, le 4 mai 2010, et le 5 juillet 2015. Il semble que la première suppression avait été faite sans discussion et avec pour motif invoqué « Critères d’admissibilité non atteints », et la seconde suppression avait fait l’objet d’un débat avec des arguments de type « peu de source notable » ou encore « pas d’intérêt encyclopédique ». La troisième tentative de suppression fut initiée le 25 janvier 2023 avec pour simple argument que la page avait déjà été supprimée avant. Ce ne fut d’ailleurs pas le seul argument où la suppression pouvait motiver la suppression : la suppression précédente de la page Xonotic ayant entrainé le détournement de la page Nexuiz pour y rédiger les informations au sujet de Xonotic, le constat que la page Xonotic n’apportait donc rien de plus que ce que la page Nexuiz rapportait de Xonotic aurait pu servir à supprimer la page Xonotic…</p>
<p>Cela a suscité divers débats dans les commentaires sur LinuxFr, par exemple sur le fait qu’il est plus facile de supprimer un article au prétexte qu’il ne référence pas encore assez de sources plutôt que de référencer ces mêmes sources, ou encore qu’un partisan de la suppression peut lancer un vote de suppression et attendre simplement que personne ne réponde, avec le déséquilibre que les acteurs de la suppression soient potentiellement les seuls à être au courant de l’enjeu. Les discussions ont aussi porté sur le désintéressement des membres de la communauté des utilisateurs de logiciels libres à la rédaction sur Wikipédia, ce qui semble inattendu et contradictoire étant donné que Wikipédia est une œuvre libre et le logiciel de Wikipédia, un logiciel libre. Certaines personnes ont relevé <a href="//linuxfr.org/users/err404/journaux/si-on-ne-fait-rien-xonotic-va-disparaitre-de-wikipedia-fr#comment-1913667">des problèmes spécifiques</a> à la communauté Wikipédia francophone, <a href="//linuxfr.org/users/err404/journaux/si-on-ne-fait-rien-xonotic-va-disparaitre-de-wikipedia-fr#comment-1913780">recommandé de préférer l’anglais</a> ou rapporté <a href="//linuxfr.org/users/err404/journaux/si-on-ne-fait-rien-xonotic-va-disparaitre-de-wikipedia-fr#comment-1913478">ne plus contribuer qu’aux pages anglophones</a> en conséquence, ce qui conduit à considérer l’encyclopédie Wikipédia francophone <a href="//linuxfr.org/users/err404/journaux/si-on-ne-fait-rien-xonotic-va-disparaitre-de-wikipedia-fr#comment-1913760">comme moins fiable</a>, ayant plus confiance dans la version anglaise passée au filtre d’un traducteur et de l’intelligence artificielle que dans la version francophone.</p>
<p>La page Xonotic a finalement été conservée, peut-être en partie grâce aux sources recherchées et référencées pendant des années, mais surtout parce que cette fois-ci aucun vote en faveur de la suppression n’a été enregistré, alors que le précédent vote n’avait enregistré que des votes en faveur de la suppression, ce qui ressemble plus à un rapport de force au tir à la corde qu’au fruit d’un travail intellectuel. Il aura fallu 11 ans entre la perte du nom Nexuiz et la capacité à avoir une page sur la Wikipédia Francophone pour le nouveau nom Xonotic. C’est comme si seule la notoriété de la <em>marque</em> n’avait pu compter pendant ces 11 années. Mais tout est bien qui finit bien !</p>
<h2 id="toc-xonotic-comme-outil-de-travail">Xonotic comme outil de travail ?</h2>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/xonotic/xonotic-2023/20231116-094245-000.xonotic-xdwc.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f786f6e6f7469632f786f6e6f7469632d323032332f32303233313131362d3039343234352d3030302e786f6e6f7469632d786477632e3732302e6a7067/20231116-094245-000.xonotic-xdwc.720.jpg" alt="xonotic 2023" title="Source : https://dl.illwieckz.net/b/linuxfr.org/xonotic/xonotic-2023/20231116-094245-000.xonotic-xdwc.720.jpg"></a><br><br>
<em>Mais si, je t’assure que je travaille, là… Mode « CTS » (complete the stage) lors de l’<a href="https://xdwc.xdf.gg/xdwc2023/">édition 2023 de la Xonotic Defrag World Championship</a>.</em></p>
<p>Si l’intérêt encyclopédique de Xonotic a été remis en cause, son intérêt académique a toujours été pleinement considéré et apprécié. En tant que logiciel libre, Xonotic permet entre autres l’étude, l’extension et le prototypage, ce qui permet de l’intégrer très facilement à un autre travail. Xonotic sert régulièrement de support de recherche ou comme environnement de projet de recherche. Le jeu est cité dans de nombreux papiers, traitant de sujets pas toujours informatiques (exemple : reconnaissance d’émotion, étude de réponse physiologique…), mais aussi de manière plus attendue comme banc d’essai d’étude de prédiction réseau, de techniques de rendu ou de traitement graphiques, de consommation énergétique ou de virtualisation.</p>
<p>De nombreuses références sont désormais citées dans la page <a href="https://fr.wikipedia.org/wiki/Xonotic">Wikipédia francophone au sujet de Xonotic</a>, et puisque cette page existe désormais, profitons-en et laissons-lui la charge d’aiguiller le lecteur vers ces articles. L’article Xonotic en français sur Wikipédia est désormais l’article le plus étoffé et le plus sourcé sur ce sujet comparé à toutes les autres langues, alors autant qu’il serve !</p>
<p>Et si vous êtes vous-même chercheur et que vous avez travaillé avec Xonotic, n’hésitez pas à partager votre expérience et à référencer votre travail ! Et si vous cherchez un jeu pour implémenter vos expérimentations, vous savez que des jeux libres comme Xonotic, Unvanquished et d’autres sont de parfaits candidats !</p>
<h2 id="toc-jouer-à-xonotic">Jouer à Xonotic !</h2>
<p>En attendant d’autres nouvelles, que ce soit de Xonotic, ou d’un autre jeu, on peut <a href="https://xonotic.org/download/">télécharger Xonotic</a> et y jouer !</p>
</div><div><a href="https://linuxfr.org/news/des-nouvelles-de-xonotic.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/133672/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/des-nouvelles-de-xonotic#comments">ouvrir dans le navigateur</a>
</p>
Thomas Debesse
BAud
bobble bubble
Nicolas Casanova
ted
Benoît Sibaud
Ysabeau 🧶 🧦
GG
https://linuxfr.org/nodes/133672/comments.atom
tag:linuxfr.org,2005:News/41750
2023-11-09T09:55:40+01:00
2023-11-09T11:35:07+01:00
Entretien Bruno Steux à propos de cc2600 et cc7800
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>Bruno Steux développe des <a href="https://github.com/steux">compilateurs</a> pour créer des jeux pour les consoles <a href="https://fr.wikipedia.org/wiki/Atari_2600">Atari 2600</a> et <a href="https://fr.wikipedia.org/wiki/Atari_7800">Atari 7800</a>, cet entretien revient sur son parcours et les raisons qui l’ont amené à s’intéresser à cette console.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f642f64632f417461726932363030612e4a50472f36343070782d417461726932363030612e4a5047/640px-Atari2600a.JPG" alt="Atari 2600" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/d/dc/Atari2600a.JPG/640px-Atari2600a.JPG"></p>
</div><ul><li>lien nᵒ 1 : <a title="https://github.com/steux/cc2600" hreflang="en" href="https://linuxfr.org/redirect/112933">cc2600</a></li><li>lien nᵒ 2 : <a title="https://github.com/steux/cc7800" hreflang="en" href="https://linuxfr.org/redirect/112934">cc7800</a></li><li>lien nᵒ 3 : <a title="https://www.grospixels.com/site/vcs.php" hreflang="fr" href="https://linuxfr.org/redirect/112935">Le dossier de grospixels sur l'Atari 2600</a></li><li>lien nᵒ 4 : <a title="http://www.atarimania.com/" hreflang="en" href="https://linuxfr.org/redirect/112936">atarimania</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li>
<a href="#toc-partie-1--pr%C3%A9sentation">Partie 1 : Présentation</a><ul>
<li><a href="#toc-qui-%C3%AAtes-vous-quel-est-votre-parcours-et-est-il-li%C3%A9-aux-jeux-vid%C3%A9os">Qui êtes-vous, quel est votre parcours et est-il lié aux jeux vidéos?</a></li>
<li><a href="#toc-comment-en-%C3%AAtes-vous-venu-%C3%A0-vous-int%C3%A9resser-aux-consoles-atari">Comment en êtes-vous venu à vous intéresser aux consoles Atari ?</a></li>
<li><a href="#toc-est-ce-que-vous-participez-vous-m%C3%AAme-%C3%A0-la-cr%C3%A9ation-de-jeux">Est-ce que vous participez vous-même à la création de jeux ?</a></li>
</ul>
</li>
<li>
<a href="#toc-partie-2-latari-2600">Partie 2: L’Atari 2600</a><ul>
<li><a href="#toc-quest-ce-que-cette-console-a-de-particulier">Qu’est-ce que cette console a de particulier ?</a></li>
<li><a href="#toc-comment-fonctionne-le-processeur-graphique-et-sonore-television-interface-adaptor">Comment fonctionne le processeur graphique et sonore (Television Interface Adaptor) ?</a></li>
<li><a href="#toc-latari-2600-a-connu-plusieurs-versions-vcs-cx2600-2800-2600-jr-2600-les-avez-vous-test%C3%A9s">L’Atari 2600 a connu plusieurs versions (VCS, CX2600, 2800, 2600 Jr, 2600+…) ? Les avez-vous testés ?</a></li>
<li><a href="#toc-quelle-est-votre-manette-pr%C3%A9f%C3%A9r%C3%A9e">Quelle est votre manette préférée ?</a></li>
<li><a href="#toc-les-%C3%A9mulateurs-atari-2600-sont-ils-bons">Les émulateurs Atari 2600 sont-ils bons ?</a></li>
<li><a href="#toc-quels-sont-vos-jeux-commerciaux-pr%C3%A9f%C3%A9r%C3%A9s-sur-cette-console">Quels sont vos jeux commerciaux préférés sur cette console ?</a></li>
<li><a href="#toc-quels-sont-vos-jeux-homebrew-pr%C3%A9f%C3%A9r%C3%A9s-sur-cette-console">Quels sont vos jeux « homebrew » préférés sur cette console ?</a></li>
</ul>
</li>
<li>
<a href="#toc-partie-3-latari-7800">Partie 3 L’Atari 7800</a><ul>
<li><a href="#toc-quest-ce-que-cette-console-a-de-particulier-1">Qu’est-ce que cette console a de particulier ?</a></li>
<li><a href="#toc-est-elle-juste-une-atari-2600-boost%C3%A9e">Est-elle juste une Atari 2600 boostée ?</a></li>
<li><a href="#toc-comment-fonctionne-le-processeur-graphique-maria">Comment fonctionne le processeur graphique (MARIA) ?</a></li>
<li><a href="#toc-les-%C3%A9mulateurs-atari7800-sont-ils-bons">Les émulateurs Atari 7800 sont-ils bons ?</a></li>
<li><a href="#toc-quels-sont-vos-jeux-commerciaux-pr%C3%A9f%C3%A9r%C3%A9s-sur-cette-console-1">Quels sont vos jeux commerciaux préférés sur cette console ?</a></li>
<li><a href="#toc-quels-sont-vos-jeux-homebrew-pr%C3%A9f%C3%A9r%C3%A9s-sur-cette-console-1">Quels sont vos jeux « homebrew » préférés sur cette console ?</a></li>
</ul>
</li>
<li>
<a href="#toc-partie-4--cc2600-et-cc7800">Partie 4 : cc2600 et cc7800</a><ul>
<li><a href="#toc-pourquoi-cr%C3%A9er-des-compilateurs-aujourdhui-pour-de-si-vieux-syst%C3%A8me-pourquoi-le-c">Pourquoi créer des compilateurs aujourd’hui pour de si vieux système ? Pourquoi le C ?</a></li>
<li><a href="#toc-quels-ont-%C3%A9t%C3%A9-les-difficult%C3%A9s-pour-cr%C3%A9er-cc2600-et-cc7800">Quels ont été les difficultés pour créer cc2600 et cc7800 ?</a></li>
<li><a href="#toc-quels-conseils-donneriez-vous-%C3%A0-quelquun-qui-veut-se-lancer-dans-le-d%C3%A9veloppement-de-jeux-avec-ces-compilateurs">Quels conseils donneriez-vous à quelqu’un qui veut se lancer dans le développement de jeux avec ces compilateurs ?</a></li>
<li><a href="#toc-quels-sont-les-outils-pour-cr%C3%A9erpr%C3%A9parer-des-graphismes-musiques-et-sons-pour-ces-consoles">Quels sont les outils pour créer/préparer des graphismes, musiques et sons pour ces consoles ?</a></li>
<li><a href="#toc-est-il-possible-de-cr%C3%A9er-ses-propres-cartouches">Est-il possible de créer ses propres cartouches ?</a></li>
<li><a href="#toc-comment-saccommoder-des-faibles-ressources-peu-de-ram-cpu-sans-virgule-flottante">Comment s’accommoder des faibles ressources (peu de RAM, CPU sans virgule flottante…) ?</a></li>
</ul>
</li>
<li>
<a href="#toc-partie-5-pour-finir">Partie 5: Pour finir</a><ul>
<li><a href="#toc-vous-aimeriez-vivre-du-d%C3%A9veloppement-de-vos-logiciels-libres">Vous aimeriez vivre du développement de vos logiciels libres?</a></li>
<li><a href="#toc-au-niveau-personnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ?</a></li>
<li><a href="#toc-au-niveau-professionnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau professionnel, quels logiciels libres utilisez-vous, sur quel OS ?</a></li>
<li><a href="#toc-quelle-est-votre-distribution-gnulinux-pr%C3%A9f%C3%A9r%C3%A9e-et-pourquoi-quels-sont-vos-logiciels-libres-pr%C3%A9f%C3%A9r%C3%A9s">Quelle est votre distribution GNU/Linux préférée et pourquoi, quels sont vos logiciels libres préférés ?</a></li>
<li><a href="#toc-quelle-question-auriez-vous-ador%C3%A9-quon-vous-pose">Quelle question auriez-vous adoré qu’on vous pose ?</a></li>
<li><a href="#toc-quelle-question-auriez-vous-d%C3%A9test%C3%A9-quon-vous-pose">Quelle question auriez-vous détesté qu’on vous pose ?</a></li>
</ul>
</li>
</ul>
<h2 id="toc-partie-1--présentation">Partie 1 : Présentation</h2>
<h3 id="toc-qui-êtes-vous-quel-est-votre-parcours-et-est-il-lié-aux-jeux-vidéos">Qui êtes-vous, quel est votre parcours et est-il lié aux jeux vidéos?</h3>
<p>Je suis Bruno Steux, 50 ans. Je travaille comme ingénieur dans la défense et je ne suis pas vraiment gamer. J’ai débuté l’informatique très tôt sur un TI 99/4A, puis j’ai enchaîné sur C64 puis Atari ST. J’ai passé mon adolescence pendant l’âge d’or du jeu d’arcade : des milliards d’heures sur Commando, Bomb Jack, Green Beret… C’est une période dont je suis resté très nostalgique. Aujourd’hui, je joue très rarement, sauf à Dr. Mario avec ma femme (on se fait des duels infernaux), et un peu avec mes Atari avec mon fils de 9 ans.</p>
<h3 id="toc-comment-en-êtes-vous-venu-à-vous-intéresser-aux-consoles-atari">Comment en êtes-vous venu à vous intéresser aux consoles Atari ?</h3>
<p>J’ai appris l’assembleur du 6502 sur mon C64 étant jeune et ai gardé un souvenir impérissable des deux pages sur l’Atari 2600 dans le numéro spécial de l’ordinateur individuel de décembre 1982. C’était une console très chère à l’époque et je rêvais d’en avoir une. L’année dernière, j’ai lu le livre « Racing the beam » et ai commandé ma première console sur eBay, une pauvre 2600 SECAM bien pourrie. J’ai ensuite découvert l’univers <a href="https://atariage.com/">d’AtariAge</a> et je me suis retrouvé scotché.</p>
<h3 id="toc-est-ce-que-vous-participez-vous-même-à-la-création-de-jeux">Est-ce que vous participez vous-même à la création de jeux ?</h3>
<p>Pas vraiment, mais c’est dans les cartons. J’ai écrit un premier jeu disponible gratuitement pour Atari 2600 : <a href="https://github.com/steux/happybird">Paul’s Happybird</a> (Paul est le prénom de mon fils de 9 ans) et un deuxième fini mais pas encore diffusé (Armor Ambush Reloaded). Pas eu le temps de faire l’annonce sur AtariAge… Une fois les projets cc2600 et cc7800 complètement terminés, je compte me mettre à la réalisation de jeux complets plus ambitieux.</p>
<h2 id="toc-partie-2-latari-2600">Partie 2: L’Atari 2600</h2>
<h3 id="toc-quest-ce-que-cette-console-a-de-particulier">Qu’est-ce que cette console a de particulier ?</h3>
<p>Pour moi 3 éléments uniques: son design - elle reste la plus belle console de tous les temps, avec ses switchs en métal et sa façade de faux bois, sa communauté active sur AtariAge, et son modèle de programmation tellement unique et plein de challenges.</p>
<h3 id="toc-comment-fonctionne-le-processeur-graphique-et-sonore-television-interface-adaptor">Comment fonctionne le processeur graphique et sonore (Television Interface Adaptor) ?</h3>
<p>Ah, le TIA. Un processeur graphique de machine à Pong, franchement pas vraiment bien conçu même pour l’époque. 5 sprites (2 joueurs, la balle, et deux missiles) et un background de 40 pixels de résolution, et un paquet de registres à modifier à la volée à chaque ligne à afficher pour faire autre chose qu’un Pong… Avec un processeur lent, mais lent… 76 cycles processeurs par ligne. Un vrai challenge qui motive les meilleurs programmeurs depuis plus de 40 ans…</p>
<h3 id="toc-latari-2600-a-connu-plusieurs-versions-vcs-cx2600-2800-2600-jr-2600-les-avez-vous-testés">L’Atari 2600 a connu plusieurs versions (VCS, CX2600, 2800, 2600 Jr, 2600+…) ? Les avez-vous testés ?</h3>
<p>Je suis l’heureux propriétaire d’une Darth Vader Secam, une Darth Vader PAL et une magnifique light six PAL fabriquée à Sunnyvale, sortie de grange anglaise et donnée comme morte, mais qui après nettoyage s’est révélée parfaitement vivante. La 2600 Jr ? Trop laide. Je pense acheter l’Atari 2600+, ne serait-ce que pour vérifier que les jeux que je développe tournent bien dessus (surtout en mode 7800).</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f372f37342f41746172692d323630302d466f75722d5377697463682d426c61636b2d436f6e736f6c652d30312e6a70672f36343070782d41746172692d323630302d466f75722d5377697463682d426c61636b2d436f6e736f6c652d30312e6a7067/640px-Atari-2600-Four-Switch-Black-Console-01.jpg" alt="Atari 2600 noire" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/7/74/Atari-2600-Four-Switch-Black-Console-01.jpg/640px-Atari-2600-Four-Switch-Black-Console-01.jpg"></p>
<h3 id="toc-quelle-est-votre-manette-préférée">Quelle est votre manette préférée ?</h3>
<p>La manette d’origine de l’Atari 2600 est inimitable. Elle a une très mauvaise prise en main, un seul bouton, mais elle est tellement belle. De loin ma manette préférée, iconique. La manette de l’Atari 7800 est la pire jamais vue. Elle fait très mal très vite. Heureusement, on peut facilement utiliser des manettes de MegaDrive grâce un petit adaptateur facile à souder…</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f6769746c61622e636f6d2f646176656e6577746f6e2f6c696e757866722d6465766e6577746f6e2f2d2f7261772f6d61696e2f64657065636865732f323032332f656e7472657469656e2d617665632d6272756e6f2d73746575782d612d70726f706f732d64652d6363323630302d65742d6363373830302f61746172692d323630302d636f6d6d65726369616c2d7061726b65722d62726f74686572732e6a7067/atari-2600-commercial-parker-brothers.jpg" alt="Patrick secoue son stick" title="Source : https://gitlab.com/davenewton/linuxfr-devnewton/-/raw/main/depeches/2023/entretien-avec-bruno-steux-a-propos-de-cc2600-et-cc7800/atari-2600-commercial-parker-brothers.jpg"></p>
<p><em>NDM : oui c’est bien Patrick Bruel à la manette dans une <a href="http://www.atarimania.com/videos/atari-2600-commercial-parker-brothers.mp4">publicité</a> avec des captures vidéos pas du tout truquées</em>.</p>
<h3 id="toc-les-émulateurs-atari-2600-sont-ils-bons">Les émulateurs Atari 2600 sont-ils bons ?</h3>
<p>J’utilise <a href="https://stella-emu.github.io/">Stella</a>. Il est plus que bon: il est excellent. Il émule même le code ARM pour les cartouches à processeur additionnel, ou encore <a href="https://www.atari7800forever.com/autovox.html">l’AtariVox</a> pour la synthèse vocale… Même la connexion Wifi de la <a href="https://github.com/Al-Nafuur/United-Carts-of-Atari">PlusCart</a> est émulée… Le débugger intégré est tout à fait complet.</p>
<h3 id="toc-quels-sont-vos-jeux-commerciaux-préférés-sur-cette-console">Quels sont vos jeux commerciaux préférés sur cette console ?</h3>
<p>Moon Patrol, Q*Bert et Ms. Pacman sont les jeux auxquels j’ai le plus joué. Ils sont très bons, même pour 2023. Space Invaders ou encore Circus Atari (avec les paddles!) sont excellents aussi.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f652f65642f51253241626572745f696e5f436f6d7075746572737069656c656d757365756d5f4265726c696e2e6a70672f36343070782d51253241626572745f696e5f436f6d7075746572737069656c656d757365756d5f4265726c696e2e6a70673f7573656c616e673d6672/640px-Q%2Abert_in_Computerspielemuseum_Berlin.jpg?uselang=fr" alt="Q-Bert" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/e/ed/Q%2Abert_in_Computerspielemuseum_Berlin.jpg/640px-Q%2Abert_in_Computerspielemuseum_Berlin.jpg?uselang=fr"></p>
<h3 id="toc-quels-sont-vos-jeux-homebrew-préférés-sur-cette-console">Quels sont vos jeux « homebrew » préférés sur cette console ?</h3>
<p>Lode Runner et Boulder Dash. Le premier est incroyable, même si le code tourne sur un ARM dans la cartouche (il faut quand même passer par le TIA pour l’affichage…). Le second n’utilise même pas d’ARM et est une incroyable réussite technique. J’ai acheté les deux cartouches sur AtariAge. Amoeba Jump est un petit jeu gratuit génial si vous ne connaissez pas.</p>
<h2 id="toc-partie-3-latari-7800">Partie 3 L’Atari 7800</h2>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f652f65312f41746172692d373830302d77436f6e74726f6c2d5061642d4c2e6a70672f36343070782d41746172692d373830302d77436f6e74726f6c2d5061642d4c2e6a7067/640px-Atari-7800-wControl-Pad-L.jpg" alt="Atari 7800" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/Atari-7800-wControl-Pad-L.jpg/640px-Atari-7800-wControl-Pad-L.jpg"></p>
<h3 id="toc-quest-ce-que-cette-console-a-de-particulier-1">Qu’est-ce que cette console a de particulier ?</h3>
<p>Outre son chip Maria excellent, il se trouve que c’est une console qui est complètement compatible Atari 2600 ET qui a une sortie <a href="https://fr.wikipedia.org/wiki/P%C3%A9ritel">Peritel</a> pour la version française. Elle est donc, contrairement à ses aïeules, très simple à brancher sur un téléviseur moderne…</p>
<h3 id="toc-est-elle-juste-une-atari-2600-boostée">Est-elle juste une Atari 2600 boostée ?</h3>
<p>C’est vraiment la descendante de la 2600, car elle est 100% compatible : elle utilise un 6502 et le TIA. Le format de cartouche est compatible aussi (8 broches en plus sur les côtés pour les cartouches de 7800). Mais la présence de Maria n’en fait pas qu’une 2600 boostée. On passe d’une console Pong à un équivalent NES ou Sega Master Systems, sensiblement supérieure à un C64 par exemple.</p>
<h3 id="toc-comment-fonctionne-le-processeur-graphique-maria">Comment fonctionne le processeur graphique (MARIA) ?</h3>
<p>Ce composant très simple et très low cost a été conçu par GCC (General Computer Corporation), les concepteurs du jeu d’arcade Ms. Pacman. C’est une puce très flexible dont l’architecture se rapproche de celle des jeux d’arcade de l’époque. Pas de notion de sprite ou de background, juste des listes d’objets à transférer par DMA (Direct Memory Access). On a donc une machine capable d’afficher des bitmaps ou des sprites sans limite de nombre ou de taille autre que celle imposée par son petit bus mémoire 8 bits. Une puce vraiment géniale mais qui impose au programmeur un modèle de programmation exotique, d’autant que le mapping mémoire impose d’entrelacer code et graphiques (les deux lignes successives d’un « sprite » doivent être séparées de 256 octets en mémoire. Sic.). Le tout uniquement en assembleur, car le 6502 est allergique à tout langage de haut niveau. D’où une logithèque bien pauvre à la fin… Mais une machine excellente qui reste à exploiter en 2023 !</p>
<h3 id="toc-les-émulateurs-atari7800-sont-ils-bons">Les émulateurs Atari 7800 sont-ils bons ?</h3>
<p>Oui, <a href="https://github.com/7800-devtools/a7800">a7800</a> est excellent, parfaitement "cycle accurate" et doté d’un excellent debugger intégré pour les programmeurs.</p>
<h3 id="toc-quels-sont-vos-jeux-commerciaux-préférés-sur-cette-console-1">Quels sont vos jeux commerciaux préférés sur cette console ?</h3>
<p>Franchement? Je trouve les jeux commerciaux sur Atari 7800 globalement mauvais, voire indécents (Jinks, Aces of Aces). J’ai été très déçu par les adaptations d’Ikari Warriors et de Double Dragon, considérés pourtant comme des bons jeux sur Atari 7800. Commando est correct, mais sans plus par rapport à la version C64 à laquelle je jouais petit. Les jeux réalisés par GCC (les concepteurs de Maria) sont très corrects, mais il s’agit pour la plupart d’adaptations de jeux d’arcades assez simples (Dig Dug, Ms. Pacman).</p>
<h3 id="toc-quels-sont-vos-jeux-homebrew-préférés-sur-cette-console-1">Quels sont vos jeux « homebrew » préférés sur cette console ?</h3>
<p>Je n’ai joué à aucun jeu homebrew sur Atari 7800. C’est d’abord pour moi une plateforme de développement. J’ai vu sur Youtube l’adaptation de 1942 qui est vraiment très bonne, mais elle n’est pas diffusée sur cartouche. Rikki & Vikki a l’air aussi excellent, mais est aujourd’hui introuvable.</p>
<h2 id="toc-partie-4--cc2600-et-cc7800">Partie 4 : cc2600 et cc7800</h2>
<h3 id="toc-pourquoi-créer-des-compilateurs-aujourdhui-pour-de-si-vieux-système-pourquoi-le-c">Pourquoi créer des compilateurs aujourd’hui pour de si vieux système ? Pourquoi le C ?</h3>
<p>Pourquoi le C ? Parce que c’est le standard pour le développement système, a priori ce qu’il faut pour ce type de consoles. J’ai fait du C pendant 30 ans, donc naturellement quand j’ai découvert les Atari 2600 et 7800 et que j’ai vu que tout était programmé soit en assembleur, soit en basic, je me suis dit qu’il fallait faire quelque chose. Il existe bien déjà un paquet de compilateur C pour le 6502 dont l’excellent cc65, mais le 6502 est un processeur qui se prête très mal au langage C (nombre de registres très réduit et capacités d’indexation extrêmement limitées). Résultat: le code généré par cc65 est inutilisable (trop gros) sur les Atari. Sur la NES, pas de souci, ça passe, car le processeur graphique de la NES fait l’essentiel. Sur les Atari 2600 comme 7800, c’est le 6502 qui travaille et qui doit alimenter le TIA ou MARIA le plus vite possible. Le compilateur C doit donc générer un code proche d’un code assembleur écrit à la main, d’où cc2600 et cc7800. Ils ne sont pas aussi complets que cc65 mais génèrent le code assembleur 6502 qui convient pour les Atari.</p>
<h3 id="toc-quels-ont-été-les-difficultés-pour-créer-cc2600-et-cc7800">Quels ont été les difficultés pour créer cc2600 et cc7800 ?</h3>
<p>Je n’ai pas vraiment rencontré de difficulté pour être franc. J’ai programmé cc6502 (le code commun à cc2600 et cc7800) avec grand plaisir en Rust, en utilisant la librarie Pest pour gérer la grammaire du C. Ca a été un régal. J’ai écrit de nombreux tests unitaires (une facilité intégrée à Rust) pour éviter de me perdre dans les bugs. Au bout d’une semaine, j’avais un compilateur opérationnel, puis je l’ai amélioré au fur et à mesure du développement de mes jeux ou exemples sur Atari 2600 puis 7800. Je me suis surtout servi de ce projet personnel pour apprendre le Rust, et je crois que l’objectif est atteint.</p>
<h3 id="toc-quels-conseils-donneriez-vous-à-quelquun-qui-veut-se-lancer-dans-le-développement-de-jeux-avec-ces-compilateurs">Quels conseils donneriez-vous à quelqu’un qui veut se lancer dans le développement de jeux avec ces compilateurs ?</h3>
<p>Ces compilateurs peuvent faire gagner beaucoup de temps comparé à l’utilisation de l’assembleur, mais la spécificité des architectures des Atari 2600 et 7800 imposent d’abord de bien les maîtriser. On ne peut pas s’affranchir non plus d’apprendre l’assembleur du 6502, car cc6502 est un compilateur C incomplet orienté 6502 (il permet notamment d’utiliser directement les registres X et Y du 6502) et que tout débogage se fera en assembleur…</p>
<h3 id="toc-quels-sont-les-outils-pour-créerpréparer-des-graphismes-musiques-et-sons-pour-ces-consoles">Quels sont les outils pour créer/préparer des graphismes, musiques et sons pour ces consoles ?</h3>
<p>J’ai écrit également en Rust <a href="https://github.com/steux/tools7800">sprites7800 et tiles7800</a> qui génèrent le code C des graphismes à partir d’images PNG et d’une description en YAML des sprites et des tiles à générer. Pour la musique, il existe l’excellent RMTracker sur Atari 7800 qui permet de réaliser de belles musiques de fond pour le chip POKEY, et que j’ai intégré à cc7800. Pour les musiques à base de TIA (pour 2600 comme 7800), je fournis un exemple d’intégration d’un ensemble de sons réalisés par l’auteur de 7800Basic. Il existe aussi un TIA tracker, mais je ne l’ai pas encore intégré. J’essaie de développer au fur et à mesure de nouveaux « headers » pour cc2600 et cc7800 pour faciliter le travail des développeurs.</p>
<h3 id="toc-est-il-possible-de-créer-ses-propres-cartouches">Est-il possible de créer ses propres cartouches ?</h3>
<p>C’est très simple sur la 2600 comme sur la 7800. On trouve les schémas de PCBs tout fait sur internet avec les fichiers pour réaliser les cartouches en impression 3D. Il n’est pas très complexe non plus de réaliser des cartouches intégrant un micro-contrôleur type STM32F (en se basant par exemple sur le projet UnoCart), qui peut non seulement émuler l’EPROM mais exécuter du code spécifique (accélérateur matériel) ou encore assurer une connexion Wifi via un ESP32.</p>
<h3 id="toc-comment-saccommoder-des-faibles-ressources-peu-de-ram-cpu-sans-virgule-flottante">Comment s’accommoder des faibles ressources (peu de RAM, CPU sans virgule flottante…) ?</h3>
<p>Vous parlez des 128 octets de RAM à partager entre variables et pile sur l’Atari 2600 ? Ça fait partie du jeu ! Je trouve que finalement on s’en accommode facilement. Le plus contraignant est cette sacrée limitation de décalage bit par bit sur le 6502… Et l’absence de multiplieur matériel… Le plus souvent, on s’en tire en précalculant tout et en utilisant des tables, la taille de la ROM et donc du code étant comparativement très peu limitée.</p>
<h2 id="toc-partie-5-pour-finir">Partie 5: Pour finir</h2>
<h3 id="toc-vous-aimeriez-vivre-du-développement-de-vos-logiciels-libres">Vous aimeriez vivre du développement de vos logiciels libres?</h3>
<p>Idéalement oui, mais je ne vois pas vraiment comment pour être franc… Pour l’instant, ça m’a coûté beaucoup de temps et pas rapporté un kopek, mais sait-on jamais. La communauté Atari, aussi dynamique soit-elle, reste réduite. J’espère que l’Atari 2600+ sera un succès. Bien que bourrée de défauts, ça me paraît être la proposition la plus sérieuse depuis longtemps de relance d’une activité par Atari.</p>
<h3 id="toc-au-niveau-personnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ?</h3>
<p>Je développe tout sur mon PC sous Ubuntu 22.04. Je programme essentiellement en Rust en utilisant Neovim comme éditeur. J’utilise aussi GIMP pour tout ce qui est graphisme. Avec ces outils, je couvre 99% de mes besoins.</p>
<h3 id="toc-au-niveau-professionnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau professionnel, quels logiciels libres utilisez-vous, sur quel OS ?</h3>
<p>Pareil, au niveau professionel : développement en Rust sous Ubuntu 22.04. J’utilise Firefox comme navigateur. Pour la partie bureautique, j’ai un second PC professionnel sous Windows avec Word et compagnie. J’avoue avoir toujours du mal avec LibreOffice…</p>
<h3 id="toc-quelle-est-votre-distribution-gnulinux-préférée-et-pourquoi-quels-sont-vos-logiciels-libres-préférés">Quelle est votre distribution GNU/Linux préférée et pourquoi, quels sont vos logiciels libres préférés ?</h3>
<p>Je devrais répondre ArchLinux si j’étais un vrai un geek, mais franchement Ubuntu me satisfait pleinement. C’est simple et ça marche. Mes logiciels libres préférés ? Rust, LLVM, Vim et Neovim, GIMP. Et KiCad pour le design de circuits. J’utilise aussi parfois Blender et Audacity. Blender est particulièrement impressionnant comme projet open source.</p>
<h3 id="toc-quelle-question-auriez-vous-adoré-quon-vous-pose">Quelle question auriez-vous adoré qu’on vous pose ?</h3>
<p>Comment expliquez-vous les dizaines de milliers de <em>like</em> que vous obtenez pour chacune de vos publications sur AtariAge ? Humm, mon record de like est à 13. Ça porte bonheur non ?</p>
<h3 id="toc-quelle-question-auriez-vous-détesté-quon-vous-pose">Quelle question auriez-vous détesté qu’on vous pose ?</h3>
<p>Vous n’avez pas mieux à faire que de développer pour une plateforme complètement oubliée depuis plus de 30 ans ?</p>
</div><div><a href="https://linuxfr.org/news/entretien-bruno-steux-a-propos-de-cc2600-et-cc7800.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/133855/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/entretien-bruno-steux-a-propos-de-cc2600-et-cc7800#comments">ouvrir dans le navigateur</a>
</p>
devnewton 🍺
Benoît Sibaud
Julien Jorge
https://linuxfr.org/nodes/133855/comments.atom
tag:linuxfr.org,2005:News/41622
2023-08-14T18:58:02+02:00
2023-08-14T18:58:02+02:00
Entretien avec Alekmaul à propos de PVCollib
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>Alekmaul développe <a href="https://github.com/alekmaul/pvcollib">un SDK</a> pour créer des jeux pour la console <a href="https://fr.wikipedia.org/wiki/ColecoVision">ColecoVision</a>, cet entretien présente les raisons qui l’ont amené à s’intéresser à cette console.</p>
<p><strong>NDM: cette dépêche peut être vue comme un <a href="https://fr.wikipedia.org/wiki/Contenu_t%C3%A9l%C3%A9chargeable_additionnel">DLC</a> du <a href="//linuxfr.org/news/entretien-avec-alekmaul-a-propos-de-pvsneslib">premier entretien avec Alekmaul</a>.</strong></p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f342f34622f436f6c65636f566973696f6e2d77436f6e74726f6c6c65722d4c2e6a70672f36343070782d436f6c65636f566973696f6e2d77436f6e74726f6c6c65722d4c2e6a7067/640px-ColecoVision-wController-L.jpg" alt="ColecoVision" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/4/4b/ColecoVision-wController-L.jpg/640px-ColecoVision-wController-L.jpg"></p>
</div><ul><li>lien nᵒ 1 : <a title="https://github.com/alekmaul/pvcollib" hreflang="en" href="https://linuxfr.org/redirect/112545">PVCollib</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li>
<ul>
<li><a href="#toc-comment-en-%C3%AAtes-vous-venu-%C3%A0-vous-int%C3%A9resser-%C3%A0-la-colecovision">Comment en êtes-vous venu à vous intéresser à la ColecoVision?</a></li>
<li><a href="#toc-quest-ce-que-cette-console-a-de-particulier">Qu’est-ce que cette console a de particulier ?</a></li>
<li><a href="#toc-comment-fonctionne-le-processeur-graphique-tms9918">Comment fonctionne le processeur graphique (TMS9918) ?</a></li>
<li><a href="#toc-comment-fonctionne-la-puce-sonore-sn76489">Comment fonctionne la puce sonore (SN76489) ?</a></li>
<li><a href="#toc-quelle-est-votre-manette-pr%C3%A9f%C3%A9r%C3%A9e">Quelle est votre manette préférée ?</a></li>
<li><a href="#toc-les-%C3%A9mulateurs-colecovision-sont-ils-bons">Les émulateurs ColecoVision sont-ils bons ?</a></li>
<li><a href="#toc-quels-sont-vos-jeux-commerciaux-pr%C3%A9f%C3%A9r%C3%A9s-sur-cette-console">Quels sont vos jeux commerciaux préférés sur cette console ?</a></li>
<li><a href="#toc-quels-sont-vos-jeux-homebrew-pr%C3%A9f%C3%A9r%C3%A9s-sur-cette-console">Quels sont vos jeux "homebrew" préférés sur cette console ?</a></li>
<li><a href="#toc-pourquoi-cr%C3%A9er-un-sdk-aujourdhui-pour-un-si-vieux-syst%C3%A8me">Pourquoi créer un SDK aujourd’hui pour un si vieux système ?</a></li>
<li><a href="#toc-est-ce-que-vous-participez-vous-m%C3%AAme-%C3%A0-la-cr%C3%A9ation-de-jeux">Est-ce que vous participez vous même à la création de jeux ?</a></li>
<li><a href="#toc-quelles-ont-%C3%A9t%C3%A9-les-difficult%C3%A9s-pour-cr%C3%A9er-pvcollib">Quelles ont été les difficultés pour créer PVCollib?</a></li>
<li><a href="#toc-est-ce-que-pvcollib-g%C3%A8re-les-divers-p%C3%A9riph%C3%A9riques-de-la-colecovision">Est-ce que PVcollib gère les divers périphériques de la ColecoVision ?</a></li>
<li><a href="#toc-quels-conseils-donneriez-vous-%C3%A0-quelquun-qui-veut-se-lancer-dans-le-d%C3%A9veloppement-colecovision">Quels conseils donneriez-vous à quelqu’un qui veut se lancer dans le développement ColecoVision ?</a></li>
<li><a href="#toc-quels-sont-les-outils-pour-cr%C3%A9erpr%C3%A9parer-des-graphismes-utilisable-par-pvcollib">Quels sont les outils pour créer/préparer des graphismes utilisable par PVcollib ?</a></li>
<li><a href="#toc-quels-sont-les-outils-pour-cr%C3%A9erpr%C3%A9parer-des-musiques-et-des-sons-utilisable-par-pvcollib">Quels sont les outils pour créer/préparer des musiques et des sons utilisable par PVcollib ?</a></li>
<li><a href="#toc-est-il-possible-de-cr%C3%A9er-ses-propres-cartouches">Est-il possible de créer ses propres cartouches ?</a></li>
<li><a href="#toc-comment-saccommoder-des-faibles-ressources">Comment s’accommoder des faibles ressources ?</a></li>
</ul>
</li>
</ul>
<h3 id="toc-comment-en-êtes-vous-venu-à-vous-intéresser-à-la-colecovision">Comment en êtes-vous venu à vous intéresser à la ColecoVision?</h3>
<p>La Colecovision est la console de ma jeunesse, je n’avais hélas pas les moyens de me la payer mais un copain en avait une. On a joué pas mal de fois à Donkey Kong et <a href="https://www.giantbomb.com/zaxxon/3030-9547/images/">Zaxxon</a> dessus.</p>
<p>Quand j’ai vu que des choses existaient sur Colecovision avec les travaux d’Amy Purple (Daniel Bienvenu à l’époque), j’ai décidé de regarder comment je pourrais m’en inspirer pour développer des jeux et ainsi faire revivre cette étincelle que j’avais eu quand j’y joué il y a maintenant très longtemps.</p>
<p>Ainsi est né mon SDK pour Colecovision : <a href="https://github.com/alekmaul/pvcollib">PVCollib</a>.</p>
<h3 id="toc-quest-ce-que-cette-console-a-de-particulier">Qu’est-ce que cette console a de particulier ?</h3>
<p>Elle posséde très peu de mémoire et faut faire avec !</p>
<p>32Kio pour les programmes (même si on fait des versions avec plus de mémoire maintenant avec les notions de bank switching) et surtout moins d’1Kio de RAM ! Et là, c’est sportif mais on y arrive ;)</p>
<h3 id="toc-comment-fonctionne-le-processeur-graphique-tms9918">Comment fonctionne le processeur graphique (TMS9918) ?</h3>
<p>Il fonctionne comme le processeur de la SNES mais avec un seul plan et une palette de couleurs qui ne peut pas être modifiée. On a aussi le droit à des sprites mais en une seule couleur.</p>
<p>C’est le même processeur graphique sur les ordinateurs de type MSX1 et sur le TI99-4A.</p>
<h3 id="toc-comment-fonctionne-la-puce-sonore-sn76489">Comment fonctionne la puce sonore (SN76489) ?</h3>
<p>On programme des ports d’entrée / sortie pour faire du son.</p>
<p>L’avantage de la Coleco est d’avoir un BIOS (programme interne à la machine) qui aide à gérer le son en envoyant des commandes plus facilement via l’appel de fonctions en assembleur. Ca évite de programmer les entrées sorties à chaque fois.</p>
<h3 id="toc-quelle-est-votre-manette-préférée">Quelle est votre manette préférée ?</h3>
<p>La manette standard, bien difficile à prendre en main et à faire fonctionner, surtout pour changer de direction :D !</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f662f66302f436f6c65636f566973696f6e2d436f6e74726f6c6c65722d464c2e6a70672f34373470782d436f6c65636f566973696f6e2d436f6e74726f6c6c65722d464c2e6a7067/474px-ColecoVision-Controller-FL.jpg" alt="Manette standard" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/f/f0/ColecoVision-Controller-FL.jpg/474px-ColecoVision-Controller-FL.jpg"></p>
<p><strong>NDM : la manette "Super Action Controller" semble pourtant plus ergonomique.</strong></p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f652f65662f53757065725f416374696f6e5f436f6e74726f6c6c65725f436f6c65636f5f44534346303335332e4a50472f36343070782d53757065725f416374696f6e5f436f6e74726f6c6c65725f436f6c65636f5f44534346303335332e4a5047/640px-Super_Action_Controller_Coleco_DSCF0353.JPG" alt="Manette Super Action Controller" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Super_Action_Controller_Coleco_DSCF0353.JPG/640px-Super_Action_Controller_Coleco_DSCF0353.JPG"></p>
<h3 id="toc-les-émulateurs-colecovision-sont-ils-bons">Les émulateurs ColecoVision sont-ils bons ?</h3>
<p>Oui, ils sont bons mais ne possèdent pas de mode aidant les développeurs. On peut citer <a href="https://bluemsx.com/">BlueMSX</a> qui est le plus connu, CoolCV de mon ami NanoChess aussi.</p>
<p>Le peu d’aide pour les développeurs et le fait qu’aucun émulateur ne prend en charge le processeur graphique supplémentaire F18A embarqué dans le Phoenix (machine à base de FPGA permettant de faire comme si on avait une vraie Colecovision) ont fait que j’ai développé mon propre émulateur que j’utilise tout le temps : <a href="https://github.com/alekmaul/emultwo">E.mult T.wo</a>. J’ai laissé tomber les autres. Je vérifie quelques fois sur BlueMSX quand E.mult T.wo ne fonctionne pas sur certains points (il est pas mal buggé encore ^^).</p>
<h3 id="toc-quels-sont-vos-jeux-commerciaux-préférés-sur-cette-console">Quels sont vos jeux commerciaux préférés sur cette console ?</h3>
<p>Je dirais Zaxxon et Donkey Kong.</p>
<h3 id="toc-quels-sont-vos-jeux-homebrew-préférés-sur-cette-console">Quels sont vos jeux "homebrew" préférés sur cette console ?</h3>
<p>Sydney Hunter de Nanochess est vraiment bien. J’aime pas les conversions par décompilation des jeux MSX ou SG-1000 par contre. Et il y en a pas mal sur Coleco hélas …</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f6e616e6f63686573732e6f72672f696d672f7379646e65795f68756e7465725f312e676966/sydney_hunter_1.gif" alt="Sydney Hunter" title="Source : https://nanochess.org/img/sydney_hunter_1.gif"></p>
<h3 id="toc-pourquoi-créer-un-sdk-aujourdhui-pour-un-si-vieux-système">Pourquoi créer un SDK aujourd’hui pour un si vieux système ?</h3>
<p>Car on n'est jamais mieux servi que par soi-même et y’avait pas de SDK à proprement parler !</p>
<p>Il n’y a que des morceaux de bibliothèques, sans vraiment de choses permettant de dissocier ce qu’il fallait pour coder les graphismes, le son, les manettes. Sans dissociation de la compilation, du <em>linkage</em>, il n'y avait rien aussi quand j’ai débuté pour gérer le <em>bank switching</em>, j’ai fais mes propres outils (disponibles dans pvcollib).</p>
<p>Ça a été la raison de réaliser PVCollib, qui fonctionne comme PVSneslib. ça m’aide si je dois voir comment porter un jeu entre ces 2 plates-formes.</p>
<h3 id="toc-est-ce-que-vous-participez-vous-même-à-la-création-de-jeux">Est-ce que vous participez vous même à la création de jeux ?</h3>
<p>Oui, j’ai fait pas mal de jeux sur cette console dont un Bomberman : <a href="https://www.gamopat-forum.com/t76280-robeeblaster-pour-colecovision">RobeeBlaster</a> ;) J’ai aussi réalisé une <a href="https://www.gamopat.com/2014/11/bagman-un-jeu-d-arcade-francais-pour-la-colecovision.html">adaptation du jeu d’arcade Bagman</a> qui fonctionne vraiment bien.</p>
<h3 id="toc-quelles-ont-été-les-difficultés-pour-créer-pvcollib">Quelles ont été les difficultés pour créer PVCollib?</h3>
<p>Y’en a pas eu de trop, après avoir étudié la console, le kit est arrivé assez vite. J’ai mis un peu plus de temps à créer les outils et surtout E.mult T.wo qui en est à sa "je sais plus combien" de version :D !</p>
<h3 id="toc-est-ce-que-pvcollib-gère-les-divers-périphériques-de-la-colecovision">Est-ce que PVcollib gère les divers périphériques de la ColecoVision ?</h3>
<p>Oui, PVCollib gère le volant par exemple. Il gère aussi le F18A, processeur graphique additionnel.</p>
<h3 id="toc-quels-conseils-donneriez-vous-à-quelquun-qui-veut-se-lancer-dans-le-développement-colecovision">Quels conseils donneriez-vous à quelqu’un qui veut se lancer dans le développement ColecoVision ?</h3>
<p>Comme sur SNES, <a href="//linuxfr.org/news/entretien-avec-alekmaul-a-propos-de-pvsneslib#toc-quels-conseils-donneriez-vous-%C3%A0-quelquun-qui-veut-se-lancer-dans-le-d%C3%A9veloppement-snes">copier/coller de ma réponse</a> ;) La difficulté supplémentaire est le peu de RAM disponible. Il faut vraiment se faire des noeuds au cerveau pour tenir dans moins d’1K de RAM.</p>
<p>Je suis assez fier de mon Bomberman, RobeeBalster qui permet avec si peu de RAM d’avoir un mode Story et un mode Battle à 2 !</p>
<p>J’avais même prévu le mode à 4 mais c’était pas terrible avec uniquement 2 manettes sur Colecovision, cette dernière n’ayant pas de multitap ou autre accessoire de ce genre (enfin, à ma connaissance). On utilisait des câbles en Y pour doubler chaque manette :D !</p>
<h3 id="toc-quels-sont-les-outils-pour-créerpréparer-des-graphismes-utilisable-par-pvcollib">Quels sont les outils pour créer/préparer des graphismes utilisable par PVcollib ?</h3>
<p>Comme sur SNES, GraphicGale pour la conception des graphiques et un outil pour transformer les graphiques au format Coleco.</p>
<p>J’ai aussi un outil interne qui me permet d’optimiser les graphiques et les compresser comme je veux, les répéter d’un écran à l’autre. Il n’est pas "assez souple" pour être partagé à d’autres développeurs, j’aurais trop de questions tellement il est peu intuitif !</p>
<h3 id="toc-quels-sont-les-outils-pour-créerpréparer-des-musiques-et-des-sons-utilisable-par-pvcollib">Quels sont les outils pour créer/préparer des musiques et des sons utilisable par PVcollib ?</h3>
<p>Là, y’a rien de dispo dans le KIT hélas, il faut les faire à la main et les transformer par quelque chose de lisible par la Colecovision :( On est toujours en attente d’un tracker pour cette console hélas.</p>
<p>Mon outil "peu intuitif" me permet quand même de transformer sans trop de débat du format MIDI vers le format lisible par la Coleco.</p>
<h3 id="toc-est-il-possible-de-créer-ses-propres-cartouches">Est-il possible de créer ses propres cartouches ?</h3>
<p>Oui, tout à fait. Au Canada <a href="https://collectorvision.com/">Collectorvision</a> en fabrique vraiment beaucoup et a réalisé la plupart de mes jeux.</p>
<p>En France, <a href="https://cotegamers.com/shop/fr/">Côté Gamers</a> est aussi de la partie, j’ai édité 2 jeux avec eux.</p>
<h3 id="toc-comment-saccommoder-des-faibles-ressources">Comment s’accommoder des faibles ressources ?</h3>
<p>Il faut faire avec, optimiser et optimiser. Par rapport à la taille des programmes, c’est surtout les graphiques qui prennent de la place.</p>
<p>On a donc des compressions assez puissantes pour réduire tout cela et le décompresser dans la mémoire vidéo de la Coleco.</p>
<p>On utilise par exemple du Pletter (algorithme générique) ou encore du DANx (DAN1 à DAN3, réalisés par Amy Purple).</p>
<p><abbr title="Note de la modération">N. D. M. :</abbr> exemple de <a href="https://github.com/nanochess/Pletter">Pletter</a> et <a href="https://forums.atariage.com/topic/268244-data-compression-benchmark-dan-pletter-zx7-exomizer-pucrunch-megalz/">comparatif d'algorithmes</a></p>
<p>Pour la RAM, on gère au plus juste les 8 bits d’un octets ou alors on utilise aussi en complément de la mémoire vidéo pour pallier le peu de RAM en stockant des données dans des zones non affichées à l’écran.</p>
</div><div><a href="https://linuxfr.org/news/entretien-avec-alekmaul-a-propos-de-pvcollib.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/132942/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/entretien-avec-alekmaul-a-propos-de-pvcollib#comments">ouvrir dans le navigateur</a>
</p>
devnewton 🍺
BAud
Benoît Sibaud
bobble bubble
https://linuxfr.org/nodes/132942/comments.atom
tag:linuxfr.org,2005:News/41619
2023-08-09T13:48:19+02:00
2023-09-04T13:30:35+02:00
Entretien avec Alekmaul à propos de PVSnesLib
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>Alekmaul développe <a href="https://github.com/alekmaul/pvsneslib">un SDK pour créer des jeux pour la console Super Nintendo</a> aussi appelée Super NES ou SNES, cet entretien revient sur son parcours et les raisons qui l’ont amené à s’intéresser à cette console.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f312f31382f57696b6970656469615f534e45535f50414c2e6a70672f38303070782d57696b6970656469615f534e45535f50414c2e6a7067/800px-Wikipedia_SNES_PAL.jpg" alt="Super Nintendo" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/1/18/Wikipedia_SNES_PAL.jpg/800px-Wikipedia_SNES_PAL.jpg"></p>
</div><ul><li>lien nᵒ 1 : <a title="https://github.com/alekmaul/pvsneslib" hreflang="en" href="https://linuxfr.org/redirect/112537">PVSnesLib</a></li><li>lien nᵒ 2 : <a title="https://www.copetti.org/writings/consoles/super-nintendo/" hreflang="en" href="https://linuxfr.org/redirect/112538">L'architecture de la Super Nintendo</a></li><li>lien nᵒ 3 : <a title="https://www.grospixels.com/site/snes.php" hreflang="fr" href="https://linuxfr.org/redirect/112539">Un dossier consacré à cette console</a></li><li>lien nᵒ 4 : <a title="https://www.portabledev.com/" hreflang="fr" href="https://linuxfr.org/redirect/112540">Le site d'Alekmaul</a></li><li>lien nᵒ 5 : <a title="https://alekmaulstudio.fr/" hreflang="fr" href="https://linuxfr.org/redirect/112541">Le site d'Alekmaul Studio</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li>
<a href="#toc-partie-1-pr%C3%A9sentation">Partie 1: présentation</a><ul>
<li><a href="#toc-qui-%C3%AAtes-vous-quel-est-votre-parcours-et-est-il-li%C3%A9-aux-jeux-vid%C3%A9os">Qui êtes-vous, quel est votre parcours et est-il lié aux jeux vidéos ?</a></li>
</ul>
</li>
<li>
<a href="#toc-partie-2-snes">Partie 2: SNES</a><ul>
<li><a href="#toc-comment-en-%C3%AAtes-vous-venu-%C3%A0-vous-int%C3%A9resser-%C3%A0-la-snes">Comment en êtes-vous venu à vous intéresser à la SNES ?</a></li>
<li><a href="#toc-quest-ce-que-cette-console-a-de-particulier">Qu’est-ce que cette console a de particulier ?</a></li>
<li><a href="#toc-comment-fonctionne-les-processeurs-graphiques-super-ppu">Comment fonctionne les processeurs graphiques (Super PPU) ?</a></li>
<li><a href="#toc-comment-fonctionnent-les-puces-sonores-s-dsp-spc700">Comment fonctionnent les puces sonores (S-DSP, SPC700) ?</a></li>
<li><a href="#toc-beaucoup-de-cartouches-embarquent-des-coprocesseurs-quels-sont-les-plus-remarquables">Beaucoup de cartouches embarquent des coprocesseurs, quels sont les plus remarquables ?</a></li>
<li><a href="#toc-la-snes-a-r%C3%A9cemment-eu-une-version-mini-quen-pensez-vous">La SNES a récemment eu une version « mini » ? Qu’en pensez-vous ?</a></li>
<li><a href="#toc-quelle-est-votre-manette-pr%C3%A9f%C3%A9r%C3%A9e">Quelle est votre manette préférée ?</a></li>
<li><a href="#toc-les-%C3%A9mulateurs-snes-sont-ils-bons">Les émulateurs SNES sont-ils bons ?</a></li>
<li><a href="#toc-quels-sont-vos-jeux-commerciaux-pr%C3%A9f%C3%A9r%C3%A9s-sur-cette-console">Quels sont vos jeux commerciaux préférés sur cette console ?</a></li>
<li><a href="#toc-quels-sont-vos-jeux-homebrew-pr%C3%A9f%C3%A9r%C3%A9s-sur-cette-console">Quels sont vos jeux "homebrew" préférés sur cette console ?</a></li>
<li><a href="#toc-pourquoi-cr%C3%A9er-un-sdk-aujourdhui-pour-si-vieux-syst%C3%A8me">Pourquoi créer un SDK aujourd’hui pour si vieux système ?</a></li>
<li><a href="#toc-est-ce-que-vous-participez-vous-m%C3%AAme-%C3%A0-la-cr%C3%A9ation-de-jeux">Est-ce que vous participez vous-même à la création de jeux ?</a></li>
<li><a href="#toc-quels-ont-%C3%A9t%C3%A9-les-difficult%C3%A9s-pour-cr%C3%A9er-pvsneslib">Quels ont été les difficultés pour créer PVSnesLib ?</a></li>
<li><a href="#toc-vous-aimeriez-vivre-du-d%C3%A9veloppement-de-ce-logiciel-libre">Vous aimeriez vivre du développement de ce logiciel libre?</a></li>
<li>
<a href="#toc-quels-materiels-sont-g%C3%A9r%C3%A9s-par-pvsneslib">Quels materiels sont gérés par PVSnesLib ?</a><ul>
<li><a href="#toc-est-ce-que-pvsneslib-g%C3%A8re-les-multitaps">Est-ce que PVSnesLib gère les multitaps ?</a></li>
<li><a href="#toc-est-ce-que-pvsneslib--g%C3%A8re-les-pistolets-super-scope">Est-ce que PVSnesLib gère les pistolets (Super Scope) ?</a></li>
<li><a href="#toc-est-ce-que-pvsneslib--g%C3%A8re-dautres-p%C3%A9riph%C3%A9riques-de-la-snes-souris-modems">Est-ce que PVSnesLib gère d’autres périphériques de la SNES (souris, modems…) ?</a></li>
</ul>
</li>
<li>
<a href="#toc-quels-conseils-donneriez-vous-%C3%A0-quelquun-qui-veut-se-lancer-dans-le-d%C3%A9veloppement-snes">Quels conseils donneriez-vous à quelqu’un qui veut se lancer dans le développement SNES ?</a><ul>
<li><a href="#toc-quels-sont-les-outils-pour-cr%C3%A9erpr%C3%A9parer-des-graphismes-utilisable-par-pvsneslib-">Quels sont les outils pour créer/préparer des graphismes utilisable par PVSnesLib ?</a></li>
<li><a href="#toc-quels-sont-les-outils-pour-cr%C3%A9erpr%C3%A9parer-des-musiques-et-des-sons-utilisable-par-pvsneslib-">Quels sont les outils pour créer/préparer des musiques et des sons utilisable par PVSnesLib ?</a></li>
<li><a href="#toc-est-il-possible-de-cr%C3%A9er-ses-propres-cartouches">Est-il possible de créer ses propres cartouches ?</a></li>
<li><a href="#toc-comment-saccommoder-des-faibles-ressources-peu-de-ram-cpu-8-bits">Comment s’accommoder des faibles ressources (peu de RAM, CPU 8 bits…) ?</a></li>
</ul>
</li>
</ul>
</li>
<li>
<a href="#toc-partie-3-pour-finir">Partie 3: pour finir</a><ul>
<li><a href="#toc-au-niveau-personnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ?</a></li>
<li><a href="#toc-au-niveau-professionnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau professionnel, quels logiciels libres utilisez-vous, sur quel OS ?</a></li>
<li><a href="#toc-quelle-est-votre-distribution-gnulinux-pr%C3%A9f%C3%A9r%C3%A9e-et-pourquoi-quels-sont-vos-logiciels-libres-pr%C3%A9f%C3%A9r%C3%A9s">Quelle est votre distribution GNU/Linux préférée et pourquoi, quels sont vos logiciels libres préférés ?</a></li>
<li><a href="#toc-quelle-question-auriez-vous-ador%C3%A9-quon-vous-pose">Quelle question auriez-vous adoré qu’on vous pose ?</a></li>
<li><a href="#toc-quelle-question-auriez-vous-d%C3%A9test%C3%A9-quon-vous-pose">Quelle question auriez-vous détesté qu’on vous pose ?</a></li>
</ul>
</li>
</ul>
<h2 id="toc-partie-1-présentation">Partie 1: présentation</h2>
<h3 id="toc-qui-êtes-vous-quel-est-votre-parcours-et-est-il-lié-aux-jeux-vidéos">Qui êtes-vous, quel est votre parcours et est-il lié aux jeux vidéos ?</h3>
<p>Hello, je m’appelle Jean-Michel Girard, connu sous le nom d’Alekmaul dans le monde du retro gaming.</p>
<p>J’ai fait des études d’informatique il y a maintenant bien longtemps où l’on apprenait encore comment développer en assembleur ;)</p>
<p><strong>NDM: moules< enseignantes et étudiantes, n’hésitez pas à réagir en commentaires sur ce sujet de l’enseignement de l’assembleur</strong></p>
<p>J’ai toujours aimé développer des jeux vidéos. J’ai connu la grande époque <a href="https://fr.wikipedia.org/wiki/Hebdogiciel">d’Hebdogiciel</a>, le journal qui publiait des listings à taper sur le clavier de pas mal de machines, listings qu’envoyaient les lecteurs du journal. Moi-même je n’ai jamais été publié dedans à l’époque <sup><sup>.</sup></sup><br>
J’ai vu les débuts des micro-ordinateurs et consoles dans les années 80, j’ai commencé à développer sur <a href="https://fr.wikipedia.org/wiki/ZX81">ZX81</a>, <a href="https://fr.wikipedia.org/wiki/Casio_PB-100">Casio PB-100</a> et <a href="https://fr.wikipedia.org/wiki/ZX_Spectrum">ZX Spectrum</a>, ma passion du développement de jeux vidéos date de là ;)</p>
<p>J’ai aussi fait un passage éclair dans le jeu vidéo chez Virgin Espagne pour développer un jeu sur <a href="https://fr.wikipedia.org/wiki/Nintendo_DS">DS</a>, mais y’a eu la banqueroute en Espagne à ce moment-là (vers 2010 si je me souviens bien), il n’est jamais sorti mais je suis fier d’avoir pu profiter du kit officiel de Nintendo sur DS ^^.</p>
<p>J’ai maintenant 56 ans, je travaille toujours dans l’informatique dans le monde du paiement sur Internet, je gère des personnes, des projets mais je ne développe plus.</p>
<p>Je m’éclate donc à développer sur mon temps perso sur de vieilles consoles !</p>
<h2 id="toc-partie-2-snes">Partie 2: SNES</h2>
<h3 id="toc-comment-en-êtes-vous-venu-à-vous-intéresser-à-la-snes">Comment en êtes-vous venu à vous intéresser à la SNES ?</h3>
<p>C’est un ami, connaissant mes créations sur Nintendo DS et <a href="https://fr.wikipedia.org/wiki/Game_Boy_Advance">GBA</a> qui m’a demandé de voir si j’étais intéressé pour réaliser un kit de développement sur SNES.</p>
<p>En effet, le développement en assembleur est pas simple et il se disait que si quelque chose était disponible en C comme pour la GBA ou la DS, ça aiderait à promouvoir cette machine.</p>
<p>Un début de kit existait sur googlecode, basé sur un fork du compilateur <a href="https://bellard.org/tcc/">tcc</a>. Tout est parti de là sur cette console.</p>
<p>Je l’ai sorti il y a maintenant plus de 10 ans sur SNES, pour les 20 ans de la console en France. On continue toujours à maintenir PVSneslib avec de plus en plus de contributeurs !</p>
<h3 id="toc-quest-ce-que-cette-console-a-de-particulier">Qu’est-ce que cette console a de particulier ?</h3>
<p>Elle n’est pas facile à programmer avec son processeur entre le 8 bits et 16 bits. Elle possède un chip sonore bien sympathique et des capacités graphiques permettant pas mal d’effets surtout avec l’aide des transferts rapides de mémoire possibles. Ses différents modes graphiques peuvent être un atout mais aussi un frein à comprendre la console.</p>
<p>Sa résolution est moindre que la Megadrive mais dans la lignée des machines de l’époque. Son processeur est par contre bien lent, ça aurait été super d’avoir un 68000 dedans ^^.</p>
<p><strong>NDM : la console taïwanaise <a href="https://fr.wikipedia.org/wiki/Super_A%27Can">Super A'Can</a> ressemble beaucoup à une Super Nintendo avec un 68000. Si vous programmez dessus, n’hésitez à contacter devnewton< pour un futur entretien.</strong></p>
<h3 id="toc-comment-fonctionne-les-processeurs-graphiques-super-ppu">Comment fonctionne les processeurs graphiques (Super PPU) ?</h3>
<p>Le processeur graphique est du même genre que les autres consoles de l’époque. Il possède certains modes graphiques avec un certain nombre de couleurs gérables par mode graphique.</p>
<p>Le mode le plus utilisé est le mode 1. Chaque mode possède un certain nombre de « fonds » ou plans sur lequel on peut réaliser des graphiques, les faire se déplacer.</p>
<p>Chaque plan dans ce mode possède 16 couleurs parmi « tout plein » de couleurs, comme les sprites. On fait ainsi de très jolis jeux (non je dirais pas des jeux plus jolis que sur Megadrive ;) :P ).</p>
<p>On possède aussi un certain nombre d’objets animés nommés sprites, ce qui aide beaucoup pour tout à dessiner sur un seul plan.</p>
<p>Le terme « Super PPU », en tant que tel, je connais pas désolé :( ( <strong>NDM: ce terme est utilisé par <a href="https://www.copetti.org/writings/consoles/super-nintendo/">cet article</a></strong>).</p>
<h3 id="toc-comment-fonctionnent-les-puces-sonores-s-dsp-spc700">Comment fonctionnent les puces sonores (S-DSP, SPC700) ?</h3>
<p>La puce sonore fonctionne par transfert de données depuis la puce de la SNES vers le processeur du SPC700.</p>
<p>Cela prend donc du temps, c’est pour cela que dans mes jeux, y’a un petit délai au début des niveaux pour transférer les musiques.</p>
<p>De plus, elle ne supporte pas plus de 64Ko de mémoire, sons et programmes sonore compris, c’est peu mais il faut faire avec !</p>
<h3 id="toc-beaucoup-de-cartouches-embarquent-des-coprocesseurs-quels-sont-les-plus-remarquables">Beaucoup de cartouches embarquent des coprocesseurs, quels sont les plus remarquables ?</h3>
<p>J’en sais fichtrement rien :D ! je ne développe pas sur ces processeurs. Peut-être que le DSP1 est sympa de part ses capacités de calculs matriciels et le Super-FX pour la 3D ;)</p>
<h3 id="toc-la-snes-a-récemment-eu-une-version-mini-quen-pensez-vous">La SNES a récemment eu une version « mini » ? Qu’en pensez-vous ?</h3>
<p>C’est mignon, c’est mini, pas grand-chose de plus. Je la possède à la maison, mais elle prend la poussière je dois dire ^^.</p>
<p>Faudrait que je la patche un de ces jours avec mes jeux pour les voir sur grand écran ^^.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f352f35322f4e696e74656e646f5f436c61737369635f4d696e695f53757065725f4e696e74656e646f5f456e7465727461696e6d656e745f53797374656d5f253238656e68616e6365645f696d6167652532392e6a70672f36323470782d4e696e74656e646f5f436c61737369635f4d696e695f53757065725f4e696e74656e646f5f456e7465727461696e6d656e745f53797374656d5f253238656e68616e6365645f696d6167652532392e6a7067/624px-Nintendo_Classic_Mini_Super_Nintendo_Entertainment_System_%28enhanced_image%29.jpg" alt="SNES Mini" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/Nintendo_Classic_Mini_Super_Nintendo_Entertainment_System_%28enhanced_image%29.jpg/624px-Nintendo_Classic_Mini_Super_Nintendo_Entertainment_System_%28enhanced_image%29.jpg"></p>
<h3 id="toc-quelle-est-votre-manette-préférée">Quelle est votre manette préférée ?</h3>
<p>Les manettes d’origines, elles me suffisent et fonctionnent bien :P.<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f362f36392f534e45532d436f6e74726f6c6c65722d466c61742e6a70672f36343070782d534e45532d436f6e74726f6c6c65722d466c61742e6a7067/640px-SNES-Controller-Flat.jpg" alt="Manette US" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/6/69/SNES-Controller-Flat.jpg/640px-SNES-Controller-Flat.jpg"></p>
<h3 id="toc-les-émulateurs-snes-sont-ils-bons">Les émulateurs SNES sont-ils bons ?</h3>
<p>Ils sont plus ou moins bons. Le meilleur est le dernier sorti : <a href="https://github.com/SourMesen/Mesen-S">Mesen-S</a> ou MEsen maintenant depuis la reprise du projet par l’auteur après quelques rebondissements. B-Snes est très bon aussi. J’utilise pas mal aussi no$sns, car c’est facile de déboguer avec. Mais l’émulation n’est pas tout à fait fidèle pour ce dernier. En gros, Mesen-S pour tester la compatibilité avant de tester sur une vraie console (car rien ne remplace les vraies consoles) et no$sns pour debugger rapidement.</p>
<h3 id="toc-quels-sont-vos-jeux-commerciaux-préférés-sur-cette-console">Quels sont vos jeux commerciaux préférés sur cette console ?</h3>
<p>Mario Kart et Metroid !</p>
<p>Mais aussi Chrono Trigger qui est une vraie claque sur SNES.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f642f64352f4368726f6e6f54726967676572496e736964652e504e47/ChronoTriggerInside.PNG" alt="Chrono Trigger" title="Source : https://upload.wikimedia.org/wikipedia/en/d/d5/ChronoTriggerInside.PNG"></p>
<h3 id="toc-quels-sont-vos-jeux-homebrew-préférés-sur-cette-console">Quels sont vos jeux "homebrew" préférés sur cette console ?</h3>
<p>Héhé, je vais pas dire les miens, mais il y en a très peu sur SNES. Certainement les homebrews de <a href="http://shiru.untergrund.net/software.shtml">Shiru</a>, un développeur russe bourré de talent.</p>
<p>Comme par exemple Classic Kong qui exploite bien la console.</p>
<h3 id="toc-pourquoi-créer-un-sdk-aujourdhui-pour-si-vieux-système">Pourquoi créer un SDK aujourd’hui pour si vieux système ?</h3>
<p>J’ai créé le SDK à la demande d’un ami. Il voulait savoir si on pouvait programmer facilement sur cette console. Je suis parti d’un code basé sur un fork de tcc par Ulrich Hecht nommé SNES C SDK.</p>
<p>Les 20 ans de la console arrivaient, c’était le bon moment de travailler sur quelque chose.</p>
<p>Le SDK commence donc à dater mais n’a pas eu beaucoup de succès au départ, mais il commence à prendre forme maintenant, 10 ans plus tard…</p>
<h3 id="toc-est-ce-que-vous-participez-vous-même-à-la-création-de-jeux">Est-ce que vous participez vous-même à la création de jeux ?</h3>
<p>Ah bah oui, c’est même mon activité principale sur SNES. Parmi les plus connus, j’ai créé Sydney Hunter and the Caverns of Death, puis Eyra the Crow Maiden et je travaille maintenant sur The Illmoore Bay (plus pas mal d’autres jeux aussi <code>^^</code>).</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f616c656b6d61756c73747564696f2e66722f77702d636f6e74656e742f75706c6f6164732f323032332f30342f636f645f3030302e706e67/cod_000.png" alt="Sydney Hunter and the Caverns of Death" title="Source : https://alekmaulstudio.fr/wp-content/uploads/2023/04/cod_000.png"><br>
<img src="//img.linuxfr.org/img/68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f616c656b6d61756c2f7076736e65736c69622f6d61737465722f7076736e65736c69622f646f63732f696d616765732f657972612e676966/eyra.gif" alt="Eyra the Crow Maiden" title="Source : https://raw.githubusercontent.com/alekmaul/pvsneslib/master/pvsneslib/docs/images/eyra.gif"><br>
<img src="//img.linuxfr.org/img/68747470733a2f2f616c656b6d61756c73747564696f2e66722f77702d636f6e74656e742f75706c6f6164732f323032332f30372f626c6f636b656d323330373134623435345f6e7473635f3030362e706e67/blockem230714b454_ntsc_006.png" alt="Block em Sock em" title="Source : https://alekmaulstudio.fr/wp-content/uploads/2023/07/blockem230714b454_ntsc_006.png"></p>
<h3 id="toc-quels-ont-été-les-difficultés-pour-créer-pvsneslib">Quels ont été les difficultés pour créer PVSnesLib ?</h3>
<p>Tout d’abord, bien connaitre la console. C’est le minimum avant de se lancer là-dedans. J’ai donc potassé tout ce que je trouvais, consulté les wikis, le fichier d’aide de no$sns qui est une mine d’information.</p>
<p>Ensuite, il faut réfléchir à trouver comment réaliser quelque chose de portable (et il reste du chemin avec PVSNeslib !) pour que tout le monde puisse l’utiliser sur son projet. C’est ce que j’ai tenté de faire. D’autres personnes ont utilisé le kit, m’ont fait part de remarque et on est maintenant plusieurs à le faire évoluer, ce qui est ma plus grande fierté !</p>
<h3 id="toc-vous-aimeriez-vivre-du-développement-de-ce-logiciel-libre">Vous aimeriez vivre du développement de ce logiciel libre?</h3>
<p>Vivre du développement de jeu sur ancienne console ? Pas possible à mon avis, il faut faire quelque chose à côté.</p>
<p>Pour ma part, c’est maintenant plus un projet pour ma retraite ! J’ai d’ailleurs créé « Alekmaul Studio » pour essayer de régulariser tout cela et préparer cette seconde étape dans mes développements Homebrews.</p>
<h3 id="toc-quels-materiels-sont-gérés-par-pvsneslib">Quels materiels sont gérés par PVSnesLib ?</h3>
<h4 id="toc-est-ce-que-pvsneslib-gère-les-multitaps">Est-ce que PVSnesLib gère les multitaps ?</h4>
<p>Oui, il gère le multitap et un futur jeu va l’exploiter (Bizbille, pour mes amis Canadiens, un genre de roue de la fortune).</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f302f30342f53757065725f4e696e74656e646f5f4d756c74695461702e6a70672f36343070782d53757065725f4e696e74656e646f5f4d756c74695461702e6a7067/640px-Super_Nintendo_MultiTap.jpg" alt="multitap" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/0/04/Super_Nintendo_MultiTap.jpg/640px-Super_Nintendo_MultiTap.jpg"></p>
<h4 id="toc-est-ce-que-pvsneslib--gère-les-pistolets-super-scope">Est-ce que PVSnesLib gère les pistolets (Super Scope) ?</h4>
<p>J’ai un début d’implémentation mais rien de concret ! J’attends de l’aide sur ce sujet !</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f612f61642f4e696e74656e646f2d534e45532d53757065722d53636f70652d4c2e6a70672f36343070782d4e696e74656e646f2d534e45532d53757065722d53636f70652d4c2e6a7067/640px-Nintendo-SNES-Super-Scope-L.jpg" alt="Super scope" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/a/ad/Nintendo-SNES-Super-Scope-L.jpg/640px-Nintendo-SNES-Super-Scope-L.jpg"></p>
<h4 id="toc-est-ce-que-pvsneslib--gère-dautres-périphériques-de-la-snes-souris-modems">Est-ce que PVSnesLib gère d’autres périphériques de la SNES (souris, modems…) ?</h4>
<p>Non, rien d’autre pour l’instant, à part la SRAM.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f332f33662f534e45532d4d6f7573652d616e642d5061642e6a70672f36343070782d534e45532d4d6f7573652d616e642d5061642e6a7067/640px-SNES-Mouse-and-Pad.jpg" alt="souris" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/3/3f/SNES-Mouse-and-Pad.jpg/640px-SNES-Mouse-and-Pad.jpg"></p>
<h3 id="toc-quels-conseils-donneriez-vous-à-quelquun-qui-veut-se-lancer-dans-le-développement-snes">Quels conseils donneriez-vous à quelqu’un qui veut se lancer dans le développement SNES ?</h3>
<p>Erf… Tout d’abord avoir la passion car ça va être long. Ensuite, connaitre le langage C, langage utilisé pour programmer avec PVSnesLib. Puis, connaitre le langage machine de la SNES (le 65C816), car ça aide à debugger. Et enfin et surtout, connaitre la SNES, comment elle fonctionne, quelles sont ses limites en matière de graphismes, de son, de mémoire.</p>
<h4 id="toc-quels-sont-les-outils-pour-créerpréparer-des-graphismes-utilisable-par-pvsneslib-">Quels sont les outils pour créer/préparer des graphismes utilisable par PVSnesLib ?</h4>
<p>J’utilise GraphicGale pour créer mes graphiques et c’est ensuite l’outil gfx2snes, livré avec PVSneslib qui fait le job pour rendre cela compatible avec ce que l’on souhaite.</p>
<h4 id="toc-quels-sont-les-outils-pour-créerpréparer-des-musiques-et-des-sons-utilisable-par-pvsneslib-">Quels sont les outils pour créer/préparer des musiques et des sons utilisable par PVSnesLib ?</h4>
<p>Il faut un tracker de musique qui supporte le format IT, comme openMPT. L’outil smconv livré avec PVSneslib fera ensuite le job pour rendre tout cela compatible avec ce que l’on souhaite.</p>
<h4 id="toc-est-il-possible-de-créer-ses-propres-cartouches">Est-il possible de créer ses propres cartouches ?</h4>
<p>Bien sur ! j’en suis déjà à 4 jeux différents édités sur SNES :) !</p>
<h4 id="toc-comment-saccommoder-des-faibles-ressources-peu-de-ram-cpu-8-bits">Comment s’accommoder des faibles ressources (peu de RAM, CPU 8 bits…) ?</h4>
<p>Bah, faut réfléchir, bien poser les problèmes, savoir optimiser ce qu’il faut (on le dit jamais assez mais un octet fait 8 bits, on peut donc stocker 8 informations binaires dedans ^^).</p>
<h2 id="toc-partie-3-pour-finir">Partie 3: pour finir</h2>
<h3 id="toc-au-niveau-personnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ?</h3>
<p>Qu’est-ce que l’on qualifie exactement de logiciel libre ? ( <strong>NDM : en général sur linuxfr, on parle de logiciel libre pour ceux qui respectent les <a href="https://www.gnu.org/philosophy/free-sw.html#four-freedoms">4 libertés</a></strong> )</p>
<p>Les compilateurs pour mes programmes, dont j’ai les sources, ça c’est certain.</p>
<p>Je crois que j’utilise peu de logiciels libres en tant que tel.</p>
<p>Car sinon, j’ai aussi du VSCode et du VirtualBox pour tester et éditer, mais je pense pas que cela soit considéré comme du libre.</p>
<p>J’utilise par contre pas mal de logiciels gratuits.</p>
<p>Ah si, j’utilise aussi VI, j’adore :D !</p>
<h3 id="toc-au-niveau-professionnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau professionnel, quels logiciels libres utilisez-vous, sur quel OS ?</h3>
<p>Je ne peux hélas pas en parler ;)</p>
<p>Tout ce que je peux dire c’est que l’on développe avec Java sous Linux (RedHat).</p>
<h3 id="toc-quelle-est-votre-distribution-gnulinux-préférée-et-pourquoi-quels-sont-vos-logiciels-libres-préférés">Quelle est votre distribution GNU/Linux préférée et pourquoi, quels sont vos logiciels libres préférés ?</h3>
<p>Ubuntu est sympa pour le peu de ce que je fais sous Linux. Au taf, on est sous RedHat.</p>
<p>Pas de logiciel libre sur Linux, je m’en sers uniquement pour tester PVSneslib et la compilation de cette dernière.</p>
<h3 id="toc-quelle-question-auriez-vous-adoré-quon-vous-pose">Quelle question auriez-vous adoré qu’on vous pose ?</h3>
<p>Je dois dire que je sais pas… Peut être « t’es pas trop vieux pour faire ce genre de chose ? » :D !</p>
<h3 id="toc-quelle-question-auriez-vous-détesté-quon-vous-pose">Quelle question auriez-vous détesté qu’on vous pose ?</h3>
<p>C’est pas vraiment une question mais plus quelque chose qui est de plus en plus fréquent et qui me fatigue : pourquoi ne pas faire un SNESStudio ou un SNESMaker ? C’est trop dur de développer avec PVSneslIb…</p>
<p>J’ai même le droit à « c’est plus simple de développer sur Megadrive avec <a href="//linuxfr.org/news/entretien-avec-stephane-d-a-propos-du-sgdk">SGDK</a> :D » !</p>
</div><div><a href="https://linuxfr.org/news/entretien-avec-alekmaul-a-propos-de-pvsneslib.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/132923/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/entretien-avec-alekmaul-a-propos-de-pvsneslib#comments">ouvrir dans le navigateur</a>
</p>
devnewton 🍺
NeoX
Benoît Sibaud
ted
Ysabeau 🧶 🧦
https://linuxfr.org/nodes/132923/comments.atom
tag:linuxfr.org,2005:News/41524
2023-06-13T11:33:50+02:00
2023-06-14T14:07:28+02:00
Fishfolk : un jeu au moteur libre codé en Rust
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p><strong>Fishfolk</strong> est une collection de jeux 2D pixelisés codés en <a href="https://www.rust-lang.org/fr">Rust</a> et partageant le même thème graphique ainsi que le même moteur de jeux nommé <a href="https://bevyengine.org/">Bevy</a>. </p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f757365722d696d616765732e67697468756275736572636f6e74656e742e636f6d2f32343339323138302f3135313936393037352d33393965396665612d653264652d343334302d393661342d3061306535623739633238312e676966/151969075-399e9fea-e2de-4340-96a4-0a0e5b79c281.gif" alt="Présentation du jeux Jumpy Fishfolk" title="Source : https://user-images.githubusercontent.com/24392180/151969075-399e9fea-e2de-4340-96a4-0a0e5b79c281.gif"></p>
</div><ul><li>lien nᵒ 1 : <a title="https://fishfolk.org/" hreflang="en" href="https://linuxfr.org/redirect/112203">Le site officiel de fishfolk</a></li><li>lien nᵒ 2 : <a title="https://spicylobster.itch.io" hreflang="en" href="https://linuxfr.org/redirect/112204">Spicy Lobster : La société qui développe les jeux </a></li><li>lien nᵒ 3 : <a title="https://www.kickstarter.com/projects/erlendsh/fish-folk" hreflang="en" href="https://linuxfr.org/redirect/112205">La campagne de financement participatif des jeux (kickstarter)</a></li><li>lien nᵒ 4 : <a title="https://www.reddit.com/r/rust/comments/zlxyrh/fish_folk_jumpy_v05_completed_mvp_of_bevy_rewrite/" hreflang="en" href="https://linuxfr.org/redirect/112209">Les raisons du passage de Macroquad à Bevy pour la version 0.5</a></li><li>lien nᵒ 5 : <a title="https://fishfolk.org/blog/jumpy-0-6-retrospective/" hreflang="en" href="https://linuxfr.org/redirect/112210">Retrospective de la version 0.6</a></li><li>lien nᵒ 6 : <a title="https://github.com/fishfolk" hreflang="en" href="https://linuxfr.org/redirect/112235">Codes sources</a></li></ul><div><p>L'objectif de ces jeux est de montrer qu'il est possible de développer des jeux vidéos en Rust. Les codes sources sont libres (licence MIT), mais les données ne le sont pas (licence CC-BY-<strong>NC</strong>).</p>
<p>Pour le moment deux jeux sont visibles sur la page officielle : <a href="https://fishfolk.org/games/jumpy/">Jumpy</a>, un jeu de combat assumé dans le style <a href="https://store.steampowered.com/app/312530/Duck_Game/">duck game</a>, et <a href="https://fishfolk.org/games/punchy/">Punchy</a>, aussi un jeu de combat, plutôt dans l'esprit «<a href="https://en.wikipedia.org/wiki/Double_Dragon_(video_game)">double dragon</a>».</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f66697368666f6c6b2e6f72672f67616d65732f70756e6368792f70756e6368792e706e67/punchy.png" alt="Capture d'écran du jeu Punchy Fishfolk" title="Source : https://fishfolk.org/games/punchy/punchy.png"></p>
<p>Mais d'<a href="https://spicylobster.itch.io/jumpy/devlog/412030/welcome-to-the-world-of-fish-folk">autres projets basés</a> sur le même univers graphique sont également en développement comme :</p>
<ul>
<li>
<a href="https://github.com/fishfolk/ballsy">Ballsy</a> : un jeu de foot avec des poissons ;</li>
<li>
<a href="https://spicylobster.itch.io/sussyfish">Sussyfish</a> : un jeu de combat vu du dessus où il faut ramasser des armes et taper sur les autres ;</li>
<li>
<a href="https://github.com/fishfolk/bomby">Bomby</a> : bomberman revisité à la sauce poissons ;</li>
<li>
<a href="https://github.com/mrDIMAS/FishFolly">Folly</a> : jeu de plate-forme en 3D ;</li>
<li>
<strong>Party</strong> : des mini-jeux en 2D ;</li>
<li>
<strong>Drifty</strong> : un jeu de course en 3D.</li>
</ul>
<p>Fishfolk, ça n'est pas que le plaisir du jeu. C'est également le plaisir de la programmation ainsi que de la conception de niveaux. Fishfolk doit être vu comme une boite à outils pour créer et/ou modifier ses propres jeux vidéos. C'est dans cet esprit que l'équipe soutient les outils open source comme :</p>
<ul>
<li>
<a href="https://bevyengine.org/">Bevy</a> : un moteur de jeux vidéo piloté par les données («data-driven») ;</li>
<li>
<a href="https://github.com/fishfolk/bones">Bones</a> : un meta-moteur spécialisé pour fishfolk et basé sur Bevy ;</li>
<li>… et tout un tas d'outils expérimentaux pour la génération et l'édition de niveaux.</li>
</ul>
<p>Dans le but d'en faire un projet durable et massivement «moddable», les fondateurs de Fishfolk ont lancé un financement participatif sur la <a href="https://www.kickstarter.com/projects/erlendsh/fish-folk">plate-forme Kickstarter</a>.</p>
</div><div><a href="https://linuxfr.org/news/fishfolk-un-jeu-au-moteur-libre-code-en-rust.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/131375/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/fishfolk-un-jeu-au-moteur-libre-code-en-rust#comments">ouvrir dans le navigateur</a>
</p>
martoni
Nils Ratusznik
Elfir3
devnewton 🍺
Papey
palm123
dovik
Benoît Sibaud
Ysabeau 🧶 🧦
alberic89 🐧
https://linuxfr.org/nodes/131375/comments.atom
tag:linuxfr.org,2005:News/41491
2023-06-07T18:18:53+02:00
2023-06-07T18:18:53+02:00
Superflu Riteurnz
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>Le 15 mai est sorti un jeu que d’aucun attendait impatiemment : <a href="https://studios.ptilouk.net/superflu-riteurnz/">Superflu Riteurnz</a>. Jeu de type point-and-click à l’humour omniprésent. Cette dépêche se propose de présenter le jeu, son créateur et quelques retours des premiers joueurs.</p>
<p>Ce jeu n'est pas à l'heure actuelle libre. Le moteur du jeu SOSAGE est libre mais pas le jeu en lui-même. Celui-ci sera vraisemblablement entièrement libéré à la fin de cette année.</p>
<p>Le jeu est « <em>la conclusion d'un boulot de 3 ans et demi</em> » nous apprend son auteur, Simon (Gee) Giraudot.</p>
</div><ul><li>lien nᵒ 1 : <a title="https://studios.ptilouk.net/superflu-riteurnz/blog/" hreflang="fr" href="https://linuxfr.org/redirect/112101">Blog du jeu</a></li><li>lien nᵒ 2 : <a title="https://grisebouille.net/" hreflang="fr" href="https://linuxfr.org/redirect/112102">Grise Bouille - Blog de l'auteur</a></li><li>lien nᵒ 3 : <a title="https://ptilouk.itch.io/superfluous-returnz" hreflang="en" href="https://linuxfr.org/redirect/112103">Jeu sur itch.io</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#toc-lhistoire">L’histoire</a></li>
<li><a href="#toc-les-caract%C3%A9ristiques-du-jeu">Les caractéristiques du jeu</a></li>
<li><a href="#toc-l%C3%A9quipe-de-production">L’équipe de production</a></li>
<li><a href="#toc-un-jeu-qui-nest-pas-libre-pour-le-moment">Un jeu qui n’est pas libre (pour le moment)</a></li>
<li><a href="#toc-interview-de-gee">Interview de Gee</a></li>
<li>
<a href="#toc-les-avis-de-quelques-joueurs">Les avis de quelques joueurs</a><ul>
<li><a href="#toc-oumph">oumph</a></li>
<li><a href="#toc-bookynette">Bookynette</a></li>
<li><a href="#toc-louson">louson</a></li>
<li><a href="#toc-lebout2canap">lebout2canap</a></li>
<li><a href="#toc-ploum">Ploum</a></li>
<li><a href="#toc-geegeek">geegeek</a></li>
<li><a href="#toc-tisaac">tisaac</a></li>
</ul>
</li>
</ul>
<h2 id="toc-lhistoire">L’histoire</h2>
<p>Ce jeu est présenté par son créateur comme le jeu vidéo inutile du superhéros qui ne sert à rien.</p>
<p>En reprenant les mots de son créateur:</p>
<blockquote>
<p>Nous sommes à Fochougny, un village français très tranquille où réside le milliardaire Harpagon Lonion. Celui-ci se déguise régulièrement en Superflu, un superhéros fort inutile dans une si paisible campagne…</p>
<p>Aidé par son assistante Sophie, qui tente tant bien que mal de freiner les ardeurs de son employeur, il va tenter de mettre la main sur le mystérieux voleur de pommes qui terrorise les vergers de Fochougny…</p>
</blockquote>
<p>Votre mission ? Identifier ce délinquant et le retrouver dans le charmant village de Fochougny (ou ailleurs).</p>
<p>En fait, ce jeu est une sorte de deuxième tome des aventures de Superflu. Le premier ayant pris la forme d’une <a href="https://editions.ptilouk.net/superflu/">bande dessinée</a>. L’on retrouve bien les personnages et l’ambiance du premier tome dans ce jeu, mais il n’est absolument pas nécessaire d’avoir lu la bande dessinée avant d’y jouer.</p>
<h2 id="toc-les-caractéristiques-du-jeu">Les caractéristiques du jeu</h2>
<p>Il s’agit d’un jeu du type point-and-click (pointer et cliquer si vous voulez le traduire dans la langue de Molière mais l’usage semble être d’utiliser l’anglicisme). Ce sont des jeux qui se jouent complètement à la souris (même si dans le cas de Superflu Riteurnz, il est également jouable à la manette ou sur écran tactile). Vous êtes sur une scène et vous avez des objets sur lesquels vous pouvez cliquer, vous pouvez prendre des objets, vous pouvez combiner des objets ; vous pouvez dialoguer avec des gens, vous avez des choix de ce que vous allez dire et vos différentes actions vont (ou pas) déclencher certains évènements.</p>
<p>Des sources d’inspiration clairement assumées sont les jeux des années 90 développés par <a href="https://fr.wikipedia.org/wiki/Lucasfilm_Games">LucasArts</a>, qui était la boîte de George Lucas mais pour le jeu vidéo, tels que <a href="https://fr.wikipedia.org/wiki/Monkey_Island">Monkey Island</a>, <a href="https://fr.wikipedia.org/wiki/Monkey_Island">Day of the Tentacle</a> ou encore <a href="https://fr.wikipedia.org/wiki/Indiana_Jones_et_le_Myst%C3%A8re_de_l%27Atlantide">Indiana Jones et le Mystère de l’Atlantide</a> que certains vont même jusqu’à considérer comme le vrai Indiana Jones 4 à la place du film.</p>
<p>De cette inspiration, <a href="https://fr.wikipedia.org/wiki/Gee_(EP)">Gee</a> a repris principalement deux choses. </p>
<p>Premièrement, l’humour. Les jeux de LucasArts étaient, la plupart du temps, assez marrants. Vu que Gee est plutôt un auteur humoristique, notamment sur les bandes dessinées, ce n’est pas surprenant. </p>
<p>Deuxièmement, C’est un jeu très cool, très tranquille car comme on vous l’annonce dès le départ, il n’y a pas moyen de perdre, de mourir ou d’être coincé. Les énigmes sont parfois compliquées mais au pire vous pouvez toujours utiliser votre téléphone (dans le jeu) pour appeler le service des indices qui vous propose des indices de plus en plus explicites si vous en faites la demande.</p>
<p>Niveau esthétique, je vous laisse apprécier le style dessin animé 2D et coloré ci-dessous :</p>
<p><img src="https://img.linuxfr.org/img/68747470733a2f2f73747564696f732e7074696c6f756b2e6e65742f696d672f736f6369616c5f6e6574776f726b735f66722e706e67/social_networks_fr.png" alt="Les deux héros du jeu"></p>
<p>La notice publicitaire promet par ailleurs des dialogues ciselés et de l’humour omniprésent (sachant que la qualité des blagues est non-contractuelle). La <a href="https://aperi.tube/w/iPHK57U3PuPqRab3sDGdwM">bande annonce</a> permet également d’apprécier (ou pas) l’esthétique et l’humour de ce jeu.</p>
<p>Pour ce qui est des enfants, il n’y a pas de réelles contre-indications. Il n’y a rien de choquant, un peu de grossièretés mais très peu et il n’y a aucun truc hyper-vulgaire. En termes d’humour sans doute qu’il faut être au moins ado pour le comprendre et l’apprécier.</p>
<p>Le jeu est disponible sous Linux, Windows et Mac ainsi que sous Android. En termes de langue, il est possible de jouer en français et en anglais. Sur <a href="https://ptilouk.itch.io/superfluous-returnz">Itch.io</a>, on obtient toutes les versions y compris celle pour Android. Sur <a href="https://store.steampowered.com/app/1753370/Superflu_Riteurnz/">Steam</a>, vous n’obtiendrez pas la version Android qui n’est pas supporté par Steam. Par contre, vous aurez la possibilité de bénéficier de <a href="https://store.steampowered.com/app/1753370/Superflu_Riteurnz/">succès Steam</a>. Sur <a href="https://play.google.com/store/apps/details?id=net.ptilouk.superfluous">Google Play Store</a>, vous pouvez acheter, étonnamment, la version Android.</p>
<p>Si l’on s’intéresse à ce qui est utilisé sous le capot, on y retrouve</p>
<ul>
<li>Emacs pour le code et l’écriture des niveaux ;</li>
<li>QtCreator pour l’écriture du code et le débogage ;</li>
<li>CMake pour la configuration (gradle et cie pour la version Android) ;</li>
<li>g++ / clang++ pour la compilation ;</li>
<li>Inkscape pour les graphismes ;</li>
<li>Musescore et Ardour pour la musique (Musescore au départ, remplacé par Ardour qui est plus orienté rendu que Musescore – plus orienté partitions, quant à lui) ;</li>
<li>Audacity pour les sons.</li>
</ul>
<p>Celles et ceux qui s’intéressent à ce genre de choses liront avec grand intérêt les making-of qui ont régulièrement été publiés sur le <a href="https://studios.ptilouk.net/superflu-riteurnz/blog/">blog</a>. Ces making-of abordent aussi bien des problématiques pointues de programmation que des problématiques plus artistiques telles que les thèmes musicaux.</p>
<h2 id="toc-léquipe-de-production">L’équipe de production</h2>
<p>Si le texte ci-dessus parle au singulier du créateur de ce jeu, ce n’est clairement pas une erreur :</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f742d69736161632f746573742d776562736974652d7265706f2d333739362f6d61696e2f696d616765732f323133663362323939373165666663662e706e67/213f3b29971effcf.png" alt="Casting du jeu" title="Source : https://raw.githubusercontent.com/t-isaac/test-website-repo-3796/main/images/213f3b29971effcf.png"></p>
<p>Gee, cette personne visiblement incontournable dans la création de ce jeu se présente de la manière suivante sur <a href="https://framapiaf.org/@gee">Mastodon</a></p>
<blockquote>
<p>Gribouilleur, scribouillard, docteur en informatique (généraliste conventionné secteur 42), anar, irréaliste & irresponsable, compagnon de route de #Framasoft et de l’#April.</p>
</blockquote>
<p>Le 28 février 2023, Gee était l’invité de <a href="https://www.libreavous.org/169-bd-et-culture-libre-chatgpt-dans-l-eau-pituite-de-luk-sur-chatgpt">l’émission radio de l’April - Libre à Vous</a> - en compagnie de <a href="https://www.davidrevoy.com/">David Revoy</a> dont on retrouve <a href="https://www.librealire.org/emission-libre-a-vous-diffusee-mardi-28-fevrier-2023-sur-radio-cause-commune">la retranscription</a> réalisée par le groupe <a href="https://www.librealire.org/">Transcriptions</a> de l’<a href="https://www.april.org/">April</a>. Il s’y présentait un peu plus longuement :</p>
<blockquote>
<p>J’avais dit « auteur multimédia ». C’est un terme un peu bizarre, c’est pour dire que je fais beaucoup de choses, je fais de la BD mais aussi des romans, de la <a href="https://grisebouille.net/category/jukebox/">musique</a>, je travaille sur un jeu vidéo, je fais aussi des chroniques radio ici de temps en temps.</p>
<p>Pour mon parcours, je vais essayer d’aller vite […]. Je pense que tout le monde dit un peu ça, en gros je fais du dessin depuis que je suis tout petit. J’avais un peu arrêté à l’adolescence parce que c’était plus stylé de faire de la guitare, même si, en vrai, ça ne m’a jamais apporté beaucoup de popularité, peu importe !</p>
<p>J’ai fait une prépa scientifique après le bac, je ne me suis pas orienté vers l’art. Quand tu fais une prépa de ce style-là, tout le monde te dira que tu mets un peu les loisirs de côté, du coup j’avais un peu laissé tomber tout ce qui était dessin, musique, tout ça. Quand je me suis retrouvé en école d’ingénieur avec, finalement, beaucoup de temps libre, eh bien je me suis dit que j’allais reprendre et c’est un peu sur un coup de tête que j’ai ressorti une veille tablette graphique Wacom que j’avais et je me suis lancé dans un blog qui s’appelait Le Geektionnerd à l’époque, c’était en 2009, ça commence à faire !</p>
<p>J’ai fait une thèse d’informatique et j’ai travaillé comme développeur et, il y a un an et demi, à l’été 2021, je me suis dit que j’en avais un peu marre de faire de l’art juste sur le temps libre, du coup j’ai quitté mon boulot, j’ai tout plaqué pour devenir auteur à plein temps.</p>
</blockquote>
<p><a href="https://fr.wikipedia.org/wiki/GEE_(navigation)">Gee</a> était aussi passé dans <a href="https://www.libreavous.org/161-des-nouvelles-de-framasoft-sobriete-numerique-transcriptions">l’émission du 6 décembre 2022</a> (<a href="https://www.librealire.org/emission-libre-a-vous-diffusee-mardi-6-decembre-2022-sur-radio-cause-commune">transcription</a>) en compagnie de Pouhiou qui présentait son comparse en ces termes:</p>
<blockquote>
<p>Toi, Gee, tu es plutôt, quand même, un chantre de la culture libre. On t’a pas mal connu, à l’origine, avec des BD, notamment le fameux Geektionnerd, GKND, etc., à la fois un dictionnaire de BD, plein de jeux de mots pour apprendre les mots nerds et geeks, et puis aussi toute une histoire avec des personnages qui découvraient ce monde-là et qui se lançaient dedans. Maintenant, tu es auteur illustrateur du blog Grise Bouille. Tu es aussi, me semble-t-il, docteur convention 42 en informatique, […] Et évidemment, tu es la moitié d’un Connard professionnel et membre de Framasoft, on en parlera aussi.</p>
</blockquote>
<p>Bon, reprenons tout cela dans l’ordre ou pas mais avec un soupçon d’informations en plus.</p>
<p>Chronologiquement, le <a href="https://geektionnerd.net/">Geektionnerd</a> est la première production publique d’importance de <a href="https://fr.wiktionary.org/wiki/gee">Gee</a>. C’était un webcomic qui a été publié entre avril 2009 et novembre 2014. Chaque article utilisait le prétexte d’une définition d’un mot (ou d’une expression) pour enchaîner en image, les jeux de mots idiots, les références geeks et parfois un peu de politique. Les plus de 1600 articles sont toujours consultables. La version aujourd’hui en ligne est en quelque sorte une réédition sous forme d’un site statique et avec quelques commentaires de Gee devenu (plus) grand. En effet, le Geektionnerd est clairement une œuvre de jeunesse et aussi bien le contexte que l’auteur ont évolué et ce dernier n’écrirait pas aujourd’hui tout pareil. </p>
<p>Au sein du Geektionnerd, se sont glissées des histoires longues dénommées <em>GKND</em> qui par la suite ont connu une publication sous forme de <a href="https://editions.ptilouk.net/gknd/">livres</a> dont LinuxFr.org avait d’ailleurs fait mention (dépêches pour les trois premiers tomes <a href="//linuxfr.org/news/parution-de-geektionnerd-t1-rencontre-du-troisieme-type">1</a>, <a href="//linuxfr.org/news/geektionnerd-tome-2-le-gnu-du-risque">2</a>, <a href="//linuxfr.org/news/geektionnerd-tome-3-licence-de-la-vie">3</a>). Dans cette série, on suit les péripéties de trois étudiants passionnés de sciences et d’informatique. Des soirées étudiantes au Club Info, des bars de Grenoble aux massifs du Vercors, leurs aventures les amèneront jusqu’à voyager dans le temps !</p>
<p>Fatigué du rythme quotidien, Gee met <a href="https://geektionnerd.net/fin/">un terme au Geektionnerd en novembre 2014</a> mais n’abandonne pas pour autant le monde de la bande dessinée. Il lance <a href="https://grisebouille.net/">Grise Bouille</a> en janvier 2015 avec les objectifs suivants :</p>
<ul>
<li>un blog au format plus long, plus réfléchi avec une fréquence réduite ;</li>
<li>avec un ton plus accessible pour s’adresser à un public au-delà de la communauté libriste ;</li>
<li>privilégier la qualité sur la quantité ;</li>
<li>aller au-delà de la blague pour la blague ; </li>
<li>proposer un contenu varié, amusant et intéressant ;</li>
<li>en termes de sujets, la règle générale est de ne rien s’interdire.</li>
</ul>
<p><a href="https://deslivresencommuns.org/post/grisebouille/">Grise Bouille</a> connaîtra aussi une publication sous forme de livre. Il y aura un autre produit dérivé : <a href="https://framalab.org/gknd-creator/">GéGé le générateur de Grise Bouille</a> qui n’est rien d’autre qu’un <em>rebranding</em> de <a href="https://framablog.org/2013/01/04/cadeau-le-geektionnerd-a-faire-soi-meme/">Gégé le Générateur de Geektionnerd</a> qui au cours de son histoire aura connu quelques <a href="https://framablog.org/2017/09/22/un-cas-de-dopage-gege-sous-lemprise-du-dr-valvin/">améliorations</a>.</p>
<p>À côté de la bande-dessinée, Gee s’essaie également au roman ou à la nouvelle comme <a href="https://deslivresencommuns.org/post/wchf/">Working Class Heroic Fantasy</a> ou plus récemment <a href="https://editions.ptilouk.net/auberge/">Une Auberge dans la tempête</a>. Également publié en 2022 - bien que le projet soit bien plus ancien sur le <a href="https://connard.pro/episodes.html">web</a> - <a href="https://deslivresencommuns.org/post/connardpro/">Le Guide du connard professionnel</a> est une œuvre un peu hybride mélangeant texte (plus que dans une bande dessinée) et dessins (plus que dans un roman ou un essai). Ce dernier livre est commis en duo avec <a href="https://fr.wikipedia.org/wiki/Pouhiou">Pouhiou</a> aux textes et <a href="https://fr.wikipedia.org/wiki/Gee_(rappeur)">Gee</a> aux dessins. Duo qui ne s’arrêtera pas à la littérature vu qu’une <a href="https://connard.pro/conferences.html">conférence théâtralisée</a> en sera aussi tirée.</p>
<p>Gee est aussi un des poignets ouvriers de <a href="https://framasoft.org/fr/">Framasoft</a> (c’est comme des chevilles, mais plus orienté dessinateurs). Il est également membre de l’<a href="https://www.april.org/trombinoscope.php?letter=g">April</a> pour laquelle il intervient dans l’émission <a href="https://www.libreavous.org/">Libre à vous</a> sur <a href="https://cause-commune.fm/">Radio Cause Commune</a> avec sa chronique <a href="https://www.libreavous.org/les-humeurs-de-gee">Les humeurs de Gee</a>. Ces implications au sein de Framasoft et de l’April sont des expressions de l’engagement de Gee dans le monde du libre, engagement que l’on peut aussi voir dans les licences utilisées vu que tout ce qui est abordé dans cette section se trouve sous licence libre. </p>
<p>Il y a aussi des choses que Gee n’a pas fait, ainsi à notre connaissance il n’est pour rien dans les <a href="//linuxfr.org/news/les-geekscottes-publiees-par-in-libro-veritas">Geekscottes</a>.</p>
<h2 id="toc-un-jeu-qui-nest-pas-libre-pour-le-moment">Un jeu qui n’est pas libre (pour le moment)</h2>
<p>Ce jeu est pour le moment non libre. Le code du moteur du jeu SOSAGE (pour Superfluous Open Source Adventure Game Engine) est sous licence GNU GPL. La plupart des <em>assets</em> seront d’abord non libres pour inciter au maximum à l’achat du jeu, puis, après quelques mois (sans doute fin 2023) ils seront publiés sous licence CC-By-SA. (<a href="https://twitter.com/ptilouk/status/1654056125950488576">source</a>). La musique est disponible sur <a href="https://aperi.tube/w/p/5RuuaMFoFkH6xvWRkZwmgv">PeerTube</a> et se trouve déjà sous licence CC-By-SA.</p>
<p>Voici ce qu’en disait Gee dans l’<a href="https://www.libreavous.org/176-les-actions-d-abbeville-pour-le-logiciel-libre-les-humeurs-de-gee-superflu">émission de Libre à vous du 16 mai</a> (<a href="https://www.librealire.org/emission-libre-a-vous-diffusee-mardi-16-mai-2023-sur-radio-cause-commune">transcription</a>) :</p>
<blockquote>
<p>Au départ, je comptais en faire un logiciel libre. C’est vrai que tout ce que je publie, depuis que je suis sur Internet, est sous licence libre, il n’y a vraiment pas d’exception, c’est vrai que c’est la première exception. Honnêtement on va dire que c’est venu d’une peur. Je disais tout à l’heure que je suis devenu auteur à 100 % en essayant d’en dégager un revenu. Le fait est que ça va faire deux ans et que, pour le moment, je suis toujours en train de creuser dans mon épargne, mais elle n’est pas infinie, plus je creuse et plus je vois le fond qui se rapproche. C’est vrai que je compte beaucoup sur ce jeu pour éventuellement m’apporter un revenu. J’ai des financements participatifs qui me rapportent un petit peu, ce n’est pas mal, sinon, le seul truc que je vends vraiment, ce sont des bouquins, mais les bouquins, finalement, se vendent assez peu. Je me suis dit qu’un jeu vidéo pouvait peut-être se vendre plus facilement. Mais, du coup, si le jeu vidéo est sous licence libre, même si je n’en fournis pas d’exécutable compilé — je m’étais dit : au pire je donne les sources, mais je ne le compile pas —, il suffit que quelqu’un le compile, le mette en ligne, et le jeu est disponible gratuitement pour tout le monde. J’ai vraiment eu peur de cet effet. D’autant plus que les gens qui me connaissent sont, la plupart du temps, des gens du logiciel libre, connaissent ce genre de mécanisme de licence libre, il y en pas mal qui savent compiler. Je me dis qu’il y en a beaucoup qui ne vont pas l’acheter, qui vont juste profiter de la version libre qui sera gratuite.</p>
<p>C’est un peu cette peur qui m’a poussé à me dire que, pour le moment, les données ne sont pas libres. Le moteur est toujours libre ; si vous achetez le jeu, vous avez les données, vous pouvez recompiler le jeu, vérifier que je ne mine pas de bitcoins sur votre ordi avec le code source, mais c’est vrai que les données ne sont pas disponibles librement. C’est une entorse. Je me suis dit qu’elles seront libérées sous licence libre plus tard ; je n’ai pas donné de date, mais, raisonnablement, je pense que ce sera à la fin de l’année 2023 ; honnêtement ce n’est pas arrêté, mais je pense que ce sera mon cadeau de Noël, avec la réflexion qui est soit le jeu a bien marché et, dans ce cas-là, je peux libérer les données, soit il n’a pas marché et, dans ce cas-là, de toute façon, je ne pourrai plus compter dessus, il faudra que je trouve une autre source de revenus qu’être auteur. La question se posera différemment.</p>
</blockquote>
<h2 id="toc-interview-de-gee">Interview de Gee</h2>
<p>Pour cette interview, plutôt que de répéter les questions pertinentes d’Étienne Gonnu (et les réponses non moins pertinentes de Gee) dans le cadre de l’<a href="https://www.libreavous.org/176-les-actions-d-abbeville-pour-le-logiciel-libre-les-humeurs-de-gee-superflu">émission Libre à Vous du 16 mai</a>, il a semblé plus pertinent de poser d’autres questions (peut-être parfois un peu décalées). On vous encourage à aller écouter <a href="https://www.libreavous.org/176-les-actions-d-abbeville-pour-le-logiciel-libre-les-humeurs-de-gee-superflu">l’émission</a> ou à aller lire sa <a href="https://www.librealire.org/emission-libre-a-vous-diffusee-mardi-16-mai-2023-sur-radio-cause-commune">transcription</a> en complément de cette dépêche.</p>
<p><strong>Tu te présentes parfois comme un auteur multimédia pour exprimer le fait que tu fais beaucoup de choses. Dans ce beaucoup de choses, il y a aussi de la musique. J’ai l’impression que ce côté-là est moins connu pour la plupart. Que conseillerais-tu à écouter à une personne qui souhaiterait découvrir ton côté musicien/chanteur ? As-tu par ailleurs des projets spécifiques côté musique pour le moment ?</strong></p>
<p>Alors je vais botter en touche sur cette question et répondre : écoutez <a href="https://aperi.tube/w/p/5RuuaMFoFkH6xvWRkZwmgv">la BO de Superflu Riteurnz</a> :D</p>
<p>C’est 100 % de l’instru, donc il n’y a pas ma voix, mais par contre c’est clairement le truc le plus abouti et varié que j’ai fait (y’a de l’orchestral, du blues, du rock, un peu d’électro, des trucs dissonants parfois…).</p>
<p>Côté chansons, la vérité c’est que je compose toujours plein de trucs, mais j’en enregistre très peu. Et j’ai tendance à me lasser vite de ce que j’ai composé, et à juger durement et donc avoir du mal à réécouter les trucs enregistrés il y a longtemps (et donc à en enregistrer peu, vous suivez ?).</p>
<p>Bon allez… disons que <a href="https://grisebouille.net/le-temps-des-cerises/">ma reprise du Temps des cerises</a>, j’en suis toujours content, même si, de fait, c’est pas moi qui l’ai composée. Mais j’ai quand même fait un arrangement que je trouve chouette, avec <a href="https://grisebouille.net/le-temps-des-cerises-tutoriel/">un petit tuto</a> d’ailleurs.</p>
<p>Côté projets, comme d’hab, j’ai des chansons de côté que je me dis régulièrement qu’il faudrait que j’enregistre… mais qui finiront sans doute aux oubliettes. C’est vraiment le côté artistique que j’ai le plus de mal à montrer (sans doute parce que c’est celui où je me sens le moins légitime, vu que c’est pas humoristique).</p>
<p><strong>La date de sortie initialement prévue de ton jeu était juin 2022. Au final, le jeu est sorti le 15 mai 2023. Cette expérience te pousse-t-elle à être plus compréhensif avec la ponctualité de la SNCF ?</strong></p>
<p>Haha :D</p>
<p>(Blague à part, soutien au personnel SNCF qui doit gérer la merde de décennies de désinvestissements et de cassage de service public !)</p>
<p>Quand je vois le boulot que j’ai dû abattre cette dernière année pour aller au bout du jeu, je me dis que j’étais sacrément optimiste sur la première date de sortie… J’avais pas mal sous-estimé le temps que me prendrait l’aspect graphique du jeu. Notamment les animations, quand tu fais du 12 images/seconde à la main, même en copiant-collant des trucs et en trichant un peu, ça prend des plombes.</p>
<p>Anecdote : je me souviens avoir passé une grosse après-midi sur une animation : à la fin de la journée, je regarde le résultat. C’était top, j’en étais très content… mais elle faisait 5 ou 6 secondes en tout. Une demi-journée de travail pour 5 secondes, ça pique.</p>
<p>Bref, il y avait un proverbe qui tournait pas mal quand le dernier Zelda n’arrêtait pas d’être repoussé : « un bon jeu sorti en retard restera pour toujours un bon jeu, un mauvais jeu sorti à l’heure restera quand même pour toujours un mauvais jeu ». Je ne sais pas de qui c’est, mais j’y souscris pas mal : ce qui compte, finalement, c’est le résultat. Le retard est chiant sur le moment, mais c’est pas un truc qu’on retient des années plus tard.</p>
<p><strong>Pour ce jeu, tu as développé un moteur de jeu spécifique (SOSAGE). Pourquoi ce choix (vs utiliser un moteur de jeu existant) ? Quelles sont les spécificités de SOSAGE par rapport aux autres moteurs disponibles aujourd’hui sous licence libre ?</strong></p>
<p>Tiens, bah j’ai pas mal évoqué cette question dans mon texte <a href="https://grisebouille.net/je-ne-veux-pas-etre-efficace/">« Je ne veux pas être efficace »</a>. Je te copie-colle un morceau :</p>
<blockquote>
<p>On me demande régulièrement : « pourquoi partir de zéro au lieu d’utiliser un moteur de jeu existant, comme celui de Godot ? » Une question pertinente s’il en est.</p>
<p>Au départ, je cherchais beaucoup à me justifier, à expliquer que je me sentais plus à l’aise avec du C++ brut qu’avec un logiciel que je ne connaissais pas, que c’était aussi un exercice pour comprendre étape de la création d’un jeu vidéo, sans me faire mâcher le travail… Tout cela est vrai, au passage. Pourtant, plus ça va, et plus, à la question « pourquoi ne pas utiliser Godot ? », j’ai envie de répondre, à la Bonisseur de La Bath : « pas envie ».</p>
<p>En réalité, coder un logiciel de A à Z, ça me plaît, ça me motive, allez, je le dis : ça me rend heureux. Apprendre à utiliser un logiciel comme Godot, d’accord, je suis persuadé que c’est très intéressant et sans aucun doute plus efficace, mais… ben ça me gonfle. J’ai pas envie, c’est tout.</p>
</blockquote>
<p>Quant aux spécificités du moteur… mmmh, il est inutilisable pour faire un autre jeu et illisible à part par moi ? :D</p>
<p>Bon, je plaisante, mais en vrai il y a quand même pas mal de trucs hardcodés (notamment côté interface) et il n’est pas assez documenté en l’état actuel. Ce qui fait que je l’aime bien, on va dire, c’est que tu peux facilement créer des pièces/niveaux sans avoir besoin d’outils compliqués : tu fais tes images avec le logiciel que tu veux, pareil pour les sons, et ensuite faut juste écrire les niveaux en YAML (avec un bête éditeur de texte) en utilisant une certaine syntaxe. C’est cette syntaxe et ce formalisme qu’il faudrait que je documente, car quand tu as pigé comment ça marchait, ça devient relativement facile de créer tes propres niveaux (et donc éventuellement ton propre jeu). Comme pour le reste, ça fait partie de la foultitude de trucs que je voudrais faire si j’avais assez de temps…</p>
<p><strong>La plupart de tes productions web ont connues une seconde vie sous forme de livre. Sera-ce aussi le cas de Superflu Riteurnz ?</strong></p>
<p>Il faut savoir que le jeu est d’abord parti d’une idée de livre : un livre « escape game ». C’est pas exactement comme les livres dont vous êtes le héros, mais en gros tu as des pièces représentées avec des objets, en les combinant tu calcules des codes qui te donnent un numéro de page pour voir le résultat, etc. Bref, au bout d’un moment je me suis dit que si on faisait ça en version interactive, ça ressemblait furieusement à un point and click, et paf, je me suis lancé dans le développement du jeu.</p>
<p>C’est pour ça que l’intro du jeu (les deux premières pièces) font très escape game : pièces fermées, beaucoup d’objets et de codes, etc. La suite ressemble plus à un point and click classique, avec un petit monde ouvert à visiter et beaucoup plus de dialogues.</p>
<p>De fait, je ne sais pas trop si c’est vraiment adaptable en livre à jouer. Il faudrait que j’y réfléchisse…</p>
<p>Une autre idée qu’on m’a suggéré, c’est de faire un « artbook » du jeu. Le souci, c’est que comme je bosse en numérique, j’ai finalement assez peu de « brouillons » et de trucs du style (quand je bosse sur Inkscape, je vire les trucs inutiles au fur et à mesure, donc il me reste surtout le résultat final). Donc pas sûr d’avoir beaucoup de choses intéressantes à montrer à part les graphismes finaux qui sont dans le jeu.</p>
<p><strong>Ce jeu est-il le résultat de ton génie, de ton talent ou de ton travail ?</strong></p>
<p>Pour ça, je laisse la parole à <a href="https://ploum.net/2023-06-02-genie-talent-travail-superflu.html">Ploum</a> (vu la tournure de la question, c’était soit une référence à cet article soit un sacré coïncidence). (<em>N.D.L.R : nous reconnaissons et assumons la référence ;-)</em> )</p>
<p>Je ne crois pas trop au génie, et de toute façon c’est un terme beaucoup trop excessif pour que je l’utilise (« ne jamais péter plus haut que son cul pour éviter d’avoir du caca derrière les oreilles »).</p>
<p>Bon, par contre, oui, j’ai beaucoup bossé… mais pas seulement pour le jeu. En fait, je raconte souvent ça comme ça, mais ce jeu est un peu l’aboutissement de tous les trucs artistiques (et techniques) auxquels je me suis essayé ces 15 dernières années : dessin numérique, écriture, musique et programmation. C’est la première œuvre qui profite de l’ensemble de mes compétences, et de cette assez longue expérience. Donc je ne pense pas que ce jeu soit « génial » (même si je n’ai eu quasiment que des retours positifs pour l’instant), par contre je pense qu’il a pour lui d’avoir une identité très prononcée, ma « patte » on va dire.</p>
<p><strong>Il est évident (pour moi) que le tome 3 des aventures de Superflu sera du théâtre (ou du cinéma). Qui vois-tu pour jouer les différents rôles et pourquoi ?</strong></p>
<p>Aargh, mais c’est pas gentil comme question, ça, parce que du coup je vais chercher un casting et ça va me prendre trois plombes :p</p>
<p>Bon, je mélange des acteurs/actrices de France et des États-Unis. Pour les raisons, c’est souvent avant tout pour la ressemblance physique :</p>
<ul>
<li>Superflu : Ryan Reynolds. Ouais je sais, il a déjà fait Deadpool comme superhéros, mais il a une bonne gueule, et il sait très bien jouer ce mélange de beau-gosse et d’abruti ;</li>
<li>Sophie : Anaïs Démoustier, pour le côté simple/naturel mais qui peut très bien balancer des vannes ;</li>
<li>Superficiel : pas facile, je connais pas trop d’acteur de 15-16 ans… Joker pour celui-là. Tu me castes un jeune qui sait bien jouer le p’tit con de base, et ça ira ;</li>
<li>Anne Toufrotte : Maya Rudolph, elle serait parfaite à prendre Superflu pour un abruti (qu’il est, d’ailleurs) ;</li>
<li>Capitaine Tidlove : Nick Offerman. Bon, en vrai y’a sans doute mieux, mais je suis biaisé parce que je pense « acteur avec une grosse moustache ». Galabru aurait sans doute été pas mal si on avait fait ça dans les années 80 ;</li>
<li>Le joueur d’orgue : Pierre Richard ;</li>
<li>Le barman : Roschdy Zem ;</li>
<li>La cliente du bar : Yollande Moreau ! Qui d’autre, sérieux ?</li>
<li>Le barbu sur le banc : Gérard Lanvin, grosse voix bourrue (et bourr… ahem)</li>
<li>La maman de Superficiel : Laure Calamy, sans conviction. C’est pas le personnage avec la personnalité la plus développée de l’histoire, faut être honnête…</li>
</ul>
<p><strong>J’ai peur que mon fils me pose des questions si je le laisse jouer à ton jeu dont des questions auxquelles je ne sais pas répondre. Pourrais-tu m’aider ? Comment lui expliquer en mots simples et compréhensibles le théorème de Kuratowski ?</strong></p>
<p>Ben pardon, mais c’est dit très clairement dans le jeu : le théorème de Kuratowski dit qu’un graphe est planaire si, et seulement si, il ne contient aucun sous-graphe qui soit une subdivision de K5 ou K3,3. Je ne vois pas trop comment je peux être plus clair, ça me semble couler de source.</p>
<p>(Pour les gens qui ne pigent pas, il y a un dialogue dans le jeu avec des questions sur des théorèmes de maths, rapport au fait que j’ai soutenu une thèse de géométrie algorithmique dans une autre vie.)</p>
<p><strong>Si David Revoy venait te dire qu’il souhaite que Pepper and Carott soit transposé dans un point and click , quels conseils lui donnerais-tu ?</strong></p>
<p>Simplifie ton style ou sous-traite, sinon t’en as pour 10 ans :D</p>
<p>Sérieux : j’ai mis un moment à faire les graphismes, mais j’ai un style relativement simple et relativement rapide à réaliser. David a un style autrement plus fouillé/travaillé/abouti que le mien (non je ne suis pas jaloux, simplement très admiratif <3), et je sais d’expérience qu’il met d’autant plus de temps à produire un dessin. Alors je n’imagine pas le temps nécessaire, ne serait-ce que pour faire une quinzaine de décors avec les objets qui vont avec, sans parler des animations et des personnages… Après, on serait beaucoup à y jouer je pense, ce serait un chouette projet !</p>
<p>(Psst, David… je peux m’occuper de la partie technique, si besoin, hein :D)</p>
<h2 id="toc-les-avis-de-quelques-joueurs">Les avis de quelques joueurs</h2>
<h3 id="toc-oumph">oumph</h3>
<p>La super fée Tha touareg s’est penchée sur le berceau de ce jeu : une ambiance « pointer et cliquer » à l’ancienne, quand les ordinateurs étaient fixes, les sons de blaster et que le VGA n’était pas encore ce câble que l’on jette désormais lors des déménagements ; une musique rythmée accompagne la démo ; le tout est caractérisé par un ton humoristique drôle et à potentiel comique. Il mérite grandement ces 4 manchots sur l’échelle qui compte plusieurs barreaux : 🐧🐧🐧🐧.</p>
<h3 id="toc-bookynette">Bookynette</h3>
<p>Jeu à l’image de son auteur, humour mordant, yeux pétillants.<br>
Vous jouez Superflu et parfois son assistante Sophie, qui enquêtent sur le vol des pommes de la ferme d’Anne Toufrotte. Et pour cela vous allez poser des questions pertinentes (ou pas, ou pas encore) à toutes les personnes du village: le barman du bar MPU, le cabinet médical, Capitaine Tidlove de la gendarmerie, le château d’eau et le joueur d’orgue de Barbarie devant l’ancienne école n’auront plus aucun secret pour vous. Je m’y replonge dès que possible!</p>
<h3 id="toc-louson">louson</h3>
<p>Une bonne poilade qui termine en fanfare. Merci pour ce jeu qui tourne nativement :)</p>
<h3 id="toc-lebout2canap">lebout2canap</h3>
<p>Si vous aimez les point’n click façon LucasArts (certains dialogues sont particulièrement savoureux, et les énigmes ne sont pas en reste), et si vous avez des affinités de gauche (il y a un achievement Humour de droite, ça donne le ton), foncez.</p>
<p>Il m’a pris 6 h (sans l’aide aux énigmes intégrées), mais c’est le travail (programmation, animations, dialogues, musique, DA, puzzles, tout) d’une seule personne […] sur 3,5 ans.</p>
<h3 id="toc-ploum">Ploum</h3>
<p>Le jeu a été la source d’un incroyable moment en famille avec les enfants, qui ont ensuite voulu lire la BD. Étant fan de point-n-click, j’ai été surpris par la qualité, par la jouabilité et par le fun simple et direct dégagé par le jeu. Bref, j’ai adoré.</p>
<p>Et ça m’a fait gamberger sur la notion de talent, travail et génie :<br>
<a href="https://ploum.net/2023-06-02-genie-talent-travail-superflu.html">https://ploum.net/2023-06-02-genie-talent-travail-superflu.html</a></p>
<h3 id="toc-geegeek">geegeek</h3>
<p>Comme j’apprécie les dessins de Gee depuis un moment, j’ai créé un compte steam pour l’occasion (je suis plus un très gros joueur…).<br>
Ça fonctionne plutôt bien sur une vieille machine comme la mienne, même les phases d’animation, bravo !<br>
Et puis je me suis bien marré, dommage que le jeu soit si court.</p>
<h3 id="toc-tisaac">tisaac</h3>
<p>Comme beaucoup la principale critique que je ferais à ce jeu (ou devrais-je dire le principal regret que j’ai) c’est qu’on le termine avec un goût de trop peu. Je pense que j’ai mis 4h30 avec un recours au service des indices peut-être un peu élevé au début. Par la suite, une fois qu’on a compris le type de réponse aux énigmes, c’est plus simple de se débrouiller seul même si parfois on continue à bien se creuser les méninges.</p>
<p>Clairement un très chouette jeu, cohérent dans le sens où il n’y a rien parmi les dialogues, le style, la musique… qui cloche par rapport au reste.</p>
<p>Si quelqu’un hésite à acheter le jeu, je dirais 1) achète le, c’est aussi un bon moyen de soutenir Gee 2) si vraiment tu hésites encore, teste la démo ! Elle est bien représentative de l’ensemble du jeu (même si ce dernier recèle quelques passages différents tels que l’inénarrable course poursuite).</p>
<p>Ma seule inquiétude concerne le respect du bien-être animal (surtout pour les échidnés) et adolescent.</p>
</div><div><a href="https://linuxfr.org/news/superflu-riteurnz.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/131121/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/superflu-riteurnz#comments">ouvrir dans le navigateur</a>
</p>
tisaac
Benoît Sibaud
Ysabeau 🧶 🧦
Bookynette
Julien Jorge
louson
ploum
geegeek
Zenitram
https://linuxfr.org/nodes/131121/comments.atom
tag:linuxfr.org,2005:News/41519
2023-05-25T09:21:40+02:00
2023-05-27T16:33:19+02:00
Entretien avec Kannagi à propos de NGDK
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>Kannagi développe <a href="https://github.com/Kannagi/NGDK">un SDK pour créer des jeux pour la console Neo Geo</a>, cet entretien revient sur son parcours et les raisons qui l’ont amené à s’intéresser à cette console.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f372f37322f4e656f2d47656f2d4145532d436f6e736f6c652d5365742e6a70672f36343070782d4e656f2d47656f2d4145532d436f6e736f6c652d5365742e6a7067/640px-Neo-Geo-AES-Console-Set.jpg" alt="Console Neo Geo, source Wikimedia, © Evan-Amos 2012" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/7/72/Neo-Geo-AES-Console-Set.jpg/640px-Neo-Geo-AES-Console-Set.jpg"></p>
</div><ul><li>lien nᵒ 1 : <a title="https://github.com/Kannagi/NGDK" hreflang="en" href="https://linuxfr.org/redirect/112184">Dépôt github</a></li><li>lien nᵒ 2 : <a title="https://kannagidev.wordpress.com/" hreflang="fr" href="https://linuxfr.org/redirect/112185">Site de Kannagi</a></li><li>lien nᵒ 3 : <a title="https://mag.mo5.com/68128/les-podcasts-de-mo5-com-32-la-neo%c2%b7geo-a-25-ans/" hreflang="fr" href="https://linuxfr.org/redirect/112194">Un podcast sur la console</a></li><li>lien nᵒ 4 : <a title="https://www.grospixels.com/site/neogeo.php" hreflang="fr" href="https://linuxfr.org/redirect/112195">Le dossier de grospixels</a></li><li>lien nᵒ 5 : <a title="https://neogeospirit.com/" hreflang="fr" href="https://linuxfr.org/redirect/112196">Un site de passionés</a></li><li>lien nᵒ 6 : <a title="http://system16.com/museum.php?id=13" hreflang="en" href="https://linuxfr.org/redirect/112197">Les autres systèmes de SNK en arcade</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li>
<ul>
<li>
<a href="#toc-partie-1-pr%C3%A9sentation">Partie 1: présentation</a><ul>
<li><a href="#toc-qui-%C3%AAtes-vous-quel-est-votre-parcours-et-est-il-li%C3%A9-aux-jeux-vid%C3%A9os">Qui êtes-vous, quel est votre parcours et est-il lié aux jeux vidéos ?</a></li>
</ul>
</li>
<li>
<a href="#toc-partie-2--la-neo-geo">Partie 2 : La Neo Geo</a><ul>
<li><a href="#toc-comment-en-%C3%AAtes-vous-venu-%C3%A0-vous-int%C3%A9resser-%C3%A0-la-neo-geo">Comment en êtes-vous venu à vous intéresser à la Neo Geo ?</a></li>
<li><a href="#toc-quest-ce-que-cette-console-a-de-particulier">Qu’est-ce que cette console a de particulier ?</a></li>
<li><a href="#toc-que-dire-de-ses-processeurs-motorola-68000-et-zilog-z80">Que dire de ses processeurs (Motorola 68000 et Zilog Z80) ?</a></li>
<li><a href="#toc-comment-fonctionne-son-processeur-graphique">Comment fonctionne son processeur graphique ?</a></li>
<li><a href="#toc-comment-fonctionne-laudio">Comment fonctionne l’audio ?</a></li>
<li><a href="#toc-quels-services-fournit-le-bios-existe-t-il-des-versions-alternatives-libres">Quels services fournit le BIOS ? Existe-t-il des versions alternatives ? Libres ?</a></li>
<li><a href="#toc-quelle-est-votre-manette-pr%C3%A9f%C3%A9r%C3%A9e">Quelle est votre manette préférée ?</a></li>
<li><a href="#toc-quelle-est-la-diff%C3%A9rence-entre-les-diff%C3%A9rentes-versions-mvs-aes-cd-cdz-mini">Quelle est la différence entre les différentes versions (MVS, AES, CD, CDZ, mini…) ?</a></li>
<li><a href="#toc-les-%C3%A9mulateurs-neo-geo-sont-ils-bons">Les émulateurs Neo Geo sont-ils bons ?</a></li>
<li><a href="#toc-quels-sont-vos-jeux-commerciaux-pr%C3%A9f%C3%A9r%C3%A9s-sur-cette-console">Quels sont vos jeux commerciaux préférés sur cette console ?</a></li>
<li><a href="#toc-quels-sont-vos-jeux-homebrew-pr%C3%A9f%C3%A9r%C3%A9s-sur-cette-console">Quels sont vos jeux « homebrew » préférés sur cette console ?</a></li>
</ul>
</li>
<li>
<a href="#toc-partie-3-ngdk">Partie 3 : NGDK</a><ul>
<li><a href="#toc-pourquoi-cr%C3%A9er-un-sdk-pour-un-si-vieux-syst%C3%A8me">Pourquoi créer un SDK pour un si vieux système ?</a></li>
<li><a href="#toc-quelles-ont-%C3%A9t%C3%A9-les-difficult%C3%A9s-pour-le-concevoir">Quelles ont été les difficultés pour le concevoir ?</a></li>
<li><a href="#toc-quelles-sont-les-fonctionnalit%C3%A9s-de-ngdk">Quelles sont les fonctionnalités de NGDK ?</a></li>
<li><a href="#toc-est-ce-quil-g%C3%A8re-divers-accessoires-cartes-m%C3%A9moires-manette-mahjong">Est-ce qu’il gère divers accessoires (cartes mémoires, manette Mahjong) ?</a></li>
<li><a href="#toc-est-ce-que-vous-participez-%C3%A0-la-cr%C3%A9ation-de-jeux-neo-geo">Est-ce que vous participez à la création de jeux Neo Geo ?</a></li>
<li><a href="#toc-est-ce-que-des-jeux-amateurs-ou-commerciaux-sont-d%C3%A9velopp%C3%A9s-avec-ngdk">Est-ce que des jeux amateurs ou commerciaux sont développés avec NGDK ?</a></li>
<li><a href="#toc-quels-conseils-donnez-vous-aux-gens-qui-se-lancent-dans-le-d%C3%A9veloppement-de-jeux-neo-geo">Quels conseils donnez-vous aux gens qui se lancent dans le développement de jeux Neo Geo ?</a></li>
<li><a href="#toc-est-ce-que-vous-aimeriez-vivre-de-ce-projet">Est-ce que vous aimeriez vivre de ce projet ?</a></li>
</ul>
</li>
<li>
<a href="#toc-partie-4-pour-finir">Partie 4: pour finir</a><ul>
<li><a href="#toc-que-dire-sur-vos-autres-projets">Que dire sur vos autres projets ?</a></li>
<li><a href="#toc-vous-avez-des-projets-en-cours">Vous avez des projets en cours ?</a></li>
<li><a href="#toc-au-niveau-personnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ?</a></li>
<li><a href="#toc-au-niveau-professionnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau professionnel, quels logiciels libres utilisez-vous, sur quel OS ?</a></li>
<li><a href="#toc-quelle-est-votre-distribution-gnulinux-pr%C3%A9f%C3%A9r%C3%A9e-et-pourquoi-quels-sont-vos-logiciels-libres-pr%C3%A9f%C3%A9r%C3%A9s">Quelle est votre distribution GNU/Linux préférée et pourquoi, quels sont vos logiciels libres préférés ?</a></li>
<li><a href="#toc-quelle-question-auriez-vous-ador%C3%A9-quon-vous-pose">Quelle question auriez-vous adoré qu’on vous pose ?</a></li>
<li><a href="#toc-quelle-question-auriez-vous-d%C3%A9test%C3%A9-quon-vous-pose">Quelle question auriez-vous détesté qu’on vous pose ?</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="toc-partie-1-présentation">Partie 1: présentation</h3>
<h4 id="toc-qui-êtes-vous-quel-est-votre-parcours-et-est-il-lié-aux-jeux-vidéos">Qui êtes-vous, quel est votre parcours et est-il lié aux jeux vidéos ?</h4>
<p>Alors je n’aime pas les présentations en général, mais je m’appelle Samy, j’ai 34 ans, je suis né à Marseille et je suis actuellement développeur web — oui très loin du Jeux vidéo ou du bas niveau (malheureusement). La raison est qu’il est plus compliqué de travailler sur ces branches et on ne peut pas travailler vraiment de partout. L’avantage du développeur web est qu’on peut y travailler partout et assez facilement (dans le sens ou on peut trouver toujours une boite d’informatique qui en demande, même en province). J’ai été pendant un temps développeur Jeux vidéo en free-lance pour Android et IOS, mais assez mal payé et avec des deadlines assez serrées, j’ai vite arrêté.</p>
<p>En amateur j’ai programmé sur de nombreuses consoles en assembleur de la Nes à la PS2.</p>
<h3 id="toc-partie-2--la-neo-geo">Partie 2 : La Neo Geo</h3>
<h4 id="toc-comment-en-êtes-vous-venu-à-vous-intéresser-à-la-neo-geo">Comment en êtes-vous venu à vous intéresser à la Neo Geo ?</h4>
<p>C’est à cause d’un jeu : King of Fighters 98, j’adorais ce jeu et aussi Windjammer que j’ai connu sur borne d’arcade. Mais j’ai plus connu la Neo Geo via les compilations sur Playstation 2, la Neo Geo coûtait bien trop cher pour moi gamin. Mais je me suis au final acheté une MVS.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f632f63662f4e454f47454f5f5468655f4b696e675f6f665f46696768746572735f25323739385f2532385468655f4b696e675f6f665f46696768746572735f25323739385f2d5f5468655f536c7567666573745f2d5f5468655f4b696e675f6f665f46696768746572735f25323739385f2d5f447265616d5f4d617463685f4e657665725f456e64732532392e706e67/NEOGEO_The_King_of_Fighters_%2798_%28The_King_of_Fighters_%2798_-_The_Slugfest_-_The_King_of_Fighters_%2798_-_Dream_Match_Never_Ends%29.png" alt="King of Fighters 98" title="Source : https://upload.wikimedia.org/wikipedia/en/c/cf/NEOGEO_The_King_of_Fighters_%2798_%28The_King_of_Fighters_%2798_-_The_Slugfest_-_The_King_of_Fighters_%2798_-_Dream_Match_Never_Ends%29.png"></p>
<h4 id="toc-quest-ce-que-cette-console-a-de-particulier">Qu’est-ce que cette console a de particulier ?</h4>
<p>D’un point de vue technique ?</p>
<p>Difficile à dire, disons qu’en tant que console de salon, elle est unique parce qu’elle prend des technos qu’on ne voit généralement que sur arcade. Je m’explique, la plupart des consoles 8/16 bits font en général ROM->VRAM. La Neo Geo ne fait pas cela, parce que les ROM sont littéralement des VRAM. La seule autre console qui le faisait était la NES ! C’est pour cela que les portages sur console PS1 ou Saturn étaient assez complexes et pas aussi fidèles que les originaux : quand vous avez plusieurs mégas de ROM, c’est comme si vous aviez plusieurs mégas de VRAM, or des consoles comme la PS1 qui avait 1 méga de VRAM, sont un peu limites !</p>
<p>Une particularité qu’elle a et c’est qu’elle n’a pas de Background hardware, ce n’est que des sprites, le fond ne sont que des sprites assemblés. La particularité aussi c’est qu’elle peut assembler des sprites hardware, cela a un nom, mais j’ai oublié, l’avantage c’est que ça évite pas mal de calcul.</p>
<p>Sur SNES ou Mega drive, vous pouvez faire des « macro sprite » pour faire par exemple des sprites de 64x64, mais du coup vous devez déplacer les 4 sprites individuellement (de 32x32). Alors que la Neo Geo le fait automatiquement. Elle gère aussi l’animation des tiles niveau hardware.</p>
<p>Une chose que j’aimerais dire pour la suite, la Neo Geo a donc au moins 5 ROM différentes, toutes dédiées :</p>
<ul>
<li>les ROM PX, pour programme qui contiennent le programme et les données du jeu,</li>
<li>les ROM CX, ils contiennent les sprites du jeu,</li>
<li>Les ROM VX, qui contiennent les SFX du jeu (en format ADPCM),</li>
<li>les ROM MX, qui contiennent le programme sonore et les partitions des musiques,</li>
<li>la ROM S1, qui contient les données pour le fix (un arrière-plan pour le HuD).</li>
</ul>
<p>Si vous dézippez une ROM Neo Geo, vous les verrez, vous savez maintenant à quoi elles correspondent et à quoi elles servent !</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f632f63302f4e656f2d47656f2d4145532d4361727472696467652d426f74746f6d2e6a70672f36343070782d4e656f2d47656f2d4145532d4361727472696467652d426f74746f6d2e6a7067/640px-Neo-Geo-AES-Cartridge-Bottom.jpg" alt="Une cartouche contenant les ROMs d’un jeu" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/c/c0/Neo-Geo-AES-Cartridge-Bottom.jpg/640px-Neo-Geo-AES-Cartridge-Bottom.jpg"></p>
<h4 id="toc-que-dire-de-ses-processeurs-motorola-68000-et-zilog-z80">Que dire de ses processeurs (Motorola 68000 et Zilog Z80) ?</h4>
<p>Je ne dirais pas grand-chose de spécial, parce que ce sont des processeurs assez connus et pas vraiment exotiques.</p>
<p>L’avantage du <a href="https://fr.wikipedia.org/wiki/Motorola_68000">M68000</a>, c’est qu’il possède un compilateur GCC (que j’utilise pour mon SDK), du coup ça aide pas mal. C’est un processeur assez simple et agréable à coder en assembleur.</p>
<p>Pour celles et ceux qui ne le savent pas le M68000 était partout, sur console comme la Mega Drive, sur ordinateur comme l’Amiga ou l’Atari St, voir le X68000 (un ordinateur japonais). Sur une bonne partie des bornes d’arcades, etc. Par contre cela se voit que c’est un processeur peu utilisé de nos jours, c’est un des rares où j’arrive à battre GCC en assembleur, alors que sur du x86 GCC me bat à plate couture. </p>
<p>Et, bien sur, le M68000 est donc le processeur principal de la Neo Geo ! :D</p>
<p>Le code se trouve dans le P1 qui fait 1 Mio max, on peut faire plus, mais là on fait du bankswitch, la Neo Geo est pensée pour, niveau hardware. Le bankswitch est qu’il y a 1Mio que vous pouvez déplacer, si par exemple vous avec 10 Mio de Programme vous avez 1 Mio que vous pouvez « sélectionner ». Mais, dans les faits, 1 Mio est largement suffisant, sauf si vous avez beaucoup de données.</p>
<p>Pour le <a href="https://fr.wikipedia.org/wiki/Zilog_Z80">Z80</a>, je n’en suis pas grand fan, mais il sert de processeur audio de la Neo Geo. Je n’ai pas grand-chose à dire parce que je ne l’aime pas beaucoup, même si un processeur ultra courant, qui se trouve sur Master System ou la Game Boy par exemple. Sans parler des micro-ordinateurs qui s’en équipent.</p>
<h4 id="toc-comment-fonctionne-son-processeur-graphique">Comment fonctionne son processeur graphique ?</h4>
<p>Alors que dire, c’est une console assez simpliste de ce côté là. Alors comme toute console de l’époque, les sprites sont associés à une palette. La Neo Geo possède donc 256 palettes, et sur ces palettes vous pouvez mettre 16 couleurs, chaque couleur est sur 16 bits soit 65536 couleurs disponibles. Un Sprite fait 16 × 16 px à 16 × 512 px (mais le 16 × 512 est considéré comme ayant 32 tiles de 16 pixels). Donc si vous voulez avoir un sprite de 128 × 128, sur Neo Geo, cela ne vous coûte que 8 sprites. Un Background coûte en général 32 sprites (on le fait en 512 × 512 pour faciliter le scrolling). Vous avez un total de 380 sprites.</p>
<p>Et comme dit auparavant, on peut fusionner les sprites niveau hardware et les controller comme s’il n’y en avait qu’un seul ! Vous pouvez dézoomer les sprites, eh oui sur Neo Geo on ne peut pas zoomer, même si les jeux faisaient cet « effet », les sprites zoomés n’étaient que des gros sprites qu’on dézoomait !</p>
<p>Niveau concret, il est assez simple à utiliser le processeur graphique, on ne fait qu’écrire sur la VRAM via des I/O. Elle reste la console, à mon sens, la plus facile à programmer des consoles 16 bits.</p>
<h4 id="toc-comment-fonctionne-laudio">Comment fonctionne l’audio ?</h4>
<p>L’audio dans la scène homebrew n’est pas forcément trop exploré. Son processeur audio est très proche du YM2608. Le chipset de la Neo Geo c’est le YM2610.</p>
<p>Le YM2608 a équipé les <a href="https://fr.m.wikipedia.org/wiki/PC-88">PC-88</a> et <a href="https://fr.m.wikipedia.org/wiki/PC-98">PC98</a>, ce sont des ordinateurs qui étaient populaires au Japon, ils avaient 70% du marché. Du coup, ce n’est pas « idiot » de penser que les compositeurs sur Neo Geo le faisaient pour PC-88 car la transformation pour le YM2610 est assez « simple ».</p>
<p>Le chipset sonore est composé comme ceci :</p>
<ul>
<li>4 canaux de synthèse FM</li>
<li>3 canaux de SSG</li>
<li>6 canaux ADPCM fixe à 18,5 Khz</li>
<li>1 canal ADPCM modulaire</li>
</ul>
<p>Que veut dire tout cela ?</p>
<p>La synthèse FM assez populaire dans les années 80/90 permet de simuler un instrument pour quasiment « rien », il faut « juste » quelques réglages et quelques octets donc pour faire un instrument existant ou pas d’ailleurs.</p>
<p>Le SSG, ce sont des signaux triangle/carré, donc ça fait souvent le bruit d’un bip. Le ADPCM, c’est une compression 4 bits du PCM, le PCM (8 ou 16 bits) c’est ce qu’on trouve généralement dans un format WAV. Il a un canal modulaire vu qu’il a 6 de fixe, comparé à ce qu’on peut croire 18,5 KHz c’est très suffisant. Alors de nos jours certains ont besoin de 96000Hz apparemment…, mais je doute qu’on voie une vraie différence.</p>
<p>Et pourquoi cette fréquence fixe ?</p>
<p>Parce que c’est principalement fait pour jouer un son (une explosion, une voix, un coup) et à cette fréquence le son est d’assez bonne qualité. Même si je pense qu’un 16KHz est suffisant pour du SFX. Le modulaire, est parfait pour jouer un instrument, pour celles et ceux qui connaissent un peu la musique, il y a des notes et des octaves, en général on joue un sample (par exemple, un piano ou une guitare), on module son son pour jouer au final une partition.</p>
<p>La différence avec la version PC-88/PC-98,c’est que l’ADPCM fixe n’était pas modifiable, l’ordinateur venait avec 6 instruments fixe qu’on ne peut pas modifier. Alors que sur Neo Geo vous pouvez les modifier sans soucis.</p>
<h4 id="toc-quels-services-fournit-le-bios-existe-t-il-des-versions-alternatives-libres">Quels services fournit le BIOS ? Existe-t-il des versions alternatives ? Libres ?</h4>
<p>Alors aussi étonnant que cela puisse paraître, je me suis pas plongé dans les méandres du BIOS de la Neo Geo. Il fournit diverses choses, je l’utilise principalement pour <em>clear</em> la VRAM et autre chose. Mais il fournit divers services pour le CD, la gestion des manettes, des jetons, etc., etc.</p>
<p>J’imagine que vous le savez, il existe bel et bien une version libre (<em>NDM : il y a des <a href="http://unibios.free.fr/download.html">restrictions sur l’utilisation</a></em>) du BIOS de la Neo Geo qui est UniBios. Mais, comme je suis un vieux barbu, je pourrais pas vous en dire plus, je suis à l’ancienne à taper tout via des IO !</p>
<h4 id="toc-quelle-est-votre-manette-préférée">Quelle est votre manette préférée ?</h4>
<p>Le Stick arcade ! Sinon, ça ne sera pas partagé par tout le monde, mais j’aime beaucoup la manette PS2 !</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f372f37332f4e656f2d47656f2d4145532d436f6e74726f6c6c65722d464c2e6a70672f38303070782d4e656f2d47656f2d4145532d436f6e74726f6c6c65722d464c2e6a7067/800px-Neo-Geo-AES-Controller-FL.jpg" alt="Le stick arcade de la Neo Geo" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/7/73/Neo-Geo-AES-Controller-FL.jpg/800px-Neo-Geo-AES-Controller-FL.jpg"></p>
<h4 id="toc-quelle-est-la-différence-entre-les-différentes-versions-mvs-aes-cd-cdz-mini">Quelle est la différence entre les différentes versions (MVS, AES, CD, CDZ, mini…) ?</h4>
<p>Les différences sont vraiment minimes surtout entre les versions MVS et AES. Je sais que les PCB peuvent être différentes et que les versions Arcade peuvent être un peu plus « légères » que leur version AES.</p>
<p>La CD et CDZ, me semble que la différence est juste la vitesse du CD, le CDZ charge deux fois plus vite (c’est pas négligeable). Sinon la grosse différence est qu’un CD n’étant pas une ROM, les versions CD n’ont que 7 Mio de RAM pour charger les ROMs, ce qui est pas « énorme » pour une Neo Geo.</p>
<p>Ils sont répartis comme cela :</p>
<ul>
<li>68000 program memory : 2 Mio</li>
<li>Fix layer memory : 128 Kio</li>
<li>Graphics memory : 4 Mio</li>
<li>Sound sample memory : 1 Mio</li>
<li>Z80 program memory : 64 Kio</li>
</ul>
<p>Et avec les 150 Ko/secondes du lecteur CD, je vous laisse imaginer pourquoi les temps de chargement sont si longs ! Les autres différences sont que les ROM sont différents aussi, j’ai oublié d’indiquer, cela fait longtemps, mais je suis sûr que pour les ROM C1/C2, par exemple, les pixels sont divisés entre les deux pour le même sprite, ce n’est pas le cas de la CD ou les pixels sont linéaires.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f302f30322f4e656f2d47656f2d43445a2d77436f6e74726f6c6c65722d464c2e706e672f38303070782d4e656f2d47656f2d43445a2d77436f6e74726f6c6c65722d464c2e706e67/800px-Neo-Geo-CDZ-wController-FL.png" alt="La Neo Geo CDZ Z Z, elle a tous les pouvoirs" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/0/02/Neo-Geo-CDZ-wController-FL.png/800px-Neo-Geo-CDZ-wController-FL.png"></p>
<h4 id="toc-les-émulateurs-neo-geo-sont-ils-bons">Les émulateurs Neo Geo sont-ils bons ?</h4>
<p>Bon dans quel sens ? Proche du hardware de la machine ?</p>
<p>Non, il y a deux erreurs que j’avais faites et qui ne marchaient pas sur une vraie console. Il y a une latence à respecter avec le processeur graphique (il faut écrire dessus tout les 12 cycles), alors que tous les émulateurs s'en foutent royalement. Ce que je ne savais pas, c’est que la première couleur de la palette sert à régler un peu toutes les couleurs, du coup j’avais un bug étrange qui était que toutes les couleurs tournaient au vert. Mais aucun émulateur ne le faisait et affichait les « vraies » couleurs.</p>
<p>Et il existe sûrement plein de choses comme ça.</p>
<p>Mais, si on parle de jeux, oui les émulateurs sont assez bons pour retranscrire les jeux originaux. Pour du dev, clairement pas (même MAME).</p>
<h4 id="toc-quels-sont-vos-jeux-commerciaux-préférés-sur-cette-console">Quels sont vos jeux commerciaux préférés sur cette console ?</h4>
<p>Oh ! Beaucoup trop, mais je vais citer Windjammers ! Kof 98, 2000,2002, Last Blade 2, Fatal Fury Real Bout spécial, les Metal Slug, Blazing Star et Aero Fighter 2. </p>
<p>Bon, de mon point de vue, il n’y a que très peu de mauvais jeux sur cette console.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f382f38372f4e454f47454f5f57696e646a616d6d6572735f253238466c79696e675f506f7765725f446973632532392e706e67/NEOGEO_Windjammers_%28Flying_Power_Disc%29.png" alt="Windjammers" title="Source : https://upload.wikimedia.org/wikipedia/en/8/87/NEOGEO_Windjammers_%28Flying_Power_Disc%29.png"></p>
<h4 id="toc-quels-sont-vos-jeux-homebrew-préférés-sur-cette-console">Quels sont vos jeux « homebrew » préférés sur cette console ?</h4>
<p>Ah ben aucun, j’en ai joué à aucun pour le moment <sup><sup>’</sup></sup></p>
<h3 id="toc-partie-3-ngdk">Partie 3 : NGDK</h3>
<h4 id="toc-pourquoi-créer-un-sdk-pour-un-si-vieux-système">Pourquoi créer un SDK pour un si vieux système ?</h4>
<p>Parce que je trouvais pas de SDK facile à prendre en main pour la Neo Geo, que c’est une de mes consoles favorites et que j’aime la programmation bas niveau et les jeux vidéo :)</p>
<h4 id="toc-quelles-ont-été-les-difficultés-pour-le-concevoir">Quelles ont été les difficultés pour le concevoir ?</h4>
<p>Disons tous les outils pour faciliter le dev, ce n’est pas seulement une lib. Et l’autre et la partie audio que je n’ai pas terminée.</p>
<h4 id="toc-quelles-sont-les-fonctionnalités-de-ngdk">Quelles sont les fonctionnalités de NGDK ?</h4>
<p>Le SDK permet de gérer facilemement pour vous le fix, la palette, les sprites, la création de backgrounds, la fusion des sprites, le dézoom et la gestion du joystick. Il permet aussi de pouvoir compiler dessus sur windows et Linux, la gestion des ressources (sprite / palette) et la gestion des maps.</p>
<h4 id="toc-est-ce-quil-gère-divers-accessoires-cartes-mémoires-manette-mahjong">Est-ce qu’il gère divers accessoires (cartes mémoires, manette Mahjong) ?</h4>
<p>Ah ah non aucun désolé !</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f77696b692e6e656f67656f6465762e6f72672f696d616765732f642f64632f4d61686a6f6e675f636f6e74726f6c6c65722e6a7067/Mahjong_controller.jpg" alt="La manette Mahjong" title="Source : https://wiki.neogeodev.org/images/d/dc/Mahjong_controller.jpg"></p>
<h4 id="toc-est-ce-que-vous-participez-à-la-création-de-jeux-neo-geo">Est-ce que vous participez à la création de jeux Neo Geo ?</h4>
<p>Oui et non, le seul jeu que j’aimerais faire c’est un beat them all à la Double Dragon. C’est un genre qui manque un peu sur cette console je trouve.</p>
<h4 id="toc-est-ce-que-des-jeux-amateurs-ou-commerciaux-sont-développés-avec-ngdk">Est-ce que des jeux amateurs ou commerciaux sont développés avec NGDK ?</h4>
<p>Il y a des jeux amateurs qui sont développés dessus, je ne pense pas qu’un soit terminé, mais c’est cool de voir des démos tourner avec mon SDK ! :)</p>
<h4 id="toc-quels-conseils-donnez-vous-aux-gens-qui-se-lancent-dans-le-développement-de-jeux-neo-geo">Quels conseils donnez-vous aux gens qui se lancent dans le développement de jeux Neo Geo ?</h4>
<p>Je conseille de savoir coder en C, d’être un minimum à l’aise dessus.</p>
<h4 id="toc-est-ce-que-vous-aimeriez-vivre-de-ce-projet">Est-ce que vous aimeriez vivre de ce projet ?</h4>
<p>Quelle question !</p>
<p>Oui bien sûr, mais j’ai arrêté de rêver <sup>_^</sup></p>
<h3 id="toc-partie-4-pour-finir">Partie 4: pour finir</h3>
<h4 id="toc-que-dire-sur-vos-autres-projets">Que dire sur vos autres projets ?</h4>
<p>J’ai deux autres projets, un qui est un <a href="https://github.com/Kannagi/CRT">CRT</a> pour émulateur disponible sur FBNeo et un <a href="https://github.com/Kannagi/LMP3D">moteur 3D pour les consoles Dreamcast/PS2/GameCube</a>.</p>
<p>(Et cela me fait un peu de pub pour mon github). Alors j’aurais beaucoup de chosex à dire sur ces projets mais ça serait très très long.</p>
<p><em>NDM : ces projets feront peut-être l’objet de nouveaux entretiens, si vous êtes un spécialiste des CPU ou de la 3D, n’hésitez pas à contacter <a href="//linuxfr.org/users/devnewton/">devnewton</a> pour aider à préparer des questions pertinentes</em>.</p>
<h4 id="toc-vous-avez-des-projets-en-cours">Vous avez des projets en cours ?</h4>
<p>Alors oui, et il est toujours en cours, c’est de créer un processeur (rien que ça oui).</p>
<p>Cela fait 15 ans que je suis passionné de micro-architecture et je trouve l’architecture des PC ou des processeurs aberrantes, ce n’est clairement pas le choix que j’aurais fait.<br>
Et on touche à des machines très diverses : forcément l’idée m’est venu de compiler toutes ces connaissances.</p>
<p>C’est un processeur VLIW, qui devient de plus en plus EPIC, en gros je ne fais ni du CISC, ni du RISC. J’ai des raisons bien précises de ne pas en faire, je ne suis pas un fan inconditionnel du RISC, pour la simple raison que pour moi l’ISA doit représenter en partie le fonctionnement interne du processeur. Pour cela que je me tourne sur du VLIW ou EPIC pour rendre toute cela bien plus explicite.</p>
<p>Mon processeur est un processeur vraiment exotique même dans sa catégorie, vous pouvez voir le projet <a href="https://github.com/Kannagi/AltairX">ici</a>.</p>
<p>Le but étant de le faire tourner sur FPGA (voir de le graver via un kickstarter). J’ai fait un assembleur, une VM et on travaille avec d’autres pour faire un compilateur avec LLVM (et si des personnes sont motivées par un tel projet, elles sont les bienvenues). C’est un projet passionnant qui m’a apporté pas mal de connaissances, mais aussi la certitude que je dois le finir.</p>
<p>Je pense que ma solution ou proposition est une vraie alternative aux micro-architectures actuelles.</p>
<p>Surtout avec l’arrivée du RISC-V qui semble un peu pousser tout le monde sur cette architecture. Je n’ai rien contre cette architecture, mais j’ai toujours une préférence pour MIPS et je trouve qu’on y fonde peut-être trop d’espoirs pour « rien ». C’est un MIPS mis au goût du jour, et « open source », je mets entre guillemet parce que seul l’ISA est open source, pas l’implémentation et ça change tout ! :) C’est un peu comme si on disait « ah oui mais l’API Linux est open source mais pas son noyau », c’est un peu pareil avec le RISC-V. Alors on peut faire une implémentation open source, mais vous imaginez bien que pour le moment ce n’est pas trop le cas.</p>
<p>La raison pour laquelle je ne fais pas du RISC-V est comme dit, je veux que l’ISA soit très explicite. RISC-V n’est pas neutre dans sa conception (comme le mien d’ailleurs), et sa vision reste seulement orientée pour des hautes performances, l’ISA est pensé pour du Superscalaire Out of Order, ce que je ne veux pas faire absolument.</p>
<p>Pour en revenir à mon processeur, l’avantage serait que, si ça marche, il pourrait avoir de bonnes performances avec une consommation et un coût réduit.</p>
<h4 id="toc-au-niveau-personnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ?</h4>
<p>Alors je tourne sur <a href="https://mxlinux.org/">MX-Linux</a> (avec <a href="https://xfce.org/">XFCE</a>), donc que des logiciels libres en général.</p>
<p>Firefox comme navigateur web favori, oui je n’aime pas Google chrome ! :D</p>
<p>Je n’aime pas non plus <a href="https://fr.libreoffice.org/">LibreOffice</a>, du coup j’utilise OnlyOffice.</p>
<p>Pour le Dev, j’utilise VS Code, <a href="https://www.codeblocks.org/">Code::Block</a>, <a href="https://www.geany.org/">Geany</a> et QT Créator (suivant les langages et les projets).</p>
<p>J’utilise <a href="https://www.gimp.org/">GIMP</a>, je remarque que peu de personnes de mon entourage savent l’utiliser alors que je le trouve plus facile qu’avant (il y a 15 ans, je vous assure que c’était une horreur à utiliser).</p>
<p>J’utilise toujours Thunar comme exploreur de fichier et le Mousepad comme editeur de texte rapide, peu importe la distribution.</p>
<p>Niveau émulateur j’aime beaucoup <a href="https://github.com/finalburnneo/FBNeo">FB Neo</a> et <a href="https://mednafen.github.io/">mednafen</a> qui me permet de ne pas trop changer d’émulateur peu importe la machine.</p>
<p>Je suis aussi contributeur de FB Neo.</p>
<h4 id="toc-au-niveau-professionnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau professionnel, quels logiciels libres utilisez-vous, sur quel OS ?</h4>
<p>Au boulot, c’est Ubuntu, VSCode et tous les navigateurs disponibles, mais j’utilise beaucoup Firefox par habitude.</p>
<h4 id="toc-quelle-est-votre-distribution-gnulinux-préférée-et-pourquoi-quels-sont-vos-logiciels-libres-préférés">Quelle est votre distribution GNU/Linux préférée et pourquoi, quels sont vos logiciels libres préférés ?</h4>
<p>Alors moi j’ai fait Ubuntu, Fedora et maintenant MX-Linux et pour le moment MX-Linux j’adore, léger et robuste c’est ce qui me convient le mieux.</p>
<h4 id="toc-quelle-question-auriez-vous-adoré-quon-vous-pose">Quelle question auriez-vous adoré qu’on vous pose ?</h4>
<p>Je dirais les questions en rapport avec la micro-architecture ou de mon processeur !</p>
<h4 id="toc-quelle-question-auriez-vous-détesté-quon-vous-pose">Quelle question auriez-vous détesté qu’on vous pose ?</h4>
<p>Si je devais être honnête, j’ai plein de questions que je déteste qu’on me pose. Et donc je ne les dirai pas ! Mais, en général, je n’aime pas les gens qui me disent « pourquoi tu n’utilises pas ça au lieu de ça », en général mes choix sont assez réfléchis. Mais souvent ce sont des questions qui peuvent être naïves sur tel ou tel sujet ou choix de ma part.</p>
</div><div><a href="https://linuxfr.org/news/entretien-avec-kannagi-a-propos-de-ngdk.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/131333/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/entretien-avec-kannagi-a-propos-de-ngdk#comments">ouvrir dans le navigateur</a>
</p>
devnewton 🍺
Ysabeau 🧶 🧦
bobble bubble
Benoît Sibaud
orfenor
Kannagichan
Nils Ratusznik
https://linuxfr.org/nodes/131333/comments.atom
tag:linuxfr.org,2005:News/41510
2023-05-21T16:14:53+02:00
2023-05-21T16:14:53+02:00
Wesnoth : Il y a mille façons de contribuer...
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>Suite à l’excellente dépêche sur <a href="//linuxfr.org/news/traduction-de-kde-une-activite-essentielle-portee-par-la-communaute-kde-francophone">la localisation de KDE</a>, je voulais vous parler aujourd’hui d’un autre projet qui me tient à cœur : <a href="https://www.wesnoth.org">Wesnoth</a>, aussi appelé La Bataille pour Wesnoth (BFW pour les intimes).</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f7765736e6f74682f7265736f75726365732f6d61737465722f736f6369616c2d6d656469612d6173736574732f6d61696e2d747261696c65722d7468756d622e706e67/main-trailer-thumb.png" alt="Logo du projet La Bataille pour Wesnoth" title="Source : https://raw.githubusercontent.com/wesnoth/resources/master/social-media-assets/main-trailer-thumb.png"></p>
</div><ul><li>lien nᵒ 1 : <a title="https://www.wesnoth.org/" hreflang="en" href="https://linuxfr.org/redirect/112157">Page d'accueil du jeu</a></li><li>lien nᵒ 2 : <a title="https://forums.wesnoth.org/" hreflang="en" href="https://linuxfr.org/redirect/112158">Forums autours du projet</a></li><li>lien nᵒ 3 : <a title="https://wiki.wesnoth.org/Create" hreflang="en" href="https://linuxfr.org/redirect/112159">Page du wiki sur la création de contenus</a></li><li>lien nᵒ 4 : <a title="https://wiki.wesnoth.org/FrenchTranslation" hreflang="fr" href="https://linuxfr.org/redirect/112160">Page du wiki sur la localisation française</a></li><li>lien nᵒ 5 : <a title="https://github.com/wesnoth/wesnoth" hreflang="en" href="https://linuxfr.org/redirect/112161">Dépot GitHub du projet</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#toc-introduction">Introduction</a></li>
<li>
<a href="#toc-pr%C3%A9sentation-du-projet">Présentation du projet</a><ul>
<li><a href="#toc-caract%C3%A9ristiques">Caractéristiques</a></li>
</ul>
</li>
<li>
<a href="#toc-comment-contribuer">Comment contribuer</a><ul>
<li><a href="#toc-je-suis-d%C3%A9veloppeur-amateur-ou-professionnel">Je suis développeur, amateur ou professionnel</a></li>
<li><a href="#toc-je-suis-un-artiste">Je suis un artiste</a></li>
<li><a href="#toc-heu-je-ne-suis-rien-de-tout-%C3%A7a">Heu, je ne suis rien de tout ça</a></li>
<li><a href="#toc-cest-bien-beau-tout-%C3%A7a-mais-je-pr%C3%A9f%C3%A8re-jouer">C'est bien beau tout ça, mais je préfère jouer</a></li>
<li><a href="#toc-jai-de-super-id%C3%A9es-pour-le-jeu-mais-difficiles-%C3%A0-int%C3%A9grer-sans-tout-changer">J'ai de super idées pour le jeu, mais difficiles à intégrer sans tout changer</a></li>
</ul>
</li>
<li><a href="#toc-conclusion">Conclusion</a></li>
</ul>
<h2 id="toc-introduction">Introduction</h2>
<p>La localisation est un processus de grande ampleur, mais qui a cette particularité : s’il est correctement effectué, vous ne le verrez pas. S’il est mal effectué, cela saute tout de suite aux yeux.<br>
Tout comme un logiciel tout bugué ou avec une interface pourrie est désagréable, un logiciel mal localisé est irritant.</p>
<p>Mais le monde du libre vous donne un incroyable pouvoir, celui de contribuer…</p>
<h2 id="toc-présentation-du-projet">Présentation du projet</h2>
<p>The Battle for Wesnoth est un projet de logiciel open source hébergé sur GitHub, créé et maintenu par The Battle for Wesnoth Project, une équipe internationale de bénévoles d’horizons divers. Conçu en 2003 par David White, Wesnoth a suscité l’intérêt d’une multitude de fans qui ont depuis contribué à différents aspects du jeu tels que le codage du moteur, la création de contenu, le développement artistique et musical, la traduction, l’empaquetage, les tests et la gestion de la communauté.</p>
<p>Explorez le monde de Wesnoth et participez à ses nombreuses aventures ! Lancez-vous dans une quête désespérée pour récupérer votre trône légitime… Fuyez les seigneurs liches vers un nouveau foyer de l’autre côté de la mer… Plongez dans les profondeurs les plus sombres de la terre pour fabriquer un joyau de feu… Défendez votre royaume contre les hordes ravageuses d'un immonde nécromancien… Ou menez une bande de survivants à travers les sables brûlants pour affronter un mal invisible.</p>
<h3 id="toc-caractéristiques">Caractéristiques</h3>
<ul>
<li>Une variété de campagnes différentes, chacune avec ses propres défis tactiques, une histoire riche en émotions et plusieurs niveaux de difficulté ;</li>
<li>Un monde et une histoire détaillés avec des centaines de sprites, d'animations et de personnages ;</li>
<li>De nombreuses compétences et caractéristiques d’unités différentes à travers plusieurs factions ;</li>
<li>Un éditeur de cartes avec de nombreux outils, des centaines de types de terrain et la possibilité de sauvegarder et de partager des cartes avec d’autres joueurs. Créez vos propres scénarios/batailles pour une rejouabilité quasi infinie ;</li>
<li>Hautement moddable, permettant un large éventail de packs de cartes, d’époques et de campagnes entières créés par la communauté ;</li>
<li>Jeu multijoueur en ligne et local pour jouer avec des amis, des inconnus ou contre l'IA ;</li>
<li>Paramètres modifiables pour le jeu de base, avec des options presque illimitées pour différentes configurations de touches de raccourci ;</li>
<li>Une liste de musiques magnifiquement composée qui capture l’époque et la grandeur de ce monde de haute fantaisie rempli d'histoire.</li>
</ul>
<h2 id="toc-comment-contribuer">Comment contribuer</h2>
<p>La réponse est simple : en mettant vos talents au service de la communauté.<br>
Que vous soyez développeur ou artiste, écrivain ou lecteur, moddeur ou joueur, il y a toujours quelque chose qui vous rend unique et donc utile.</p>
<h3 id="toc-je-suis-développeur-amateur-ou-professionnel">Je suis développeur, amateur ou professionnel</h3>
<p>Vous trouverez sûrement votre bonheur sur le <a href="https://github.com/wesnoth/wesnoth">dépôt GitHub</a> du projet. Les langages de programmation principalement utilisés sont le C++, le Lua et le Python.</p>
<p>Vous pouvez apporter des améliorations au code déjà existant, ajouter fonctionnalités…<br>
Vous pouvez aussi aider à résoudre les issues (plus de 1000 tickets ouverts), ou relire les <em>pulls request</em> (une bonne cinquantaine de demandes de fusion ouvertes).</p>
<p>En bref, faites tout ce qu’il vous plaira !</p>
<h3 id="toc-je-suis-un-artiste">Je suis un artiste</h3>
<p>Vous avez du pain sur la planche ! Que vous préfériez le pixel art ou le style semi-réaliste, il y a mille choses à faire. Avec les ajouts de nouvelles unités au jeu (et notamment les Dunefolks), de nombreuses unités n’ont pas de portrait, ou aucune animation.<br>
Vous pouvez y remédier !</p>
<p>Il y a aussi la possibilité d’aider à la traduction des images, une partie méconnue, mais néanmoins importante du processus de localisation.</p>
<p>Vous êtes musicien ? On n’attend que vous pour proposer de nouvelles musiques au jeu, des effets sonores…</p>
<p>N’hésitez pas à vous balader sur <a href="https://wiki.wesnoth.org/Create/fr">les pages du wiki</a> ou sur <a href="https://forums.wesnoth.org/">le forum</a> pour en apprendre plus.</p>
<h3 id="toc-heu-je-ne-suis-rien-de-tout-ça">Heu, je ne suis rien de tout ça</h3>
<p>Pas de problème ! Vous pouvez intégrer l’équipe de localisation.</p>
<ul>
<li><em>Mais, il ne faut pas bien parler anglais pour ça ?</em></li>
</ul>
<p>Eh non ! Car le but de la localisation n’est pas d’avoir une traduction littérale bête et méchante de l’anglais, mais un résultat adapté à la langue et à la culture. (Par exemple, pour les unités de mesure, les expressions idiomatiques, etc.)<br>
Si jamais vous ne comprenez pas un mot ou le sens d’une phrase, rien ne vous empêche d’utiliser un traducteur automatique pour vous faire une idée de ce à quoi pourrait ressembler la traduction. Tant que le résultat final est cohérent dans l’ensemble et avec la version anglaise, tout est bon.</p>
<ul>
<li><em>D’accord, mais comment on fait ?</em></li>
</ul>
<p>La première étape est de s’inscrire à la liste de discussion de l'équipe française, comme indiqué <a href="https://wiki.wesnoth.org/FrenchTranslation#Premi.C3.A8re_.C3.A9tape_:_S.27inscrire_.C3.A0_la_liste_de_diffusion">ici</a>.<br>
Ensuite, il faut installer un logiciel pour éditer les fichiers PO (qui sont les fichiers contenant les traductions), comme Lokalize ou Poedit.<br>
Puis, renseignez-vous sur les fichiers sur lesquels personne ne travaille en envoyant un petit mail, et choisissez-en un.<br>
Lorsque vous estimez avoir localisé un bon petit tas de chaînes, envoyez vos modifications à la liste de discussion. On vous donnera alors des conseils et relira vos chaînes pour éviter les erreurs, avant de les envoyer au grand coordinateur des traductions en amont.</p>
<p>Ce n’est vraiment pas compliqué, il suffit de franchir le pas.</p>
<ul>
<li><em>Il n’y a pas déjà assez de traducteurs ?</em></li>
</ul>
<p>Hélas non, nous ne sommes que quelques-uns pour traduire les milliers de chaînes que contient le jeu. Cette pénurie de bonnes volontés nous a d’ailleurs obligés à cesser la traduction de la branche stable pour nous concentrer sur la version en développement, afin de permettre aux joueurs d’espérer avoir un jeu à peu près localisé un jour.</p>
<ul>
<li><em>Oui, mais je suis vraiment une quiche intégrale en anglais, alors bon.</em></li>
</ul>
<p>Une bonne partie du travail de localisation consiste à vérifier si les traductions sont cohérentes et veulent dire quelque chose, ou bien inventer ou chercher de nouveaux mots pour exprimer des concepts sans équivalents.</p>
<h3 id="toc-cest-bien-beau-tout-ça-mais-je-préfère-jouer">C'est bien beau tout ça, mais je préfère jouer</h3>
<p>Pas de problème, vous pouvez par exemple tester la version de développement pour indiquer des bugs parfois triviaux aux développeurs ou des erreurs de traductions.<br>
Les tests sont très importants, et on manque souvent de temps pour les effectuer.</p>
<h3 id="toc-jai-de-super-idées-pour-le-jeu-mais-difficiles-à-intégrer-sans-tout-changer">J'ai de super idées pour le jeu, mais difficiles à intégrer sans tout changer</h3>
<p>C’est pourquoi vous pouvez créer et publier des <em>add-ons</em> ou extensions, très facilement, qui permettent d’ajouter ou de modifier parfois des pans entiers du jeu.</p>
<p>Certains add-ons populaires ont d’ailleurs été intégrés au jeu, c’est vous dire leur importance dans le développement du jeu.</p>
<h2 id="toc-conclusion">Conclusion</h2>
<p>Comme pour tous les grands projets, il existe mille façons de contribuer, chacun à la hauteur de ses capacités.</p>
<p>Ce projet t’a beaucoup servi, ou bien t’a accompagné pendant de longues heures ? Remercie-le en apportant ta pierre à l’édifice.</p>
</div><div><a href="https://linuxfr.org/news/wesnoth-il-y-a-mille-facons-de-contribuer.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/131248/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/wesnoth-il-y-a-mille-facons-de-contribuer#comments">ouvrir dans le navigateur</a>
</p>
alberic89
Xavier Teyssier
Benoît Sibaud
dourouc05
https://linuxfr.org/nodes/131248/comments.atom
tag:linuxfr.org,2005:News/41492
2023-05-05T14:51:12+02:00
2024-03-03T19:23:30+01:00
Entretien avec Johannes Fetz à propos de jo-engine
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>Johannes Fetz développe <a href="https://www.jo-engine.org/">un SDK pour créer des jeux pour la console Saturn</a>, cet entretien revient sur son parcours et les raisons qui l’ont amené à s’intéresser à cette console.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f322f32302f536567612d53617475726e2d436f6e736f6c652d5365742d4d6b312e706e672f33323070782d536567612d53617475726e2d436f6e736f6c652d5365742d4d6b312e706e67/320px-Sega-Saturn-Console-Set-Mk1.png" alt="Console Saturn, source Wikimedia, © Evan-Amos 2011" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/2/20/Sega-Saturn-Console-Set-Mk1.png/320px-Sega-Saturn-Console-Set-Mk1.png"></p>
</div><ul><li>lien nᵒ 1 : <a title="https://www.jo-engine.org/" hreflang="en" href="https://linuxfr.org/redirect/112081">Jo Engine</a></li><li>lien nᵒ 2 : <a title="https://www.copetti.org/writings/consoles/sega-saturn/" hreflang="en" href="https://linuxfr.org/redirect/112082">Un article présentant le hardware de la Saturn</a></li><li>lien nᵒ 3 : <a title="https://cpu.dascritch.net/post/2020/06/11/Ex0139-Sega%2C-game-over-sur-console" hreflang="fr" href="https://linuxfr.org/redirect/112083">Un podcast sur l’histoire de SEGA</a></li><li>lien nᵒ 4 : <a title="https://www.sega-16.com/" hreflang="en" href="https://linuxfr.org/redirect/112084">Un site consacré à SEGA et ses consoles</a></li><li>lien nᵒ 5 : <a title="https://www.grospixels.com/site/saturn.php" hreflang="fr" href="https://linuxfr.org/redirect/112085">Le dossier de grospixels sur la Saturn</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li>
<ul>
<li>
<a href="#toc-partie-1-pr%C3%A9sentation">Partie 1: présentation</a><ul>
<li><a href="#toc-qui-%C3%AAtes-vous-quel-est-votre-parcours-et-est-il-li%C3%A9-aux-jeux-vid%C3%A9os">Qui êtes-vous, quel est votre parcours et est-il lié aux jeux vidéos ?</a></li>
</ul>
</li>
<li>
<a href="#toc-partie-2-la-saturn">Partie 2: La Saturn</a><ul>
<li><a href="#toc-comment-en-%C3%AAtes-vous-venu-%C3%A0-vous-int%C3%A9resser-%C3%A0-la-saturn">Comment en êtes-vous venu à vous intéresser à la Saturn ?</a></li>
<li><a href="#toc-quest-ce-que-cette-console-a-de-particulier">Qu'est-ce que cette console a de particulier ?</a></li>
<li><a href="#toc-que-dire-de-ses-processeurs-hitachi-sh-2">Que dire de ses processeurs (Hitachi SH-2) ?</a></li>
<li><a href="#toc-comment-fonctionne-les-processeurs-graphiques-vdp1-vdp2">Comment fonctionne les processeurs graphiques (VDP1, VDP2) ?</a></li>
<li><a href="#toc-comment-fonctionne-laudio">Comment fonctionne l'audio ?</a></li>
<li><a href="#toc-quels-services-fournissent-le-bios-et-los-de-la-saturn">Quels services fournissent le BIOS et l'OS de la Saturn ?</a></li>
<li><a href="#toc-quelle-est-votre-manette-pr%C3%A9f%C3%A9r%C3%A9e">Quelle est votre manette préférée ?</a></li>
<li><a href="#toc-les-%C3%A9mulateurs-saturn-sont-ils-bons">Les émulateurs Saturn sont-ils bons ?</a></li>
<li><a href="#toc-quels-sont-vos-jeux-commerciaux-pr%C3%A9f%C3%A9r%C3%A9s-sur-cette-console">Quels sont vos jeux commerciaux préférés sur cette console ?</a></li>
<li><a href="#toc-quels-sont-vos-jeux-homebrew-pr%C3%A9f%C3%A9r%C3%A9s-sur-cette-console">Quels sont vos jeux "homebrew" préférés sur cette console ?</a></li>
<li><a href="#toc-partie-3-jo-engine">Partie 3: jo-engine</a></li>
<li><a href="#toc-pourquoi-cr%C3%A9er-un-sdk-pour-un-si-vieux-syst%C3%A8me">Pourquoi créer un SDK pour un si vieux système ?</a></li>
<li><a href="#toc-quelles-ont-%C3%A9t%C3%A9-les-difficult%C3%A9s-pour-le-concevoir">Quelles ont été les difficultés pour le concevoir ?</a></li>
<li><a href="#toc-quelles-sont-les-fonctionnalit%C3%A9s-de-jo-engine">Quelles sont les fonctionnalités de jo-engine ?</a></li>
<li><a href="#toc-est-ce-quil-g%C3%A8re-divers-accessoires-3d-pad-multitap-clavier-souris-pistolet-video-cd-modem"> Est-ce qu'il gère divers accessoires (3D Pad, multitap, clavier, souris, pistolet, Video CD, modem…) ?</a></li>
<li><a href="#toc-est-ce-que-vous-participez-%C3%A0-la-cr%C3%A9ation-de-jeux-saturn">Est-ce que vous participez à la création de jeux Saturn ?</a></li>
<li><a href="#toc-est-ce-que-des-jeux-amateurs-ou-commerciaux-sont-d%C3%A9velopp%C3%A9s-avec-jo-engine">Est-ce que des jeux amateurs ou commerciaux sont développés avec jo-engine ?</a></li>
<li><a href="#toc-quels-conseils-donnez-vous-aux-gens-qui-se-lancent-dans-le-d%C3%A9veloppement-de-jeux-saturn">Quels conseils donnez-vous aux gens qui se lancent dans le développement de jeux Saturn ?</a></li>
<li><a href="#toc-est-ce-que-vous-aimeriez-vivre-de-ce-projet">Est-ce que vous aimeriez vivre de ce projet ?</a></li>
</ul>
</li>
<li>
<a href="#toc-partie-4-pour-finir">Partie 4: pour finir</a><ul>
<li><a href="#toc-que-dire-sur-vos-autres-projets">Que dire sur vos autres projets ?</a></li>
<li><a href="#toc-vous-avez-de-futurs-projets-en-cours">Vous avez de futurs projets en cours ?</a></li>
<li><a href="#toc-au-niveau-personnel-quels-logiciels-libres-utilisez-vous-sur-quel-os"> Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ?</a></li>
<li><a href="#toc-au-niveau-professionnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau professionnel, quels logiciels libres utilisez-vous, sur quel OS ?</a></li>
<li><a href="#toc-quelle-est-votre-distribution-gnulinux-pr%C3%A9f%C3%A9r%C3%A9e-et-pourquoi-quels-sont-vos-logiciels-libres-pr%C3%A9f%C3%A9r%C3%A9s">Quelle est votre distribution GNU/Linux préférée et pourquoi, quels sont vos logiciels libres préférés ?</a></li>
<li><a href="#toc-quelle-question-auriez-vous-ador%C3%A9-quon-vous-pose">Quelle question auriez-vous adoré qu'on vous pose ?</a></li>
<li><a href="#toc-quelle-question-auriez-vous-d%C3%A9test%C3%A9-quon-vous-pose">Quelle question auriez-vous détesté qu'on vous pose ?</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="toc-partie-1-présentation">Partie 1: présentation</h3>
<h4 id="toc-qui-êtes-vous-quel-est-votre-parcours-et-est-il-lié-aux-jeux-vidéos">Qui êtes-vous, quel est votre parcours et est-il lié aux jeux vidéos ?</h4>
<p>Initialement, j'ai commencé ma carrière dans la mécanique de précision jusqu'à l'université. Puis, j'ai fait un certain nombre de jobs en intérim pour payer mes études supérieures et je me suis rendu compte que ce milieu (industrie de la production mécanique) n'était pas pour moi. Je me suis donc rabattu sur ma passion, l'informatique. J'ai commencé la programmation pendant mes études de mécanique après le collège avec des machines à programmation numérique (tour, fraiseuse) et dans mon temps libre, j'ai écrit des petits programmes en BASIC. Plus tard au lycée, j'ai appris la programmation en langage C avec des livres. Fait assez surprenant, j'ai eu Internet pour la première fois très tard quand j'ai commencé l'université. Par conséquent, j'empruntais souvent la connexion Internet du lycée à la bibliothèque ou dans les cybercafés. Après ma première année d'université, j'ai cherché une école de programmation et je me suis inscrit à l'Epitech où j'ai obtenu mon diplôme après 5 ans (promotion 2011). En sortant d'école, je n'ai pas eu besoin de chercher du travail, car j'étais déjà en CDI depuis 2009 chez Eureka Technology (éditeur du TMS, Dispatch) et j'y suis toujours. Bien sûr, mon poste a évolué avec le temps. Je suis aujourd'hui responsable des développements et membre du CODIR de l'entreprise. Par conséquent, mon parcours n'est pas du tout lié aux jeux vidéo.</p>
<h3 id="toc-partie-2-la-saturn">Partie 2: La Saturn</h3>
<h4 id="toc-comment-en-êtes-vous-venu-à-vous-intéresser-à-la-saturn">Comment en êtes-vous venu à vous intéresser à la Saturn ?</h4>
<p>J'ai acheté la console en mai 1996 de manière fortuite sur une brocante en Seine-et-Marne pour 250 francs avec les jeux ManxTT Superbike et Sega Rally. À l'époque, j'avais une Sega Master System et une Nintendo NES, alors j'ai fait un bond technologique important. J'ai ensuite acheté beaucoup de jeux et surtout j'ai eu la chance qu'on me parle de la cartouche permettant de jouer aux jeux japonais. J'ai eu par la suite plusieurs consoles, dont la PlayStation et la Nintendo 64, mais la Sega Saturn a gardé une place importante pour moi.</p>
<h4 id="toc-quest-ce-que-cette-console-a-de-particulier">Qu'est-ce que cette console a de particulier ?</h4>
<p>Si on la compare avec les consoles de la 5ème génération, la Playstation de Sony par exemple, la principale différence, c'est que Sega Saturn était basée sur une architecture à double processeur et conçu pour être un monstre de puissance pour la 2D, car de nombreux jeux populaires étaient encore en 2D à cette époque. L'intégration de la 3D dans le projet de conception de la Saturn est arrivé tardivement suivant moi peut être la pression de la sortie de sa concurrente, la Playstation. En somme, l'architecture de la Sega Saturn est exotique ce qui a malheureusement posé beaucoup de problème aux développeurs. C'est dommage, car la Saturn était capable de traiter des graphismes 2D et 3D plus avancés que la PlayStation.</p>
<h4 id="toc-que-dire-de-ses-processeurs-hitachi-sh-2">Que dire de ses processeurs (Hitachi SH-2) ?</h4>
<p>Le SH-2 est un processeur RISC (Reduced Instruction Set Computing) 32 bits développé par Hitachi dans le début des années 90 pour faciliter le traitement d'images et les calculs scientifiques (idéal pour le jeu vidéo). Il possède deux unités de traitement entièrement indépendantes, chacune capable de traiter des instructions simultanément. Ceux de la Sega Saturn ont une fréquence de 28.6364 MHz.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f332f33382f44656e736f2d5348322e6a70672f37343970782d44656e736f2d5348322e6a7067/749px-Denso-SH2.jpg" alt="Le processeur SH-2, source wikimedia, © GMPX" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/3/38/Denso-SH2.jpg/749px-Denso-SH2.jpg"></p>
<p><em>Le processeur de la Saturn fait partie de la famille <a href="https://en.wikipedia.org/wiki/SuperH">SuperH</a>.</em></p>
<h4 id="toc-comment-fonctionne-les-processeurs-graphiques-vdp1-vdp2">Comment fonctionne les processeurs graphiques (VDP1, VDP2) ?</h4>
<p>Le VDP1 était responsable du traitement des graphismes 2D et des effets de transparence. Il était capable d'afficher des sprites et des polygones texturés (500 000 polygones texturés par seconde). On pouvait programmer des listes d'affichage, appelées "commandes", qui contenaient les informations nécessaires pour afficher les objets à l'écran. Cette partie est facilement visible dans le code du Jo Engine. Le VDP1 pouvait ensuite les traiter et les afficher en temps réel. Le VDP2, quant à lui, était responsable de la génération d'images de fond et de la gestion des plans de superposition. Il pouvait afficher plusieurs couches de graphismes en même temps (4 plans simultanés), chacune avec ses propres effets de transparence et de distorsion. Le VDP2 pouvait également effectuer des opérations de zoom et de rotation sur les plans d'affichage, ce qui permettait aux développeurs de créer des effets de caméra intéressants. Les deux processeurs graphiques travaillaient en étroite collaboration pour générer les images à l'écran. Le VDP2 envoyait des instructions au VDP1 pour lui dire où afficher les objets à l'écran, tandis que le VDP1 pouvait envoyer des données de texture et de couleur au VDP2 pour générer des arrière-plans. Bref, c'est assez complexe et cette complexité de programmation et leur coût ont également rendu la conception de jeux pour la Saturn plus difficile que pour d'autres consoles de l'époque.</p>
<h4 id="toc-comment-fonctionne-laudio">Comment fonctionne l'audio ?</h4>
<p>La Sega Saturn avait un processeur audio intégré appelé "SCSP" (Sega Custom Sound Processor) basé sur une architecture RISC et disposait de 32 canaux audio. Le SCSP était conçu pour offrir une qualité audio supérieure à celle des autres consoles de l'époque, avec une gamme de fonctionnalités avancées tels que la réverbération, la distorsion et le chorus, qui pouvaient être appliqués aux sons en temps réel pour créer des effets sonores intéressants. En plus du SCSP, la Saturn avait également une puce audio "PCM" intégrée.</p>
<h4 id="toc-quels-services-fournissent-le-bios-et-los-de-la-saturn">Quels services fournissent le BIOS et l'OS de la Saturn ?</h4>
<p>En dehors, des éléments standards présents sur toutes les consoles du même type, on a la possibilité de lire des CD audios et des films au format VCD via une carte d'extension.</p>
<h4 id="toc-quelle-est-votre-manette-préférée">Quelle est votre manette préférée ?</h4>
<p>J'aime bien la manette standard de la Sega Saturn, mais les manettes d'aujourd'hui sont meilleures. Personnellement, j'utilise principalement la manette Xbox même sur PC.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f662f66352f38426974446f5f4d33302e706e672f36343070782d38426974446f5f4d33302e706e67/640px-8BitDo_M30.png" alt="Clone de la manette Saturn" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/f/f5/8BitDo_M30.png/640px-8BitDo_M30.png"></p>
<p><em>Le design manette Saturn est populaire dans le milieu du retrogaming. Certains constructeurs comme 8BitDo ou Retrobit l'ont donc cloné.</em></p>
<h4 id="toc-les-émulateurs-saturn-sont-ils-bons">Les émulateurs Saturn sont-ils bons ?</h4>
<p>Oui et il y en a plein qui sont fonctionnels. SSF est sans doute le plus abouti (à l'exception de son interface), mais <a href="https://yabause.org/">Yabause</a>, <a href="https://mednafen.github.io/">Mednafen</a>, <a href="https://wiki.recalbox.com/fr/emulators/consoles/saturn/libretro-yabasanshiro">YabaSanshiro</a>, <a href="https://fcare.github.io/">Kronos</a> fonctionnent très bien. Et il y a même des nouveaux qui arrivent, comme Nova. Il y a même des consoles comme la Polymega qui permettent de jouer nativement aux jeux Sega Saturn.</p>
<p><img src="https://linuxfr.org/images/historique/images_perdues/entretien-avec-johannes-fetz-a-propos-de-jo-engine-Console-01_f93a0f5d-0ef2-4eb7-b034-fd017b47b35e_600x.png" alt="La console Polymega"></p>
<p><em>La console Polymega tourne sous Linux, mais malheureusement il s'agit d'une distribution privatrice.</em></p>
<h4 id="toc-quels-sont-vos-jeux-commerciaux-préférés-sur-cette-console">Quels sont vos jeux commerciaux préférés sur cette console ?</h4>
<p>Il y a vraiment trop de bons jeux et souvent exclusifs à la console, mais je peux en citer plusieurs : Radiant Silvergun, la série des Panzer Dragoon, Guardian Heroes, Burning Rangers, Sega Rally, etc.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f372f37352f4275726e696e675f52616e676572735f636f7665722e6a7067/Burning_Rangers_cover.jpg" alt="Burning Rangers" title="Source : https://upload.wikimedia.org/wikipedia/en/7/75/Burning_Rangers_cover.jpg"></p>
<p><em>Ecouter le <a href="https://downloads.khinsider.com/game-soundtracks/album/burning-rangers-soundtrack/01%2520-%2520Burning%2520Hearts%2520%25C2%2581%2560%25E2%2580%25B0%25C5%25A0%25E2%2580%259A%25C3%258CANGEL%25C2%2581%2560.mp3">générique de Burning Rangers</a> chanté par <a href="https://en.wikipedia.org/wiki/Takenobu_Mitsuyoshi">Takenobu Mitsuyoshi</a> donne plus de gniaque qu'un verre de jus d'orange et 42 cafés.</em></p>
<h4 id="toc-quels-sont-vos-jeux-homebrew-préférés-sur-cette-console">Quels sont vos jeux "homebrew" préférés sur cette console ?</h4>
<ul>
<li>Unreal Sega Saturn (aka Hellslave)</li>
<li>Sonic Z-Treme</li>
<li>Bridget Bishop</li>
<li>Zygo 2D & 3D</li>
<li>Cubecat</li>
<li>Sky Blaster</li>
<li>The case of the city botucaiba</li>
<li>et d'autres que j'ai pas cité.</li>
</ul>
<h4 id="toc-partie-3-jo-engine">Partie 3: jo-engine</h4>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f7777772e6a6f2d656e67696e652e6f72672f75706c6f61642f696d616765732f6d61705f7373662e706e67/map_ssf.png" alt="jo-engine éditeur de carte" title="Source : https://www.jo-engine.org/upload/images/map_ssf.png"></p>
<p><em>Le sdk vient avec un éditeur de carte 2D.</em></p>
<h4 id="toc-pourquoi-créer-un-sdk-pour-un-si-vieux-système">Pourquoi créer un SDK pour un si vieux système ?</h4>
<p>C'est parti d'un petit défi technique personnel et de la curiosité à la base. La console avait cette réputation d'être l'une des plateformes les plus complexes pour programmer de l'histoire alors forcément ça a capté mon attention, en plus de la nostalgie que j'ai pour cette console. De plus, en matière d'architecture exotique, j'ai déjà joué avec le processeur CELL de la Playstation 3.</p>
<p>Quand j'ai commencé à étudier la plateforme, il n'y avait pas beaucoup de jeux homebrew, à l'exception de quelques démos techniques. D'ailleurs, je suis parti de là pour commencer avec le kit SaturnOrbit et ses démos.</p>
<p>J'ai ensuite décidé de commencer à faire un petit Sonic et j'ai posté une vidéo sur <a href="https://www.youtube.com/watch?v=y_iELL-o35U">Youtube</a>.</p>
<p>J'ai reçu plusieurs retours très positifs et j'ai voulu aller plus loin. J'avais réussi à obtenir de bons résultats techniques et j'ai décidé de les partager avec tout le monde en créant un SDK ouvert, doté d'un niveau d'abstraction élevé qui permet de créer facilement des homebrews pour la console. Malheureusement, j'ai dû mettre le développement de mon propre jeu de côté pour libérer du temps.</p>
<h4 id="toc-quelles-ont-été-les-difficultés-pour-le-concevoir">Quelles ont été les difficultés pour le concevoir ?</h4>
<p>Beaucoup ! 😊</p>
<p>Mais en premier lieu, c'est clairement le manque de documentation qui m'a contraint à coder beaucoup d'outils pour inverser l'architecture de la machine et comprendre comment utiliser chaque registre, chaque zone mémoire, chaque instruction. Heureusement, j'ai eu de l'aide de la communauté à certains moments. En second lieu, ce qui a été difficile, c'est d'abstraire l'architecture matérielle au maximum afin de laisser le développeur se concentrer sur son jeu.</p>
<h4 id="toc-quelles-sont-les-fonctionnalités-de-jo-engine">Quelles sont les fonctionnalités de jo-engine ?</h4>
<p>Aujourd'hui il y en a beaucoup en particulier sur la 2D et plein d'exemples pour commencer.</p>
<h4 id="toc-est-ce-quil-gère-divers-accessoires-3d-pad-multitap-clavier-souris-pistolet-video-cd-modem"> Est-ce qu'il gère divers accessoires (3D Pad, multitap, clavier, souris, pistolet, Video CD, modem…) ?</h4>
<p>Oui à l'exception du modem et du pistolet. Pas de difficulté en particulier, mais j'ai pas eu de demande de fonctionnalité sur ça.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f622f62382f536567612d53617475726e2d33442d436f6e74726f6c6c65722e6a70672f35323470782d536567612d53617475726e2d33442d436f6e74726f6c6c65722e6a7067/524px-Sega-Saturn-3D-Controller.jpg" alt="3D Pad" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/Sega-Saturn-3D-Controller.jpg/524px-Sega-Saturn-3D-Controller.jpg"></p>
<p><em>Le 3D Pad est une réponse à la sortie de la Nintendo 64 avec ses sticks analogiques.</em></p>
<h4 id="toc-est-ce-que-vous-participez-à-la-création-de-jeux-saturn">Est-ce que vous participez à la création de jeux Saturn ?</h4>
<p>Je viens souvent en aide aux développeurs de homebrew. J'ai un gros projet de jeu (pas le Sonic), mais je peine à trouver le temps pour bosser dessus.</p>
<h4 id="toc-est-ce-que-des-jeux-amateurs-ou-commerciaux-sont-développés-avec-jo-engine">Est-ce que des jeux amateurs ou commerciaux sont développés avec jo-engine ?</h4>
<p>Oui, il y en a plein. Il y a même un concours de programmation chaque année où plusieurs nouveaux jeux sont révélés : récemment, il y a eu le "SEGA Saturn 28th Anniversary Game Competition" dont le gagnant, Francisco J Del Pino Questa (aka Fran Matsusaka) a créé le jeu <a href="https://sites.google.com/site/egstudiogames/bridget-bishop">Bridget Bishop</a> en utilisant le Jo Engine.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f7777772e7365676173617475726e736869726f2e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032322f31322f556e7469746c65642d322e706e67/Untitled-2.png" alt="Capture d'écran de Bridget Bishop" title="Source : https://www.segasaturnshiro.com/wp-content/uploads/2022/12/Untitled-2.png"></p>
<h4 id="toc-quels-conseils-donnez-vous-aux-gens-qui-se-lancent-dans-le-développement-de-jeux-saturn">Quels conseils donnez-vous aux gens qui se lancent dans le développement de jeux Saturn ?</h4>
<p>Je conseille de commencer par développer un jeu 2D pour se faire la main avant de s'aventurer dans la 3D. Il y a une communauté petite mais très active (majoritairement francophone en plus). N'hésitez pas à parler de votre projet et à demander de l'aide.</p>
<h4 id="toc-est-ce-que-vous-aimeriez-vivre-de-ce-projet">Est-ce que vous aimeriez vivre de ce projet ?</h4>
<p>Non. La satisfaction de voir des nouveaux projets sur la Sega Saturn (et pas forcément qu'avec le Jo Engine) me suffit largement.</p>
<h3 id="toc-partie-4-pour-finir">Partie 4: pour finir</h3>
<h4 id="toc-que-dire-sur-vos-autres-projets">Que dire sur vos autres projets ?</h4>
<p>J'ai un éditeur de modèle 2D/3D dédié à la Sega Saturn que j'ai commencé, mais je manque de temps en ce moment.</p>
<h4 id="toc-vous-avez-de-futurs-projets-en-cours">Vous avez de futurs projets en cours ?</h4>
<p>J'ai un jeu que j'aimerai bien réaliser avec Sega et en support physique, mais comme pour l'autre projet, je manque de temps. Pour l'instant je privilégie mon parcours professionnel et ma vie de famille.</p>
<h4 id="toc-au-niveau-personnel-quels-logiciels-libres-utilisez-vous-sur-quel-os"> Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ?</h4>
<p>Dans mon top 5 :</p>
<ul>
<li>GCC sous Linux principalement</li>
<li>Paint.Net sous Windows</li>
<li>Notepad++ sous Windows</li>
<li>Emacs sous Linux</li>
<li>VLC sous Windows et Linux</li>
</ul>
<h4 id="toc-au-niveau-professionnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau professionnel, quels logiciels libres utilisez-vous, sur quel OS ?</h4>
<p>Dans mon top 3 :</p>
<ul>
<li>Notepad++ sous Windows</li>
<li>Paint.Net sous Windows</li>
<li>7-Zip sous Windows</li>
</ul>
<h4 id="toc-quelle-est-votre-distribution-gnulinux-préférée-et-pourquoi-quels-sont-vos-logiciels-libres-préférés">Quelle est votre distribution GNU/Linux préférée et pourquoi, quels sont vos logiciels libres préférés ?</h4>
<p>J'ai utilisé plusieurs distributions au fil des années (Mandrakelinux/Mandriva, Debian, Ubuntu, Arch Linux, etc…) ainsi que beaucoup de distributions BSD. Cependant, aujourd'hui, je suis resté sur Ubuntu. D'ailleurs, c'est la version serveur qui est présente sur le serveur dédié de Jo Engine.</p>
<p>En ce qui concerne les logiciels libres, je pense que mes préférés sont ceux que j'utilise le plus (Notepad++, VLC, Paint.NET, etc…).</p>
<h4 id="toc-quelle-question-auriez-vous-adoré-quon-vous-pose">Quelle question auriez-vous adoré qu'on vous pose ?</h4>
<p>Je n'ai rien qui me vient en tête.</p>
<h4 id="toc-quelle-question-auriez-vous-détesté-quon-vous-pose">Quelle question auriez-vous détesté qu'on vous pose ?</h4>
<p>Je n'ai rien qui me vient en tête non plus.</p>
</div><div><a href="https://linuxfr.org/news/entretien-avec-johannes-fetz-a-propos-de-jo-engine.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/131132/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/entretien-avec-johannes-fetz-a-propos-de-jo-engine#comments">ouvrir dans le navigateur</a>
</p>
devnewton 🍺
Benoît Sibaud
https://linuxfr.org/nodes/131132/comments.atom
tag:linuxfr.org,2005:News/41462
2023-04-12T10:26:10+02:00
2023-04-13T10:56:13+02:00
Entretien avec LuigiBlood
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>LuigiBlood est acteur de la scène Retrogaming, cet entretien revient sur ses projets et réalisations dans le domaine : traductions, rom hacking, ingénierie inverse, etc. C’est presque une histoire des jeux vidéos qu’il délivre à travers cet entretien.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f6c75696769626c6f6f642e6e656f6369746965732e6f72672f696d672f79616b756d6f6e6f5f616e696d2e676966/yakumono_anim.gif" alt="LuigiBlood avatar" title="Source : https://luigiblood.neocities.org/img/yakumono_anim.gif"></p>
</div><ul><li>lien nᵒ 1 : <a title="https://luigiblood.neocities.org/" hreflang="en" href="https://linuxfr.org/redirect/111994">Le site de LuigiBlood</a></li><li>lien nᵒ 2 : <a title="https://www.copetti.org/writings/consoles/nintendo-64/" hreflang="en" href="https://linuxfr.org/redirect/111995">L'architecture de la Nintendo 64</a></li><li>lien nᵒ 3 : <a title="https://www.grospixels.com/site/n64.php" hreflang="fr" href="https://linuxfr.org/redirect/111996">Un dossier sur la N64</a></li><li>lien nᵒ 4 : <a title="https://www.grospixels.com/site/snes.php" hreflang="fr" href="https://linuxfr.org/redirect/111997">Un dossier sur la SNES</a></li><li>lien nᵒ 5 : <a title="https://www.copetti.org/writings/consoles/super-nintendo/" hreflang="en" href="https://linuxfr.org/redirect/111998">L'architecture de la SNES</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li>
<ul>
<li>
<a href="#toc-partie-1-pr%C3%A9sentation">Partie 1 : présentation</a><ul>
<li><a href="#toc-qui-%C3%AAtes-vous-quel-est-votre-parcours-et-en-quoi-est-il-li%C3%A9-aux-jeux-vid%C3%A9os">Qui êtes-vous, quel est votre parcours et en quoi est-il lié aux jeux vidéos ?</a></li>
</ul>
</li>
<li>
<a href="#toc-partie-2-n64-et-64dd">Partie 2 : N64 et 64DD</a><ul>
<li><a href="#toc-comment-en-%C3%AAtes-vous-venu-%C3%A0-vous-int%C3%A9resser-%C3%A0-la-n64">Comment en êtes-vous venu à vous intéresser à la N64 ?</a></li>
<li><a href="#toc-quest-ce-que-cette-console-a-de-particulier">Qu’est-ce que cette console a de particulier ?</a></li>
<li><a href="#toc-que-dire-du-processeur-nec-vr4300">Que dire du processeur (NEC VR4300) ?</a></li>
<li><a href="#toc-comment-fonctionnent-les-processeurs-graphiques-rsp-rdp-et-audio">Comment fonctionnent les processeurs graphiques (RSP, RDP) et audio ?</a></li>
<li><a href="#toc-comment-fonctionne-laudio">Comment fonctionne l’audio ?</a></li>
<li><a href="#toc-quelle-est-votre-manette-pr%C3%A9f%C3%A9r%C3%A9e">Quelle est votre manette préférée ?</a></li>
<li><a href="#toc-les-%C3%A9mulateurs-n64-sont-ils-bons">Les émulateurs N64 sont-ils bons ?</a></li>
<li><a href="#toc-quels-sont-vos-jeux-commerciaux-pr%C3%A9f%C3%A9r%C3%A9s-sur-cette-console">Quels sont vos jeux commerciaux préférés sur cette console ?</a></li>
<li><a href="#toc-quels-sont-vos-jeux-homebrew-pr%C3%A9f%C3%A9r%C3%A9s-sur-cette-console">Quels sont vos jeux “homebrew” préférés sur cette console ?</a></li>
<li><a href="#toc-vous-avez-beaucoup-travaill%C3%A9-sur-le-64dd-pourquoi">Vous avez beaucoup travaillé sur le 64DD, pourquoi ?</a></li>
<li><a href="#toc-pouvez-vous-nous-pr%C3%A9senter-mario-artist">Pouvez-vous nous présenter Mario Artist ?</a></li>
<li><a href="#toc-quels-hacks-avez-vous-fait-sur-zelda">Quels “hacks” avez-vous fait sur Zelda ?</a></li>
</ul>
</li>
<li>
<a href="#toc-partie-3-snes-et-bs-x">Partie 3 : SNES et BS-X</a><ul>
<li><a href="#toc-quels-sont-vos-jeux-commerciaux-pr%C3%A9f%C3%A9r%C3%A9s-sur-cette-console-1">Quels sont vos jeux commerciaux préférés sur cette console ?</a></li>
<li><a href="#toc-quels-sont-vos-jeux-homebrew-pr%C3%A9f%C3%A9r%C3%A9s-sur-cette-console-1">Quels sont vos jeux “homebrew” préférés sur cette console ?</a></li>
<li><a href="#toc-quelle-est-votre-manette-pr%C3%A9f%C3%A9r%C3%A9e-1">Quelle est votre manette préférée ?</a></li>
<li><a href="#toc-vous-avez-beaucoup-travaill%C3%A9-sur-le-satellaview-quen-dire">Vous avez beaucoup travaillé sur le SatellaView, qu’en dire ?</a></li>
<li><a href="#toc-vous-avez-traduit-marvelous---another-treasure-island-quel-est-ce-jeu">Vous avez traduit Marvelous - Another Treasure Island, quel est-ce jeu ?</a></li>
<li><a href="#toc-pouvez-vous-nous-parler-de-ongaku-tsukuru-music-maker">Pouvez-vous nous parler de Ongaku Tsukuru (Music Maker)</a></li>
<li><a href="#toc-vous-avez-patch%C3%A9-des-jeux-flash-back-special-tee-shot-comment-et-pourquoi">Vous avez patché des jeux (Flash Back, Special Tee Shot), comment et pourquoi ?</a></li>
</ul>
</li>
<li>
<a href="#toc-partie-4-pour-finir">Partie 4 : pour finir</a><ul>
<li><a href="#toc-que-dire-sur-vos-autres-projets">Que dire sur vos autres projets ?</a></li>
<li><a href="#toc-vous-avez-de-futurs-projets-en-cours">Vous avez de futurs projets en cours ?</a></li>
<li><a href="#toc-au-niveau-personnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ?</a></li>
<li><a href="#toc-au-niveau-professionnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau professionnel, quels logiciels libres utilisez-vous, sur quel OS ?</a></li>
<li><a href="#toc-quelle-est-votre-distribution-gnulinux-pr%C3%A9f%C3%A9r%C3%A9e-et-pourquoi-quels-sont-vos-logiciels-libres-pr%C3%A9f%C3%A9r%C3%A9s">Quelle est votre distribution GNU/Linux préférée et pourquoi, quels sont vos logiciels libres préférés ?</a></li>
<li><a href="#toc-quelle-question-auriez-vous-ador%C3%A9-quon-vous-pose">Quelle question auriez-vous adoré qu’on vous pose ?</a></li>
<li><a href="#toc-quelle-question-auriez-vous-d%C3%A9test%C3%A9-quon-vous-pose">Quelle question auriez-vous détesté qu’on vous pose ?</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="toc-partie-1-présentation">Partie 1 : présentation</h3>
<h4 id="toc-qui-êtes-vous-quel-est-votre-parcours-et-en-quoi-est-il-lié-aux-jeux-vidéos">Qui êtes-vous, quel est votre parcours et en quoi est-il lié aux jeux vidéos ?</h4>
<p>Je suis LuigiBlood, parfois connu sous le nom de Yakumono aussi, je ne parle pas trop de ma vie privée sur Internet en général, une sorte de règle que je me suis donné étant plus jeune déjà. Mais j’habitais en banlieue parisienne puis j’ai déménagé dans le sud plus tard, avec un parcours scolaire plutôt compliqué où j’avais du mal à m’intéresser à des matières et d’autres trucs que je supportais moins.</p>
<p>J’avais commencé à jouer aux jeux vidéos depuis je pense mes cinq ans, avec la Super NES qui était déjà considérée comme d’ancienne génération. Ma famille est plutôt fan de jeux vidéos en général et plutôt ouverte. La plupart des consoles que je possède actuellement viennent de ma famille, avec du Nintendo, Sega, Sony, Microsoft, mais la majeure partie du temps c’était plus Nintendo qui dominait nos intérêts de jeux. On n’était pas spécialement riches, mais on était assez aisés pour avoir toujours à peu près ce qu’on voulait au bout d’un moment.</p>
<p>À peu près dans le même temps, je commençais déjà à me fasciner pour l’informatique à regarder mon père faire des manipulations sur DOS et Windows, formatage, installation de drivers, etc, et au fur et à mesure je commençais à me familiariser avec tout ça on avait un vieux Packard Bell avec un Windows 95 puis un HP avec Windows XP, qui étaient plutôt les ordinateurs qu’on se partageait l’utilisation à l’époque avant d’opter pour d’autres ordinateurs dont j’avais un PC à moi avec Windows ME pendant très longtemps.</p>
<p>Avec Internet j’ai ensuite beaucoup appris de l’anglais, de la programmation, comment créer un jeu vidéo aussi qui était un sujet qui m’intéressait beaucoup déjà avec The Games Factory et RPG Maker qui étaient cools pour un enfant comme moi à l’époque, je voyais beaucoup du milieu amateur de la création JV. Puis j’avais vu le milieu du ROM Hacking qui me fascinait beaucoup aussi, c’était vraiment plutôt étrange de voir autant d’engouement d’une petite communauté qui se passionnait pour l’édition des vieux ROMs de jeux de vieilles consoles. Puis y a eu l’apparition de YouTube où j’ai commencé à connaître des choses parfois obscures sur Nintendo comme les fameux jeux Mario et Zelda sur <a href="https://www.grospixels.com/site/cdi.php">Philips CD-i</a> et de les voir parodiés à outrance qui me faisaient beaucoup rire.</p>
<p>J’avais participé à l’extraction et conversion des données vidéo des cinématiques de ces jeux CD-i, avec les animations et les décors en séparés, histoire de bien améliorer ces parodies avec des <em>assets</em> de haute qualité, puis au fur et à mesure je m’enfonçais de plus en plus dans l’obscur Nintendo jusqu’au point de non-retour.</p>
<h3 id="toc-partie-2-n64-et-64dd">Partie 2 : N64 et 64DD</h3>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f302f30372f363444442d41747461636865642e706e672f39363370782d363444442d41747461636865642e706e67/963px-64DD-Attached.png" alt="N64 avec un 64DD" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/0/07/64DD-Attached.png/963px-64DD-Attached.png"><br>
<em>N64 avec un 64DD</em></p>
<h4 id="toc-comment-en-êtes-vous-venu-à-vous-intéresser-à-la-n64">Comment en êtes-vous venu à vous intéresser à la N64 ?</h4>
<p>C’était une console avec laquelle j’avais déjà pas mal jouée, à peu près vers la transition vers la génération “128-bit” avec Super Mario 64, Mario Kart 64, Goldeneye et Smash Bros entre autres. Mais après que j’étais intéressé avec la Satellaview sur Super Famicom, la 64DD était déjà dans ma ligne de mire parce que j’avais passé beaucoup de temps sur Mario Paint sur Super NES et que j’étais très curieux de ses successeurs Mario Artist sur 64DD.</p>
<h4 id="toc-quest-ce-que-cette-console-a-de-particulier">Qu’est-ce que cette console a de particulier ?</h4>
<p>C’est très complexe comme console, j’avais plus ou moins pris goût aux systèmes plus simples comme la Super Nintendo, j’ai dû m’habituer au fait qu’on devait tout charger dans la RAM même quand la ROM de la cartouche est en accès direct en mémoire parce que c’était trop lent.</p>
<h4 id="toc-que-dire-du-processeur-nec-vr4300">Que dire du processeur (NEC VR4300) ?</h4>
<p>L’architecture MIPS est plutôt simple, mais, pour moi, l’enfer c’est que je confonds toujours le <em>delay slot</em> à chaque branche donc je mets quasi toujours un nop après dans le doute, et le pire c’est le cache parce que j’avais pas affaire à ça avant, au point que ça m’a posé problème plusieurs fois, et la précision des calculs à virgule flottante laisse vraiment à désirer…</p>
<h4 id="toc-comment-fonctionnent-les-processeurs-graphiques-rsp-rdp-et-audio">Comment fonctionnent les processeurs graphiques (RSP, RDP) et audio ?</h4>
<p>Je ne connais pas très bien le fonctionnement.</p>
<h4 id="toc-comment-fonctionne-laudio">Comment fonctionne l’audio ?</h4>
<p>C’est en rapport avec le RSP mais je n’en sais rien.</p>
<p><strong>NDM : si vous connaissez bien cette console, contactez-nous pour une future interview !</strong></p>
<h4 id="toc-quelle-est-votre-manette-préférée">Quelle est votre manette préférée ?</h4>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f642f64352f4e696e74656e646f2d5377697463682d50726f2d436f6e74726f6c6c65722d464c2e6a70672f33303970782d4e696e74656e646f2d5377697463682d50726f2d436f6e74726f6c6c65722d464c2e6a7067/309px-Nintendo-Switch-Pro-Controller-FL.jpg" alt="Switch Pro Controller" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/Nintendo-Switch-Pro-Controller-FL.jpg/309px-Nintendo-Switch-Pro-Controller-FL.jpg"><br>
<em>Switch Pro Controller</em></p>
<p>Certainement pas la manette Nintendo 64 ! Si je devais choisir une manette ça serait probablement le Switch Pro Controller, j’aurai pu choisir les Joy-Cons si le <em>stick drift</em> n’existait pas parce que avoir deux parties d’une manette dans chaque main est assez confortable. Mais si je devais choisir une manette rétro ça serait la manette Super NES sans hésiter.</p>
<h4 id="toc-les-émulateurs-n64-sont-ils-bons">Les émulateurs N64 sont-ils bons ?</h4>
<p>On m’aurait posé cette question y a dix ans j’aurai dit absolument pas. Maintenant il y a surtout eu une prise de conscience que l’émulation N64 a beaucoup de problèmes, que ce soit dans la qualité de l’émulation même ou l’interface utilisateur, je me souviens avoir passé beaucoup de temps à me plaindre de ce dernier parce que les deux émulateurs connus, Project64 et <a href="https://mupen64plus.org/">mupen64plus</a>, ne viennent pas avec la meilleure configuration possible dès le départ, et c’est toujours pas le cas totalement.</p>
<p>Il y a eu beaucoup de développement sur l’émulation graphique de la N64, et comme la norme des émulateurs N64 c’est qu’ils utilisent toujours des plugins séparés, on peut généralement profiter de ça, mais mupen64plus a plus ou moins eu une renaissance avec les frontends et les forks comme Rosalie’s Mupen GUI, simple64 et mupen64plus-next (pour RetroArch). Mais je reste toujours à préférer Project64 bien qu’il soit uniquement Windows pour le moment, mais le développeur est totalement interessé de le rendre multi plateforme, mais il gère tout un projet quasiment tout seul et ça prend du temps. Il est le seul qui fait 64DD et avoir un debugger en même temps.</p>
<p>Y a eu un nouvel émulateur qui s’appelle <a href="https://ares-emu.net/">Ares</a>, par le regretté Near, développeur de bsnes et higan, Ares est un multi émulateur mais Near a voulu s’occuper de la N64 par lui-même pour le défi technique, et après son décès d’autres ont repris la où il l’avait laissé et ça se présente très bien, il est actuellement l’émulateur N64 le plus précis, bien que la compatibilité ne soit pas encore parfaite, mais ça avance.</p>
<p>En ce qui concerne l’émulation N64 officielle, l’émulateur N64 de Rare Replay et de Goldeneye sur Xbox semble faire à peu près son taf mais n’est pas parfait, mais en ce qui concerne Nintendo avec le service Switch Online, c’était le pire émulateur N64 que j’avais vu à son lancement en 2022, et bien qu’il y ait eu pas mal d’améliorations et de bugs corrigés, y a toujours des problèmes en ce qui concerne les contrôles absolument pas adaptés correctement pour les manettes actuelles, des problèmes qu’on sait déjà corriger sur les émulateurs PC.</p>
<h4 id="toc-quels-sont-vos-jeux-commerciaux-préférés-sur-cette-console">Quels sont vos jeux commerciaux préférés sur cette console ?</h4>
<p>Je n’étonnerai personne si je mentionnais des jeux Nintendo en général, mais j’aime beaucoup Pilotwings 64, Kirby 64, F-Zero X et Super Smash Bros., certains de ces jeux je les ai connus plus tard, mais je peux aussi mentionner Road Rash 64, apparemment un peu mal aimé mais je le trouve sympa avec les différentes armes disponibles pendant les courses. Et j’aime beaucoup Mario Artist sur 64DD, vraiment une suite de jeux uniques.</p>
<h4 id="toc-quels-sont-vos-jeux-homebrew-préférés-sur-cette-console">Quels sont vos jeux “homebrew” préférés sur cette console ?</h4>
<p>Je faisais partie d’un jury pour la <a href="https://n64squid.com/homebrew/competitions/n64brew-game-jam-2021/">N64brew Game Jam 2021</a>, où j’ai pu essayer pas mal de jeux homebrew N64 réalisés pour l’occasion, je pense que la scène homebrew N64 à de beaux jours devant elle, j’avais beaucoup aimé <a href="https://github.com/danbolt/WizardOfTheBoard">Wizard of the Board</a>, un mélange entre un jeu d’échecs et un FPS plutôt sympa, <a href="https://n64squid.com/mission-lost-control/">Mission Lost Control</a> est un jeu d’action et de stratégie où il faut prendre le plus de bases avec à la fois un personnage qu’on contrôle directement et des petits drones qui répondent à une stratégie qu’on leur donne, et <a href="https://github.com/anacierdem/n64brew-jam">Voidblade</a> qui est un jeu assez étrange utilisant deux manettes pour avoir deux sticks pour contrôler deux “triangles” reliés à une “scie” et il faut esquiver ou scier tout ce qui tombe.</p>
<p>Il y en a eu d’autres des game jams N64 chez N64brew qui ont tous des jeux intéressants.</p>
<h4 id="toc-vous-avez-beaucoup-travaillé-sur-le-64dd-pourquoi">Vous avez beaucoup travaillé sur le 64DD, pourquoi ?</h4>
<p>La curiosité, je voulais absolument essayer Mario Artist sans débourser des centaines d’euros (et encore, maintenant c’est encore pire), j’avais vu pendant des années des promesses de personnes qui disent vouloir émuler la 64DD sans jamais que ça se fasse, puis y a eu une tentative de préservation des disquettes 64DD qui s’était soldé sur un échec en 2014, et j’ai eu un sentiment de ras-le-bol, et j’ai voulu tenter quelque chose par moi-même.</p>
<p>Je voulais faire un dumper 64DD, mais je n’y connaissais rien en développement N64. J’avais fait une tentative en utilisant libdragon pendant quelques mois, le SDK open source N64, mais je n’arrivais pas à faire quelque chose qui marchait. J’ai donc opté pour une option plus simple qui était d’utiliser le SDK officiel avec la bibliothèque 64DD officielle, modifiée pour l’occasion grâce a certaines personnes qui m’ont épaulé sur la tâche. En reprenant certaines démos SDK pour avoir un affichage, j’avais réussi à avoir un dumper qui fonctionne en deux semaines. Et le dernier jour de 2014, on avait tous les jeux 64DD préservés avec un dumper écrit totalement à l’aveugle sans pouvoir tester par moi-même, mais plutôt en testant avec la 64DD des collectionneurs qui sont dans des pays différents.</p>
<p>Puis Zoinkity, un hacker N64 de génie, avant même que l’émulation 64DD existe, a réalisé un portage des jeux 64DD vers le format cartouche N64 pour les flashcarts, donc il y a eu un moment où j’ai pu enfin jouer à Mario Artist, bien que c’était loin d’être parfait sur émulateur. Puis quelqu’un qui s’appelle Happy_ a émulé la 64DD pour la première fois sur MESS (qui aura fusionné avec MAME peu après), puis j’ai utilisé cette base de travail pour émuler la 64DD sur Project64, puis mupen64plus en partie, puis Ares. J’avais réécrit une bonne partie au fur et à mesure des années donc la logique du code n’a plus grand-chose à voir avec ce qu’il y a dans MAME, à force de comprendre le fonctionnement de la 64DD parfois avec quelques tests réalisés sur le vrai 64DD qu’entre-temps on m’en a fait don et je ne remercierai jamais assez pour la confiance qu’ils ont pour moi. J’ai pu réécrire le dumper deux fois finalement, et entre-temps j’ai pu avoir la confiance de réaliser un nouvel interface complètement de zéro.</p>
<h4 id="toc-pouvez-vous-nous-présenter-mario-artist">Pouvez-vous nous présenter Mario Artist ?</h4>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f312f31642f4d6172696f5f4172746973745f636f7665722e6a7067/Mario_Artist_cover.jpg" alt="Mario Artist" title="Source : https://upload.wikimedia.org/wikipedia/en/1/1d/Mario_Artist_cover.jpg"></p>
<p><a href="https://en.wikipedia.org/wiki/Mario_Artist">Mario Artist</a>, c’est une suite de logiciels qui fait suite à Mario Paint sur Super NES, un logiciel de dessin, d’animation et de musique. Mario Artist a eu 4 logiciels, Paint Studio, Talent Studio, Polygon Studio et Communication Kit.</p>
<p>Paint Studio c’est le logiciel de dessin classique, jouable jusqu’à 4 en même temps, avec un mode animation, le tout est vraiment très développé et détaillé, et avec un mode de monde 3D à explorer où il est possible de tout re-texturer et prendre des photos, je pense que j’aurais vraiment aimé étant gosse à l’époque.</p>
<p>Talent Studio c’est l’ancêtre des Miis, un éditeur de personnage simple et complexe à la fois avec parfois des options qui feraient rougir certains jeux actuels avec la création de personnage, puisque quasi tout est re-texturable, et y a un éditeur de film qui est assez limité mais qu’on peut en revanche animer chaque personnage quasi sans limites.</p>
<p>Polygon Studio c’est un éditeur 3D, avec un vrai éditeur de modèles 3D en polygones, et un éditeur simplifié conçu pour mettre plusieurs bouts prémâchés ensemble, et un éditeur pour donner un petit décor à la création 3D. Il est un peu connu pour être le jeu qui a inspiré directement Wario Ware avec un mode micro jeux dont Wario Ware en fait la copie conforme, et un mode <em>open world</em> utilisant un véhicule créé avec l’éditeur simplifié, et on récupère d’autres parties de véhicule parfois plus puissants et permettant d’explorer plus loin, c’est un mode très sous-côté et que je recommanderais de faire un jour, bien que ce jeu demande une émulation graphique N64 beaucoup plus précise pour fonctionner correctement.</p>
<p>Communication Kit c’est plus pour partager ses créations sur le service Randnet qui était le service Internet. Quand on avait la 64DD c’était uniquement avec un abonnement Randnet. Il y a aussi un mode alternatif pour utiliser la cartouche de capture RCA (NTSC) qui était aussi compatible avec Paint Studio et Talent Studio mais celui-ci permettait des effets en plus.</p>
<p>J’avais pris le temps de traduire les trois premiers Mario Artist en anglais pour l’accessibilité, bien que mon Japonais ne soit absolument pas bien, mais vu qu’on est surtout dans la traduction de mots simples dans les menus, c’est pas trop difficile, Polygon Studio est celui qui m’a posé le plus de problèmes avec le mode open world, mais j’ai dû retraduire les Mario Artist jusqu’à trois fois au total, chacun avec une meilleure tentative de la technique qui rendait la traduction possible, étant donné que le plus compliqué c’était surtout la place qui manquait, chaque caractère utilisant deux octets j’ai pu réduire à un octet, ce qui double la place disponible et ça m’a fait gagner beaucoup de temps. Après , il y a eu les changements graphiques à faire mais Polygon Studio était super bien programmé comparé aux deux autres qui sont parfois vraiment codés en dur ce qui m’avait compliqué la tache parfois. Les sources des traductions que je réalise sont généralement en ligne.</p>
<h4 id="toc-quels-hacks-avez-vous-fait-sur-zelda">Quels “hacks” avez-vous fait sur Zelda ?</h4>
<p>Pendant un temps, <a href="https://www.romhacking.net/community/803/">Zoinkity</a> avait un peu exploré la compatibilité 64DD de Zelda Ocarina of Time, et j’ai voulu aller plus loin et j’ai pu comprendre comment remplacer le texte, puis les <em>maps</em> du jeu. J’ai pu réaliser un test rapide sur le vrai hardware, ce dont le cache m’a vraiment posé problème que j’ai dû utiliser la zone mémoire non cache pour être sûr que ça marche, j’ai vraiment l’impression qu’il y a un vrai bug dans le code du jeu de base.</p>
<p>Puis, après ça, j’ai cherché si quelqu’un était intéressé pour réaliser un mod compatible 64DD, et le projet a pu être en chantier pendant quelques années. À la base ça aurait dû être qu’une seule <em>map</em>, mais c’était trop peu et pas assez impressionnant qu’on a préféré faire quelque chose de plus grand, mais j’avais imposé la seule condition de faire seulement une expérience de deux à trois heures tout au plus.</p>
<p>Ce projet deviendra Zelda 64 Dawn & Dusk, et est techniquement entièrement réalisé par Captain Seedy-Eye en version cartouche via la version debug de Master Quest qui avait été dumpé et fuité y a pas mal d’années. J’étais plutôt en charge de faire fonctionner tout ça sur 64DD, j’avais dit qu’il pouvait faire ce qu’il voulait et que c’était à moi de gérer tous les soucis si il faisait des choses qui étaient absolument pas prévu par la fonctionnalité 64DD de base.</p>
<p>J’avais, à la base, voulu réaliser le code pour la fonctionnalité 64DD de Zelda OoT en C, mais je savais pas trop comment gérer le <em>linker</em> correctement et je me suis résolu à tout faire en assembleur MIPS parce qu’au moins je savais comment les choses seraient assemblées et que j’avais un contrôle total. À ce moment-là j’avais pas totalement compris les normes d’utilisation des registres du CPU par rapport au compilateur, je pense que j’aurais codé complètement différemment maintenant.</p>
<p>J’ai dû hacker le moteur du jeu en temps réel avec le code chargé via la 64DD par le jeu, la N64 n’avait pas de système de permissions, donc aucune limite. Le développeur avait réalisé beaucoup de choses, comme de nouvelles musiques, ce qui n’était pas du tout prévu par les développeurs originaux de Zelda donc j’ai dû écrire du code pour qu’il lise les données des musiques par la RAM au lieu de la cartouche ROM. Parfois, j’ai eu à précharger beaucoup de fichiers dans la RAM et les modifier, créer une table pour le remplacement de fichiers à charger en temps réel, une grosse cache pour les fichiers <em>maps</em> du jeu parce que charger des <em>maps</em> de la disquette en plein gameplay faisait stopper le jeu et arrêtait complètement la musique. Il y a eu beaucoup de détails comme ça avec lesquels j’avais eu affaire, heureusement que j’avais 4 Mo de RAM supplémentaire grâce à l’Expansion Pak qui était de toute façon requise par Nintendo pour toute interaction avec la 64DD.</p>
<p>En soi ce n’était pas forcément compliqué, je trouvais toujours une solution technique à chaque problème, mais comme je testais tout sur émulateur avec un debugger, il a fallu quand même que je trouve un moment pour le test sur le vrai hardware. Mais comme réécrire une disquette 64DD via une 64DD normale n’était pas possible à cause des protections, j’ai donc écrit les données sur la partie réinscriptible d’une disquette 64DD, et modifié le jeu de base pour indiquer de charger de cette partie à la place. Ça aurait du fonctionner, mais le jeu n’arrêtait pas de planter. Donc j’ai implémenté un retour par USB pour voir, et clairement mon code était exécuté, mais ça plantait quand même au final.</p>
<p>Il m’a fallu deux semaines pour comprendre que les données sur 64DD n’étaient pas alignées et que l’implémentation de la copie mémoire (bcopy) du jeu de base était complètement buguée sur ce point et ignorait certains octets quand ils n’étaient pas copiés correctement. Ce problème n’existe pourtant pas sur émulateur alors que c’est le même code ! Et là, j’ai compris que la précision des calculs à virgule flottante sur le CPU (ne me demandez pas pourquoi ils s’en servent pour de la copie mémoire, je n’en ai aucune idée) n’était vraiment pas très au point. Une fois que toutes les données étaient alignées, tout fonctionnait correctement, et j’ai pu tester le jeu sans problèmes. Il fallait ensuite faire en sorte que ça fonctionne sur toutes les versions NTSC de Zelda Ocarina of Time : il en existe trois versions, mais c’était surtout un travail de recherche des adresses de chaque fonction que j’utilisais. Le plus compliqué c’était d’adapter la musique pour chaque version puisque les données son n’étaient pas exactement les mêmes, mais à côté du problème d’alignement c’était facile.</p>
<p>Et puis j’ai finalement porté tout ça pour en faire des patchs pour les ROMs cartouche de chaque version en plus d’avoir une version disquette 64DD, ce qui en fait le seul mod Zelda Ocarina of Time a être compatible avec toutes les versions NTSC finaux du jeu.</p>
<p>Zelda 64 Dawn & Dusk est apparu presque au moment où les <em>mods</em> Zelda 64 avaient une renaissance avec beaucoup de <em>mods</em> de très bonne facture sont apparus ensuite, les gens pensaient que Dawn & Dusk était très beau, et Captain Seedy-Eye avait vraiment fait du très bon travail. En revanche le côté implémentation 64DD était assez ignoré, j’étais un peu dépité, j’avais vraiment passé du temps dessus et c'était la raison principale de pourquoi ce <em>mod</em> existe. J’avais porté en version ROM parce que je me doutais bien qu’émuler la 64DD juste pour ça était pas forcément nécessaire, mais aurait pu être au moins apprécié par le fait que ça existe. Le lancement n’était pas forcément parfait non plus, à la fois parce que le jour d’après on avait déjà fait une version 2.0 avec une <em>map</em> corrigée, mais j’ai créé une confusion en la nommant 2.0 faisant penser que le mod existait déjà bien avant, et que les instructions pour jouer à la version 64DD étaient pas claires et trop précises. Tant pis.</p>
<p>Quelques années plus tard, y a eu le mod Zelda Expansion, basé sur les <em>maps</em> 64DD officielles du gigaleak de 2020, et le développeur m’a contacté pour en réaliser un portage 64DD, ce que j’ai fait finalement assez vite avec la même base de code de Zelda 64 Dawn & Dusk. Mais que j’ai mieux compartimenté, et finalement c’était même beaucoup plus simple parce qu’il s’agit juste de remplacement de <em>maps</em> de donjon, ce à quoi était principalement conçue la fonctionnalité 64DD du jeu de base.</p>
<h3 id="toc-partie-3-snes-et-bs-x">Partie 3 : SNES et BS-X</h3>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f312f31382f536174656c6c61766965775f73797374656d2e706e67/Satellaview_system.png" alt="SNES et BS-X" title="Source : https://upload.wikimedia.org/wikipedia/commons/1/18/Satellaview_system.png"><br>
<em>SNES et BS-X</em></p>
<h4 id="toc-quels-sont-vos-jeux-commerciaux-préférés-sur-cette-console-1">Quels sont vos jeux commerciaux préférés sur cette console ?</h4>
<p>Je suis pas spécialement un original parce que la plupart des jeux que j’aime bien sont des jeux développés par Nintendo, comme Super Mario All-Stars, même si c’est surtout un portage des quatre Mario en version 16-bit. Mais si je devais en choisir d’autres, je pourrais dire Sutte Hakkun, un jeu de puzzle un peu action qui était sur Satellaview puis sorti en cartouche plus tard, Marvelous - Another Treasure Island - que j’ai bien aimé aussi, le portage SNES de Detective Club Part II qui a récemment eu un remake sur Switch, Kirby’s Dream Course, Special Tee Shot, Pilotwings, Tetris Attack, et une bonne partie de ma vie d’enfant était passé sur Mario Paint avec la souris Super NES, d’où mon intérêt pour Mario Artist. Mais pour des jeux d’éditeurs tiers, je pense que Prince of Persia sur SNES est la meilleure version du jeu, Super Off-Road, récemment j’ai pu jouer a Demon’s Crest par Capcom qui est vraiment cool par le service Nintendo Switch Online, Operation Logic Bomb, Clock Tower, il y en a d’autres mais ce sont généralement les jeux Nintendo qui sont plutôt en haut dans mon classement.</p>
<h4 id="toc-quels-sont-vos-jeux-homebrew-préférés-sur-cette-console-1">Quels sont vos jeux “homebrew” préférés sur cette console ?</h4>
<p>Je n’en ai pas beaucoup joués, mais je pense à <a href="https://mag.mo5.com/97366/super-boss-gaiden-un-homebrew-pour-la-snes-et-son-cd-rom/">Super Boss Gaiden</a>, un <em>beat ’em up platforme</em> assez humoristique avec le président de Sony qui bat tout le monde parce que la Playstation originelle qui était à la base une Super NES et une Super NES CD en un, avait été trouvé et blâme tout Sony pour ça. C’est rempli de références parfois obscures et ça peut se jouer jusqu’à trois.</p>
<h4 id="toc-quelle-est-votre-manette-préférée-1">Quelle est votre manette préférée ?</h4>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f382f38322f5553412d534e45535f2d5f4a504e2d537570657246616d69636f6d2e706e672f38303070782d5553412d534e45535f2d5f4a504e2d537570657246616d69636f6d2e706e67/800px-USA-SNES_-_JPN-SuperFamicom.png" alt="Manettes américaines et japonaises" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/8/82/USA-SNES_-_JPN-SuperFamicom.png/800px-USA-SNES_-_JPN-SuperFamicom.png"><br>
<em>Manettes américaines et japonaises</em></p>
<p>J’aime beaucoup la manette Super Nintendo, après j’ai une préférence sur la version colorée de la Super Famicom et Super NES PAL, mais en même temps j’aime bien la manette Super NES américaine pour les boutons X et Y concaves, malgré le violet que je trouve un peu dégueulasse.</p>
<h4 id="toc-vous-avez-beaucoup-travaillé-sur-le-satellaview-quen-dire">Vous avez beaucoup travaillé sur le SatellaView, qu’en dire ?</h4>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f342f34392f536174656c6c61766965775f776974685f53757065725f46616d69636f6d2e6a7067/Satellaview_with_Super_Famicom.jpg" alt="SNES et Satellaview" title="Source : https://upload.wikimedia.org/wikipedia/commons/4/49/Satellaview_with_Super_Famicom.jpg"><br>
<em>SNES et Satellaview</em></p>
<p>C’est quelque chose sur laquelle j’ai travaillé très très tôt, bien avant la 64DD, même pendant mon adolescence, alors que j’apprenais comment coder en assembleur. Je découvrais aussi BS Zelda, et les autres jeux Satellaview à peu près au même moment, mais je me rendais compte qu’il s’agissait d’un vrai service par satellite, avec pas mal d’interactions possibles, et j’avais posé la question si quelqu’un avait fait de la recherche sur comment reproduire le signal d’époque ou du moins refaire fonctionner le service. Personne ne le faisait donc je me suis dit de le faire moi-même, et c’est comme ça que je commençais mon premier projet de rétro-ingénierie, à base d’une documentation très basique sur le hardware Satellaview qui se fixait sous la console avec le port EXT, puis d’un émulateur où je passais mon temps à activer le trace log, un désassembleur automatisé parfois capricieux. J’ai vraiment appris sur le tas, j’ai sans doute perdu beaucoup de temps à faire des trucs inutilement longs, mais ça a porté ses fruits en terme d’apprentissage en général, puis le créateur des émulateurs <em>nocash</em> vient avec un nouvel émulateur SNES et une documentation gargantuesque y compris la Satellaview, avec tout le système compris, et le système de machine virtuelle avec un bytecode de la cartouche BS-X qui sert d’accès au service.</p>
<p>Bien que j’ai appris plein de choses tout seul dans mon coin, il y a eu quand même beaucoup d’aides d’autres personnes surtout plus spécialisées au niveau hardware pour comprendre le fonctionnement de la cartouche BS-X par exemple qui utilise un mapper un peu spécial capable de re-mapper différentes parties entre la carte mémoire et la RAM de 512 Ko sur le bus SNES, ce genre de travail à ne pas négliger quant à l’époque la plupart du temps, c’était plutôt des trucs que des gens ont essayé de deviner à partir du code sans pouvoir le vérifier avec le vrai hardware.</p>
<p>J’avais fait un fork de bsnes et de snes9x pour avoir une meilleure émulation de la Satellaview avec des données externes, au final pour les abandonner au profit de directement contribuer au code officiel de snes9x, et au fork bsnes-plus. Certains ont utilisé cette base de travail sur leur émulateur comme Mesen. J’ai partiellement aidé au développement de l’émulation Satellaview sur le flashcart open source sd2snes, en particulier d’expliquer comment ça marche et de faire les données à “télécharger” pour faire marcher le plus de contenu possible, car certains jeux refusent de fonctionner sans des données supplémentaires à télécharger.</p>
<p>Les données externes en question on peut les générer grâce à SatellaWave, un logiciel que j’avais promis de refaire parce que la première version était vraiment trop compliquée à être utilisée, l’interface était imbitable, même pour moi qui a réussi à ne plus comprendre comment ça marche des années plus tard. Je m’étais résolu à ce moment de ne plus jamais faire de logiciels incompréhensibles par moi-même et de coder mieux, pour faire une version vraiment simple d’utilisation dans le futur. Ce qui a pris vraiment beaucoup trop de temps à être réalisé par procrastination + la vie privée qui changeait au fur et à mesure, mais j’ai pu développer ce logiciel de la façon que je voulais en C#, et les (rares) autres personnes qui s’en servent avaient mieux compris comment on s’en sert parce que j’avais tout misé sur l’expérience utilisateur que je prenais beaucoup plus au sérieux.</p>
<p>Depuis tout ça, j’aide beaucoup à la préservation de la Satellaview, parce que, finalement, ce sont tous les problèmes typiques d’un service dématérialisé. Sauf que, dans les années 90, très peu se sont intéressés à préserver ce contenu, donc, maintenant, le seul moyen de préserver, à notre échelle, c’est d’acheter les cartes mémoire Satellaview et espérer de voir du nouveau à l’intérieur, et qui ne soit pas corrompu en plus de ça, ce qui malheureusement, arrive de temps en temps… Ce n’est pas un service qu’on pourra préserver entièrement, donc la seule chose à faire c’est de prendre ce qu’il y a, même si ça coûte vraiment cher en ce moment. Je regarde les dumps avec un éditeur hexadécimal à la main, parfois aidé d’autres outils, je tente à mon échelle de planifier tout ça mais c’est généralement un projet communautaire où les gens dépensent comme ils peuvent.</p>
<h4 id="toc-vous-avez-traduit-marvelous---another-treasure-island-quel-est-ce-jeu">Vous avez traduit Marvelous - Another Treasure Island, quel est-ce jeu ?</h4>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f342f34382f4d617276656c6f75735f626f786172742e706e67/Marvelous_boxart.png" alt="Marvelous - Another Treasure Island" title="Source : https://upload.wikimedia.org/wikipedia/en/4/48/Marvelous_boxart.png"></p>
<p>Marvelous c’est le premier jeu dont Eiji Aonuma, producteur actuel des jeux Zelda, était le directeur, juste avant avoir bossé sur <em>The Legend of Zelda : Ocarina of Time</em>. C’est un jeu qui était uniquement sorti au Japon, avec deux <a href="https://fr.wiktionary.org/wiki/pr%C3%A9quelle">préquelles</a> sur Satellaview (Time Athletic & Camp Arnold), qui suit les aventures de trois enfants dans une colonie dans une île au loin, qui se joue presque comme un Zelda finalement, sauf que c’est beaucoup plus basé sur des énigmes à résoudre et le travail d’équipe entre les 3 protagonistes.</p>
<p>C’était déjà traduit par tashi et DackR y a quelques années, et le patch anglais était… disons que j’avais des soucis avec à la fois à cause d’un bug graphique vers la fin du jeu qui n’était pas trop grave. Aussi le script était vraiment bizarre par moments même si on comprenait très bien le jeu, mais c’était vraiment un jeu très sympa à faire.</p>
<p>J’ai voulu traduire les BS Marvelous pour Satellaview, j’ai fini par développer un système de rendu de texte à largeur variable ce qui était assez nouveau puisque le patch anglais du jeu principal n’en avait pas, puis je me suis dit que je pourrais faire peut-être quelque chose pour ce jeu en particulier, il y avait la source de la traduction anglaise, sauf que les outils sont parfois inutilisables… donc j’ai entrepris de réimplémenter exactement la même base mais pour des outils plus actuels et fonctionnels, puis de corriger le bug graphique que j’avais eu. Et ensuite d’améliorer la technique et la traduction, et, entre-temps, DackR et moi avons pu prendre contact et on s’est arrangés pour que je fasse uniquement la technique et DackR tout ce qui est texte et graphismes à changer.</p>
<p>On a un résultat qui, pour l’instant, n’est pas encore terminé. Mais, tout ce qui est technique est terminé et il ne manque vraiment plus qu’à faire les finitions sur le texte, les graphismes et le bêta test, mais DackR maintenant très occupé par sa vie. Actuellement le projet est un peu en pause, bien que je tente de faire en sorte que ça puisse sortir cette année. Après ça, j’aimerais pouvoir réaliser une version française du jeu. Je connais déjà des gens intéressés pour le faire. Je veux vraiment pouvoir rendre ce jeu plus accessible parce qu’il est vraiment sympa et pas trop difficile non plus.</p>
<h4 id="toc-pouvez-vous-nous-parler-de-ongaku-tsukuru-music-maker">Pouvez-vous nous parler de Ongaku Tsukuru (Music Maker)</h4>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f6c75696769626c6f6f642e6e656f6369746965732e6f72672f696d672f706f7274666f6c696f2f6f6e67616b755f656e312e706e67/ongaku_en1.png" alt="Music Maker" title="Source : https://luigiblood.neocities.org/img/portfolio/ongaku_en1.png"></p>
<p>Ongaku Tsukuru fait partie de la série Tsukuru, dont fait partie la série RPG Maker déjà bien connu sur PC, mais ça date de plus de 30 ans ! Et c’était déjà présent sur les micro-ordinateurs de l’époque, mais la ASCII Corporation a publié des versions Super Famicom, avec RPG Tsukuru Super Dante, puis RPG Tsukuru 2, Sound Novel Tsukuru (un éditeur de jeu textuel avec quelques graphismes basiques) et Ongaku Tsukuru. Ces trois derniers sont compatibles Satellaview avec le système de carte mémoire, et le truc avec Ongaku Tsukuru c’est qu’on peut créer des musiques avec un éditeur en mode solfège très précis, puis on pouvait convertir les musiques dans un format compatible pour RPG Tsukuru 2 et Sound Novel Tsukuru, ce qui est plutôt cool, et c’est quelque chose qu’ils ont fait sur les successeurs sur Playstation 1 au Japon aussi.</p>
<p>J’ai commencé à traduire Ongaku Tsukuru un peu pour le fun et de passer le temps. J’ai dû passer énormément de temps de trouver comment je peux traduire sans prendre plus de place mémoire vidéo que je n’en ai, et que ça soit compréhensible surtout : c’est surtout ça le plus compliqué, surtout pour un éditeur avec pleins de menus différents avec des utilisations précises…</p>
<h4 id="toc-vous-avez-patché-des-jeux-flash-back-special-tee-shot-comment-et-pourquoi">Vous avez patché des jeux (Flash Back, Special Tee Shot), comment et pourquoi ?</h4>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f312f31352f534e45535f5370656369616c5f5465655f53686f742e706e67/SNES_Special_Tee_Shot.png" alt="Special tee Shot" title="Source : https://upload.wikimedia.org/wikipedia/en/1/15/SNES_Special_Tee_Shot.png"></p>
<p>Souvent je patche parce que j’avais envie de le faire en premier lieu, je fais rarement des requêtes par exemple.</p>
<p>Pour le cas de Flashback sur Super NES j’avais fait un patch MSU1 qui permet d’avoir les musiques qualité CD et surtout de pouvoir remettre les musiques qui manquent, c’est un portage qui, d’une part, rame pas mal, et les cinématiques sont jamais à la bonne vitesse, et d’autre part, une bonne partie des musiques ont été amputées du jeu, donc j’ai voulu au moins corriger ce dernier problème. J’avais initialement réalisé ce patch sur le prototype du MSU1 qui s’appelait 21FX, et pour résumer le MSU1 pour celles et ceux qui ne savent pas, c’est une “puce” inventée de toute pièce à l’émulateur pour ajouter un accès à la volée de 4 Go de données additionnelles et 65536 pistes audio en qualité CD. Cette “puce” finira par être implémentée sur FPGA via le flashcart open source sd2snes (actuellement FX Pak Pro) et deviendra l’implémentation officielle du MSU1.</p>
<p>Special Tee Shot c’est un jeu de minigolf loufouque qui existe sur Satellaview en 1996, qui a eu un contexte de développement assez atypique puisqu’il était en développement en 1992 par Nintendo et HAL Laboratory, puis Kirby est sorti et il est devenu Kirby’s Dream Course en 1994, mais qu’ils ont quand même fini l’original pour Satellaview en 1996. On a réussi à dumper une version de 1992 via une cartouche vendue à 1 dollar trouvé par pur hasard, mais les contrôles du jeu sont vraiment beaucoup moins intuitifs pour la visée de la balle comparé à ce qui est sorti. Du coup j’avais réalisé un patch pour rendre les contrôles plus proches de la version Satellaview du jeu, parce que je trouve cette version du jeu plutôt intéressante d’une certaine manière.</p>
<h3 id="toc-partie-4-pour-finir">Partie 4 : pour finir</h3>
<h4 id="toc-que-dire-sur-vos-autres-projets">Que dire sur vos autres projets ?</h4>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f612f61622f4d6172696f5f6e6f5f50686f746f70695f766964656f5f67616d655f626f785f6172742e6a706567/Mario_no_Photopi_video_game_box_art.jpeg" alt="Mario no Photopi" title="Source : https://upload.wikimedia.org/wikipedia/en/a/ab/Mario_no_Photopi_video_game_box_art.jpeg"></p>
<p>J’aime bien faire des petits projets de temps en temps qui ne nécessitent pas trop de temps à faire, j’ai déjà un peu fait du travail sur l’émulation sur du hardware peu connu de la Nintendo 64 comme le lecteur de cartes SmartMedia (qui fait un peu ancêtre de la carte SD) pour Mario no Photopi, un logiciel de compositing photo pour N64 avec une cartouche très atypique avec deux slots SmartMedia.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f322f32332f4e696e74656e646f5f452d5265616465722e6a70672f35343170782d4e696e74656e646f5f452d5265616465722e6a7067/541px-Nintendo_E-Reader.jpg" alt="Nintendo e-Reader" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/2/23/Nintendo_E-Reader.jpg/541px-Nintendo_E-Reader.jpg"><br>
<em>Nintendo e-Reader</em></p>
<p>Mes premiers projets de programmation sont en rapport avec l’e-Reader de la Game Boy Advance, qui est un lecteur de cartes à points, avec la même technologie que le QR Code mais beaucoup plus petits. Il existait des cartes avec des niveaux entiers pour Super Mario Advance 4, niveaux qui sont présents dans la version Wii U et Switch à présent. Ce projet s’appelait “Solar Magic Advance” en réference à Lunar Magic, l’éditeur de niveaux de Super Mario World par excellence. J’avais à la base réalisé un générateur de cartes pouvoir (qui file un power-up dans l’inventaire) sur Liberty Basic parce que je ne savais pas encore coder à l’époque, puis au fur et à mesure je prenais conscience des limitations techniques, je suis passé sur Visual Basic avec une version qui lit les cartes niveaux, puis j’ai appris le C# que j’utilise régulièrement sur beaucoup d’autres projets. Au final Solar Magic Advance n’est resté qu’un projet vaporware, le vrai éditeur de niveaux que j’avais prévu ne sera probablement jamais réalisé, bien trop occupé ailleurs pour le faire.</p>
<p>Au final j’aurai quand même réalisé quelques projets pour la GBA, comme un logiciel de communication pour Super Mario Advance 4 et Mario VS Donkey Kong pour transférer les données e-Reader, et un logiciel qui permet de prétendre à la GBA d’être un périphérique pour Nintendo 64 relié à une Game Boy Printer, jamais sortie mais totalement compatible et fonctionnel dans Mario Artist Paint Studio et Communication Kit. Il est même compatible avec une eventuelle Game Boy Printer Color, qui n’a jamais été annoncé.</p>
<h4 id="toc-vous-avez-de-futurs-projets-en-cours">Vous avez de futurs projets en cours ?</h4>
<p>Je retente une petite carrière de vidéos YouTube travaillées, mais ça prend un peu de temps, ça sera ultra niche, je ne cherche pas forcément une certaine popularité dans ce milieu, mais je veux pouvoir parler de sujets qui me passionnent sans filtre. La première grosse vidéo sera sur l’accessoire <a href="https://snescentral.com/article.php?id=0908">Turbo File Twin</a> pour la Super Famicom, mais ça reste assez demandeur donc il n’est pas impossible que je chercherai à faire une vidéo plus courte et facile à réaliser avant.</p>
<h4 id="toc-au-niveau-personnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ?</h4>
<p>Je suis majoritairement un utilisateur de Windows, mais, des logiciels dont j’ai eu beaucoup d’utilité c’est je pense <a href="https://github.com/ARM9/bass">bass</a> qui est un logiciel à la base développé par Near puis forké par un autre qui se nomme ARM9, et ça permet d’assembler du code assembleur très très bas niveau, à la base ça faisait du 65c816 pour SNES et du THUMB pour ARM7TDMI pour GBA (pour la traduction anglaise de <a href="https://www.grospixels.com/site/mother3.php">Mother 3</a>, entre autres), puis ce fork a vraiment été plus loin dans le délire pour permettre encore plus d’architectures, et ça me sert pour tous mes projets rétro comme les ROM hacks et les traductions de jeux.</p>
<p>J’ai déjà utilisé <a href="https://www.blender.org/">Blender</a>, <a href="https://inkscape.org">Inkscape</a>, Audacity, pour des trucs parfois plus créatifs, <a href="https://openscad.org/">OpenSCAD</a> à un moment pour faire des modèles 3D à imprimer. J’utilisais MadEdit et maintenant son fork <a href="https://wxmedit.github.io/">wxMEdit</a> en tant qu’éditeur texte basique et surtout hexadécimal parce qu’il reconnaît vraiment beaucoup d’encodages de caractères différentes dont le <a href="https://en.wikipedia.org/wiki/Extended_Unix_Code">EUC-JP</a> qui est plutôt abandonné dans beaucoup d’éditeurs alors que j’en ai parfois besoin quand je m’attelle à des trucs vieux qui s’en servent.</p>
<h4 id="toc-au-niveau-professionnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau professionnel, quels logiciels libres utilisez-vous, sur quel OS ?</h4>
<p>Tout est un peu entremêlé, donc je n’ai pas vraiment de réponse différente à donner.</p>
<h4 id="toc-quelle-est-votre-distribution-gnulinux-préférée-et-pourquoi-quels-sont-vos-logiciels-libres-préférés">Quelle est votre distribution GNU/Linux préférée et pourquoi, quels sont vos logiciels libres préférés ?</h4>
<p>J’ai plutôt tendance à utiliser Kubuntu juste pour l’interface KDE qui se rapproche de Windows, mais c’est vrai que j’ai pas pour habitude d’utiliser Linux en dehors du Windows Subsystem for Linux en ce moment, et via Docker parce que l’environnement de développement des distros Linux en général sont quand même bien supérieures à Windows, mais c’est pas évident de changer des habitudes qui sont restées depuis l’enfance.</p>
<h4 id="toc-quelle-question-auriez-vous-adoré-quon-vous-pose">Quelle question auriez-vous adoré qu’on vous pose ?</h4>
<p>Honnêtement si on me pose des questions sur la Satellaview et la 64DD ou tous mes autres sujets de prédilections, je reste plutôt heureux de répondre.</p>
<h4 id="toc-quelle-question-auriez-vous-détesté-quon-vous-pose">Quelle question auriez-vous détesté qu’on vous pose ?</h4>
<p>“Pourquoi prends-tu autant de temps pour faire quelque chose ?” – Parce que même si je fais quand même pas mal de trucs, je reste aussi un immense flemmard et procrastinateur, et j’ai rarement eu une réponse satisfaisante à donner.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f6c75696769626c6f6f642e6e656f6369746965732e6f72672f696d672f79616b756d6f6e6f2e706e67/yakumono.png" alt="Yakumono" title="Source : https://luigiblood.neocities.org/img/yakumono.png"></p>
</div><div><a href="https://linuxfr.org/news/entretien-avec-luigiblood.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/130887/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/entretien-avec-luigiblood#comments">ouvrir dans le navigateur</a>
</p>
devnewton 🍺
gUI
Ysabeau 🧶 🧦
Arkem
https://linuxfr.org/nodes/130887/comments.atom
tag:linuxfr.org,2005:News/41393
2023-02-14T18:00:37+01:00
2023-04-11T13:03:39+02:00
Entretien avec Stephane-D à propos du SGDK
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>Stephane-D développe <a href="https://www.patreon.com/SGDK">un SDK pour créer des jeux pour la console Megadrive</a>, cet entretien revient sur son parcours et les raisons qui l’ont amené à s’intéresser à cette console.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f662f66632f536567615f4d6567615f44726976655f50414c2e6a70672f33323070782d536567615f4d6567615f44726976655f50414c2e6a7067/320px-Sega_Mega_Drive_PAL.jpg" alt="Console Megadrive, source Wikipéadia, © Bill Bertram (Pixel8) 2011" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Sega_Mega_Drive_PAL.jpg/320px-Sega_Mega_Drive_PAL.jpg"></p>
<p><a href="https://github.com/Stephane-D/SGDK">Code du SDK sous licence MIT</a><br>
<a href="https://www.copetti.org/writings/consoles/mega-drive-genesis/">Un article présentant le hardware de la Megadrive</a><br>
<a href="https://mag.mo5.com/150642/les-podcasts-de-mo5-com-42-la-mega-drive-a-30-ans/">Un podcast publié pour les 30 ans de la console</a><br>
<a href="https://cpu.dascritch.net/post/2020/06/11/Ex0139-Sega%2C-game-over-sur-console">Un autre podcast sur l’histoire de SEGA</a><br>
<a href="https://www.sega-16.com/">Un site consacré à SEGA et ses consoles</a><br>
<a href="https://z-team.itch.io/">Z-Team, une équipe qui porte des jeux micros sur Megadrive</a></p>
</div><ul></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li>
<ul>
<li>
<a href="#toc-pr%C3%A9sentation">Présentation</a><ul>
<li><a href="#toc-bonjour-qui-%C3%AAtes-vous-quel-est-votre-parcours-et-est-il-li%C3%A9-aux-jeux-vid%C3%A9os">Bonjour, qui êtes-vous, quel est votre parcours et est-il lié aux jeux vidéos ?</a></li>
<li><a href="#toc-comment-en-%C3%AAtes-vous-venu-%C3%A0-vous-int%C3%A9resser-%C3%A0-la-megadrive">Comment en êtes-vous venu à vous intéresser à la megadrive ?</a></li>
</ul>
</li>
<li>
<a href="#toc-parlons-hard">Parlons hard</a><ul>
<li><a href="#toc-quest-ce-que-cette-console-a-de-particulier">Qu’est-ce que cette console a de particulier ?</a></li>
<li><a href="#toc-comment-fonctionne-le-processeur-graphique-vdp">Comment fonctionne le processeur graphique (VDP) ?</a></li>
<li><a href="#toc-comment-fonctionnent-les-puces-sonores-yamaha-ym2612-texas-instruments-sn76489">Comment fonctionnent les puces sonores (Yamaha YM2612, Texas Instruments SN76489) ?</a></li>
<li><a href="#toc-quest-ce-que-le-blast-processing-est-ce-juste-une-blague-du-service-marketing-de-sega">Qu’est-ce que le Blast Processing ? Est-ce juste une blague du service marketing de Sega ?</a></li>
<li><a href="#toc-que-dire-sur-le-megacd">Que dire sur le megacd ?</a></li>
<li><a href="#toc-que-dire-sur-la-32x">Que dire sur la 32x ?</a></li>
<li><a href="#toc-la-megadrive-a-connu-plusieurs-versions-model-2-cdx-nomad-teradrive-wondermega-laseractive-les-avez-vous-test%C3%A9s">La megadrive a connu plusieurs versions (model 2, CDX, Nomad, Teradrive, Wondermega, LaserActive…) ? Les avez-vous testés ?</a></li>
<li><a href="#toc-la-megadrive-a-r%C3%A9cemment-eu-deux-versions-mini-quen-pensez-vous">La megadrive a récemment eu deux versions « mini » ? Qu’en pensez-vous ?</a></li>
<li><a href="#toc-quelle-est-votre-manette-pr%C3%A9f%C3%A9r%C3%A9e">Quelle est votre manette préférée ?</a></li>
</ul>
</li>
<li>
<a href="#toc-parlons-soft">Parlons soft</a><ul>
<li><a href="#toc-les-%C3%A9mulateurs-megadrive-sont-ils-bons">Les émulateurs megadrive sont-ils bons ?</a></li>
<li><a href="#toc-quels-sont-vos-jeux-commerciaux-pr%C3%A9f%C3%A9r%C3%A9s-sur-cette-console">Quels sont vos jeux commerciaux préférés sur cette console ?</a></li>
<li><a href="#toc-quels-sont-vos-jeux-homebrew-pr%C3%A9f%C3%A9r%C3%A9s-sur-cette-console">Quels sont vos jeux <em>homebrew</em> préférés sur cette console ?</a></li>
<li><a href="#toc-pourquoi-cr%C3%A9er-un-sdk-aujourdhui-pour-un-si-vieux-syst%C3%A8me">Pourquoi créer un SDK aujourd’hui pour un si vieux système ?</a></li>
<li><a href="#toc-est-ce-que-vous-participez-vous-m%C3%AAme-%C3%A0-la-cr%C3%A9ation-de-jeux">Est-ce que vous participez vous-même à la création de jeux ?</a></li>
<li><a href="#toc-quels-ont-%C3%A9t%C3%A9-les-difficult%C3%A9s-pour-cr%C3%A9er-sgdk">Quels ont été les difficultés pour créer SGDK ?</a></li>
<li><a href="#toc-vous-aimeriez-vivre-du-d%C3%A9veloppement-de-ce-logiciel-libre">Vous aimeriez vivre du développement de ce logiciel libre?</a></li>
<li><a href="#toc-est-ce-que-sgdk-g%C3%A8re-les-manettes-%C3%A0-6-boutons-de-la-megadrive-les-multitaps-et-les-pistolets-menacer-gun">Est-ce que SGDK gère les manettes à 6 boutons de la megadrive, les multitaps et les pistolets (Menacer Gun) ?</a></li>
<li><a href="#toc-est-ce-que-sgdk-g%C3%A8re-les-modems">Est-ce que SGDK gère les modems ?</a></li>
<li><a href="#toc-est-ce-que-sgdk-g%C3%A8re-dautres-p%C3%A9riph%C3%A9riques-de-la-megadrive-souris-miracle-keyboard-system-aura-interactor-sega-activator">Est-ce que SGDK gère d’autres périphériques de la megadrive (souris, Miracle Keyboard System, Aura Interactor, Sega Activator…) ?</a></li>
<li><a href="#toc-quels-conseils-donneriez-vous-%C3%A0-quelquun-qui-veut-se-lancer-dans-le-d%C3%A9veloppement-megadrive">Quels conseils donneriez-vous à quelqu’un qui veut se lancer dans le développement megadrive ?</a></li>
<li><a href="#toc-quels-sont-les-outils-pour-cr%C3%A9erpr%C3%A9parer-des-graphismes-utilisables-par-sgdk">Quels sont les outils pour créer/préparer des graphismes utilisables par SGDK ?</a></li>
<li><a href="#toc-quels-sont-les-outils-pour-cr%C3%A9erpr%C3%A9parer-des-musiques-et-des-sons-utilisable-par-sgdk">Quels sont les outils pour créer/préparer des musiques et des sons utilisable par SGDK ?</a></li>
<li><a href="#toc-est-il-possible-de-cr%C3%A9er-ses-propres-cartouches">Est-il possible de créer ses propres cartouches ?</a></li>
<li>
<a href="#toc-on-a-vu-r%C3%A9cemment-des-d%C3%A9mos-impressionnantes-portages-de-star-fox-ou-f-zero-comment-est-ce-possible-quelles-sont-vos-astuces-ou-optimisations-pr%C3%A9f%C3%A9r%C3%A9es">On a vu récemment des démos impressionnantes (portages de </a><a href="https://mag.mo5.com/236549/star-fox-decolle-de-nouveau-sur-mega-drive/">Star Fox</a> ou <a href="https://mag.mo5.com/66493/f-zero-aussi-porte-sur-mega-drive/">F-Zero</a>), comment est-ce possible ? Quelles sont vos astuces ou optimisations préférées ?</li>
<li><a href="#toc-comment-saccommoder-des-faibles-ressources-peu-de-ram-cpu-sans-virgule-flottante">Comment s’accommoder des faibles ressources (peu de RAM, CPU sans virgule flottante…) ?</a></li>
</ul>
</li>
<li>
<a href="#toc-libre-%C3%A0-vous">Libre à vous</a><ul>
<li><a href="#toc-au-niveau-personnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ?</a></li>
<li><a href="#toc-au-niveau-professionnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau professionnel, quels logiciels libres utilisez-vous, sur quel OS ?</a></li>
<li><a href="#toc-quelle-est-votre-distribution-gnulinux-pr%C3%A9f%C3%A9r%C3%A9e-et-pourquoi-quels-sont-vos-logiciels-libres-pr%C3%A9f%C3%A9r%C3%A9s">Quelle est votre distribution GNU/Linux préférée et pourquoi, quels sont vos logiciels libres préférés ?</a></li>
<li><a href="#toc-quelle-question-auriez-vous-ador%C3%A9-quon-vous-pose">Quelle question auriez-vous adoré qu’on vous pose ?</a></li>
<li><a href="#toc-quelle-question-auriez-vous-d%C3%A9test%C3%A9-quon-vous-pose">Quelle question auriez-vous détesté qu’on vous pose ?</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="toc-présentation">Présentation</h3>
<h4 id="toc-bonjour-qui-êtes-vous-quel-est-votre-parcours-et-est-il-lié-aux-jeux-vidéos">Bonjour, qui êtes-vous, quel est votre parcours et est-il lié aux jeux vidéos ?</h4>
<p>Bonjour,</p>
<p>Mon nom est Stéphane Dallongeville, j’ai 43 ans et je suis développeur de métier. Étrangement, j’ai toujours travaillé dans le domaine de la santé, pas forcément par choix, mais plutôt par le hasard de la vie et surement parce que c’est un domaine où les besoins sont assez techniques et que c’est ce qui m’intéresse en général 🙂.<br>
Contrairement à bon nombre de personnes de ma génération, j’ai découvert les jeux vidéos avec les bornes d’arcade vers l’age de 7-8 ans. Il y avait une salle de jeux d’arcade (le Flipper's house de Compiègne pour celles et ceux qui ont connu) juste à côté de mon école et, avec mon frère, on avait pris l’habitude d’y passer avant et après l’école (avec pas mal d’arrivées en retard à cause de ça) et d’y passer une bonne partie de nos week-ends également. Je me souviens qu’on était vraiment accro, on venait juste pour regarder les gens jouer, car on n’avait pas ou très peu d’argent à dépenser. Du coup, on a découvert pas mal de classiques en arcade (Pole Position, Pac Man, Double Dragon, WonderBoy, Street Fighter 2, Final fight…) avant même d’avoir une console. D’ailleurs notre première console (en 1990) fut une… <a href="https://www.gx4000.net/">GX-4000</a> 😅.<br>
Là encore, ce n’était pas forcément par choix, mais simplement parce que c’était la seule en stock (mes parents achetaient beaucoup par correspondance), il faut admettre qu’elle ne nous a pas laissé de souvenirs impérissables… Mais par la suite, on s’est bien rattrapé avec la NES d’abord, puis la Megadrive, la SNES, etc.<br>
J’ai passé beaucoup, beaucoup d’heures à jouer étant jeune, mais à partir de 16 ans, j’ai commencé à m’intéresser davantage au PC et à la programmation, j’ai alors délaissé un peu les consoles.<br>
Il faut dire que la génération 32 bit ne m’a jamais vraiment attiré, déjà parce que le prix des consoles devenait indécent (<em>NDM : peut-être un lapsus faisant référence à <a href="https://www.mobygames.com/game/Descent">Descent</a> ?</em> ) mais surtout parce que le passage à la 3D s’est fait dans la douleur… Même si techniquement, c’était certes une révolution, visuellement, c’était moche et pendant ce temps-là sur PC, on commençait à avoir de la 3D filtrée bien plus flatteuse.</p>
<h4 id="toc-comment-en-êtes-vous-venu-à-vous-intéresser-à-la-megadrive">Comment en êtes-vous venu à vous intéresser à la megadrive ?</h4>
<p>J’ai toujours été plus Sega que Nintendo, surement parce que j’ai un frère jumeau et, quand on était jeune, il fallait se différencier l’un de l’autre, comme il était plutôt Nintendo alors, j’étais Sega, avec le recul, je pense que ça correspondait aussi un peu à nos différences de caractère 😄.</p>
<p>La génération des consoles 16 bits est indéniablement celle qui m’a le plus marqué et, donc, la Mega Drive est un peu ma machine de cœur même si j’ai passé au moins autant de temps à jouer sur SNES.</p>
<h3 id="toc-parlons-hard">Parlons hard</h3>
<h4 id="toc-quest-ce-que-cette-console-a-de-particulier">Qu’est-ce que cette console a de particulier ?</h4>
<p>Déjà, c’est une console de la génération 16 bits et donc on est encore sur des machines pensées pour la 2D, je pense qu’on aurait pu aller beaucoup plus loin sur les jeux 2D si l’arrivée de la Playstation n’avait pas « imposé » un saut précoce à la 3D. Mais du coup « faute de mieux » la génération 16 bits représentent un peu la quintessence des jeux 2D dans un sens.<br>
Ensuite, par rapport à cette génération 16 bit et surtout par rapport à sa concurrente directe, la SNES, la Mega Drive est beaucoup plus simple à programmer, et, disons-le offre plus de liberté au développeur contrairement à ce qu’on pourrait penser. Son processeur central - le 68000 - qui était un peu « la rolls » des processeurs 16 bits de l’époque, est en grande partie responsable de cet état de fait, surtout en comparaison du 65C816 qui équipe la SNES et qui est à l’extrême opposé. Mais le reste de l’architecture n’est pas en reste. La SNES est plus moderne assurément (elle est sortie quand même 2 ans après), elle affiche plus de couleurs avec beaucoup d’effets graphiques hardware et un son à base de samples, mais l’ensemble est assez contraint et il est difficile de sortir des frontières dessinées par les capacités hardware de la machine. La Mega Drive c’est un peu l’opposé, on a peu d’effets câblés, c’est assez root avec du son FM et des capacités PCM réduites au minimum syndical. Par contre, on a beaucoup de flexibilité et de puissante brute pour dépasser ces frontières et c’est ça qui est plaisant avec cette machine.</p>
<h4 id="toc-comment-fonctionne-le-processeur-graphique-vdp">Comment fonctionne le processeur graphique (VDP) ?</h4>
<p>C’est un processeur graphique optimisé pour l’affichage 2D, ça reprend le même principe qu’on avait sur les consoles 8 bits : un arrière-plan scrollable et des sprites qu’on affiche par-dessus.<br>
L’affichage est composé exclusivement de blocs de 8 × 8 pixels en 4 bpp (16 couleurs) qu’on appelle « tuile », la mémoire vidéo (VRAM) va donc contenir un set de tuiles et des tables permettant de mapper ces tuiles sur les plans et sur les sprites (des tables d’index en gros).<br>
Par rapport à la génération précédente, la Mega Drive apporte un 2ᵉ plan scrollable pour ajouter plus de profondeur et de complexité dans les décors ainsi que des capacités de sprites gonflées (taille variable de 8 × 8 à 32 × 32 et jusqu’à 80 sprites maximum).<br>
Le VDP apporte aussi quelques fonctionnalités hardware pour faire des parallaxes facilement ainsi qu’un scrolling vertical assez avancé qui permettait de scroller des colonnes de 16 pixels individuellement (c’est grâce à lui qu’on pouvait réaliser des effets de rotations avec des angles restreints par exemple). Une fonction majeure de cette génération était l’apport du DMA qui permettait de faire des transferts rapides vers la mémoire vidéo. Par contre, la faiblesse majeure du VDP c’est sans conteste son faible nombre de palettes : seulement 4 palettes de 16 couleurs sur une profondeur de 512 couleurs (RGB333), c’est vraiment peu.<br>
La SNES en a 4 fois plus (8 palettes pour les arrières plans + 8 palettes pour les sprites) et la PC Engine pourtant sortie 1 an avant en avait pas moins de 16 + 16 palettes. C’est d’autant plus dommage qu’à la base le VDP a été conçu pour accueillir 4 + 4 palettes en RGB444 mais pour des raisons de coût ça a été tronqué à 4 palettes partagées en RGB333.</p>
<p><em>NDM: pour aller plus loin voir le site <a href="https://rasterscroll.com/mdgraphics/">Rasterscroll</a>.</em></p>
<h4 id="toc-comment-fonctionnent-les-puces-sonores-yamaha-ym2612-texas-instruments-sn76489">Comment fonctionnent les puces sonores (Yamaha YM2612, Texas Instruments SN76489) ?</h4>
<p>Le SN76489 est vraiment un générateur audio assez basique que l’on retrouve sur beaucoup de machine 8 bit. Il est d’ailleurs présent sur la Master System…<br>
C’est un générateur d’onde carré sur 3 voies + 1 voie de bruit blanc, les capacités audio de ce chip sont, disons-le, très limitées…<br>
Le YM2612 est un synthétiseur FM sur 6 voies, c’est le même type de synthétiseur qu’on trouvait dans certains synthétiseurs des années 80 (comme le Yamaha DX 11). Le principe de la synthèse FM est assez complexe, chaque voie est composée de plusieurs opérateurs (4 sur le YM2612) qui sont connectés ensemble selon plusieurs configurations possibles (8 possibles sur le YM2612). À la base, chaque opérateur produit une onde sinusoïdale à une certaine fréquence et une enveloppe de type ADSR par-dessus. Ensuite, selon la configuration des opérateurs, certains opérateurs vont servir à « moduler » l’onde sonore de l’opérateur suivant ou simplement produire le son de sortie.<br>
Prenons l’exemple de la configuration #0, dans cette configuration, les 4 opérateurs sont connectés en série : 0 --- 1 --- 2 --- 3<br>
On a donc l’opérateur 0 qui va moduler le son de l’opérateur 1, qui va lui-même moduler le son de l’opérateur 2, qui va lui-même moduler le son de l’opérateur 3 qui va lui sortir le son final de la voie. Cette configuration permet de produire des ondes très complexes.<br>
À l’inverse, la configuration #7 positionne les 4 opérateurs en parallèle :</p>
<pre><code>0
1
2
3
</code></pre>
<p>La sortie des 4 opérateurs est simplement mixée ensemble pour produire le son final de la voie.<br>
Une particularité du YM2612 est que la 6ᵉ voie peut être configurée en simple DAC pour pouvoir produire des samples (voix digitalisées), c’est grâce à ça que la Mega Drive peut produire du son digitalisé.<br>
La synthèse FM reste un procédé sonore complexe et difficile à maîtriser qui est capable du meilleur comme du pire. Beaucoup de développeurs occidentaux se sont cassés les dents dessus (nos tympans en ont fait les frais) mais dans de bonnes mains ça pouvait produire du son extrêmement riche et de meilleure qualité que les sampleurs de l’époque. De par le principe de fonctionnement des chips FM, l’onde de sortie est générée à haute fréquence, sur le YM2612, on est à 53 KHz par exemple.</p>
<h4 id="toc-quest-ce-que-le-blast-processing-est-ce-juste-une-blague-du-service-marketing-de-sega">Qu’est-ce que le Blast Processing ? Est-ce juste une blague du service marketing de Sega ?</h4>
<p>Oui et non 🙂 Il n’y a donc pas de techno « Blast Processing » à proprement parler. À la base ça vient d’un trick trouvé par un développeur interne : il a découvert qu’on pouvait produire un pseudo-mode bitmap en transférant en continu en CRAM (palette) via le DMA. Il a utilisé le mot « blast » pour décrire ce procédé de transfert en continu via le DMA… et en effet le marketing a repris ce terme pour en faire le fameux Blast Processing, car ils trouvaient que ça sonnait bien !</p>
<p><em>NDM : le marketing de Sega et de ses partenaires était connu pour être <a href="https://www.sega-dreamcast-info-games-preservation.com/pub-megadrive-aventure-numerisation">agressif </a>, voire carrément <a href="https://www.sega-16.com/2016/08/sex-sega-partners-in-print/">lourd</a>.</em></p>
<h4 id="toc-que-dire-sur-le-megacd">Que dire sur le megacd ?</h4>
<p>Je pense que le MegaCD est assez sous-estimé, ou plutôt sa ludothèque. Il y a beaucoup de très bons jeux sortis sur MegaCD.<br>
Par contre, je pense sincèrement que le MegaCD aurait eu bien plus de succès si Sega s’était contenté d’en faire juste un « gros support de stockage » (comme sur la PCE) plutôt qu’en faire un add-on si couteux avec des fonctions de pseudos mode 7 uniquement là pour faire face à la SNES. À l’époque à plus de 2000Fr je n’ai jamais <em>regardé</em> le Mega-CD, il était hors course à un prix si prohibitif et le positionnement marketing sur le FMV était aussi une erreur, je pense. La Mega Drive en avait déjà pas mal dans le ventre et un simple gros stockage lui aurait permis de s’exprimer pleinement.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f302f30632f4d65676143442e706e67/MegaCD.png" alt="MegaCD" title="Source : https://upload.wikimedia.org/wikipedia/commons/0/0c/MegaCD.png"></p>
<h4 id="toc-que-dire-sur-la-32x">Que dire sur la 32x ?</h4>
<p>Là pour le coup c’est assez difficile d’en dire du bien si on considère la ludothèque de la machine… à peine 50 jeux dont une dizaine qui en vaille réellement la peine 😕.</p>
<p>Le 32X était une vaine tentative de prolonger artificiellement la vie de la Mega Drive mais le timing n’était pas le bon avec l’arrivée de la Saturn et de la Playstation.<br>
Je pense que le 32X aurait peut-être pu avoir son marché comme « 32 bits abordable » en console standalone à cartouche. Là où la Saturn et la Playstation s’affichaient à 3000 Fr ou plus, le 32X aurait pu séduire les moins fortunés en se positionnant entre 1000 Fr et 1500 Fr, surtout qu’en puissance brute le 32X est plutôt capable !</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f612f61302f536567612d47656e657369732d4d6f64656c322d3332582e6a7067/Sega-Genesis-Model2-32X.jpg" alt="32x" title="Source : https://upload.wikimedia.org/wikipedia/commons/a/a0/Sega-Genesis-Model2-32X.jpg"></p>
<h4 id="toc-la-megadrive-a-connu-plusieurs-versions-model-2-cdx-nomad-teradrive-wondermega-laseractive-les-avez-vous-testés">La megadrive a connu plusieurs versions (model 2, CDX, Nomad, Teradrive, Wondermega, LaserActive…) ? Les avez-vous testés ?</h4>
<p>Pas tous ! J’ai eu une MD2 que j’ai revendue, mais je possède encore une Nomad et un WonderMega (le premier).<br>
J’ai aussi un TeraDrive, mais je ne l’ai pas encore utilisé (sic).<br>
Personnellement, j’adore le design du WonderMega 🙂.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f392f39322f436f6e736f6c652d776f6e6465726d6567612e6a7067/Console-wondermega.jpg" alt="Wondermega" title="Source : https://upload.wikimedia.org/wikipedia/commons/9/92/Console-wondermega.jpg"></p>
<h4 id="toc-la-megadrive-a-récemment-eu-deux-versions-mini-quen-pensez-vous">La megadrive a récemment eu deux versions « mini » ? Qu’en pensez-vous ?</h4>
<p>J’ai la première que j’aime beaucoup, j’ai dû la payer 50€ ou 60€ et pour le prix payé, je trouve le contenu (en termes de jeux) très correct.<br>
Je n’ai pas pu tester la 2ᵉ version, mais j’en ai entendu pas mal de bien.<br>
Après ce que je trouve dommage, c’est que ces deux versions mini ont été précédées de <em>beaucoup</em> de modèles AtGame dont la qualité était vraiment discutable…</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f342f34342f536567615f4d6567615f44726976655f4d696e692e6a7067/Sega_Mega_Drive_Mini.jpg" alt="Megadrive mini" title="Source : https://upload.wikimedia.org/wikipedia/commons/4/44/Sega_Mega_Drive_Mini.jpg"></p>
<h4 id="toc-quelle-est-votre-manette-préférée">Quelle est votre manette préférée ?</h4>
<p>Je n’ai pas vraiment de manette préférée, mais j’aime beaucoup la manette 6 boutons de la Mega Drive et celle de la Saturn.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f362f36362f536567612d47656e657369732d364275742d436f6e742e6a7067/Sega-Genesis-6But-Cont.jpg" alt="manette six boutons" title="Source : https://upload.wikimedia.org/wikipedia/commons/6/66/Sega-Genesis-6But-Cont.jpg"></p>
<h3 id="toc-parlons-soft">Parlons soft</h3>
<h4 id="toc-les-émulateurs-megadrive-sont-ils-bons">Les émulateurs megadrive sont-ils bons ?</h4>
<p>Ce n’était pas forcément le cas par le passé (dont mon propre émulateur Gens ^^) mais aujourd’hui oui, ils existe plusieurs émulateurs de très bonne qualité (Genesis Plus, Exodus, BlastEm…).<br>
Si je devais en retenir qu’un, je choisirais <a href="https://www.retrodev.com/blastem/">BlastEm</a> qui est à la fois rapide et avec un très haut niveau de précision sur l’émulation.</p>
<h4 id="toc-quels-sont-vos-jeux-commerciaux-préférés-sur-cette-console">Quels sont vos jeux commerciaux préférés sur cette console ?</h4>
<p>Difficile à dire mais là comme ça, ceux-là me viennent en tête : Street of Rage 2, Sonic 2, Gunstar Heroes, Ranger-X, Mickey Mania, Landstalker, Aladdin, Yuyu Hakusho.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f322f32332f47756e737461724865726f65735f536576656e466f7263652e676966/GunstarHeroes_SevenForce.gif" alt="Gunstar Heroes" title="Source : https://upload.wikimedia.org/wikipedia/en/2/23/GunstarHeroes_SevenForce.gif"></p>
<h4 id="toc-quels-sont-vos-jeux-homebrew-préférés-sur-cette-console">Quels sont vos jeux <em>homebrew</em> préférés sur cette console ?</h4>
<p>Pas d’ordre particulier là encore : Demons of Asteborg, Tanzer, Paprium, Xeno Crisis, Cave story, Omega Blast et j’en oublie c’est certain.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f7777772e6d6f627967616d65732e636f6d2f696d616765732f70726f6d6f2f6c2f3539393336352d74616e7a65722d73637265656e73686f742e706e67/599365-tanzer-screenshot.png" alt="Tanzer" title="Source : https://www.mobygames.com/images/promo/l/599365-tanzer-screenshot.png"></p>
<h4 id="toc-pourquoi-créer-un-sdk-aujourdhui-pour-un-si-vieux-système">Pourquoi créer un SDK aujourd’hui pour un si vieux système ?</h4>
<p>À la base, j’ai créé ce SDK (vraiment minimaliste au départ) pour moi, car il n’existait pas de bons outils pour développer sur cette machine (ça remonte à 2006 donc ça date !).<br>
Je voulais construire des petites roms de test afin de perfectionner mon émulateur (Gens). Par la suite, c’est devenu un hobby parce que ça m’amusait vraiment de développer pour cette machine et j’ai commencé à ajouter de nouvelles fonctions, c’est aussi à ce moment-là que j’ai commencé à le distribuer en me disant que ça pourrait peut-être servir à d’autres. Les retours ont tellement été positifs que ça m’a poussé à continuer le développement, ce qui a abouti à SGDK 🙂.</p>
<h4 id="toc-est-ce-que-vous-participez-vous-même-à-la-création-de-jeux">Est-ce que vous participez vous-même à la création de jeux ?</h4>
<p>Oui ça m’arrive, j’ai participé notamment au développement de Demons of Asteborg (j’ai assisté l’équipe sous contrat) et actuellement, je travaille sur un autre jeu, mais le développement de SGDK reste mon activité principale, on va dire ! Je ne désespère pas de travailler sur mon propre jeu un de ces jours ^^.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f7777772e64656d6f6e736f6661737465626f72672e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30332f7377616d705f616e645f70656f706c652d31303234783732342e706e67/swamp_and_people-1024x724.png" alt="Demons of Asteborg" title="Source : https://www.demonsofasteborg.com/wp-content/uploads/2021/03/swamp_and_people-1024x724.png"></p>
<h4 id="toc-quels-ont-été-les-difficultés-pour-créer-sgdk">Quels ont été les difficultés pour créer SGDK ?</h4>
<p>Le plus compliqué est assurément le développement des drivers son et le développement du driver XGM en particulier qui est le driver son principal de SGDK.</p>
<p>C’est compliqué, car ça nécessite de programmer sur le second CPU (Z80) entièrement en assembleur et avec des possibilités de debug très limitées comparé au CPU principal (le 68000). L’autre complexité, c’est que le driver son a besoin de gérer le stream PCM (il y a 0 assistance hardware pour ça) sans interruption en même temps que la gestion de la partie FM et PSG.<br>
Je travaille actuellement sur une version 2 du driver XGM afin de réduire sensiblement la taille des <em>tracks</em> (c’est un point faible du driver XGM actuel) en plus d’ajouter certaines fonctionnalités et je peux dire que ça me prend un temps considérable !</p>
<p>Sur les autres aspects, le développement de SGDK est plutôt « facile », seul le développement des outils annexes (compilateur de ressources par exemple) peut être assez ennuyant par moment…</p>
<h4 id="toc-vous-aimeriez-vivre-du-développement-de-ce-logiciel-libre">Vous aimeriez vivre du développement de ce logiciel libre?</h4>
<p>En effet, j’adore ce que je fais avec SGDK et si je pouvais en vivre ça serait génial 🙂.</p>
<p>Mais je pense que c’est assez illusoire, car ça reste un marché de niche.</p>
<h4 id="toc-est-ce-que-sgdk-gère-les-manettes-à-6-boutons-de-la-megadrive-les-multitaps-et-les-pistolets-menacer-gun">Est-ce que SGDK gère les manettes à 6 boutons de la megadrive, les multitaps et les pistolets (Menacer Gun) ?</h4>
<p>Pour tout ça oui, la gestion du multipad et des pistolets a d’ailleurs été une contribution extérieure 🙂.</p>
<p>Les pistolets sont supportés par SGDK mais ne fonctionnent pas avec les TVs modernes. Il me semble qu’il existe des kits pour les faire fonctionner sur des TVs modernes, mais honnêtement, je ne suis jamais vraiment allé voir ça… Sinon sur émulateur la souris permet de remplacer le pistolet.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f362f36332f536567615f4d656e616365725f63726f707065642e6a7067/Sega_Menacer_cropped.jpg" alt="Sega Menacer" title="Source : https://upload.wikimedia.org/wikipedia/commons/6/63/Sega_Menacer_cropped.jpg"></p>
<h4 id="toc-est-ce-que-sgdk-gère-les-modems">Est-ce que SGDK gère les modems ?</h4>
<p>Non, mais il existe un module <a href="https://gitlab.com/doragasu/mw">MegaWifi</a> qui permet donc l’exploitation d’une cartouche spéciale avec un module Wifi (là encore c’est une contribution extérieure).</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f7777772e736567616d65676164726976652e69742f77702d636f6e74656e742f75706c6f6164732f323032302f30392f45676d774f49545867414d6f6932712d31303234783930372e6a7067/EgmwOITXgAMoi2q-1024x907.jpg" alt="MegaWifi" title="Source : https://www.segamegadrive.it/wp-content/uploads/2020/09/EgmwOITXgAMoi2q-1024x907.jpg"></p>
<h4 id="toc-est-ce-que-sgdk-gère-dautres-périphériques-de-la-megadrive-souris-miracle-keyboard-system-aura-interactor-sega-activator">Est-ce que SGDK gère d’autres périphériques de la megadrive (souris, Miracle Keyboard System, Aura Interactor, Sega Activator…) ?</h4>
<p>La souris uniquement, les autres périphériques étant vraiment anecdotiques (le Sega Activator n’est jamais sorti, il me semble ?).</p>
<p><em>NDM: peut-être au <a href="https://www.sega-brasil.com.br/Tectoy/Activator_para_Mega_Drive">Brésil</a> ?</em></p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f7777772e736567612d62726173696c2e636f6d2e62722f546563746f792f696d616765732f7468756d622f622f62312f416374697661746f725f43616978615f547261735f4d445f30312e6a70672f3132383070782d416374697661746f725f43616978615f547261735f4d445f30312e6a7067/1280px-Activator_Caixa_Tras_MD_01.jpg" alt="Sega Activator" title="Source : https://www.sega-brasil.com.br/Tectoy/images/thumb/b/b1/Activator_Caixa_Tras_MD_01.jpg/1280px-Activator_Caixa_Tras_MD_01.jpg"></p>
<h4 id="toc-quels-conseils-donneriez-vous-à-quelquun-qui-veut-se-lancer-dans-le-développement-megadrive">Quels conseils donneriez-vous à quelqu’un qui veut se lancer dans le développement megadrive ?</h4>
<p>De ne pas vouloir aller trop vite ^^. Il faut savoir que SGDK est un SDK en langage C, si vous ne connaissez ni le langage C ni l’architecture de la Mega Drive et que vous souhaitez vous lancer dans le développement megadrive avec SGDK alors je vous conseille très fortement de vous familiariser d’abord avec le langage C et la programmation en général.<br>
Apprendre les deux en même temps, c’est vraiment très (trop) compliqué. 95% des requêtes d’aide / support / bugs que je peux avoir sur le serveur Discord de SGDK concerne d’abord des questions ou des erreurs de programmation plus que SGDK en lui-même. Ensuite, une fois qu’on est plutôt à l’aise avec le C, c’est toujours un gros plus de savoir comment fonctionne la machine <em>under the hood</em>. SGDK abstrait pas mal de choses, mais ça évitera tout de même des belles prises de tête sur la compréhension de certains bugs.<br>
Enfin et surtout, bien lire le fichier README de SGDK qui donne une foule d’informations importantes sur l’utilisation de SGDK en général.<br>
Après, je dirais que lorsqu’on a la motivation, on arrive toujours à ses fins 😉.</p>
<h4 id="toc-quels-sont-les-outils-pour-créerpréparer-des-graphismes-utilisables-par-sgdk">Quels sont les outils pour créer/préparer des graphismes utilisables par SGDK ?</h4>
<p>N’importe quel outil capable de gérer des PNG en couleurs indexées peut faire l’affaire, car c’est ce que SGDK exploite en général.<br>
Malgré tout certains outils sont plus appropriés que d’autres, car on y manipule plus facilement les palettes, personnellement je conseille ceux-là :</p>
<ul>
<li>Asesprite (<em>NDM: un <a href="https://libresprite.github.io">fork libre</a> existe</em>) ;</li>
<li>Graphics gale ;</li>
<li>Pro Motion ;</li>
<li>
<a href="https://gitlab.com/GrafX2/grafX2">Grafx2</a> ;</li>
<li>
<a href="https://rilden.github.io/tiledpalettequant/">Palette quantizer</a> (un très bon outil pour convertir les graphismes).</li>
</ul>
<h4 id="toc-quels-sont-les-outils-pour-créerpréparer-des-musiques-et-des-sons-utilisable-par-sgdk">Quels sont les outils pour créer/préparer des musiques et des sons utilisable par SGDK ?</h4>
<p>Tout ce qui peut exporter au format <a href="https://vgmrips.net/wiki/VGM_Specification">VGM Mega Drive</a> pour les musiques et des outils pour la retouche de samples.</p>
<ul>
<li>Deflemask (tracker)</li>
<li>
<a href="https://github.com/tildearrow/furnace">Furnace</a> (tracker)</li>
<li>Wavosaur ou Audacity (éditeurs WAV)</li>
</ul>
<p>À noter que certains préfèreront développer leurs propres outils 😉.</p>
<h4 id="toc-est-il-possible-de-créer-ses-propres-cartouches">Est-il possible de créer ses propres cartouches ?</h4>
<p>Oui bien sûr ! Aujourd’hui il existe plusieurs éditeurs qui peuvent produire des cartouches Mega Drive (<a href="https://www.brokestudio.fr/">Broke studio</a> ou <a href="https://megacatstudios.com/">MegaCats Studios</a> pour ne citer qu’eux).</p>
<h4 id="toc-on-a-vu-récemment-des-démos-impressionnantes-portages-de-star-fox-ou-f-zero-comment-est-ce-possible-quelles-sont-vos-astuces-ou-optimisations-préférées">On a vu récemment des démos impressionnantes (portages de <a href="https://mag.mo5.com/236549/star-fox-decolle-de-nouveau-sur-mega-drive/">Star Fox</a> ou <a href="https://mag.mo5.com/66493/f-zero-aussi-porte-sur-mega-drive/">F-Zero</a>), comment est-ce possible ? Quelles sont vos astuces ou optimisations préférées ?</h4>
<p>C’est un peu ce que je disais tout au début en parlant de la Mega Drive, son architecture laisse pas mal de libertés.</p>
<p>Déjà son CPU central - le <a href="https://fr.wikipedia.org/wiki/Motorola_68000">68000</a> - a de la ressource ! Quand on l’exploite vraiment bien, on peut en sortir pas mal de choses (je parle relativement pour cette époque) 🙂.</p>
<p>Ensuite un autre avantage de la MD comparé à pas mal de ses concurrentes, c’est que les pixels des tuiles sont stockés en <a href="https://en.wikipedia.org/wiki/Packed_pixel">chunky</a> et non en <a href="https://en.wikipedia.org/wiki/Planar_(computer_graphics)">planar</a> ce qui permet de faire du rendu software plus facilement.<br>
Des astuces que j’aime bien, c’est de jouer avec le registre d’incrément automatique sur l’adresse VRAM (après une écriture en VRAM, l’adresse destination est automatiquement incrémentée selon la valeur d’un registre) pour faciliter et accélérer la conversion des données graphiques (par exemple pour simuler un <a href="https://en.wikipedia.org/wiki/Framebuffer">frame buffer</a> plus ou moins linéaire).<br>
Il y a aussi beaucoup d’astuces et d’effet possibles en jouant avec les capacités de scrolling ou en reprogrammant le VDP pendant l’affichage (modification des couleurs, du scrolling vertical, des sprites). Là encore, le VDP se montre assez flexible sur ce point, ce qui ouvre les possibilités (multiplexing sur les sprites par exemple).</p>
<h4 id="toc-comment-saccommoder-des-faibles-ressources-peu-de-ram-cpu-sans-virgule-flottante">Comment s’accommoder des faibles ressources (peu de RAM, CPU sans virgule flottante…) ?</h4>
<p>Avec des astuces et comme on le faisait à l’époque :) La « faible RAM » n’est en réalité pas un vrai problème, car 64 Kio de RAM est en général bien suffisant, il faut bien voir qu’on a un accès direct à toute la ROM dont la taille est bien plus importante, la RAM va juste servir à stocker les données dynamiques. Aussi, aujourd’hui, on peut dépasser allègrement la barrière des 4 Mio pour la ROM ce qui là encore offre plus de possibilités et permet d’exploiter la machine à son plein potentiel. Il faut bien voir qu’à l’époque la taille de la ROM (donc le coût de production découlait directement) était vraiment une contrainte très forte sur le développement des jeux. Pour la virgule flottante, on utilise à la place une virgule fixe, c’était quelque chose d’assez courant à cette époque où les unités flottantes n’étaient pas encore répandues.<br>
Quand on développe sur ce genre de machine, il faut quand même avoir une certaine connaissance de comment fonctionne un ordinateur en général pour comprendre ce qui consomme ou pas beaucoup de ressources.</p>
<h3 id="toc-libre-à-vous">Libre à vous</h3>
<h4 id="toc-au-niveau-personnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ?</h4>
<p>J’utilise quasiment exclusivement des logiciels libres, tellement qui serait difficile de tous les énumérer, mais entre autres Firefox, Eclipse, Code::Blocks, VLC, LibreSprite, GCC et la suite GNU en général…<br>
Étrangement par contre, je suis sous Windows, probablement parce que j’utilise beaucoup les émulateurs et qu’il faut admettre qu’on a plus de choix ou au moins plus de facilité de ce côté sous l’OS de Microsoft.<br>
Mais vu que je ne joue plus aujourd’hui, il est assez probable que je repasse à Linux.</p>
<h4 id="toc-au-niveau-professionnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau professionnel, quels logiciels libres utilisez-vous, sur quel OS ?</h4>
<p>Au niveau professionnel, j’utilise certains des outils dont j’ai l’habitude comme Eclipse, mais principalement, on fonctionne sous Windows et Linux.<br>
En termes de technos, on utilise beaucoup de choses venant du monde libre comme tout le monde, je pense (node, angular, react.js, etc.) 🙂<br>
J’utilise aussi beaucoup Java pour le développement, professionnellement comme personnellement, mais depuis la récupération par Oracle, on ne peut plus parler de logiciel libre, je pense (<em>NDM : les distributions Linux et la plupart des entreprises utilisent aujourd’hui <a href="https://openjdk.org/">Openjdk</a>, la version libre de Java plutôt qu’Oracle Java qui a de gros morceaux privateurs dedans</em>).</p>
<h4 id="toc-quelle-est-votre-distribution-gnulinux-préférée-et-pourquoi-quels-sont-vos-logiciels-libres-préférés">Quelle est votre distribution GNU/Linux préférée et pourquoi, quels sont vos logiciels libres préférés ?</h4>
<p>Je n’utilise pas beaucoup Linux, mais j’aime les distributions plutôt légères comme <a href="https://lubuntu.me/">Lubuntu</a> ou <a href="https://linuxmint.com/">Mint</a>.<br>
Je n’ai pas vraiment de logiciels libres préférés, mais j’apprécie beaucoup Firefox même si ce n’est pas le navigateur le plus performant.</p>
<h4 id="toc-quelle-question-auriez-vous-adoré-quon-vous-pose">Quelle question auriez-vous adoré qu’on vous pose ?</h4>
<p>Pourquoi la Mega Drive et pas la Super Nintendo ? Mais dans un sens la question a été posée (pourquoi la Mega Drive ?) 🙂.</p>
<h4 id="toc-quelle-question-auriez-vous-détesté-quon-vous-pose">Quelle question auriez-vous détesté qu’on vous pose ?</h4>
<p>Je n’en vois aucune vraiment ^^.</p>
</div><div><a href="https://linuxfr.org/news/entretien-avec-stephane-d-a-propos-du-sgdk.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/130294/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/entretien-avec-stephane-d-a-propos-du-sgdk#comments">ouvrir dans le navigateur</a>
</p>
devnewton
Pierre Jarillon
gUI
Ysabeau 🧶 🧦
bobble bubble
claudex
Benoît Sibaud
Florent Zara
https://linuxfr.org/nodes/130294/comments.atom
tag:linuxfr.org,2005:News/41353
2023-01-21T14:29:33+01:00
2023-01-21T14:29:33+01:00
Unvanquished, 10 ans et Invaincu
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>Le jeu libre Unvanquished a eu 10 ans en 2022. Alors que la version Bêta 54 est en train d’être finalisée pour ce début d’année 2023, c’est l’occasion de faire une rétrospective sur l’histoire de ce jeu ! <a href="https://unvanquished.net/download/">Et de jouer !</a></p>
<p>Unvanquished est un jeu de stratégie en temps réel joué comme un jeu de tir à la première personne dans lequel des aliens mutants et des humains lourdement armés se battent pour leur survie.</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/20220707-175214-000.gloom-arachnid.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f32303232303730372d3137353231342d3030302e676c6f6f6d2d61726163686e69642d373638783433322e6a7067/20220707-175214-000.gloom-arachnid-768x432.jpg" alt="Carte Arachnid par Jex pour Gloom." title="Source : https://unvanquished.net/wp-content/uploads/2022/07/20220707-175214-000.gloom-arachnid-768x432.jpg"></a><br><br>
<em>La carte Arachnid “Arachniphobia” de 1999 par Nicolas “Jex” Jansens pour Gloom, une salle similaire peut être vue dans la carte Arachnid2 produite en 2005 par Robin “OverFlow” Marshall pour Tremulous en hommage à cette carte et jouable dans Unvanquished en 2023.</em></p>
<p>Unvanquished a été publié pour la première fois le 29 février 2012. Mais son histoire commence bien avant.</p>
<p><em>NDA : Ceci est une traduction et adaptation de l’article en anglais « 10 years and Unvanquished » publié en août 2022. Lors de <a href="//linuxfr.org/news/unvanquished-0-53-beta-est-la-un-petit-pas-pour-les-bots-un-bond-en-avant-pour-unvanquished">la sortie de la version Bêta 53</a>, j’avais écrit ici « nous publierons dans les prochains jours une rétrospective détaillée de notre histoire » mais les jours ont été longs (et le développement très actif !)</em> 🙂️<em>.</em></p>
</div><ul><li>lien nᵒ 1 : <a title="https://unvanquished.net" hreflang="en" href="https://linuxfr.org/redirect/111587">Le site d’Unvanquished (téléchargements, informations, forums…)</a></li><li>lien nᵒ 2 : <a title="https://unvanquished.net/10-years-and-unvanquished/" hreflang="en" href="https://linuxfr.org/redirect/111588">Unvanquished: 10 years and Unvanquished (article original en anglais)</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#toc-la-version-tremulous-12-qui-nest-jamais-venue">La version Tremulous 1.2 qui n’est jamais venue</a></li>
<li><a href="#toc-lav%C3%A8nement-des-moteurs-xreal-et-tremfusion">L’avènement des moteurs XreaL et Tremfusion</a></li>
<li><a href="#toc-la-naissance-dunvanquished-et-du-moteur-d%C3%A6mon">La naissance d’Unvanquished et du moteur Dæmon</a></li>
<li><a href="#toc-10-ans-dhistoire-humaine">10 ans d’histoire humaine</a></li>
<li><a href="#toc-%C3%80-nouveau-libre-et-open-source">À nouveau libre et open-source</a></li>
<li><a href="#toc-dalpha-%C3%A0-b%C3%AAta-et-toujours-invaincu">D’Alpha à Bêta et toujours Invaincu</a></li>
</ul>
<p>Unvanquished est un fork et une continuation de <a href="https://tremulous.net/">Tremulous</a> qui était inspiré du <em>mod</em> (une modification) de Quake 2 <a href="http://www.planetgloom.com/">Gloom</a>. Il y eut plusieurs tentatives de faire un jeu à la manière de Gloom avec le moteur de Quake 3, comprenant <em>Q3 Gloom</em> par <em>Team Reaction</em> et <em>Tremulous</em> par <em>Dark Legion Development</em>. Après avoir été un <em>mod</em> de Quake 3, Tremulous a été publié en version 1.1.0 autonome (<em>standalone</em>) en 2006 (voir l’<a href="//linuxfr.org/news/tremulous-version-110">annonce de l’époque sur LinuxFr.org</a> !). Certains contributeurs de Tremulous comme Nicolas “Jex” Jansens s’étaient déjà fait un nom avec leurs contributions à Gloom !</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/q3-gloom-egg.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f71332d676c6f6f6d2d6567672d373638783537362e6a7067/q3-gloom-egg-768x576.jpg" alt="Œuf de Q3 Gloom dans la carte Nexus6." title="Source : https://unvanquished.net/wp-content/uploads/2022/07/q3-gloom-egg-768x576.jpg"></a><br><br>
<em>Un œuf de Q3 Gloom tel qu’il pouvait être vu en 2003 dans une version précoce de ce qui deviendra la carte Nexus6 de Tremulous par Jex pour Gloom. Copie d’écran provenant du site de <a href="https://www.drflail.com/">Matt Ostgard</a>.</em></p>
<p>J’en profite pour remercier bsp1t pour les précieuses informations sur Gloom et Q3 Gloom qu’il m’a fourni pendant que j’écrivais cet article !</p>
<p>Ci-après est une des plus anciennes copies d’écran de Tremulous, datant du 6 octobre 2001 : vous pouvez voir le vieux modèle d’Overmind de Tremulous (avec une couleur verte !) et couché au sol de la carte Tremor un modèle de joueur de Quake 3 utilisé comme substitut. Vous pouvez toujours jouer à la carte Tremor avec Unvanquished près de 22 ans plus tard !</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/20011006.tremulous-02.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f32303031313030362e7472656d756c6f75732d30322e6a7067/20011006.tremulous-02.jpg" alt="Le mod de Quake 3 Tremulous le 6 octobre 2001." title="Source : https://unvanquished.net/wp-content/uploads/2022/07/20011006.tremulous-02.jpg"></a><br><br>
<em>Le mod de Quake 3 Tremulous le 6 octobre 2001.</em></p>
<p>Si vous jetez un œil à certaines cartes qui ont été portées et sont toujours jouables aujourd’hui, vous pourriez remarquer quelques réminiscences de ce passé, comme des posters dans <em>Transit</em> montrant des dretchs bleus ou faisant la promotion de ce qui était alors <em>la prochaine carte</em> Karith, encore nommée <em>Trem2</em> à l’époque.</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/2001.tremulous-21-crop.png"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f323030312e7472656d756c6f75732d32312d63726f702e706e67/2001.tremulous-21-crop.png" alt="Les cartes Niveus et Tremor dans un Tremulous primitif, quand Tremulous n’avait que deux cartes." title="Source : https://unvanquished.net/wp-content/uploads/2022/07/2001.tremulous-21-crop.png"></a><br><br>
<em>La carte Niveus par Nicolas “Jex” Jansens et la carte Tremor par Mike “Vedacon” Mcinnerney dans une version primitive de Tremulous, quand Tremulous n’avait que deux cartes.</em></p>
<p>Tremulous avait suscité beaucoup d’intérêt et gagné une grande popularité, profitant à la fois de la <a href="//linuxfr.org/news/le-moteur-du-jeu-quake-3-en-gpl">publication sous licence libre du code de Quake 3</a> par id Software et de l’intérêt de la communauté du logiciel libre. À cette époque, les utilisateurs de Linux ont vu dans des jeux comme Nexuiz (ancêtre de <a href="https://xonotic.org/">Xonotic</a>) et Tremulous la preuve que le jeu libre était possible. C’était aussi une époque où le marché du jeu vidéo sous Linux était très petit et ces jeux ont gagné beaucoup d’intérêt grâce à l’attention apportée à la base de joueurs utilisant Linux.</p>
<h2 id="toc-la-version-tremulous-12-qui-nest-jamais-venue">La version Tremulous 1.2 qui n’est jamais venue</h2>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/20220707-171001-000.tremulous-gpp.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f32303232303730372d3137313030312d3030302e7472656d756c6f75732d6770702d373638783433322e6a7067/20220707-171001-000.tremulous-gpp-768x432.jpg" alt="Tremulous 1.2 GamePlay Preview, distribué le 1ᵉʳ décembre 2009." title="Source : https://unvanquished.net/wp-content/uploads/2022/07/20220707-171001-000.tremulous-gpp-768x432.jpg"></a><br><br>
<em>La « GamePlay Preview » de Tremuous 1.2 fut distribuée le 1ᵉʳ décembre 2009.</em></p>
<p>Malheureusement, la très attendue version 1.2 de Tremulous n’est jamais venue, malgré une « gameplay preview » ayant été distribuée. Dans le même temps, il y avait de nombreux projets travaillant sur le code libéré de Quake 3, y compris le moteur, avec des projets comme <a href="https://ioquake3.org/">ioquake3</a> et <a href="https://web.archive.org/web/20110131153542/http://xreal-project.net/">XreaL</a>. Bien qu’à l’époque XreaL n’ait jamais été utilisé par un jeu, excepté une preuve de concept de jeu de tir, la démonstration des diverses fonctionnalités implémentées retinssent le regard de nombreuses personnes. Des gens ont essayé de développer des moteurs alternatifs pour Tremulous, réutilisant certaines améliorations de XreaL, ces efforts mirent au monde <a href="https://web.archive.org/web/20130216233359/http://www.tremfusion.net/">TremFusion</a> en 2008.</p>
<h2 id="toc-lavènement-des-moteurs-xreal-et-tremfusion">L’avènement des moteurs XreaL et Tremfusion</h2>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/20220707-170018-000.tremfusion-0.99r3.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f32303232303730372d3137303031382d3030302e7472656d667573696f6e2d302e393972332d373638783433322e6a7067/20220707-170018-000.tremfusion-0.99r3-768x432.jpg" alt="Tremfusion 0.99r3 fut publié le 5 juin 2009." title="Source : https://unvanquished.net/wp-content/uploads/2022/07/20220707-170018-000.tremfusion-0.99r3-768x432.jpg"></a><br><br>
<em>Tremfusion 0.99r3 fut publié le 5 juin 2009.</em></p>
<p>Le code de Wolfenstein: Enemy Territory <a href="//linuxfr.org/news/id-software-libere-wolfenstein-enemy-territory-et-return-to-cast">fut libéré</a> et XreaL a commencé à fusionner avec pour produire <a href="https://www.moddb.com/mods/etxreal">ETXreaL</a>. Un projet voulant faire revivre Tremulous a attiré plusieurs personnes et quelques informations furent révélées à son sujet sous le nom de TremZ, tandis que le moteur forké depuis ET:XreaL était alors nommé OpenWolf. Des archéologues pourront trouver sur <a href="https://web.archive.org/web/20120122082856/http://tremz.com/blog">l’archive web du désormais défunt site web <code>tremz.com</code></a> les premiers articles de blog datant de janvier 2012 qui furent écrits par kharnov (ancien chef de projet d’Unvanquished). Ces noms TremZ et OpenWolf n’étaient pas définitifs et ne vécurent pas longtemps.</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/tremzpaintover1.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f7472656d7a7061696e746f766572312d373638783433322e6a7067/tremzpaintover1-768x432.jpg" alt="Quelques notes de Stannum sur une suggestion de design de modèle pour TremZ." title="Source : https://unvanquished.net/wp-content/uploads/2022/07/tremzpaintover1-768x432.jpg"></a><br><br>
<em><code>tremzpaintover1.jpg</code> — Quelques notes manuscrites de Jan “Stannum” van der Weg sur d’anciennes suggestions de design de modèle pour TremZ autour de 2012.</em></p>
<p>Le jeu fut publié sur <code>tremz.com</code> en tant que première alpha sous le nom d’Unvanquished le 29 février de 2012. Le moteur était déjà nommé Dæmon, son nom ayant été changé d’OpenWolf en Dæmon <a href="https://github.com/Unvanquished/Unvanquished/commit/68c8b034fdcecaa50b4d9999dadc04fae2558e87">en janvier 2012</a>, un mois avant la publication de la première alpha.</p>
<p>Un autre mod de Tremulous qui s’était perdu en cours de route a gentiment donné le nom Unvanquished et le nom de domaine. L’<a href="https://unvanquished.net/github-renamed-so-update-your-remotes/">organization GitHub fut renommée de TremZ en Unvanquished</a> en avril 2012, entre la seconde et la troisième alpha.</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2021/05/20210504.unvanquished-history.png"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032312f30352f32303231303530342e756e76616e717569736865642d686973746f72792d373638783238302e706e67/20210504.unvanquished-history-768x280.png" alt="La généalogie d’Unvanquished et Dæmon." title="Source : https://unvanquished.net/wp-content/uploads/2021/05/20210504.unvanquished-history-768x280.png"></a><br><br>
<em>La généalogie d’Unvanquished et Dæmon.</em></p>
<p>Il y eut des histoires et du drama à l’époque et en mars 2012 des gens supprimèrent du site TremZ <a href="https://unvanquished.net/alpha-release/">l’annonce de publication d’Unvanquished</a> et les billets précédents initialement écrits par l’équipe qui avait publié le jeu. Ces autres personnes annoncèrent qu’ils publieraient quand même un jeu nommé TremZ. Un développeur d’OpenWolf <a href="https://web.archive.org/web/20120630132612/http://tremz.com/blog/">déclara</a> que le code source « <em>sera déplacé d’un accès public vers un accès privé, pour que seuls les développeurs puissent avoir un accès complet à la lecture et l’écriture de commits</em> ».</p>
<p>Dans le même temps Unvanquished était déjà un projet vivant, avec une première alpha déjà publiée sur GitHub. Le nouveau site web <a href="https://unvanquished.net/"><code>unvanquished.net</code></a> était alors le domicile officiel du jeu, la <a href="https://unvanquished.net/alpha-2-has-been-released/">seconde version alpha</a> fut publiée le 1ᵉʳ avril, la <a href="https://unvanquished.net/alpha-3-has-been-released/">troisième alpha</a> le 1ᵉʳ mai, et l’équipe derrière Unvanquished n’a jamais cessé de publier de nouvelles versions depuis.</p>
<p>Le moteur OpenWolf basé sur XreaL duquel Dæmon dérive ne doit pas être confondu avec un <a href="https://web.archive.org/web/20160111063556/https://github.com/TheDushan/OWEngine">nouveau OWEngine</a> qui est <a href="https://github.com/illwieckz/OWEngine/commit/5d2de477d68486b15318102a5064f4fbfa961e90">basé sur le moteur Qio par Vodin</a>. Le moteur Dæmon que nous utilisons ne dérive pas de cet autre OWEngine.</p>
<h2 id="toc-la-naissance-dunvanquished-et-du-moteur-dæmon">La naissance d’Unvanquished et du moteur Dæmon</h2>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/20220707-170104-000.unvanquished-0.6.0.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f32303232303730372d3137303130342d3030302e756e76616e717569736865642d302e362e302d373638783433322e6a7067/20220707-170104-000.unvanquished-0.6.0-768x432.jpg" alt="Le menu principal d’Unvanquished 0.6.0 alpha en 2012." title="Source : https://unvanquished.net/wp-content/uploads/2022/07/20220707-170104-000.unvanquished-0.6.0-768x432.jpg"></a><br><br>
<em>Le menu principal d’Unvanquished 0.6.0 alpha tel qu’on pouvait le voir en 2012.</em></p>
<p>Dès le départ, Unvanquished fut très lié à Tremulous, puisque la plupart des plus anciens membres du projet Unvanquished étaient déjà profondément investis dans Tremulous ou dans des projets Tremulous réputés.</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/finalnode.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f66696e616c6e6f64652d373638783433322e6a7067/finalnode-768x432.jpg" alt="Concept art pour le Télénode avec une proposition d’animation de réapparition par Stannum en 2012." title="Source : https://unvanquished.net/wp-content/uploads/2022/07/finalnode-768x432.jpg"></a><br><br>
<em>Concept art par Stannum pour le Télénode avec une proposition d’animation de réapparition en 2012, mentionnant encore Tremulous. Il a été modelé par Vincent “Warvinc” Monfette en 2013 et intégré à Unvanquished.</em></p>
<p>Stijn “Ingar” Buys était membre de l’équipe officielle de Tremulous travaillant sur le projet Tremulous 1.2 et a rejoint l’équipe Unvanquished comme concepteur de niveau et parmi tout un tas de choses a contribué la carte Vega et le set de textures Vega, initialement conçus pour Tremulous et désormais adaptés et améliorés pour les fonctionnalités du moteur Dæmon. Ingar a aussi contribué son set de <em>skybox</em> spatiales initialement conçues pour le jeu <a href="http://osirion.org/">Osirion</a> et était connu pour distribuer des binaires de l’éditeur de niveau <a href="https://wiki.unvanquished.net/wiki/Tools/NetRadiant">NetRadiant</a> et le « game pack » Tremulous, il fit ce travail utile et profitable à Unvanquished pour de nombreuses années.</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/20220707-171809-000.vega-beta1.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f32303232303730372d3137313830392d3030302e766567612d62657461312d373638783433322e6a7067/20220707-171809-000.vega-beta1-768x432.jpg" alt="La carte Vega en version beta1 telle qu’on peut la voir dans Tremfusion." title="Source : https://unvanquished.net/wp-content/uploads/2022/07/20220707-171809-000.vega-beta1-768x432.jpg"></a><br><br>
<em>La carte Vega en version beta1 telle qu’on peut la voir dans Tremfusion.</em></p>
<p>Jan “Stannum” van der Weg était un membre de l’équipe originelle de Tremulous qui avait déjà publié la version autonome Tremulous 1.1.0 et les mods antérieurs (sa carte <em>Transit</em> est une vieille carte Tremulous, connue pour avoir été déjà distribuée dans <code>tremulous-q3-1.0.0</code> en 2005), Stannum a rejoint l’équipe Unvanquished pour la modélisation 3D et l’animation et a fourni de nombreux modèles et textures pour le jeu.</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/20141010.stannum-bsuit3.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f32303134313031302e7374616e6e756d2d6273756974332d373638783633342e6a7067/20141010.stannum-bsuit3-768x634.jpg" alt="Quelque ancien aperçu du travail de stannum alors qu’il texturait le nouvel exosquelette." title="Source : https://unvanquished.net/wp-content/uploads/2022/07/20141010.stannum-bsuit3-768x634.jpg"></a><br><br>
<em>Quelque ancien aperçu du travail de Stannum alors qu’il texturait le nouvel exosquelette en 2014, le modèle fut réalisé par Luiz Henrique “LHDC” de Camargo.</em></p>
<p>Amanieu d’Antras et Corentin “Kangz” Wallez qui était déjà connu pour leur travail réussi sur le moteur Tremfusion ont rejoint l’équipe pour le développement du moteur. Kangz est celui qui a porté le jeu <a href="https://kangz.net/posts/2014/03/15/moving-the-server-side-gamelogic-to-pnacl/">depuis la Q3VM vers NativeClient</a>, ce qui nous a permis d’utiliser des compilateurs modernes, du C++, et de réutiliser plus aisément des bibliothèques tierces-parties.</p>
<p>Jack “EmperorJack” Purvis, Cody “Supertanker” Jackson, Paweł “Pevel” Micek et Maximilian “Viech” Stahlberg étaient des <em>mappeurs</em> renommés pour leurs cartes populaires. Ils rejoignirent l’équipe Unvanquished pour la conception de niveau et portèrent ou refirent certaines de leurs cartes Tremulous pour Unvanquished : Thunder (EmperorJack), Spacetracks et Station15 (Supertanker), Perseus, Antares et Yocto (Pevel), et Parpax (Viech). Supertanker a ensuite produit la carte Chasm pour Unvanquished, créée directement pour Unvanquished.</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/20220707-164554-000.plat23-b6.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f32303232303730372d3136343535342d3030302e706c617432332d62362d373638783433322e6a7067/20220707-164554-000.plat23-b6-768x432.jpg" alt="Un aperçu sur une version primitive de la carte Plat23 en version b6, toujours très proche de l’agencement d’ATCS." title="Source : https://unvanquished.net/wp-content/uploads/2022/07/20220707-164554-000.plat23-b6-768x432.jpg"></a><br><br>
<em>Un aperçu sur une version primitive de la carte Plat23 par EmperorJack en version b6, toujours très proche de l’agencement d’ATCS en 2012.</em></p>
<p>De nombreuses personnes qui ont rejoint Unvanquished était déjà très investies dans des projets communautaires Tremulous ou d’autres projets liés, comme ioquake3. D’autres ont pu commencer avec Unvanquished. Vous pouvez trouver les noms et obtenir plus d’information sur les personnes d’Unvanquished et leurs contributions sur la page <a href="https://unvanquished.net/about/">À propos d’Unvanquished</a>. Vous pouvez ajouter votre nom à cette page, <a href="https://unvanquished.net/join-us/">rejoignez-nous !</a></p>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/20220713-190457-000.unvanquished-parpax-2.7.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f32303232303731332d3139303435372d3030302e756e76616e717569736865642d7061727061782d322e372d373638783433322e6a7067/20220713-190457-000.unvanquished-parpax-2.7-768x432.jpg" alt="_La carte Parpax par Maximilian “Viech” Stahlberg." title="Source : https://unvanquished.net/wp-content/uploads/2022/07/20220713-190457-000.unvanquished-parpax-2.7-768x432.jpg"></a><br><br>
<em>La carte Parpax par Maximilian “Viech” Stahlberg, elle a commencé en tant que carte Tremulous, puis fut portée et incluse comme carte officielle Unvanquished. La version beta Unvanquished 0.53 a apporté une mise à jour importante !</em></p>
<p>En 2012 la tête du projet était composée de kharnov et Harsh “Ishq” Modi, et Maximilian “Viech” Stahlberg a rejoint la direction après ça, probablement autour de 2013 ou 2014. En 2016 kharnov a choisi Thomas “illwieckz” Debesse pour le remplacer à la direction du projet tandis qu’il devait se focaliser sur d’autres sujets dans sa vie.</p>
<p>Faisant équipe avec des gens de chez <a href="https://xonotic.org/">Xonotic</a>, le moteur a été extrait avec succès du code source Unvanquished en tant que <a href="https://github.com/DaemonEngine/Daemon">dépôt dédié</a> autour de l’année 2017, rendant plus facile d’investiguer les efforts de portage de jeu.</p>
<h2 id="toc-10-ans-dhistoire-humaine">10 ans d’histoire humaine</h2>
<p>10 ans dans la vie des gens, c’est beaucoup, et beaucoup de changements peuvent se produire, parfois pour le pire, parfois pour le meilleur. En 2014, les évènements en Ukraine ont impactés directement certains contributeurs d’Unvanquished qui durent cesser de contribuer, et l’année 2022 a démontré qu’un espoir pour un monde meilleur n’est même pas encore pour demain.</p>
<p>Avec le temps passant, certains contributeurs devinrent injoignables, donc quand on a fait face à des problèmes de licences on a malheureusement dû remplacer ou supprimer certaines contributions.</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/AcidtubeLowPoly.png"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f41636964747562654c6f77506f6c792d373638783338342e706e67/AcidtubeLowPoly-768x384.png" alt="Le modèle de Tube Acide par Daniel “dandoombuggy” McCarthy." title="Source : https://unvanquished.net/wp-content/uploads/2022/07/AcidtubeLowPoly-768x384.png"></a><br><br>
<em>Le modèle de Tube Acide par Daniel “dandoombuggy” McCarthy.</em></p>
<p><em>Avertissement : ce qui suit est basé sur les informations publiques de nos contributeurs, certaines étant des contributions passées. Ces informations pourraient être légèrement obsolètes si ces informations étaient déjà obsolètes en premier lieu.</em></p>
<p>Certaines personnes qui ont contribué à Unvanquished ont continué avec des métiers dans l’industrie du jeu vidéo ou l’industrie du cinéma, comme Angel “Angelo” Bedolla qui semble désormais travailler pour id Software après avoir été un <a href="https://www.artstation.com/angel_bedolla">modeleur de personnage sur Mortal Kombat pour NetherRealm</a>. Angelo a d’abord modelé le modèle humain d’Unvanquished avec les armures légères et moyennes associées !</p>
<p>Daniel “dandoombuggy” McCarthy qui avait modelé le Tyrant, le Tube, le Trapper et texturé le Dretch est désormais <a href="https://www.artstation.com/dandoombuggy">artiste 3D Senior ayant travaillé sur des jeux comme Total War: Warhammer 2</a>.</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/lhdc-spiker-tris-face.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f6c6864632d7370696b65722d747269732d666163652d373638783534342e6a7067/lhdc-spiker-tris-face-768x544.jpg" alt="Les triangles du Spiker par Luiz Henrique “LHDC” de Camargo." title="Source : https://unvanquished.net/wp-content/uploads/2022/07/lhdc-spiker-tris-face-768x544.jpg"></a><br><br>
<em>Les triangles du Spiker par Luiz Henrique “LHDC” de Camargo.</em></p>
<p>Ludwig “Geno527” Dresch est désormais <a href="https://www.artstation.com/geno527">”Lead Env Art” chez GFactory</a> après avoir modelé pour Unvanquished ce qui devint notre canon Lucifer actuel, ayant ensuite travaillé sur des jeux comme Dishonored 2 et WarCry.</p>
<p>Vincent “Warvinc” Monfette qui a modelé pour Unvanquished l’Armurerie actuelle, l’actuel Télénode et l’ancien Drill semble être désormais <a href="https://www.artstation.com/vincent3d">“Assistant Art Director” à Ubisoft Saguenay</a>, ayant travaillé sur des jeux comme Tom Clancy's Rainbow Siege ! Casey Addler qui a modélisé pour Unvanquished le modèle de joueur féminin (nous devons toujours l’intégrer en jeu cependant !), modélisé le modèle de granger et retexturé le modèle masculin de joueur (celui de RXMT), est désormais <a href="https://www.artstation.com/caseynotjones">“Environment and Character Artist” chez Microsoft</a>.</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/overmind-concept-by-pevel.png"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f6f7665726d696e642d636f6e636570742d62792d706576656c2d373638783639382e706e67/overmind-concept-by-pevel-768x698.png" alt="Concept art pour l’Overmind par Paweł “Pevel” Micek." title="Source : https://unvanquished.net/wp-content/uploads/2022/07/overmind-concept-by-pevel-768x698.png"></a><br><br>
<em>Concept art pour l’Overmind par Paweł “Pevel” Micek en 2014, il fut ensuite modelé par Raphaël “RXMT” Moreault-Truchon pour Unvanquished.</em></p>
<p>Raphaël “RXMT” Moreault-Truchon semble avoir changé d’orientation depuis la conception de jeu vidéo vers l’industrie du cinéma et a travaillé sur <a href="https://www.imdb.com/seen/nm7906334/">un paquet de films</a>, crédité comme « digital compositor » ou « vfx artist ». Avant cela il a réalisé pour Unvanquished le Dragoon, l’Overmind et un modèle masculin de soldat humain.</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2017/02/snip.png"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323031372f30322f736e69702d373638783331382e706e67/snip-768x318.png" alt="Le fusil de sniper par Oleksandr “AlexRaidock” Tykkoiev." title="Source : https://unvanquished.net/wp-content/uploads/2017/02/snip-768x318.png"></a><br><br>
<em>Le fusil de sniper par Oleksandr “AlexRaidock” Tykkoiev (doit toujours être implémenté en jeu).</em></p>
<p><a href="https://www.artstation.com/lex_reidall">Oleksandr “AlexRaidock” Tykkoiev</a> qui a modélisé le lance-flame (déjà en jeu !) et le fusil de sniper (restant à distribuer avec le jeu !) travaille désormais chez Stanion Studios. <a href="https://www.artstation.com/hristew">Vlad “hristew” Hristev</a> qui avait fait le fusil automatique et <a href="https://www.artstation.com/chris807">chris807</a> qui produisit beaucoup de nos modèles (fusil laser, grenade, réacteur, pod à roquettes, médipad) sont travailleurs à leur compte (<em>freelancers</em>).</p>
<p>Et ceci est une courte liste d’artistes parmi ceux qui ont des informations publiques relatant ce qu’ils font. Plein d’autres contributeurs y compris des contributions sur d’autres aspects comme le développement logiciel ont poursuivi des carrières intéressantes dans l’industrie. Saviez-vous que Corentin “Kangz” Wallez est devenu <a href="https://www.w3.org/groups/wg/gpu/participants">coprésident (“co-chair”) du “Web GPU Working Group”</a> au W3C ? Dans le même temps Thomas “illwieckz” Debesse a créé sa <a href="https://rebatir.fr/">propre entreprise</a> de service autour des logiciels libres. Les noms et métiers de certains de nos contributeurs peuvent aussi être <em>très secrets</em> 🤫️. Si vous avez contribué à Unvanquished, n’hésitez pas à passer par <a href="https://unvanquished.net/chat/">notre chat</a> pour donner des nouvelles ! 🥂️</p>
<p>Comme on peut le voir, un projet de logiciel libre est aussi une aventure humaine !</p>
<h2 id="toc-À-nouveau-libre-et-open-source">À nouveau libre et open-source</h2>
<p>Basé sur le jeu libre et open source Tremulous, le jeu Unvanquished n’a jamais eu l’intention de ne pas être libre, mais avec le temps certaines données ont été fusionnées avec des licences problématiques comme les licences Creative Commons avec des clauses « non-commerciales » et certains modèles manquaient simplement de mention de licence appropriée par leur auteur. Après de nombreuses années à prendre contact avec les contributeurs passés, le jeu est redevenu libre en 2020 (voir notre article <a href="//linuxfr.org/news/unvanquished-maintenant-nous-sommes-libres">Maintenant nous sommes libres</a>).</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2019/05/20180928-234507-001.unvanquished-chris807-models.1920-1.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323031392f30352f32303138303932382d3233343530372d3030312e756e76616e717569736865642d63687269733830372d6d6f64656c732e313932302d312d373638783433322e6a7067/20180928-234507-001.unvanquished-chris807-models.1920-1-768x432.jpg" alt="Les modèles de chris807." title="Source : https://unvanquished.net/wp-content/uploads/2019/05/20180928-234507-001.unvanquished-chris807-models.1920-1-768x432.jpg"></a><br><br>
<em>Certains des plus récents modèles à avoir été complètement licenciés sous licence libre, ceux de chris807 !</em></p>
<p>Sur un sujet proche, le wiki d’Unvanquished utilisait une licence qui était considérée comme non-libre à cause d’une clause « non-commerciale », en fait personne n’a été en mesure d’expliquer pourquoi cette clause était là, et ça a pu être une erreur. Après des années à reprendre contact avec les contributeurs pour obtenir la permission de relicencier et à réécrire les autres pages, le wiki a été libéré en 2021, voir la page « <a href="https://wiki.unvanquished.net/wiki/Wiki_relicensing">Wiki relicensing</a> » et l’<a href="https://unvanquished.net/unvanquished-0-52-1-better-freer-stronger/">article de blog pour la version Unvanquished 0.52.1</a>.</p>
<h2 id="toc-dalpha-à-bêta-et-toujours-invaincu">D’Alpha à Bêta et toujours Invaincu</h2>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/20220828-191322-000.unvanquished-0.53.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f32303232303832382d3139313332322d3030302e756e76616e717569736865642d302e35332d373638783433322e6a7067/20220828-191322-000.unvanquished-0.53-768x432.jpg" alt="Le menu d’Unvanquished 0.53." title="Source : https://unvanquished.net/wp-content/uploads/2022/07/20220828-191322-000.unvanquished-0.53-768x432.jpg"></a><br><br>
<em>Le menu d’Unvanquished 0.53.</em></p>
<p>Jusqu’en avril 2016, le projet a publié des versions mensuelles et ce fut un exploit vraiment impressionnant pour un projet entièrement bénévole de maintenir un tel rythme pendant des années. Mais avec l’irruption de certaines préoccupations dans la vie des contributeurs les publications suivantes furent à peu près réalisées sur un rythme annuel. Nous espérons être en capacité de publier de manière plus fréquente à nouveau, le rythme étant encore à décider (quelque chose entre le mois et l’année ?). <em>NDA : Trois versions ont été publiées en 2022.</em></p>
<p>Nous sommes passés de versions Alpha à Bêta au moment de la <a href="//linuxfr.org/news/unvanquished-0-52-beta-est-la">sortie de la version 0.52</a> en 2021 et <a href="//linuxfr.org/news/unvanquished-0-53-beta-est-la-un-petit-pas-pour-les-bots-un-bond-en-avant-pour-unvanquished">avons sorti la 0.53</a> en 2022. <em>NDA : La version Bêta 0.54 devrait être publiée prochainement, celle-ci étant actuellement en phase de « Release Candidate ».</em></p>
<p>Si vous aimez l’Histoire, nous avons <a href="https://unvanquished.net/unvanquished-archaeology-restoring-10-years-old-blog-posts/">récemment restauré</a> plus de 40 articles datant des débuts du projet !</p>
<p>10 ans est un temps long pour les projets communautaires libres et open source ! Nos amis de <a href="https://xonotic.org/">Xonotic</a> ont <a href="https://xonotic.org/posts/2020/happy-anniversary-xonotic/">aussi eu 10 ans</a> en 2020, ce qui signifie que le projet Xonotic est désormais plus vieux que l’âge de Nexuiz quand ils durent renommer parce que le nom avait été vendu. Si nous faisons la somme des âges, le chantier de jeu libre et open source Xonotic a désormais 21 ans ! Nos amis de Q3Rally <a href="https://web.archive.org/web/20220523170930/https://www.q3rally.com/2022/03/02/q3rally-v0-4-is-out/">ont aussi eu 20 ans</a> en 2022 ! Nous espérons vivre aussi longtemps et même plus !</p>
<p>Longue vie à Unvanquished ! ➡️ <a href="https://unvanquished.net/download/">Maintenant il est temps de jouer !</a></p>
<p>Cette dépêche est placée sous licences Creative Commons <a href="https://creativecommons.org/licenses/by/4.0/deed.fr">By 4.0</a> et <a href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr">By-SA 4.0</a>.</p>
<p><a href="https://forums.unvanquished.net/images/smilies/granger.png"><img src="//img.linuxfr.org/img/68747470733a2f2f666f72756d732e756e76616e717569736865642e6e65742f696d616765732f736d696c6965732f6772616e6765722e706e67/granger.png" alt="Granger" title="Source : https://forums.unvanquished.net/images/smilies/granger.png"></a></p>
</div><div><a href="https://linuxfr.org/news/unvanquished-10-ans-et-invaincu.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/129971/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/unvanquished-10-ans-et-invaincu#comments">ouvrir dans le navigateur</a>
</p>
Thomas Debesse
orfenor
Julien Jorge
Ysabeau 🧶 🧦
Benoît Sibaud
fasthm
ted
https://linuxfr.org/nodes/129971/comments.atom
tag:linuxfr.org,2005:News/41317
2023-01-04T12:54:17+01:00
2023-01-04T14:37:59+01:00
Jeu-vidéo indépendant & gaming responsable
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>Questionnement de nos usages dans le contexte du jeu-vidéo : conseils et astuces pour jouer sous Linux ; développements sur les connexions entre jeu-vidéo indépendant et responsabilités sociale et écologique.</p>
<p>Comment adapter nos usages numériques dans le contexte social et écologique actuel ? Comment tirer le meilleur de notre matériel et faire face à l’obsolescence programmée ? Quelques pistes proposées par Commown, coopérative militant pour la durabilité du matériel informatique. </p>
</div><ul><li>lien nᵒ 1 : <a title="https://commown.coop/blog/gaming-plus-responsable-le-jeu-vid%C3%A9o-ind%C3%A9pendant-sous-linux/" hreflang="fr" href="https://linuxfr.org/redirect/111514">Gaming plus responsable ? le jeu vidéo indépendant sous Linux</a></li></ul><div><p>Dans <a href="https://commown.coop/blog/gaming-plus-responsable-le-jeu-vid%C3%A9o-ind%C3%A9pendant-sous-linux/">cet article</a>, nous examinons les connexions entre gaming responsable et jeu-vidéo indépendant, en abordant les avantages de cet écosystème :</p>
<ul>
<li>liberté artistique ;</li>
<li>diversité ludique ;</li>
<li>sobriété matérielle ;</li>
<li>responsabilité sociale.</li>
</ul>
<p>Nous vous proposons également une <a href="https://wiki.commown.coop/Gaming-sous-Linux-avec-Pop%21_OS">synthèse</a> de tests et de recommandations pour jouer sous Linux (plus spécifiquement, sous <a href="https://fr.m.wikipedia.org/wiki/Pop!_OS">Pop!_OS</a>) :</p>
<ul>
<li>contexte ;</li>
<li>comment se passer de Windows ;</li>
<li>plateformes de jeu (Steam et Lutris) ;</li>
<li>logiciels « de support » (pilotes, informations système).</li>
</ul>
<p>À propos de <a href="https://commown.coop/">Commown</a> : nous sommes une coopérative d’intérêt collectif visant à optimiser la durabilité du matériel informatique et l’indépendance technique des utilisateurs, ce qui passe selon nous par l’adoption de technologies libres (Linux, mais aussi /e/OS, version dé-googlisée d’Android).</p>
</div><div><a href="https://linuxfr.org/news/jeu-video-independant-gaming-responsable.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/129661/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/jeu-video-independant-gaming-responsable#comments">ouvrir dans le navigateur</a>
</p>
Elie
Xavier Teyssier
Ysabeau 🧶 🧦
Benoît Sibaud
palm123
https://linuxfr.org/nodes/129661/comments.atom
tag:linuxfr.org,2005:News/41221
2022-10-19T20:15:09+02:00
2022-10-19T20:15:09+02:00
Entretien avec Fabien Sanglard à propos du CPS-1
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>Fabien Sanglard a publié récemment <a href="//linuxfr.org/users/devnewton/liens/un-sdk-pour-creer-des-jeux-pour-cps-1">un SDK pour créer des jeux pour le système de Capcom</a>, cet entretien revient sur son parcours et les raisons qui l’ont amené à s’intéresser à ces bornes d’arcade au point de publier <a href="https://fabiensanglard.net/cpsb/index.html">un livre sur le sujet</a>.</p>
<p>C’est l’occasion de revenir dans les années 80-90 là où les bornes d’arcade proliféraient :-) (j’vous prends au baby quand vous l’voul’ :p)</p>
<p><abbr title="Note de la modération">N. D. M. :</abbr> la lecture de cette dépêche est compatible avec les jeans, les blousons en cuir marron et les coupes mulets.</p>
<table>
<thead>
<tr>
<th> </th>
<th> </th>
</tr>
</thead>
<tbody>
<tr>
<td><img src="//img.linuxfr.org/img/68747470733a2f2f66616269656e73616e676c6172642e6e65742f637073622f636f7665722e77656270/cover.webp" alt="couverture du livre" title="Source : https://fabiensanglard.net/cpsb/cover.webp"></td>
<td><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f382f38382f446f6e6b65795f4b6f6e675f6172636164652e6a70672f32393870782d446f6e6b65795f4b6f6e675f6172636164652e6a7067/298px-Donkey_Kong_arcade.jpg" alt="arcade" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/8/88/Donkey_Kong_arcade.jpg/298px-Donkey_Kong_arcade.jpg"></td>
</tr>
</tbody>
</table>
</div><ul><li>lien nᵒ 1 : <a title="https://github.com/fabiensanglard/ccps" hreflang="en" href="https://linuxfr.org/redirect/111155">Code du SDK pour borne d'arcade Capcom</a></li><li>lien nᵒ 2 : <a title="https://fabiensanglard.net/cpsb/index.html" hreflang="en" href="https://linuxfr.org/redirect/111156">Le bouquin The Book of CP-System</a></li><li>lien nᵒ 3 : <a title="https://fabiensanglard.net/about/" hreflang="en" href="https://linuxfr.org/redirect/111157">En savoir plus sur le gars</a></li><li>lien nᵒ 4 : <a title="https://en.wikipedia.org/wiki/CP_System" hreflang="en" href="https://linuxfr.org/redirect/111158">CPS et tous ses jeux chez wikipedia</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li>
<ul>
<li>
<ul>
<li><a href="#toc-qui-%C3%AAtes-vous-quel-est-votre-parcours-et-pourquoi-est-il-aussi-li%C3%A9-aux-jeux-vid%C3%A9os">Qui êtes-vous, quel est votre parcours et pourquoi est-il aussi lié aux jeux vidéos ?</a></li>
<li><a href="#toc-comment-en-%C3%AAtes-vous-venu-%C3%A0-vous-int%C3%A9resser-au-cps-1">Comment en êtes-vous venu à vous intéresser au CPS-1 ?</a></li>
<li><a href="#toc-quest-ce-que-ce-syst%C3%A8me-a-de-particulier">Qu’est-ce que ce système a de particulier ?</a></li>
<li><a href="#toc-que-dire-sur-les-cps-2-et-cps-3">Que dire sur les CPS-2 et CPS-3 ?</a></li>
<li>
<a href="#toc-ces-syst%C3%A8mes-sont-bas%C3%A9s-sur-le-x68000-de-sharp-qui-va-bient%C3%B4t-ressortir-en-version-mini-quen-pensez-vous">Ces systèmes sont basés sur le </a><a href="https://fr.wikipedia.org/wiki/Sharp_X68000">X68000 de Sharp</a> qui va bientôt ressortir en version <a href="https://mag.mo5.com/actu/231051/une-version-mini-aussi-pour-le-micro-ordinateur-japonais-x68000/">« mini »</a> ? Qu’en pensez-vous ?</li>
<li><a href="#toc-les-%C3%A9mulateurs-cps-1-sont-ils-bons">Les émulateurs CPS-1 sont-ils bons ?</a></li>
<li><a href="#toc-quels-sont-vos-jeux-pr%C3%A9f%C3%A9r%C3%A9s-pour-ces-syst%C3%A8mes"> Quels sont vos jeux préférés pour ces systèmes ?</a></li>
<li><a href="#toc-pourquoi-cr%C3%A9er-un-sdk-en-2022-pour-un-si-vieux-syst%C3%A8me">Pourquoi créer un SDK en 2022 pour un si vieux système ?</a></li>
<li><a href="#toc-que-pr%C3%A9f%C3%A9rez-vous-larcade-%C3%A0-la-maison-ou-larcade-en-arcade">Que préférez-vous ? L’arcade à la maison ou l’arcade en arcade ?</a></li>
<li><a href="#toc-au-niveau-personnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ?</a></li>
<li><a href="#toc-au-niveau-professionnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau professionnel, quels logiciels libres utilisez-vous, sur quel OS ?</a></li>
<li><a href="#toc-quelle-est-votre-distribution-gnulinux-pr%C3%A9f%C3%A9r%C3%A9e-et-pourquoi-quels-sont-vos-logiciels-libres-pr%C3%A9f%C3%A9r%C3%A9s">Quelle est votre distribution GNU/Linux préférée et pourquoi, quels sont vos logiciels libres préférés ?</a></li>
<li><a href="#toc-quelle-question-auriez-vous-d%C3%A9test%C3%A9-quon-vous-pose">Quelle question auriez-vous détesté qu’on vous pose ?</a></li>
<li><a href="#toc-quelle-question-auriez-vous-ador%C3%A9-quon-vous-pose">Quelle question auriez-vous adoré qu’on vous pose ?</a></li>
<li><a href="#toc-ce-sera-peut-%C3%AAtre-pour-une-autre-d%C3%A9p%C3%AAche-consacr%C3%A9e-%C3%A0-la-documentation-car-beaucoup-de-gens-sint%C3%A9ressent-au-sujet-sur-linuxfr">Ce sera peut être pour une autre dépêche consacrée à la documentation, car beaucoup de gens s'intéressent au sujet sur linuxfr.</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h4 id="toc-qui-êtes-vous-quel-est-votre-parcours-et-pourquoi-est-il-aussi-lié-aux-jeux-vidéos">Qui êtes-vous, quel est votre parcours et pourquoi est-il aussi lié aux jeux vidéos ?</h4>
<p>Je suis originaire de Romans-sur-Isère dans la Drome. Un joli coin avec une vue sur le Vercors magnifique. J’ai surtout passé mon temps à jouer aux jeux vidéo et au foot. Parcours banal avec collège, lycée, Bac S, Miage à Grenoble et ensuite Master. Ensuite, je voulais voir le monde, je suis parti à Paris un an, puis au Canada en <a href="https://fr.wikipedia.org/wiki/Programme_Vacances_Travail">PVT</a> pour y rester six mois. J’y suis resté dix ans. Ultérieurement, j’ai reçu une offre d’emploi de la part d’un employeur dont je rêvais depuis plusieurs années. Du coup, j’ai déménagé aux USA, ou je vis encore aujourd’hui.</p>
<p>La fascination pour les jeux vidéo, c’est en grande partie lié à mes années d’adolescence où c’était dur d’accéder à une expérience idéale. Mon premier ordinateur était un <a href="https://www.grospixels.com/site/sinclair.php">ZX Spectrum</a>, ensuite un <a href="https://www.grospixels.com/site/amstrad.php">Amstrad CPC</a>, et ensuite un <a href="https://www.grospixels.com/site/atarist.php">Atari ST</a>.<br>
Toutes ces machines n’ont pas de <em>hardware sprites</em> donc pendant des années j’ai joué avec un <em>framerate</em> 15fps. Je me rappelle avoir éprouvé une admiration devant les jeux de la <a href="https://www.grospixels.com/site/nes.php">NES</a> ou ce que je voyais dans les salles d’arcade avec tous ces <em>sprites</em>, parfois énormes, qui bougeaient en même temps… Les bornes d’arcade étaient difficiles à trouver. Quand je marchais dans les rues, je regardais toujours dans les bars pour voir s’il y en avait une. J’avais même l’oreille fine pour entendre le son des <a href="https://fr.wikipedia.org/wiki/Tube_cathodique">CRT</a>. Même si je ne la voyais pas je pouvais l’entendre. </p>
<p>Pareil quand <a href="https://www.grospixels.com/site/Doom.php">DOOM</a> est sorti, j’avais un <a href="https://www.grospixels.com/site/pc.php">PC</a> 386 et ça ramait un truc de ouf. J’avais un ami qui avait un 486 SX et ça avait été la gifle de voir ce que l’expérience était avec du matos adéquat.</p>
<p>Plus tard, quand j’ai pu développer les compétences techniques, j’ai eu envie de revenir sur ces technologies pour comprendre la quête du <em>frame-per-second</em>.</p>
<h4 id="toc-comment-en-êtes-vous-venu-à-vous-intéresser-au-cps-1">Comment en êtes-vous venu à vous intéresser au CPS-1 ?</h4>
<p>J’étais en vacances en Corse en 1992 et je cherchais les bornes d’arcade dans Bonifacio. Je devais avoir 14 ans et je me tapais toute la vieille ville et les remparts pour les trouver. Près du port je trouve une borne au fond d’un bar. <a href="https://www.grospixels.com/site/street1.php">Street Fighter II</a> tournait dessus et ça a été une gifle monumentale. Il devait y avoir 10 personnes autour et ça a été un tournant. La machine n’avait que trois boutons (y'avait pas les pieds) et, bien sûr, les coups spéciaux n’étaient pas expliqués, mais ça reste un moment magique. J’ai énormément joué à ce jeu quand j’arrivais à le trouver (enfin tant que j’avais des pièces de <a href="https://commons.wikimedia.org/wiki/File:5_French_francs_Semeuse_silver_1960_F340-4_reverse.jpg?uselang=fr">5 F</a> et 10 F). </p>
<p>Plus tard, avec les compétences acquises dans mes études, d’autres jeux vidéos et les bouquins précédents, j’ai voulu comprendre comment ça marchait. En particulier, je voulais comprendre la différence entre une machine de salon comme la NES ou la SNES et une machine « industry-grade » qui permet autant de couleurs et surtout une taille de sprites aussi gigantesque.</p>
<h4 id="toc-quest-ce-que-ce-système-a-de-particulier">Qu’est-ce que ce système a de particulier ?</h4>
<p>Ça a été un tournant pour <a href="https://www.capcom.com/">Capcom</a>. Ça prouve que les directeurs et le CEO ont su sentir le vent venir. J’entends parfois des programmeurs râler après la direction et les gens « pas techniques » mais c’est un exemple que sans ce type d'initiatives, la boîte aurait subi le même sort que Technos (NdM: Technos a fait faillite en 1996, leurs derniers jeux utilisaient le système Neo Geo de <a href="https://fr.wikipedia.org/wiki/SNK_Corporation">SNK</a>).</p>
<p>C’est aussi un système d’une grande simplicité. Grosso-modo c’est trois arrière-plans et un plan pour les <em>sprites</em>. Plus j’étudiais le CPS-1 (je parle de ça dans l’épilogue du livre) et plus je me disais c'etait une machine simple et puissance mais pas du tout une silver bullet, surtout comparé à la <a href="https://www.grospixels.com/site/neogeo.php">Neo-Geo</a>. Peut-être que c’est là, finalement, sa force, le petit plus nécessaire a fait un bon jeu : ce n’étaient pas des gros processeurs comme les bornes de <a href="https://www.sega.fr/">Sega</a> ou <a href="https://fr.wikipedia.org/wiki/Namco">Namco</a>, mais les <em>designers</em> et les artistes de Capcom.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f382f38632f435053315f4350552e4a50472f34303870782d435053315f4350552e4a5047/408px-CPS1_CPU.JPG" alt="CPS1 CPU" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/8/8c/CPS1_CPU.JPG/408px-CPS1_CPU.JPG"></p>
<h4 id="toc-que-dire-sur-les-cps-2-et-cps-3">Que dire sur les CPS-2 et CPS-3 ?</h4>
<p>Le CPS-2 ajoute de la RAM, un plus gros CPU (12MHz vs 10MHz), et un HSYNC interrupt… mais c’est vraiment question lutte contre le piratage que c’est une machine impressionnante. Autant le CPS-1 s’était fait copier à outrance, autant le CPS-2 n’a été craqué que beaucoup plus tard, genre 15 ans après. La couche d’encryption que Capcom a mis sur le Z80 et le 68000 a été efficace et je leur tire mon chapeau. Il y avait tellement d’argent en jeu que probablement pas mal de gens doués (y'a qu’a voir ce que certains avaient réussi à faire en reprogrammant SF2 en accélérant la vitesse) ont essayé et ont échoué.</p>
<h4 id="toc-ces-systèmes-sont-basés-sur-le-x68000-de-sharp-qui-va-bientôt-ressortir-en-version-mini-quen-pensez-vous">Ces systèmes sont basés sur le <a href="https://fr.wikipedia.org/wiki/Sharp_X68000">X68000 de Sharp</a> qui va bientôt ressortir en version <a href="https://mag.mo5.com/actu/231051/une-version-mini-aussi-pour-le-micro-ordinateur-japonais-x68000/">« mini »</a> ? Qu’en pensez-vous ?</h4>
<p>Une partie de l’attrait des X68000, c’est que ce sont des machines imposantes de par leur taille et leur poids. Rien que l’objet sur la table, avec son design "Manhattan", c’est magnifique. Le ressortir en plastique et à échelle 1:3, alors qu’il y a déjà des émulateurs disponibles, ça ne m’attire pas. Si ça avait été une reproduction 1:1 et que j’avais pu faire tourner Linux dessus ça aurait été un achat immédiat. Maintenant, il y a tellement de gens pour qui c’est une machine mythique que je ne doute pas que ça va être un succès.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f612f61392f56636665323030375f696d675f353133352e6a70672f36343070782d56636665323030375f696d675f353133352e6a7067/640px-Vcfe2007_img_5135.jpg" alt="x68000" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/a/a9/Vcfe2007_img_5135.jpg/640px-Vcfe2007_img_5135.jpg"></p>
<h4 id="toc-les-émulateurs-cps-1-sont-ils-bons">Les émulateurs CPS-1 sont-ils bons ?</h4>
<p>J’ai essayé <a href="https://mijet.eludevisibility.org/XM6%20Pro-68k/XM6%20Pro-68k.html">XM6 Pro-68k</a> (<em>NdM</em> : malheureusement un logiciel non libre) et c’était tellement bon que je n’en ai pas testé d’autres. En plus il est pété de <em>features</em> pour observer les <em>buffers</em> et les couches intermédiaires. C’est au-delà de bon, c’est magnifique. J’ai commencé à m’intéresser à la <a href="https://www.grospixels.com/site/snes.php">SNES</a> et j’espère que je trouverai un émulateur comme ça.</p>
<h4 id="toc-quels-sont-vos-jeux-préférés-pour-ces-systèmes"> Quels sont vos jeux préférés pour ces systèmes ?</h4>
<p>À part les ports de Capcom, j’aime beaucoup R-Type. Bonanza Bros est aussi impressionnant, il a un côté innovant qui lui donne beaucoup de charmes (comme les <em>sprites</em> pré-rendus en <em>raytracing</em>). Il a aussi des défauts de <em>clipping</em> qui me font me mettre dans les bottes du développeur. Ça rend le dur labeur palpable.</p>
<p>Je trouve tous les jeux de la X68000 intéressants. Il y aurait de quoi écrire un livre juste en les faisant tourner dans <a href="https://mijet.eludevisibility.org/XM6%20Pro-68k/XM6%20Pro-68k.html">XM6 Pro-68k</a> et en étudiant comment ils marchent. Le peu que j’ai vu sur les ports de Capcom montrait des trésors d’inventivité. C’est dommage que peu de personnes écrivent dessus. Il y a plein de gens très très doués, surtout dans la communauté française, bien plus compétents que moi d’ailleurs, mais qui n’arrivent pas à se motiver pour écrire des articles (vous savez qui vous êtes). C’est super dommage que ce savoir se perde un jour. Peut-être quand ces gens là arriveront à la retraite on verra des articles sortir. Peut-être que c’est juste une question de patience.</p>
<h4 id="toc-pourquoi-créer-un-sdk-en-2022-pour-un-si-vieux-système">Pourquoi créer un SDK en 2022 pour un si vieux système ?</h4>
<p>Pour tester mes connaissances du <em>hardware</em>. Tu peux pas vraiment connaître le <em>hardware</em> si tu ne connais pas le <em>software</em> qui tourne dessus. Surtout le côté <em>bootstrap</em>. D’ailleurs, ça m’a servi à me détromper plusieurs fois. Et puis aussi parce que quand j’ai commencé à écrire le bouquin je me disais que ça devait exister et j’étais surpris que personne ne s’en soit chargé vu la popularité de la plateforme. Après, j’en profite pour dire que c’est encore un <a href="https://fr.wikipedia.org/wiki/Work_in_progress"><em>WIP</em></a>, il manque des trucs comme les <em>backgrounds</em> ou la musique. <em>Pull Requests welcome!</em> (en clair : ya du taf').</p>
<h4 id="toc-que-préférez-vous-larcade-à-la-maison-ou-larcade-en-arcade">Que préférez-vous ? L’arcade à la maison ou l’arcade en arcade ?</h4>
<p>Mes souvenirs des salles d’arcade, c’est des bars crado avec des gens qui craignaient un peu. Et aussi <a href="https://fr.wikipedia.org/wiki/Pi%C3%A8ce_de_10_francs_Mathieu#/media/Fichier:10_francs_Mathieu_1987_F365-28_revers.png">10 F</a> en poche pour toute l’après-midi. De ce point de vue là, à la maison c’est bien mieux. Par contre tu joues seul. On peut pas tout avoir.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f612f61312f4172636164655f626172746f702e6a70672f38303070782d4172636164655f626172746f702e6a7067/800px-Arcade_bartop.jpg" alt="home arcade" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/a/a1/Arcade_bartop.jpg/800px-Arcade_bartop.jpg"></p>
<h4 id="toc-au-niveau-personnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ?</h4>
<p>En majorité Ubuntu. C’est facile à installer et j’ai jamais eu de problèmes sur mes Thinkpads. J’utilise encore Windows pour Cyberduck et Photoshop. C’est dommage qu’il n’y ait pas de client <a href="https://fr.wikipedia.org/wiki/SSH_File_Transfer_Protocol">SFTP</a> potable sur Linux. J’ai essayé de configurer <a href="https://fr.wikipedia.org/wiki/Kernel-based_Virtual_Machine">KVM</a> mais c’était un carnage et j’ai abandonné après plusieurs heures à rechercher des problèmes obscurs de <a href="https://fr.wikipedia.org/wiki/Trusted_Platform_Module">TPM</a>. Sinon j’utilise beaucoup <a href="https://www.latex-project.org/">LaTeX</a> et <a href="https://wiki.gnome.org/Apps/Evince">Evince</a>. Je sais pas trop ce que ça veut dire « libres », j’ai peut-être répondu à côté de la plaque, désolé :( !</p>
<h4 id="toc-au-niveau-professionnel-quels-logiciels-libres-utilisez-vous-sur-quel-os">Au niveau professionnel, quels logiciels libres utilisez-vous, sur quel OS ?</h4>
<p>J’utilise 99% du temps <a href="https://www.jetbrains.com/clion/">CLion</a>, <a href="https://go.dev/">Golang</a> et <a href="https://www.jetbrains.com/idea/">Intellij</a>. Ce sont des merveilles. En logiciel libre…, <a href="https://git-scm.com/">git</a> ?</p>
<h4 id="toc-quelle-est-votre-distribution-gnulinux-préférée-et-pourquoi-quels-sont-vos-logiciels-libres-préférés">Quelle est votre distribution GNU/Linux préférée et pourquoi, quels sont vos logiciels libres préférés ?</h4>
<p>Je n’ai jamais regardé ailleurs que Ubuntu, car j’ai toujours été très content du truc. Sauf pour les clients SFTP qui est très bugged (c.f: J’espère un port de <a href="https://cyberduck.io/">CyberDuck</a>).</p>
<h4 id="toc-quelle-question-auriez-vous-détesté-quon-vous-pose">Quelle question auriez-vous détesté qu’on vous pose ?</h4>
<p>Vous n’aviez vraiment rien de mieux à faire de votre temps que d’écrire un livre entier sur une plateforme morte depuis 20 ans ?</p>
<h4 id="toc-quelle-question-auriez-vous-adoré-quon-vous-pose">Quelle question auriez-vous adoré qu’on vous pose ?</h4>
<p>Quels sont les outils utilisés pour écrire un livre. Quand j’ai commencé ça m’aurait économisé beaucoup de temps d’avoir une méthode et des exemples de projet. C’est aussi pour ça que je publie les <a href="https://github.com/fabiensanglard">sources de mes bouquins</a>.</p>
<h4 id="toc-ce-sera-peut-être-pour-une-autre-dépêche-consacrée-à-la-documentation-car-beaucoup-de-gens-sintéressent-au-sujet-sur-linuxfr">Ce sera peut être pour une autre dépêche consacrée à la documentation, car beaucoup de gens s'intéressent au sujet sur linuxfr.</h4>
</div><div><a href="https://linuxfr.org/news/entretien-avec-fabien-sanglard-a-propos-du-cps-1.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/128975/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/entretien-avec-fabien-sanglard-a-propos-du-cps-1#comments">ouvrir dans le navigateur</a>
</p>
devnewton
BAud
Christophe
Julien Jorge
orfenor
tisaac
Ysabeau 🧶 🧦
https://linuxfr.org/nodes/128975/comments.atom
tag:linuxfr.org,2005:News/41054
2022-10-03T09:13:07+02:00
2022-10-03T17:25:16+02:00
Sortie de 0 A.D. Alpha 26 « Zhuangzi »
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>0 A.D. : Empires Ascendant est un jeu vidéo de stratégie en temps réel (Real Time Strategy, RTS) historique en 3D développé par Wildfire Games. C’est un projet libre (code sous GPL v2, données sous CC BY‑SA 3.0), au développement ouvert, visant des standards de qualité artistique comparables à ceux de l’industrie, ainsi qu’un grand respect de la réalité historique. Le jeu permet d’incarner treize factions qui ont marqué leur histoire entre les rives de l’Atlantique et la chaîne de l’Himalaya, au cours de la période allant de −500 av. J.‑C. à −1 av. J.‑C.</p>
<p>0 A.D. : Empires Ascendant est encore actuellement considéré « en cours de développement », par l’équipe et les fans exigeants, mais le jeu est jouable à tel point qu’une communauté de joueurs conséquente s’est déjà construite autour, et son succès est révélé par les statistiques : <a href="http://releases.wildfiregames.com/stats.php?type=year&date=2021-01-01">environ 410 000 téléchargements l’année passée</a> et <a href="http://releases.wildfiregames.com/stats.php?type=year&date=2022-01-01">déjà près de 260 000 téléchargements depuis début 2022</a> et 10 000 comptes multijoueurs.<br>
Cette dépêche présente la version Alpha 26, Zhuangzi, du projet sortie le 24 septembre 2022.</p>
<p>Cette dépêche est principalement une traduction de <a href="https://play0ad.com/new-release-0-a-d-alpha-26-zhuangzi/">l’annonce officielle</a> de la nouvelle version Alpha 26.</p>
<p>Si vous souhaitez rejoindre l’aventure, n’hésitez pas à visiter nos forums et à rejoindre notre communauté, ou plus simplement, à prendre un de nos tickets sur Trac avant de soumettre un correctif sur Phabricator. Si vous avez des questions n’hésitez pas à passer sur IRC (#0ad-dev sur le serveur Quakenet).</p>
<p>Nous sommes toujours à la recherche de développeurs — C++ (moteur graphique, moteur audio), JavaScript (IA, gameplay, génération procédurale de cartes) —, de reviewers, de traducteurs, d’historiens, de créateurs de cartes, d’animateurs 3D, d’artistes 3D et 2D, et de personnes pour nous aider sur certains scripts (Perl et Python).</p>
</div><ul><li>lien nᵒ 1 : <a title="https://play0ad.com/" hreflang="en" href="https://linuxfr.org/redirect/110601">Site officiel de 0 A.D.</a></li><li>lien nᵒ 2 : <a title="https://fr.wikipedia.org/wiki/0_A.D." hreflang="fr" href="https://linuxfr.org/redirect/110602">Page Wikipédia francophone de 0 A.D.</a></li><li>lien nᵒ 3 : <a title="https://linuxfr.org/news/sortie-de-0-a-d-alpha-25-yauna" hreflang="fr" href="https://linuxfr.org/redirect/110603">Annonce Linuxfr.org de l'Alpha 25</a></li><li>lien nᵒ 4 : <a title="https://play0ad.com/new-release-0-a-d-alpha-26-zhuangzi/" hreflang="en" href="https://linuxfr.org/redirect/110604">Annonce officielle de la sortie de l'Alpha 26</a></li><li>lien nᵒ 5 : <a title="https://videos.pair2jeux.tube/w/dfdrkF3k6iNK8YDaJ19oC2" hreflang="en" href="https://linuxfr.org/redirect/111105">Bande annonce sur PeerTube</a></li><li>lien nᵒ 6 : <a title="https://www.youtube.com/watch?v=cDcSXqlDcbA" hreflang="en" href="https://linuxfr.org/redirect/111106">Bande annonce sur YouTube</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#toc-rappel-historique">Rappel historique</a></li>
<li><a href="#toc-une-nouvelle-version">Une nouvelle version</a></li>
<li><a href="#toc-bandes-annonce-">Bandes annonce </a></li>
<li><a href="#toc-r%C3%A9sum%C3%A9-des-principales-nouveaut%C3%A9s">Résumé des principales nouveautés</a></li>
<li>
<a href="#toc-une-nouvelle-civilisation--les-hans-">Une nouvelle civilisation : les Hans </a><ul>
<li><a href="#toc-un-peu-dhistoire-sur-le-fond-historique-de-cette-civilisation">Un peu d’histoire sur le fond historique de cette civilisation :</a></li>
</ul>
</li>
<li><a href="#toc-deux-nouvelles-cartes-jouables">Deux nouvelles cartes jouables</a></li>
<li><a href="#toc-diverses-am%C3%A9liorations">Diverses améliorations</a></li>
<li><a href="#toc-interface-utilisateur-gui">Interface utilisateur (GUI)</a></li>
<li><a href="#toc-art">Art</a></li>
<li><a href="#toc-gameplay">Gameplay</a></li>
<li><a href="#toc-%C3%89quilibrage">Équilibrage</a></li>
<li><a href="#toc-des-am%C3%A9liorations-sur-le-moteur-du-jeu-pyrogenesis">Des améliorations sur le moteur du jeu Pyrogenesis</a></li>
<li><a href="#toc-changement-dans-l%C3%A9quipe">Changement dans l’équipe</a></li>
<li><a href="#toc-et-ensuite">Et ensuite ?</a></li>
<li><a href="#toc--contribuez">… Contribuez !</a></li>
<li><a href="#toc-prochaines-pr%C3%A9sences-dans-des-%C3%A9v%C3%A9nements">Prochaines présences dans des événements</a></li>
</ul>
<h2 id="toc-rappel-historique">Rappel historique</h2>
<p>0 A.D. a été créé par des fans du jeu de Microsoft, Age of Empires Ⅱ : The Age of Kings. Il s’agissait du groupe Tontoclan et des « modders » à l’origine du « mod » <em>Rome at War</em>. Entamé en juin 2001, le projet avait initialement pour but de rendre jouables les civilisations antiques du premier Age of Empires avec le moteur d’Age of Kings. Ils ont ensuite décidé de créer leur propre jeu indépendant.<br>
Un soin particulier est porté à la cohérence historique. Plusieurs historiens professionnels ou amateurs ont prodigué leurs conseils au projet au fil du temps.<br>
Le jeu stagnant, pour lui redonner un second souffle, le 10 juin 2009, Wildfire Games publia le jeu sous licence libre (<a href="https://fr.wikipedia.org/wiki/0_A.D.">source Wikipédia</a>).</p>
<h2 id="toc-une-nouvelle-version">Une nouvelle version</h2>
<p>Wildfire Games a annoncé la sortie de 0 A.D. Alpha 26: « Zhuangzi », la vingt-sixième version alpha de 0 A.D. Zhuāng Zhōu est un penseur chinois du IVème siècle av. JC plus connu sous le nom de <a href="https://fr.wikipedia.org/wiki/Tchouang-tseu">Zhuangzi</a>. Il a écrit des textes parmi les plus influents du Taoïsme dont le plus connu porte <a href="https://fr.wikipedia.org/wiki/Zhuangzi_(livre)">son nom</a>.</p>
<p>Pour les impatients et les impatientes, un peu de prudence et de compréhension : la version vient de sortir, tous les mods ne sont pas encore mis à jour, ils le seront petit à petit selon le temps des développeurs, tous bénévoles. Ne leur criez pas dessus, encouragez-les plutôt :-)</p>
<p>N’oubliez pas de désactiver TOUS les mods avant de passer à la version suivante, pour éviter tout risque de conflit.</p>
<p>Si vous créez des mods, regardez la <a href="https://trac.wildfiregames.com/wiki/PortA25ToA26">page du wiki correspondante</a>.</p>
<h2 id="toc-bandes-annonce-">Bandes annonce </h2>
<p>La bande annonce de la version est à visionner sur <a href="https://videos.pair2jeux.tube/w/dfdrkF3k6iNK8YDaJ19oC2">PeerTube</a> ou sur <a href="https://www.youtube.com/watch?v=cDcSXqlDcbA">YouTube</a>.</p>
<h2 id="toc-résumé-des-principales-nouveautés">Résumé des principales nouveautés</h2>
<ul>
<li>une nouvelle civilisation : les Hans (la civilisation était précédemment disponible dans le mod <em>Delenda Est</em>, qui sert notamment de bac à sable de test pour les nouvelles civilisations)</li>
<li>deux nouvelles cartes de campagne
<ul>
<li>le <a href="https://fr.wikipedia.org/wiki/Bassin_du_Tarim">bassin du Tarim</a>
</li>
<li>le fleuve <a href="https://fr.wikipedia.org/wiki/Yangts%C3%A9">Yangtsé</a>
</li>
</ul>
</li>
<li>concernant les unités
<ul>
<li>elles ont maintenant une accélération</li>
<li>elles se déplacent mieux en formation (pour contourner ou traverser au milieu d’obstacles de façon plus fluide)</li>
<li>des rééquilibrages concernant l’attaque ou la défense de certaines unités</li>
</ul>
</li>
<li>un rééquilibrage sur d’autres éléments en dehors des unités (comme la régénération lente des fruits et des poissons si on les épuise pas, une levée des limites de construction sur les tours et les forteresses, etc.)</li>
<li>vingt-six nouvelles pistes musicales</li>
<li>des <a href="https://trac.wildfiregames.com/wiki/Alpha26#Art">graphismes et autres éléments artistiques nouveaux ou améliorés</a>
</li>
<li>le moteur permet désormais de choisir entre trois niveaux de qualité de textures et seize niveaux de <a href="https://fr.wikipedia.org/wiki/Filtrage_anisotrope">filtres anisotropes</a>
</li>
</ul>
<p>Vous pouvez trouver une liste de tous les changements sur la <a href="https://trac.wildfiregames.com/wiki/Alpha26">page correspondante du Wiki</a>.</p>
<h2 id="toc-une-nouvelle-civilisation--les-hans-">Une nouvelle civilisation : les Hans </h2>
<p>Après que la liste des civilisations de 0 A.D. soit restée constante pendant plusieurs années jusqu’à maintenant, nous sommes excités de vous annoncer l’inclusion d’une nouvelle civilisation dans le jeu : les Hans.</p>
<p><img src="https://linuxfr.org/images/historique/images_perdues/sortie-de-0-a-d-alpha-26-zhuangzi-0ad_hans.ville-r8.opti.jpg" alt="Vue des bâtiments et des unités de la civilisation Han dans le jeu 0 A.D"></p>
<p>Ce développement était en cours depuis longtemps. Le travail sur les Hans a d’abords commencé comme une partie du mod « Rise of the East » (La montée de l’Est), puis cette civilisation a été plus tard incluse dans le mod « Delenda Est » et a été <a href="https://github.com/0ADMods/han_china">continuellement améliorée</a> par beaucoup de contributeurs jusqu’à atteindre le niveau ultime correspondant à la qualité des autres civilisations.</p>
<p>Les Hans ont de nouveaux éléments artistiques magnifiques, des technologies uniques, des bâtiments, et (espérons) aussi de nouvelles stratégies et manières de jouer à explorer. Comme d’habitude, nous avons fait de notre mieux pour créer une civilisation qui est particulièrement amusante à jouer tout en respectant l’histoire.</p>
<p><img src="https://linuxfr.org/images/historique/images_perdues/sortie-de-0-a-d-alpha-26-zhuangzi-0ad_hans.ville2-r8.opti.jpg" alt="Diversité des bâtiments de la civilisation han dans le jeu 0 A.D."></p>
<h3 id="toc-un-peu-dhistoire-sur-le-fond-historique-de-cette-civilisation">Un peu d’histoire sur le fond historique de cette civilisation :</h3>
<p>La <a href="https://fr.wikipedia.org/wiki/Dynastie_Han">dynastie Han</a> (206 av. J.-C. à 220 apr. J.-C.) était la seconde dynastie impériale de la Chine, elle succéda à la <a href="https://fr.wikipedia.org/wiki/Dynastie_Qin">dynastie Qin</a> (221 av. J.-C. à 206 av. J.-C.) et fut suivie par la période des <a href="https://fr.wikipedia.org/wiki/Trois_Royaumes_de_Chine">Trois Royaumes</a> (220 apr. J.-C. à 270 apr. J.-C.).<br>
Cette domination de plus de quatre siècles par la dynastie Han sont généralement considérés comme un des âges d’or de l’histoire de la Chine. La Chine fit des progrès significatifs dans l’art et la science durant la période Han. Le noyau de l’Empire Han était autour de la <a href="https://fr.wikipedia.org/wiki/Wei_He">rivière Wei</a>. La capitale était située à <a href="https://fr.wikipedia.org/wiki/Chang%27an">Chang’an</a>, très près de la capitale des Qin : <a href="https://fr.wikipedia.org/wiki/Xianyang">XianYang</a>, qui font partie aujourd’hui de <a href="https://fr.wikipedia.org/wiki/Xi%27an">Xi’an</a> dans la province du <a href="https://fr.wikipedia.org/wiki/Shaanxi">Shaanxi</a>.</p>
<h2 id="toc-deux-nouvelles-cartes-jouables">Deux nouvelles cartes jouables</h2>
<p>Deux nouvelles cartes accompagnent l’ajout de la civilisation Han au jeu :</p>
<ul>
<li>Le bassin du Tarim : un bassin <a href="https://fr.wikipedia.org/wiki/Endor%C3%A9isme">endoréique</a> du Nord-Ouest de la Chine, dans la région du Xinjiang. Il est aussi appelé « Les Régions de l’Ouest » par les Hans et représente leur extension géographique la plus lointaine. Les Hans ont ravi le contrôle du bassin de Tarim aux <a href="https://fr.wikipedia.org/wiki/Xiongnu">Xiongu</a> à la fin du 1ᵉʳ siècle sous le commandement du Général <a href="https://fr.wikipedia.org/wiki/Ban_Chao">Ban Chao</a> (32 apr. J.-C. à 102 apr. J.-C.) durant la guerre Han-Xiongu et l’ont conservé jusqu’à ce que l’empire Kushite s’étende dans le bassin de Tarim entre le 1ᵉʳ et 2ᵉ siècle apr. J.-C..
La carte est aride et relativement dépourvue de vie animale, elle offre peu de moyens de défense. Les vallées entre ses montagnes abruptes hébergent la seule vie visible sous forme d’arbustes, de différentes espèces d’arbre et de quelques chèvres.<img src="https://linuxfr.org/images/historique/images_perdues/sortie-de-0-a-d-alpha-26-zhuangzi-pasted-image-2.opti.jpg" alt="capture d’écran de la carte Bassin du Tarim">
</li>
<li>le fleuve <a href="https://fr.wikipedia.org/wiki/Yangts%C3%A9">Yangtsé</a> : aussi connu sous les noms Yang-Tsé-Kiang ou Yangzi Jiang, officiellement Chang Jiang (ou encore le fleuve bleu en français), est le plus long fleuve d’Asie, le troisième plus long fleuve du monde et le plus long au monde à couler entièrement dans un seul pays, depuis le plateau Tibétain jusqu’à son débouché dans la mer de Chine orientale. Pendant la dynastie Han, la région du fleuve Yangtsé devint de plus en plus importante au sein de l’économie chinoise, essentiellement par la construction de systèmes d’irrigation (comme à <a href="https://fr.wikipedia.org/wiki/Syst%C3%A8me_d%27irrigation_de_Dujiangyan">Dujiangyan</a>) qui rendit l’agriculture stable et productive. <img src="https://linuxfr.org/images/historique/images_perdues/sortie-de-0-a-d-alpha-26-zhuangzi-pasted-image-3.opti.jpg" alt="capture d’écran de la carte Fleuve Yangtsé">
</li>
</ul>
<p>Ces cartes sont aussi ajoutées à la catégorie « Demo campaign – new maps ».</p>
<h2 id="toc-diverses-améliorations">Diverses améliorations</h2>
<p>Il y a des améliorations diverses dans cette alpha affectant tous les aspects du jeu, les changements les plus remarquables pour les utilisateurs finaux sont les suivants :</p>
<ol>
<li>Meilleur déplacement des formations, en particulier pour les changements de direction, le contournement ou la traversée d’obstacles de façon plus fluide.</li>
<li>L’utilisabilité de l’interface de jeu a été améliorée, notamment par la présence de sliders pour ajuster la taille des composants d’interface graphique.</li>
<li>Un glisser-déposer plus facile pour l’installation de mods.</li>
<li>Améliorations de l’interface et améliorations de performance de l’éditeur d’Atlas.</li>
<li>Améliorations diverses sur l’IA.</li>
</ol>
<h2 id="toc-interface-utilisateur-gui">Interface utilisateur (GUI)</h2>
<p>Un champ de recherche de nom de joueur est maintenant disponible dans le lobby multijoueur si vous voulez chercher spécifiquement quelqu’un avec qui jouer.</p>
<p>Un bouton supplémentaire pour afficher la page de résumé en quittant une session est accessible. Vous pouvez passer le résumé et le jeu retourne directement au menu d’accueil.</p>
<p>Des infobulles ont été ajoutées au gestionnaire de mod afin de mieux informer sur l’importance de l’ordre dans lequel les mods sont chargés sur les paramètres et aider ainsi à résoudre les conflits entre les mods.</p>
<p>Améliorations des infobulles et leur visibilité sur l’ensemble du jeu.</p>
<p>La taille de l’interface utilisateur (GUI) est maintenant adaptable via un menu déroulant. Il y a également, en cas de modification, l’affichage d’un message de confirmation avec un décompte permettant de revenir à la configuration précédente si celle choisie n’est pas adaptée.</p>
<h2 id="toc-art">Art</h2>
<p>Beaucoup trop de productions et d’améliorations de l’existant dans cette version pour toutes les citer dans le détail, en voici un bref résumé (vous pouvez voir le détail dans <a href="https://trac.wildfiregames.com/wiki/Alpha26#Art">cette liste</a>) :</p>
<ul>
<li>Beaucoup d’amélioration de textures, de meilleurs portraits, des ajustements de couleur et corrections</li>
<li>Beaucoup d’améliorations de modèles 3D également ainsi que de meilleures animations, aussi de nouveau portraits</li>
<li>Restructuration complète et amélioration des Hans avant leur intégration dans cette version</li>
<li>26 <a href="https://trac.wildfiregames.com/browser/ps/trunk/binaries/data/mods/public/audio/music?rev=26573&order=date&desc=1">nouvelles pistes musicales</a> dont 2 thèmes pour la nouvelle civilisation Han.</li>
</ul>
<h2 id="toc-gameplay">Gameplay</h2>
<p>Il y a maintenant une case à cocher dans la configuration du jeu pour permettre aux joueurs d'avoir une recherche automatique de la technologie « Cartographie » dès le début du match cela permettra aux alliés de partager leur vision de la carte découverte si l’option est sélectionnée.</p>
<p>Les formations peuvent désormais être sélectionnées d’un seul clic, ce qui les rend plus proches d’un « bataillon » qu’auparavant. Notez que ce comportement peut être ajusté dans les options. </p>
<p>Il est désormais possible de pousser des éléments vers le début de la file d’attente de tâche. Cela signifie que vous pouvez maintenant charger une unité d’effectuer une tâche immédiatement, puis revenir aux tâches qu’elle avait auparavant, sans répéter les ordres. Cela peut être fait en utilisant les touches de raccourci (même si, par défaut, ce raccourci n’est pas assigné), alors n’oubliez pas de consulter l’éditeur de touches de raccourci.</p>
<p>Il y a maintenant aussi un bouton « Appel aux armes », qui permet aux joueurs d’ordonner en un clic à leurs soldats de déposer des ressources sur le site de dépôt le plus proche, puis de se déplacer vers la destination (et d'attaquer tout ce qui se trouve sur le chemin) avec un seul bouton.<br>
Le nombre de travailleurs inactifs est désormais affiché sur le bouton correspondant en bas à droite de la minicarte.</p>
<p>L’olivier est désormais une source de bois (car il était difficile de voir qu’il s’agissait d’une réserve de nourriture).</p>
<p>Avec cette version, nous introduisons le mod officiel de la communauté pour Alpha 26 pour lequel vous trouverez des informations <a href="https://wildfiregames.com/forum/topic/83784-introducing-the-official-community-mod-for-alpha-26/#comment-504268">ici</a>. Ce mod permettra d’ajouter des changements d’équilibrage entre deux mises à jour, qui pourront ou non porter sur la prochaine version de 0ad.</p>
<h2 id="toc-Équilibrage">Équilibrage</h2>
<p>Avec l’aide des plusieurs des meilleurs joueurs du lobby de la version A25b et de l’équipe dédiée à l'équilibrage, beaucoup d’ajustements ont été effectués cette année. </p>
<p>Ces ajustements concernent principalement des remontées de la communauté, par exemple :</p>
<ul>
<li>Diminuer l’attaque de la cavalerie incendiaire ibère.</li>
<li>Augmenter le coût de la cavalerie mercenaire.</li>
<li>Rendre les vaisseaux moins efficaces contre les humains.</li>
<li>Diminuer l'armure des piquiers.</li>
<li>Retravailler la réforme d'Iphicrate (Athéniens).</li>
<li>Rendre les catapultes plus puissantes.</li>
</ul>
<p>Le résultat final est une expérience de jeu plus fine et plus équilibrée en A26 comparé à celle vécue en A25b.</p>
<p>En plus des changements venant des demandes de la communauté, d’autres équilibrages ont été effectués, les plus gros concernant l’ajout de la civilisation Han mais aussi :</p>
<ul>
<li>Donner aux unités lors du déplacement une légère accélération (variable selon les unités, à la hausse ou à la baisse).</li>
<li>Donner aux fruits et bancs de poissons une petite régénération tant que ces réserves ne sont pas épuisées.</li>
<li>Permettre à l’éléphant de trait maurya de construire (à nouveau).</li>
<li>Standardiser l’expérience gagnée lors des combats avec les animaux.</li>
<li>Augmenter la limite de garnison maximale de l’arsenal.</li>
<li>Donner un bonus aux Macédoniens : temps de recherche instantané pour les technologies de l’entrepôt.</li>
<li>Ajuster le fonctionnement des pyramides kushites pour les rendre plus utilisées par les joueurs.</li>
<li>Retirer les limites de tours et forteresses.</li>
<li>D’autres petits ajustements et correctifs.</li>
</ul>
<h2 id="toc-des-améliorations-sur-le-moteur-du-jeu-pyrogenesis">Des améliorations sur le moteur du jeu Pyrogenesis</h2>
<p>Cette version introduit le choix de qualité de texture et les <a href="https://fr.wikipedia.org/wiki/Filtrage_anisotrope">filtres anisotropes</a> (une méthode d’amélioration des textures vues obliquement) dans le moteur de rendu : vous pouvez maintenant choisir différentes qualités de texture (basse, moyenne, haute) et un filtre anisotrope de 1x à 16x.</p>
<p><img src="https://linuxfr.org/images/historique/images_perdues/sortie-de-0-a-d-alpha-26-zhuangzi-247077978_high.opti.png" alt="Comparaison des rendus des différents filtres"></p>
<p>Le moteur supporte maintenant les polices FreeType bien que malheureusement des langues comme l’hébreu, l'arabe ou des langues asiatiques doivent toujours être gérées séparément.</p>
<p>Et encore :</p>
<ul>
<li>Un paramètre a été ajouté pour le plein écran sans bordure et le mode fenêtré.</li>
<li>Le jeu utilise le GPU en mode haute performance sur Windows par défaut.</li>
<li>Beaucoup d'autres améliorations de performance et de réusinages en cours.</li>
</ul>
<h2 id="toc-changement-dans-léquipe">Changement dans l’équipe</h2>
<p>lyv et marder ont rejoint l’équipe. Silier s’en est retiré. L’équipe profite donc de cette annonce de version pour les remercier pour leurs contributions.</p>
<h2 id="toc-et-ensuite">Et ensuite ?</h2>
<p>La préparation de cette version a duré une année complète et a été une version difficile.</p>
<p>Comme d’habitude pour la prochaine alpha, nous accueillons vos suggestions de noms : commençant par la lettre « A » et relatifs à l’ancien monde sur une période de temps compris en l’an -500 et l’an 1. Faites preuve d’originalité !</p>
<h2 id="toc--contribuez">… Contribuez !</h2>
<p><em>0 A.D.</em> bien que parfaitement jouable est toujours aujourd’hui un jeu en alpha et accueille des contributrices et des contributeurs de tous les horizons pour le faire avancer. Bien qu’annoncé en intro, l’équipe recherche :</p>
<ul>
<li>du développement C++, sur l’amélioration du moteur de jeu Pyrogenesis (écrit en C++) qui progresse vers plus de généricité et notamment sur le pipeline graphique, le moteur lui-même, étant assez décorrélé de 0 A.D., est disponible pour créer des jeux/mods dans un style <em>fast RTS</em> et reste ouvert à des contributions ouvrant la voie à des styles de RTS différents ;</li>
<li>du développement JavaScript, sur les mécaniques de jeu ;</li>
<li>du développement Python, sur divers scripts ;</li>
<li>de la revue de code, le process de qualité en réclame ;</li>
<li>des artistes, particulièrement pour l’animation et l’environnement ;</li>
<li>de la traduction, via <a href="https://www.transifex.com/wildfire-games/0ad/">Transifex</a> ;</li>
<li>du test, en jouant tout simplement ;</li>
<li>des fanas de documentation ;</li>
<li>des adminsys, WildFire Games hébergeant presque tous ses outils sur son serveur ;</li>
<li>toute personne souhaitant animer la communauté ou aider à la modération, particulièrement le lobby multijoueur hébergé par WildFire Games ;</li>
<li>des personnes qui souhaitent en parler, communiquer comme cette présente dépêche, présenter le jeu, faire et diffuser des vidéos, etc.</li>
</ul>
<p>Vous pouvez également <a href="https://play0ad.com/community/donate/">effectuer des dons</a> ou simplement parler de 0 A.D. autour de vous.</p>
<p>Venez discuter sur <a href="http://www.wildfiregames.com/forum/">le forum</a> ou le <a href="http://webchat.quakenet.org/?channels=0ad">canal IRC</a> (<em>#0ad</em> sur <em>QuakeNet</em>) du projet. Il y a même un <a href="https://matrix.to/#/#0ad-unofficial:matrix.org">salon Matrix</a>!</p>
<p>Vous pouvez aussi nous contacter par courriel : <em>webmaster</em> at <em>wildfiregames</em> point <em>com</em>.</p>
<p>Nous sommes aussi sur les réseaux sociaux suivants :</p>
<ul>
<li><a href="http://play0ad.bandcamp.com/">BandCamp</a></li>
<li><a href="http://facebook.com/play0ad">Facebook</a></li>
<li><a href="https://www.instagram.com/play0ad.official/">Instagram</a></li>
<li><a href="https://mastodon.social/@play0ad">Mastodon</a></li>
<li><a href="https://matrix.to/#/#0ad-unofficial:matrix.org">Matrix</a></li>
<li><a href="https://www.moddb.com/games/0-ad">ModDB</a></li>
<li><a href="https://0ad.mod.io/">Mod.io</a></li>
<li><a href="https://play0ad.itch.io/0ad">itch.io</a></li>
<li><a href="https://www.indiedb.com/games/0-ad">IndieDB</a></li>
<li><a href="https://www.reddit.com/r/0ad/">Reddit</a></li>
<li><a href="https://twitter.com/play0ad">Twitter</a></li>
<li><a href="https://www.youtube.com/play0ad">YouTube</a></li>
<li><a href="https://www.linkedin.com/company/wildfire-games">Linkedin</a></li>
</ul>
<h2 id="toc-prochaines-présences-dans-des-événements">Prochaines présences dans des événements</h2>
<ul>
<li>
<a href="https://www.sido-osxp.com/fr">Open Source Experience</a>, Paris, les 8 et 9 novembre 2022</li>
<li>
<a href="https://capitoledulibre.org/">Capitole du Libre</a>, Toulouse, les 19 et 20 novembre 2022</li>
</ul>
</div><div><a href="https://linuxfr.org/news/sortie-de-0-a-d-alpha-26-zhuangzi.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/127928/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/sortie-de-0-a-d-alpha-26-zhuangzi#comments">ouvrir dans le navigateur</a>
</p>
Alcyone
Benoît Sibaud
GG
Yves Bourguignon
play0ad
BAud
Ysabeau 🧶 🧦
https://linuxfr.org/nodes/127928/comments.atom
tag:linuxfr.org,2005:News/41100
2022-08-12T18:51:27+02:00
2022-08-18T10:47:44+02:00
Unvanquished 0.53 Beta est là : un petit pas pour les bots, un bond en avant pour Unvanquished !
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>Unvanquished est l’un des rares jeux qui combinent à la fois le mode FPS (<em>First Person Shooter</em> : <a href="https://fr.wikipedia.org/wiki/Jeu_de_tir_%C3%A0_la_premi%C3%A8re_personne">Tir à la première personne en vue subjective</a>) et le mode RTS (<em>Real-Time Strategy</em> : <a href="https://fr.wikipedia.org/wiki/Jeu_de_strat%C3%A9gie_en_temps_r%C3%A9el">Stratégie en temps réel</a>) en équipe.</p>
<p>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.</p>
<p>Malgré la différence importante de <em>gameplay</em> 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.</p>
<p>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.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323031352f30312f73706c6173682e706e67/splash.png" alt="Unvanquished 0.53 - Splash screen" title="Source : https://unvanquished.net/wp-content/uploads/2015/01/splash.png"></p>
</div><ul><li>lien nᵒ 1 : <a title="https://unvanquished.net/download/" hreflang="en" href="https://linuxfr.org/redirect/110863">Télécharger Unvanquished</a></li><li>lien nᵒ 2 : <a title="https://wiki.unvanquished.net/wiki/Get_started_easy" hreflang="en" href="https://linuxfr.org/redirect/110864">Les instructions pour tester le jeu sans attendre (Wiki Unvanquished)</a></li><li>lien nᵒ 3 : <a title="https://wiki.unvanquished.net/wiki/Gameplay" hreflang="en" href="https://linuxfr.org/redirect/110865">Des recommandations sur le fonctionnement du jeu (Wiki Unvanquished)</a></li><li>lien nᵒ 4 : <a title="https://unvanquished.net/unvanquished-0-53-beta-what-a-milestone/" hreflang="en" href="https://linuxfr.org/redirect/110867">Unvanquished 0.53 Beta, what a milestone! (Blog Unvanquished)</a></li><li>lien nᵒ 5 : <a title="https://unvanquished.net/unvanquished-0-53-1-and-launcher-0-2-0-quick-fix-and-dark-magic/" hreflang="en" href="https://linuxfr.org/redirect/110869">Unvanquished 0.53.1 and launcher 0.2.0, quick fix and dark magic! (Blog Unvanquished)</a></li><li>lien nᵒ 6 : <a title="https://linuxfr.org/news/unvanquished-0-52-beta-est-la" hreflang="fr" href="https://linuxfr.org/redirect/110898">Version précédente : Unvanquished 0.52 Beta est là (LinuxFr.org)</a></li><li>lien nᵒ 7 : <a title="https://linuxfr.org/news/unvanquished-zone-51" hreflang="fr" href="https://linuxfr.org/redirect/110899">Version précédente : Unvanquished Zone 51 (LinuxFr.org)</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#toc-deux-factions--les-aliens-et-les-humains">Deux factions : les Aliens et les Humains</a></li>
<li><a href="#toc-la-documentation">La documentation !</a></li>
<li><a href="#toc-installation-et-lancement">Installation et lancement</a></li>
<li>
<a href="#toc-les-nouvelles-dunvanquished-053">Les nouvelles d’Unvanquished 0.53</a><ul>
<li><a href="#toc-les-gros-changements-bien-visibles">Les gros changements bien visibles</a></li>
<li><a href="#toc-les-gros-bugs-qui-tachent">Les gros bugs qui tachent</a></li>
<li><a href="#toc-les-changements-des-interactions-et-de-lenvironnement-du-jeu">Les changements des interactions et de l’environnement du jeu</a></li>
<li><a href="#toc-am%C3%A9liorations-de-linterface-et-des-m%C3%A9caniques-du-jeu">Améliorations de l’interface et des mécaniques du jeu</a></li>
<li><a href="#toc-les-bots">les <em>Bots</em></a></li>
</ul>
</li>
<li>
<a href="#toc-pour-les-administrateurs-de-serveurs">Pour les administrateurs de serveurs</a><ul>
<li><a href="#toc-intelligence-artificielle">Intelligence artificielle</a></li>
</ul>
</li>
<li><a href="#toc-pour-les-modeurs-et-les-contributeurs">Pour les modeurs et les contributeurs</a></li>
<li><a href="#toc-capacit%C3%A9s-de-benchmark">Capacités de benchmark</a></li>
<li><a href="#toc-mise-%C3%A0-jour-0531-et-nouveau-lanceur">Mise à jour 0.53.1 et nouveau lanceur</a></li>
<li><a href="#toc-conclusion">Conclusion</a></li>
</ul>
<h2 id="toc-deux-factions--les-aliens-et-les-humains">Deux factions : les Aliens et les Humains</h2>
<p>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.<br>
Le port d’une armure est particulièrement recommandé, dès que possible. L’une de ces armures, la <em><a href="https://wiki.unvanquished.net/wiki/Battlesuit">battlesuit</a></em>, est l’armure la plus résistante, mais ne permet pas le port d’équipements dorsaux (le <em><a href="https://wiki.unvanquished.net/wiki/Jetpack">jetpack</a></em> 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’<a href="https://wiki.unvanquished.net/wiki/Medium_Armour">armure moyenne</a> permet de conserver une grande mobilité et d’avoir ces équipements additionnels.<br>
Les humains peuvent construire des bâtiments robustes, mais peu variés, dont ils peuvent accélérer l’auto-réparation avec le <em><a href="https://wiki.unvanquished.net/wiki/Construction_Kit">Kit de construction</a></em>.</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/08/Unvanquished_2021-11-07_Battle_Suit_Firing_ChainGun.crop_.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30382f556e76616e717569736865645f323032312d31312d30375f426174746c655f537569745f466972696e675f436861696e47756e2e63726f705f2d373638783631382e6a7067/Unvanquished_2021-11-07_Battle_Suit_Firing_ChainGun.crop_-768x618.jpg" alt="Un humain en battlesuit avec le chaingun" title="Source : https://unvanquished.net/wp-content/uploads/2022/08/Unvanquished_2021-11-07_Battle_Suit_Firing_ChainGun.crop_-768x618.jpg"></a><br>
<em>Un humain en tenue de combat avec le chaingun</em></p>
<p>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 <em>Dragoons</em> et les <em>Grangers</em> peuvent cracher, le <em>Marauder</em> peut émettre de puissants arcs électriques).<br>
Afin de trouver et atteindre leur cible, les aliens disposent tous du <em>sens alien</em> 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 <em>Dretch</em>, le <em><a href="https://wiki.unvanquished.net/wiki/Mantis">Mantis</a></em>, ainsi que les <em>Grangers</em> peuvent marcher sur les murs, le <em>Mantis</em> ainsi que les <em>Dragoons</em> (rien à voir avec les dragons européens ou chinois!) peuvent se propulser dans les airs, les <em><a href="https://wiki.unvanquished.net/wiki/Marauder">Marauders</a></em> peuvent rebondir sur les murs, et les <em>Tyrants</em> ont la faculté de charger.<br>
Leurs formes, tailles et bâtiments sont aussi variés que leurs capacités de déplacement.</p>
<p>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é (<em>Advanced Dragoon</em>).</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/08/Unvanquished_2021-08-Goon_front_on_ground.crop_.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30382f556e76616e717569736865645f323032312d30382d476f6f6e5f66726f6e745f6f6e5f67726f756e642e63726f705f2e6a7067/Unvanquished_2021-08-Goon_front_on_ground.crop_.jpg" alt="Un dragoon prêt à bondir" title="Source : https://unvanquished.net/wp-content/uploads/2022/08/Unvanquished_2021-08-Goon_front_on_ground.crop_.jpg"></a><br><br>
<em>Un dragoon prêt à bondir</em></p>
<p>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 <a href="https://wiki.unvanquished.net/wiki/Rocket_Pod">lance-roquettes</a> (<em>Rocket Pod</em>), alors que la faction des Aliens ne peut compter que sur le nid de frelons (<em>Hives</em>) 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 <a href="https://wiki.unvanquished.net/wiki/Aliens#Example">ne devraient pas être construites au sol ou trop serrées</a>.</p>
<p>Un joueur débutant sera plus à l’aise avec la faction humaine. Avec le <em>SMG</em> (arme de base) puis équipé d’une <a href="https://wiki.unvanquished.net/wiki/Humans#Armour">armure</a> 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 <em>Medikit</em>, gratuit, qui leur permet de récupérer lentement de la santé et de lutter contre le poison inoculé par les Aliens. Le <em>Medikit</em> se récupère à la <a href="https://wiki.unvanquished.net/wiki/Medistation">Station de Soin</a> (<em>Medistation</em>).</p>
<p>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 <em><a href="https://wiki.unvanquished.net/wiki/Drill">Drill</a>/<a href="https://wiki.unvanquished.net/wiki/Leech">Leech</a></em> ! 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.</p>
<h2 id="toc-la-documentation">La documentation !</h2>
<p>Le Wiki fournit des astuces avec des captures d’écrans : <a href="https://wiki.unvanquished.net/wiki/Gameplay">wiki.unvanquished.net/wiki/Gameplay</a><br>
Et pour ceux qui veulent essayer rapidement : <a href="https://wiki.unvanquished.net/wiki/Get_started_easy">wiki.unvanquished.net/wiki/Get_started_easy</a></p>
<p>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 <em>mmorpg : Player versus Enemy</em>) apportent plus de diversité à la monotonie des cartes.</p>
<p>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.</p>
<h2 id="toc-installation-et-lancement">Installation et lancement</h2>
<p>La méthode recommandée pour installer Unvanquished est notre <a href="https://unvanquished.net/download/"><em>lanceur</em></a> (parfois nommé <em>updater</em>), 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 <em>launcher</em> s’assure aussi que le système d’exploitation autorise l’exécution du jeu.</p>
<h2 id="toc-les-nouvelles-dunvanquished-053">Les nouvelles d’Unvanquished 0.53</h2>
<p>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évrier 2022 !</p>
<p>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 <a href="https://unvanquished.net/chat">Chat</a>.</p>
<p>Deux nouveaux développeurs nous ont rejoint officiellement ; ils contribuaient déjà et font désormais partie de l’équipe : <em>afontain</em> et <em>bmorel</em>.</p>
<p>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.<br>
En chiffres, cela donnait environ, en juillet 2022 :</p>
<ul>
<li>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.</li>
<li>291 commits dans le moteur, 179 fichiers modifiés, ~4 KLoC ajoutées et ~6,2 KLoC supprimées, pour environ 156 KLoC.</li>
</ul>
<h3 id="toc-les-gros-changements-bien-visibles">Les gros changements bien visibles</h3>
<p>La carte <a href="https://wiki.unvanquished.net/wiki/Maps/Parpax">Parpax</a> a été profondément remaniée par Viech, l’expérience de jeu est désormais très différente !</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f77696b692e756e76616e717569736865642e6e65742f696d616765732f7468756d622f632f63382f556e76616e717569736865645f323032322d6d61705f56696563685f5061727061782e312e6a70672f3130303070782d556e76616e717569736865645f323032322d6d61705f56696563685f5061727061782e312e6a7067/1000px-Unvanquished_2022-map_Viech_Parpax.1.jpg" alt="La carte Parpax mise à jour" title="Source : https://wiki.unvanquished.net/images/thumb/c/c8/Unvanquished_2022-map_Viech_Parpax.1.jpg/1000px-Unvanquished_2022-map_Viech_Parpax.1.jpg"><br>
<em>La carte Parpax mise à jour</em></p>
<p>Un <a href="https://unvanquished.net/servers/">serveur</a> nommé « <em>Nightly Experimental Server</em> » a été mis en place par <em>afontain</em>, il reconstruit automatiquement les branches <a href="https://github.com/Unvanquished/Unvanquished/tree/master">master</a> 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 <em>master</em> conserve sa compatibilité avec la dernière version du moteur publiée).<br>
Les données (cartes, etc.) sont reconstruites en utilisant <a href="https://github.com/DaemonEngine/Urcheon/">Urcheon</a>.</p>
<h3 id="toc-les-gros-bugs-qui-tachent">Les gros bugs qui tachent</h3>
<p>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 <a href="https://wiki.unvanquished.net/wiki/Egg">œuf</a> ou un <em><a href="https://wiki.unvanquished.net/wiki/Telenode">telenode</a></em>. 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 !</p>
<p>Les <a href="https://unvanquished.net/servers/">serveurs</a> 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.</p>
<p>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 <a href="https://unvanquished.net/servers/">liste de serveurs en ligne</a> 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é !</p>
<p>Le son du <em>jetpack</em> n’est plus audible à travers toute la carte (c’était un bug), pareil pour le son du bouton de l’ascenseur de la carte <a href="https://wiki.unvanquished.net/wiki/Maps/Spacetracks">Spacetracks</a> ! Pour la petite histoire, les sons positionnels doivent être mono…</p>
<h3 id="toc-les-changements-des-interactions-et-de-lenvironnement-du-jeu">Les changements des interactions et de l’environnement du jeu</h3>
<p>Le mécanisme du <a href="https://wiki.unvanquished.net/wiki/Flame_Thrower">lance-flammes</a> 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.</p>
<p>Avant, on pouvait facilement créer un tapis de flammes:<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f77696b692e756e76616e717569736865642e6e65742f696d616765732f362f36362f323032312d31312d48756d616e42535f466c616d655468726f7765722e6a7067/2021-11-HumanBS_FlameThrower.jpg" alt="Flammes au sol" title="Source : https://wiki.unvanquished.net/images/6/66/2021-11-HumanBS_FlameThrower.jpg"></p>
<p>Les <em>blobs</em> aliens (<em><a href="https://wiki.unvanquished.net/wiki/Granger">granger</a></em>, <em><a href="https://wiki.unvanquished.net/wiki/Dragoon">dragoon</a></em>, <em><a href="https://wiki.unvanquished.net/wiki/Trapper">trapper</a></em>) font désormais une taille de 5 au lieu de 0, ce qui rend leur usage moins élitiste. Les <em>blobs</em> sont des sortes de crachats que jettent certaines créatures ou constructions pour blesser, immobiliser, ralentir, éteindre des feux…</p>
<p><a href="https://wiki.unvanquished.net/wiki/Trapper">Trappeurs (1)</a>, <a href="https://wiki.unvanquished.net/wiki/Spiker">Épines projetées (2)</a> et <a href="https://wiki.unvanquished.net/wiki/Acid_Tube">Tubes d’acides (3)</a> en action:<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f77696b692e756e76616e717569736865642e6e65742f696d616765732f7468756d622f622f62382f556e76616e717569736865645f323032312d31312d48756d616e5f756e6465725f747261705f5370696b65735f616369645f747562652e706e672f36353070782d556e76616e717569736865645f323032312d31312d48756d616e5f756e6465725f747261705f5370696b65735f616369645f747562652e706e67/650px-Unvanquished_2021-11-Human_under_trap_Spikes_acid_tube.png" alt="Trappeurs et Tubes d’acide en action" title="Source : 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"></p>
<p>Le rayon d’extinction de feu du crachat du <em><a href="https://wiki.unvanquished.net/wiki/Granger">granger avancé</a></em> a été augmentée de 20 à 64 (environ 3 m dans le jeu).</p>
<p>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.</p>
<p>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 !</p>
<p>Le <em><a href="https://wiki.unvanquished.net/wiki/Lucifer_Cannon">canon lucifer</a></em> vibre quand il charge ! En fait c’était déjà implémenté mais ça ne marchait pas ! Merci à <em>bmorel</em> d’avoir corrigé ça, parmi plein d’autres bugs.</p>
<p>Le <em><a href="https://wiki.unvanquished.net/wiki/Drill">drill</a></em> 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 <em>répétiteur</em> 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.</p>
<p>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 bots, 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).</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/08/Unvanquished_2021-11-Light_armor_with_lasgun-768x469.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30382f556e76616e717569736865645f323032312d31312d4c696768745f61726d6f725f776974685f6c617367756e2d373638783436392e6a7067/Unvanquished_2021-11-Light_armor_with_lasgun-768x469.jpg" alt="Un humain avec un pistolet laser près d'un Drill" title="Source : https://unvanquished.net/wp-content/uploads/2022/08/Unvanquished_2021-11-Light_armor_with_lasgun-768x469.jpg"></a><br><br>
<em>Un humain avec un pistolet laser près d’un Drill</em></p>
<h3 id="toc-améliorations-de-linterface-et-des-mécaniques-du-jeu">Améliorations de l’interface et des mécaniques du jeu</h3>
<p>Les icônes de l’inventaire ont été agrandies.</p>
<p>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.</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/20220731-214239-000.unvanquished-running-indicator.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f32303232303733312d3231343233392d3030302e756e76616e717569736865642d72756e6e696e672d696e64696361746f722d373638783438302e6a7067/20220731-214239-000.unvanquished-running-indicator-768x480.jpg" alt="L’indicateur de mode de course" title="Source : https://unvanquished.net/wp-content/uploads/2022/07/20220731-214239-000.unvanquished-running-indicator-768x480.jpg"></a><br><br>
<em>L’indicateur de mode de course</em></p>
<p>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.</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/unvanquished_2022-07-31_232422_000.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f756e76616e717569736865645f323032322d30372d33315f3233323432325f3030302d373638783433322e6a7067/unvanquished_2022-07-31_232422_000-768x432.jpg" alt="L’indication de la réserve d’oxygène" title="Source : https://unvanquished.net/wp-content/uploads/2022/07/unvanquished_2022-07-31_232422_000-768x432.jpg"></a><br><br>
<em>L’indication de la réserve d’oxygène</em></p>
<p>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.</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/20220731-233301-001.unvanquished-loading-messages.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f32303232303733312d3233333330312d3030312e756e76616e717569736865642d6c6f6164696e672d6d657373616765732d373638783137302e6a7067/20220731-233301-001.unvanquished-loading-messages-768x170.jpg" alt="Messages de chargement des cartes" title="Source : https://unvanquished.net/wp-content/uploads/2022/07/20220731-233301-001.unvanquished-loading-messages-768x170.jpg"></a><br><br>
<em>Messages de chargement des cartes</em></p>
<p>Il est toujours possible de voter quand on est seul dans un jeu.</p>
<p>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.</p>
<p>La description du <em>battlesuit</em> est désormais correcte et mentionne sa capacité à s’accroupir, celle du <em><a href="https://wiki.unvanquished.net/wiki/Chaingun">chaingun</a></em> aussi et mentionne que le recul est plus faible quand on porte une <em>battlesuit</em>. La description et le tutoriel du <em>granger avancé</em> ont également été complétées pour mentionner la capacité d’immobiliser un ennemi et éteindre des feux.</p>
<p>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 <a href="https://wiki.unvanquished.net/wiki/Reactor">Réacteur</a> ou <a href="https://wiki.unvanquished.net/wiki/Overmind">l’Overmind</a> sont encore en cours de déploiement.</p>
<p>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.</p>
<p>La musique sur l’écran d’accueil peut à nouveau être coupée en modifiant la variable 'audio.volume.music'.</p>
<p>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 <em>frames</em> 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.</p>
<p>Le code d’initialisation <em>OpenGL</em> 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 à <em>papap</em> pour les tests !). La compilation des <em>shaders</em> 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 <em>shaders</em> que l’utilisateur compte désactiver de toute façon.</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/20220731-182933-000.unvanquished-missing-opengl.png"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f32303232303733312d3138323933332d3030302e756e76616e717569736865642d6d697373696e672d6f70656e676c2e706e67/20220731-182933-000.unvanquished-missing-opengl.png" alt="Message d’erreur pour l’absence de OpenGL" title="Source : https://unvanquished.net/wp-content/uploads/2022/07/20220731-182933-000.unvanquished-missing-opengl.png"></a><br><br>
<em>Message d’erreur pour l’absence d’OpenGL</em></p>
<p>Le <a href="https://github.com/DaemonEngine/Daemon/issues/471">bug de rendu</a> 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 (<em>dynamic lighting</em>), puis les réactiver à nouveau.</p>
<p>Toutes les variables <em>cvars</em> de la logique de jeu (préfixes <code>cg_</code> et <code>g_</code>) ont maintenant une description et une information sur le type.</p>
<h3 id="toc-les-bots">les <em>Bots</em>
</h3>
<p>Un énorme travail sur les bots a été fait par <em>bmorel</em> !</p>
<p>Les bots humains peuvent désormais utiliser des grenades, peuvent patrouiller autour des <em><a href="https://wiki.unvanquished.net/wiki/Medistation">médistations</a></em> en attendant qu’elles se libèrent au lieu de faire la queue, peuvent acheter un <em>pulse rifle</em> au lieu d’un <em>canon lucifer</em> 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…<br>
Ils vont aussi essayer de s’équiper (gilet pare-balles ou <em>battlesuit</em>, 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 !).</p>
<p>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.</p>
<p>Le code d’achat des bots a été réécrit, les bots humains peuvent acheter n’importe quelle combinaison d’équipements autorisés.</p>
<p>Les bots essaient de fuir plus rapidement, en courant pour les humains, en sautant (<em>jump</em>), bondissant (<em>pounce</em>) ou chargeant pour les aliens. Le déclenchement de leur fuite est moins prévisible, dépend à la fois de leur compétence (<em>skill</em>) 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 (<em>rush</em>) 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.</p>
<p>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.</p>
<p>Sur la carte <a href="https://wiki.unvanquished.net/wiki/Maps/Chasm">Chasm</a> 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 <em>hack</em> 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 leurs propres 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.</p>
<h2 id="toc-pour-les-administrateurs-de-serveurs">Pour les administrateurs de serveurs</h2>
<p>L’option pour paramétrer le « tir ami » (<em>friendly fire</em>) est désormais configurée par 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 <code>g_friendlyFireAlienMultiplier</code> et <code>g_friendlyFireHumanMultiplier</code>.</p>
<p>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 <code>pause</code>, <code>buildlog</code>, <code>revert</code>, et <code>bot</code>. Les niveaux 2 et 3 (« junior admins » and « team managers ») peuvent désormais utiliser la commande <code>bot</code>. Pour que ce changement prenne effet sur un serveur préexistant, il faut malheureusement sauvegarder le fichier <code><homepath>/game/admin.dat</code>, le supprimer, démarrer et éteindre le serveur, et insérer à nouveau vos administrateurs serveurs dans le fichier.</p>
<p>Le fichier <code>autogen_server.cfg</code> n’est plus exécuté au démarrage du serveur.</p>
<p>Les fichiers démo ont été renommés pour permettre un triage des fichiers par date et heure.</p>
<p>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.</p>
<p>Changements de cvar:</p>
<ul>
<li>Les cvars <code>logs.logLevel.*</code> ont été renommées en <code>logs.level.*</code> ;</li>
<li>
<code>g_autoPause</code> 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 :</li>
<li>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 <code>g_botKickVotesAllowed</code> et <code>g_botKickVotesAllowedThisMap</code> ont été remplacées par <code>g_disabledVoteCalls</code>.</li>
<li>23 cvars inutilisées ont été retirées du code du jeu.</li>
<li>Les délais de suicide (commande <code>/kill</code>) peuvent désormais être ajustées avec la cvar <code>g_killDelay</code>.</li>
<li>
<code>g_teamForceBalance</code> 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.</li>
</ul>
<p>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 <code>/listCvars</code> pour y trouver de l’inspiration.</p>
<h3 id="toc-intelligence-artificielle">Intelligence artificielle</h3>
<p>Les options pour contrôler les comportements des bots qui n’avaient pas été implémentées (<em>toggle rush</em>, <em>toggle heal</em>, <em>group size</em>, <em>toggle build</em>…) 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.</p>
<p>Il est aussi possible d’ajuster le nombre (en pourcentage) de radars que les bots veulent avoir dans leur équipe.</p>
<p>Il est possible de changer l’habileté (<em>skill</em>) 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.</p>
<p>Il n’est plus possible pour les bots d’avoir une habileté de niveau 10, puisque cela cassait beaucoup leur visée.</p>
<p>Il n’est plus nécessaire de créer un fichier <code>.dpk</code> pour fournir des « <em>behavior tree</em> » ou des « _navmesh » personnalisées. Ces fichiers peuvent être personnalisés en plaçant une version modifiée dans le sous-dossier <code>game/</code> du dossier utilisateur (<code>homepath</code>).</p>
<h2 id="toc-pour-les-modeurs-et-les-contributeurs">Pour les modeurs et les contributeurs</h2>
<p>libRocket, la bibliothèque d’interface graphique utilisée pour implémenter pratiquement toute l’interface graphique utilisateur (GUI) et le <a href="https://fr.wikipedia.org/wiki/Affichage_t%C3%AAte_haute_(jeu_vid%C3%A9o)">HUD</a> é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.</p>
<p>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 »).</p>
<p>De nombreux fichiers liés au gameplay ont été déplacés de divers dépôts vers <code>unvanquished_src.dpkdir</code> pour en faciliter la maintenance.</p>
<p>Suppression de <code>nobuildsurface</code>, <code>noalienbuildsurface</code> et <code>nohumanbuildsurface</code> rendus obsolètes par le <em>contentparm</em> <code>nobuild</code> (les surfaces héritent de la propriété du contenu).</p>
<p>Outils de débogage : <code>cg_drawBBOX</code> affiche la zone d’effet des flammes au sol (en plus des boîtes englobantes du joueur et de la construction). <code>cg_drawDebugDistance</code> affiche une sphère autour du joueur de la taille sélectionnée pour se faire une idée des distances.</p>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/unvanquished_2022-07-31_213000_000.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f756e76616e717569736865645f323032322d30372d33315f3231333030305f3030302d373638783433322e6a7067/unvanquished_2022-07-31_213000_000-768x432.jpg" alt="Affichage de la sphère de distance avec l’outil de debug" title="Source : https://unvanquished.net/wp-content/uploads/2022/07/unvanquished_2022-07-31_213000_000-768x432.jpg"></a><br><br>
<em>Affichage de la sphère de distance avec l’outil de debug</em></p>
<p><a href="https://unvanquished.net/wp-content/uploads/2022/07/unvanquished_2022-07-31_213601_000.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f756e76616e717569736865642e6e65742f77702d636f6e74656e742f75706c6f6164732f323032322f30372f756e76616e717569736865645f323032322d30372d33315f3231333630315f3030302d373638783433322e6a7067/unvanquished_2022-07-31_213601_000-768x432.jpg" alt="Zone d’effet des flammes au sol avec l’outil de debug" title="Source : https://unvanquished.net/wp-content/uploads/2022/07/unvanquished_2022-07-31_213601_000-768x432.jpg"></a><br><br>
<em>Zone d’effet des flammes au sol avec l’outil de debug</em></p>
<p>Les fichiers <code>.arena</code> ne sont désormais plus utilisés pendant l’affichage de la liste des cartes pour éviter des ralentissements.</p>
<p>La commande <code>/give</code> permet maintenant de donner de la vitesse à une équipe spécifique.</p>
<p>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 <a href="https://wiki.unvanquished.net/wiki/Behavior_Trees">dans le wiki</a>.</p>
<p>La commande <code>/testmodel</code> permet de tester des modèles avec squelette.</p>
<p>La nouvelle cvar <code>cg_lazyLoadModels</code> peut être utilisée pour accélérer le chargement de gamelogic pendant <code>/devmap</code>.</p>
<p>Pour améliorer la compatibilité avec les cartes Tremulous, le flag <code>solid</code> sur <code>env_afx_gravity</code> / <code>trigger_gravity</code> 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, <code>trigger_class</code> et <code>trigger_equipement</code> devraient maintenant fonctionner comme ils le faisaient dans Tremulous.</p>
<p>Les paquets de carte doivent avoir un nom commençant par <code>map-<nom_de_carte></code> et contenir un fichier <code>maps/<nom de carte>.bsp</code>.</p>
<p>Les paquets peuvent utiliser des fichiers <code>DELETED</code> (comme <code>DEPS</code>) 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.</p>
<p>C++14 est désormais autorisé dans Daemon et la base de code est plus compatible avec la détection de failles addressSanitizer.</p>
<p>La compilation est plus facile à configurer grâce à des valeurs par défaut plus saines et à des descriptions d’options améliorées.</p>
<h2 id="toc-capacités-de-benchmark">Capacités de benchmark</h2>
<p>Pour les <em>benchmarkers</em> 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 <a href="https://dl.unvanquished.net/benchmark/demos/">ici</a>. Décompressez le fichier <code>.dm_86</code>, enregistrez-le dans le dossier <code><homepath>/demos/</code> et exécutez cette commande :</p>
<pre><code>daemon -set demo.timedemo on -set common.shutdownOnDrop on +demo_play unvanquished-benchmark_0.53.0
</code></pre>
<p>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 <code><homepath>/daemon.log</code> :</p>
<pre><code>6199 frames, 12.9s: 479.6 fps
Demo completed
</code></pre>
<p>Le fichier démo fourni est spécifique à une version du jeu donc vous voudrez probablement télécharger <a href="https://dl.unvanquished.net/benchmark/demos/">le nouveau fichier démo</a> 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.</p>
<h2 id="toc-mise-à-jour-0531-et-nouveau-lanceur">Mise à jour 0.53.1 et nouveau lanceur</h2>
<p>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 <em>breakpad</em> devant générer des « <em>crashdump</em> » 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 <em>crashdump</em> 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 « <em>Garbage collector</em> » 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).</p>
<p>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…</p>
<p>Plus de détails se trouvent <a href="https://unvanquished.net/unvanquished-0-53-1-and-launcher-0-2-0-quick-fix-and-dark-magic/">dans un billet de blog dédié</a> (en anglais).</p>
<h2 id="toc-conclusion">Conclusion</h2>
<p>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.</p>
<p>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.</p>
<p>Nous espérons que vous apprécierez cette version autant que nous.</p>
<p>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 !</p>
</div><div><a href="https://linuxfr.org/news/unvanquished-0-53-beta-est-la-un-petit-pas-pour-les-bots-un-bond-en-avant-pour-unvanquished.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/128183/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/unvanquished-0-53-beta-est-la-un-petit-pas-pour-les-bots-un-bond-en-avant-pour-unvanquished#comments">ouvrir dans le navigateur</a>
</p>
GG
Thomas Debesse
bobble bubble
BAud
theojouedubanjo
Ysabeau 🧶 🧦
Benoît Sibaud
tisaac
Arkem
NeoX
https://linuxfr.org/nodes/128183/comments.atom
tag:linuxfr.org,2005:News/40963
2022-04-08T08:29:27+02:00
2022-04-08T08:29:27+02:00
Nouvelles de l'espace paisible
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>On va faire un peu d'humour noir, vous voulez bien ? noir comme l'espace silencieux et infini, loin des bruits de la guerre, féroce compagne des humains depuis si longtemps. La Station Spatiale Internationale est en mauvaise posture parait-il. Faut y aller avant qu'elle tombe. Voici deux jeux de tourisme spatial, l'un pour la rejoindre, l'autre pour y vivre.</p>
<p><a href="http://orbit.medphys.ucl.ac.uk/">Orbiter</a> est une simulation parfaitement réaliste de vol spatial, qui respecte les lois de la physique. Orbiter permet aussi de refaire des vols historiques, avec les capsules d'époque, cockpits rustiques et technos balbutiantes inclus. En temps raccourci, pour ne pas s'ennuyer. <a href="https://appdb.winehq.org/objectManager.php?sClass=application&iId=2269">Orbiter tournant parfaitement avec Wine</a>, vous auriez tort de vous priver.<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f642f64652f47656d696e695f375f696e5f6f726269745f2d5f47504e2d323030362d3030303033352e6a70672f34383370782d47656d696e695f375f696e5f6f726269745f2d5f47504e2d323030362d3030303033352e6a7067/483px-Gemini_7_in_orbit_-_GPN-2006-000035.jpg" alt="véritable photo de la Capsule Gemini en orbite" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Gemini_7_in_orbit_-_GPN-2006-000035.jpg/483px-Gemini_7_in_orbit_-_GPN-2006-000035.jpg"></p>
<p>Intéressé ? les détails du vol et la seconde partie de la mission te seront donnés plus loin. Va, ô lecteur courageux !</p>
</div><ul><li>lien nᵒ 1 : <a title="http://orbit.medphys.ucl.ac.uk/" hreflang="en" href="https://linuxfr.org/redirect/110238">Orbiter</a></li><li>lien nᵒ 2 : <a title="https://github.com/orbitersim/orbiter" hreflang="en" href="https://linuxfr.org/redirect/110239">Code source d'Orbiter</a></li><li>lien nᵒ 3 : <a title="http://orbiter.dansteph.com/forum/index.php" hreflang="fr" href="https://linuxfr.org/redirect/110240">Le fameux forum français</a></li><li>lien nᵒ 4 : <a title="https://spacestation14.io/" hreflang="en" href="https://linuxfr.org/redirect/110241">Space Station 14</a></li><li>lien nᵒ 5 : <a title="https://github.com/space-wizards/space-station-14" hreflang="en" href="https://linuxfr.org/redirect/110242">Code source de SS14</a></li><li>lien nᵒ 6 : <a title="https://github.com/space-wizards/RobustToolbox" hreflang="en" href="https://linuxfr.org/redirect/110243">Code source du moteur</a></li></ul><div><h2 id="toc-orbiter">Orbiter</h2>
<p>Nous voilà donc en route pour la mise en orbite. Depuis la pomme de Newton on sait faire. Le bagage théorique n'est pas si terrible, et de toute façon il y a des tutoriels très bien faits. La route est longue mais la voie est libre, comme disait l'autre. Libre, oui, puisque en juillet 2021, tous les éléments d'Orbiter ont été libérés. Tous ? tous : le code, les graphismes, les sons, … Martin Schweiger a tout placé sous license MIT. Et l'unique auteur d'Orbiter confie désormais son bijou à la communauté. En l'état, il s'agit peu ou prou de la version parue en 2016. Pour l'instant, le développement avance peu (<a href="https://github.com/orbitersim/orbiter/tree/d3d9client">sauf sur le client D3D9</a>) alors si certains aficionados du C++ se sentent spationautes c'est la simulation à rallier pour faire de grandes courbes en S dans le ciel.<br>
Beaucoup d'addons existent pour Orbiter. Ça va des reconstitutions historiques avec scénario en haute fidélité, comme <a href="https://www.acsoft.ch/AMSO/2016/2016.html">l'aventure lunaire des missions Apollo</a>, en passant par tous les engins volant historiques ou vus au cinéma. Il y a même <a href="https://www.alteaaerospace.com/">une compagnie aérospatiale</a> qui a mis au point trois navettes réutilisable, capables de voler jusqu'à la Lune. Vous avez bien lu, Elon Musk est un copieur. </p>
<p>Je ne veux pas trop m'étendre. Coup de chance francophone, la communauté de langue française est une des plus actives, et son site est un merveilleux point de départ.</p>
<h2 id="toc-space-station-14">Space Station 14</h2>
<p><a href="https://spacestation14.io/">Space Station 14</a> est un jeu d'occupation : vous incarnez l'équipage d'une station spatiale et tout va mal. Fort heureusement vous n'êtes pas seul, puisque SS14 est multijoueur. SS14 est une reprise communautaire du bien connu Space Station 13, libre aussi mais qui tourne avec BYOND, un vieux moteur propriétaire qui… bon, j'emprunte ce refrain aux <a href="https://fr.wikipedia.org/wiki/Dingodossiers" title="Définition Wikipédia">Dingodossiers</a> pour en parler :</p>
<blockquote>
<p>Nom d'une pipe, qu'il avait l'air cloche,<br>
Qu'il était laid vilain et moche.</p>
</blockquote>
<p>C'est donc un remake parti de zéro, pour avoir un moteur rapide, modulaire, multi-plateforme avec des mods et des extensions. Le moteur est appelé <a href="https://github.com/space-wizards/RobustToolbox">Robust Toolbox</a>. Il est d'abord développé (en C#) pour SS14, mais précautionneusement : ça devrait être bon pour d'autres jeux. SS14 invite tout le monde à jouer (on peut déjà jouer) pour améliorer. C'est facile, plein de choses sont décrites en YAML, et avec un peu d'entraînement on arrive à de belles stations spatiales pleines de pannes :<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f737061636573746174696f6e31342e696f2f696d616765732f706f73742f70725f33322f626167656c2e77656270/bagel.webp" alt="Une station spatiale vue de dessus" title="Source : https://spacestation14.io/images/post/pr_32/bagel.webp"></p>
<p>Pendant que j'écrivais cette dépêche, les choses se sont arrangées pour la Station Spatiale Internationale, malgré l'affolement médiatique. Que ça ne vous empêche pas de prendre un peu de hauteur.</p>
</div><div><a href="https://linuxfr.org/news/nouvelles-de-l-espace-paisible.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/127408/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/nouvelles-de-l-espace-paisible#comments">ouvrir dans le navigateur</a>
</p>
orfenor
palm123
https://linuxfr.org/nodes/127408/comments.atom
tag:linuxfr.org,2005:News/40806
2021-12-25T15:21:48+01:00
2021-12-25T15:21:48+01:00
Greycess Knight RPG : sortie de la première version !
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>Greycess Knight RPG est un jeu de rôle ordinatique en tour par tour. Il est très basique, autant au niveau du moteur que graphiquement. Bien sûr, il est entièrement libre. Autant le code source que des binaires pour certaines plateformes sont disponibles via BitTorrent. Sur ce, bonne lecture pour celles et ceux souhaitant des détails.</p>
</div><ul><li>lien nᵒ 1 : <a title="magnet:?xt=urn:btih:8166dfe1f05edd6aabde6fdd1d45ce584b304faa&dn=greycess-knight-rpg%5F1-0-0&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A6969%2Fannounce&tr=http%3A%2F%2Fbttracker.debian.org%3A6969%2Fannounce&tr=https%3A%2F%2Ftorrent.ubuntu.com%2Fannounce" hreflang="fr" href="https://linuxfr.org/redirect/109616">Lien magnet du code source et des binaires (soyez patients et repartagez)</a></li><li>lien nᵒ 2 : <a title="https://drop.infini.fr/r/z0RXbAHvMk#evRS3+4syMMxRscrSnVPY1yJXbInraNEJPueTcyMFho=" hreflang="fr" href="https://linuxfr.org/redirect/109617">Code source seulement (temporaire ; si pas de pairs depuis longtemps)</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#toc-quest-ce-que-greycess-knight-rpg">Qu’est-ce que Greycess Knight RPG ?</a></li>
<li><a href="#toc-pourquoi-avoir-fait-ce-jeu">Pourquoi avoir fait ce jeu ?</a></li>
<li>
<a href="#toc-greycess-knight-rpg-un-jeu-vid%C3%A9o-basique">Greycess Knight RPG : un jeu vidéo basique</a><ul>
<li><a href="#toc-quel-moteur-technique">Quel moteur technique ?</a></li>
<li><a href="#toc-quelques-d%C3%A9tails-techniques">Quelques détails techniques</a></li>
<li><a href="#toc-quelques-d%C3%A9convenues-techniques">Quelques déconvenues techniques</a></li>
</ul>
</li>
<li><a href="#toc-une-suite">Une suite ?</a></li>
<li><a href="#toc-pourquoi-ce-nom-de-jeu">Pourquoi ce nom de jeu ?</a></li>
<li><a href="#toc-remerciements">Remerciements</a></li>
<li>
<a href="#toc-t%C3%A9l%C3%A9charger-le-jeu">Télécharger le jeu</a><ul>
<li><a href="#toc-quelques-clients-bittorrent-libres">Quelques clients BitTorrent libres</a></li>
<li><a href="#toc-pourquoi-partager-le-jeu-exclusivement-via-bittorrent">Pourquoi partager le jeu exclusivement via BitTorrent ?</a></li>
</ul>
</li>
<li><a href="#toc-comment-compiler-le-jeu">Comment compiler le jeu ?</a></li>
<li><a href="#toc-et-au-fait-comment-on-parle-au-programme">Et au fait comment on parle au programme ?</a></li>
<li>
<a href="#toc-captures-d%C3%A9cran">Captures d’écran</a><ul>
<li><a href="#toc-captures-d%C3%A9cran-de-menus">Captures d’écran de menus</a></li>
<li><a href="#toc-captures-d%C3%A9cran-de-cartes">Captures d'écran de cartes</a></li>
<li><a href="#toc-captures-d%C3%A9cran-de-combats">Captures d’écran de combats</a></li>
</ul>
</li>
</ul>
<h2 id="toc-quest-ce-que-greycess-knight-rpg">Qu’est-ce que Greycess Knight RPG ?</h2>
<p>Greycess Knight RPG est un jeu de rôle <a href="https://fr.m.wiktionary.org/wiki/ordinatique">ordinatique</a> en tour par tour (comme <a href="https://fr.wikipedia.org/wiki/Golden_Sun_(jeu_vid%C3%A9o)">Golden Sun sur GameBoy Advance</a> ou les plus connus <a href="https://fr.wikipedia.org/wiki/Pok%C3%A9mon_(s%C3%A9rie_de_jeux_vid%C3%A9o)#S%C3%A9rie_principale">jeux vidéos Pokémon « classiques »</a>). RPG est un acronyme anglais pour « Role-Playing Game ». Son système de combat est pour le moment très très basique, comme le reste.</p>
<h2 id="toc-pourquoi-avoir-fait-ce-jeu">Pourquoi avoir fait ce jeu ?</h2>
<p>Avec le premier confinement en 2020, je me suis remis à jouer, avec des jeux pour GameBoy Adavance. Je me suis dit que ces jeux étaient plutôt simples, de là m’est venue l’envie. Et j’ai plusieurs raisons qui m’ont motivé à me lancer dans l’aventure, dont :</p>
<ul>
<li>le très faible nombre de jeux libres (je préfèrerais ne pas émuler des jeux privateurs et l’émulation consomme pas mal de ressources comparée à une exécution native ; pour le faible nombre, <a href="https://packages.debian.org/bullseye/games-rpg">le méta-paquet <code>games-rpg</code> de Debian</a> est assez illustratif, bien qu’il ne regroupe qu’une portion, comme <a href="https://libregamewiki.org/Role-playing_games">le montre LibreGameWiki.org</a>, probablement pour des raisons de droit d’auteur·e sur les ressources hors code ou juste par <a href="https://wiki.debian.org/Games/Suggested">manque de forces pour faire les paquets</a>),</li>
<li>m’amuser en programmant (chacun ses trucs…),</li>
<li>m’occuper autrement qu’habituellement (le travail contraint pour vivre et le militantisme),</li>
<li>faire de petites améliorations par rapport à certains jeux auxquels j’ai joué (mais pour le moment c’est globalement de très loin bien moins bien).</li>
</ul>
<h2 id="toc-greycess-knight-rpg-un-jeu-vidéo-basique">Greycess Knight RPG : un jeu vidéo basique</h2>
<p>Il adopte la résolution graphique de la GameBoy Advance (240 de largeur et 160 de hauteur) et n’a plus généralement de grandes ambitions graphiques. En effet, c’est le moins que l’on puisse dire, puisque je suis très mauvais en réalisation graphique et que j’ai donc opté pour un jeu en nuance de gris avec 16 couleurs (dont 15 couleurs « vraies » et une couleur pour la transparence).</p>
<p>Cette simplicité, graphique mais pas que, s’explique pour plusieurs raisons. Il y a évidemment le peu de moyens : une seule personne, avec un travail salarié pour gagner sa croute, et des activités politiques non-politiciennes. Mais avec plus de temps, il aurait été possible de faire mieux, certes, mais il y a la volonté de sortir vite un truc pour ne pas se décourager et probablement finir avec un truc qui fait plein de choses mais qui n’est pas fini et risque d’en rester éternellement là (comme <a href="https://www.tuxemon.org/">Tuxemon</a> et <a href="https://opmon-game.ga/">OpMon</a>).</p>
<p>Enfin, il y a une dernière raison : l’écologie. Un jeu vidéo n’a pas besoin d’avoir une machine puissante pour être agréable. Le « rétro-gaming » en est un exemple empirique et pas marginal. J’admets toutefois qu’en l’état il est loin d’être optimisé graphiquement, même si ce qu’il fait est très basique et pourrait donc être fait d’une manière ordinatiquement sobre. Ce ne serait d’ailleurs pas compliqué, mais ça demanderait un peu de temps, donc ce sera pour une potentielle prochaine version. Et on peut rajouter qu’il faudrait probablement en finir avec les ordinateurs pour faire une société écologique (condition nécessaire mais non suffisante), en tout cas c’est mon avis (là-dessus on peut par exemple lire <a href="https://solar.lowtechmagazine.com/2009/06/embodied-energy-of-digital-technology.html">« The Monster Footprint of Digital Technology » de Kris De Decker du low-tech magazine</a>), donc j’admets que la sobriété n’est que vis-à-vis de l’ordinatique et que c’est en contradiction avec ma vision écologique, mais j’arrête là de vous ennuyer avec ça.</p>
<h3 id="toc-quel-moteur-technique">Quel moteur technique ?</h3>
<p>Je voulais un moteur <a href="https://www.gnu.org/philosophy/free-sw.fr.html">libre (au sens de la Free Software Foundation)</a>. Celui-ci devait pouvoir fonctionner ou être rendu fonctionnable sur n’importe quelle plateforme ou presque (GNU/Linux, *BSD, Web, Android, Nintendo DS, GameBoy Advance, Wine / ReactOS / Windows, macOS, etc.). À ma connaissance, ça n’existait pas, mais je n’ai pas non plus beaucoup cherché.</p>
<p>J’ai donc fait le mien, en démarrant au début de cette année 2021, donc fait en seulement un an environ (sur mon temps libre je le rappelle). Il est codé en <a href="https://en.wikipedia.org/wiki/C99">langage C99</a>, ce qui est géré partout (ou presque). Il utilise la bibliothèque C standard et la seule autre bibliothèque qu’il utilise est <a href="https://www.libsdl.org/?lang=fr">la SDL2</a> (du moins en ne considérant pas les tests automatiques, car <a href="https://libcheck.github.io/check/?lang=fr">check</a> est utilisé dans ce cadre, ainsi que la transformation des images PNG en code C, qui utilise <a href="https://www.libsdl.org/projects/SDL_image/">SDL2_image</a>).</p>
<p>Ça permet de gérer GNU/Linux (sur-lequel je développe), *BSD, macOS et Windows (que je n’ai sur aucune de mes machines, et c’est des systèmes privateurs et payants, donc c’est théorique, mais il serait facile à quelqu’un de compiler dessus et de tester). Et il y a aussi le Web (avec <a href="https://fr.wikipedia.org/wiki/WebAssembly">WebAssembly</a> et <a href="https://emscripten.org/">Emscripten</a>) et Android (pour lequel il existe <a href="https://replicant.us/">la distribution libre Replicant</a> et <a href="https://replicant.us/">le pseudo-magasin d’applications F-Droid</a>).</p>
<p>Pour ce qui est de la gestion des consoles de jeu vidéo, ça devrait être possible au moins pour les consoles de Nintendo, celles portables de Sony et la PS2, mais cette possibilité n’est pour le moment pas exploitée (et ne le sera peut-être jamais). Pour les consoles de Nintendo ou du moins nombre d’entre elles (à l’exception notamment de <a href="https://n64.dev/?lang=fr">la Nintendo 64</a>), il y a <a href="https://devkitpro.org/wiki/">devkitPro</a> et des adaptations de la SDL1 pour de nombreuses machines de Nintendo, ainsi que <a href="https://www.coranac.com/tonc/text/">tonc</a> et <a href="https://github.com/gbdev/awesome-gbadev#user-content-libraries">d’autres bibliothèques</a> pour la GBA (qui, au vu de ses faibles caractéristiques, nécessitera fort vraisemblablement de coder en natif, si tant est qu’il y ait un port fonctionnel de la SDL pour elle). Il serait aussi à priori possible de gérer 2 consoles portables de Sony : <a href="https://fr.wikipedia.org/wiki/PlayStation_Portable">la PlayStation Portable ou PSP</a> (qui a <a href="https://github.com/pspdev/pspsdk?lang=fr">un kit de développement libre</a>, <a href="https://github.com/joel16/SDL2?lang=fr">un port SDL2</a> et <a href="https://github.com/pspdev/psp-ports/tree/master/SDL?lang=fr">un port SDL1</a>, ainsi que 2 émulateurs libres : <a href="https://www.ppsspp.org/?lang=fr">PPSSPP</a> et <a href="https://github.com/jpcsp/jpcsp?lang=fr">JPCSP</a>) ; et sa successeure, <a href="https://fr.wikipedia.org/wiki/PlayStation_Vita">la Sony PlayStation Vita</a> (pour qui il existe <a href="https://vitasdk.org/?lang=fr">Vita SDK</a>, <a href="https://github.com/rsn8887/SDL-Vita?lang=fr">un port de la SDL1 et un de la SDL2</a>, ainsi que <a href="https://vita3k.org/?lang=fr">l’émulateur libre Vita3K</a>). Enfin, <a href="https://fr.wikipedia.org/wiki/PlayStation_2">la Sony PlayStation 2 (PS2)</a> devrait aussi pouvoir être gérée (avec <a href="https://github.com/ps2dev/ps2toolchain?lang=fr">ps2toolchain</a> pour la compilation, <a href="https://github.com/ps2dev/ps2sdk-ports?lang=fr">un port SDL</a>, et <a href="https://pcsx2.net/?lang=fr">l’émulateur PCSX2</a> pour tester rapidement et facilement), tandis que <a href="https://fr.wikipedia.org/wiki/PlayStation">la Sony PlayStation 1 (PS1)</a> n’a pas de quoi faire (il y a bien <a href="https://github.com/Lameguy64/PSn00bSDK?lang=fr">PSn00bSDK</a>, mais il ne serait pas encore prêt, il ne semble pas y avoir de port de la SDL, si tant est que ça puisse avoir un intérêt au vu des faibles caractéristiques de la machine, donc il est invraisemblable que je me lance un jour dans l’aventure d’un port pour PS1).</p>
<p>Enfin, de par la dépendance à seulement la bibliothèque C standard (sans <a href="https://en.wikipedia.org/wiki/C_POSIX_library">les ajouts POSIX</a>) et la SDL2, ça ne devrait pas casser à l’avenir, ou alors très faiblement. En effet, l’API de la bibliothèque C standard ne va évidemment pas changer, mais celle de la SDL2 va peut-être, mais il est fort peu probable que ce soit significatif, donc ça devrait être simple et rapide d’adapter pour une nouvelle version qui casserait la rétro-compatibilité. De plus, la SDL2 est suffisamment légère et simple à compiler pour la lier statiquement, donc le jeu pourra continuer à fonctionner avec une veille construction ou même continuer d’être développé avec une version ancienne (même si ce n’est pas du tout souhaitable). C’est donc bien plus propice à la stabilité : le langage ne va pas casser, contrairement à Python avec le passage de la version 2 à la 3 (qui impacte par exemple <a href="http://annchienta.sourceforge.net/?page=fall_of_imiryn">Fall of Imiryn</a> qui utilise <a href="http://annchienta.sourceforge.net/?page=home">le moteur Annchienta</a>) ; C est plus simple que C++ par exemple, donc <a href="https://fr.wikipedia.org/wiki/Application_binary_interface">l’ABI (Application Binary Interface)</a> est moins susceptible de changer ; pas de dépendance qui va disparaitre ou ne plus être maintenu (comme <a href="https://sourceforge.net/projects/allacrost/">Hero of Allacrost</a> qui utilise <a href="https://en.wikipedia.org/wiki/Qt_version_history#Qt_4">Qt4</a>) ; pas de construction compliquée ; pas plusieurs langages à connaitre hors construction (comme <a href="https://fr.wikipedia.org/wiki/Lua">Lua</a>, utilisé par exemple par <a href="https://valyriatear.blogspot.com/">Valyria Tear</a>, qui est un RPG libre 2D très poussé) ; pas besoin de service à l’exécution (comme <a href="https://github.com/alphaonex86/CatchChallenger">CatchChallenger</a> qui a un modèle client/serveur et besoin de PostgreSQL !) ; possibilité de tout mettre dans le binaire simplement (ce qui devient évidemment compliqué et lourd quand on utilise un langage de script, comme <a href="https://rogueboxadventures.tuxfamily.org/">RogueBox Adventures</a>) ; etc.</p>
<h3 id="toc-quelques-détails-techniques">Quelques détails techniques</h3>
<ul>
<li>Pour pouvoir peut-être un jour gérer les consoles, tout est dans le binaire. Il n’est donc pas fait usage du système de fichiers. Les chaines de caractères et les images sont du coup convertis dans un format minimaliste et sont ensuite compilées.</li>
<li>Les chaines de caractères n’utilisent ni <code>char</code> ni <code>wchar_t</code> ni <code>wint_t</code> pour représenter un caractère. Cela permet de n’utiliser qu’un octet par caractère et de gérer un plus grand ensemble que <a href="https://fr.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange">l’ASCII (American Standard Code for Information Interchange)</a>. En effet, l’ASCII n’en utilise que 127, ne contient pas de caractère accentué (ce qui est quasi-indispensable pour le français) et a certains caractères qui ne nous serviraient à rien (et réduiraient donc, inutilement dans notre cas, le champ des possibles sur une même quantité de mémoire). J’ai donc fait ma propre table des caractères et chaque caractère tient sur un seul octet. C’est pourquoi les chaines de caractères sont converties et ce depuis des fichiers en texte brut éditables avec un éditeur banal (comme <a href="https://nano-editor.org/"><code>nano</code></a>).</li>
</ul>
<h3 id="toc-quelques-déconvenues-techniques">Quelques déconvenues techniques</h3>
<p>Tout ne s’est pas passé exactement comme prévu. Certaines choses n’ont pas réussi à être faites comme prévu. De mémoire, il y a au moins :</p>
<ul>
<li>incapacité de ma part à mettre du <code>const</code> à certains endroits, alors que ça devrait pourtant être possible, mais les compilateurs ne m’ont pas assez aidé</li>
<li>erreur de compilation pour la cible x86 32bits pour GNU/Linux (cf. <code>make build-glinux-x86-32</code>) et de même pour les cibles ARM</li>
<li>
<a href="https://wiki.libsdl.org/SDL_RenderSetLogicalSize"><code>SDL_RenderSetLogicalSize</code></a> n’est pas aussi satisfaisant qu’attendu (pas de centrage et hors vue logique pas mis en noir)</li>
<li>problème dans l’obtention de chaines de caractères formattées avec <code>vswprintf</code> dans le cadre du Web (qui utiliserait <a href="https://www.musl-libc.org/">musl</a>, une implémentation libre de la bibliothèque standard du langage C) malgré une tentative avec l’usage de <a href="https://www.cplusplus.com/reference/clocale/setlocale/"><code>setlocale</code></a>, mais il faudrait de toute façon écrire une fonction similaire (car je n’utilise ni <code>char</code> ni <code>wchar_t</code> ni <code>wint_t</code> Pour représenter un caractère afin d’optimiser l’usage mémoire)</li>
<li>non-gestion de la SDL2 par <a href="https://www.winehq.org/">WINE</a>, donc je ne sais pas si les compilations Windows (faites avec <a href="http://mingw-w64.org/">MinGW</a>) fonctionnent</li>
<li>problème avec <a href="https://reactos.org/">ReactOS</a> (un clone libre de Windows) sous <a href="https://wiki.gnome.org/Apps/Boxes">GNOME Boxes</a>, ce qui était ma seconde tentative pour tester les binaires Windows</li>
<li>incapacité à compiler pour la Nintendo Switch avec devkitPro, bien qu’il y ait un compilateur et un port de la SDL2</li>
</ul>
<h2 id="toc-une-suite">Une suite ?</h2>
<p>L’état, vraiment très basique, invite à faire une suite, et j’ai plein d’idées en stock (ce n’est pas bien compliqué d’en trouver…). Parmi celles-ci, il y aurait entre autres :</p>
<ul>
<li>une bonne gestion de la vue logique (centrage et bords noirs),</li>
<li>une police plus petite et potable (<a href="https://github.com/fcambus/spleen">Spleen</a> est une possibilité, mais aussi <a href="https://jeremyoduber.itch.io/fonts-for-gb-studio">celles de Jeremy Oduber pour GB Studio</a> et <a href="https://github.com/DeerTears/GB-Studio-Community-Assets/tree/master/Fonts">d’autres (dont au moins certaines non-libres) pour le logiciel éponyme</a>, ainsi que <a href="https://kenney.nl/assets/kenney-fonts">celles de Kenney</a>),</li>
<li>ajout et usage de sons et musiques (il y a une section pour chaque chez <a href="https://opengameart.org/">OpenGameArt.org</a>, de même pour le RPG libre <a href="https://github.com/ValyriaTear/ValyriaTear/tree/master/data">Valyria Tear</a>, idem pour le Pokémon-like <a href="https://github.com/Tuxemon/Tuxemon/tree/development/mods/tuxemon">Tuxemon</a>),</li>
<li>demander confirmation de fermeture de la fenêtre (par clic sur le bouton de celle-ci, Ctrl + Q ou Ctrl + W),</li>
<li>ajout d’un nom pour les cartes et l’afficher,</li>
<li>la gestion d’un état pour les combattant·e·s (empoisonné, enflammé, gelé, en train de saigner, confus, paralysé, endormi, etc.),</li>
<li>la séparation entre le physique et le spécial pour l’attaque et la défense (sur le modèle de Pokémon),</li>
<li>différentes classes avec des avantages et faiblesses entre elles, et ensuite pouvoir en régler l’importance ainsi qu’un mode pour inverser celles-ci,</li>
<li>la possibilité d’apprendre et d’oublier des capacités (au lieu d’une liste fixe par type de combattant·e),</li>
<li>implémenter des types de terrain (« normal », plaine, béton, forêt, grotte, sur l’eau, sous l’eau, montagneux, volcan, etc.) et des types de météo (« normal », ensoleillé, pluvieux, neigeux, venteux, tempête de sable, canicule, etc.) ayant une influence en combat,</li>
<li>des transitions (entre le passage de certains contextes à des autres, et durant les combats),</li>
<li>optimiser le temps de rendu graphique (déjà fait pour la carte et le « menu de commandes », mais ça pourrait être mieux, et surtout ça devrait être généralisé),</li>
<li>un mode KO punitif / game over,</li>
<li>option sur le droit ou pas à l’usage d’objet en combat,</li>
<li>un mode « végan » où il ne faut pas mettre KO mais affaiblir suffisamment mais pas trop,</li>
<li>ne plus avoir les types de combattant·e et les capacités en dur en C au profit de fichiers XML transformés avec XSLT (pour pouvoir à l’avenir plus facilement en changer la structure de données),</li>
<li>rendre les cartes plus grandes que la surface visualisable et gérer la caméra, puis avoir une structure de carte pour avoir des cartes de taille infinie ou presque (à la manière de Pokémon par exemple),</li>
<li>permettre de changer les éléments sur l’avant-plan d’une carte (pour entre autres rotationner les personnages quand on leur parle et les faire se déplacer lors de scènes),</li>
<li>donner une visibilité potentielle aux éléments de l’avant-plan et la capacité d’agir si quelque chose entre dans leur champ de vision (à la manière des dresseurs et dresseuses dans Pokémon qui peuvent bloquer le personnage et venir vers avant de déclencher un dialogue puis un combat),</li>
<li>implémenter un algorithme du plus court chemin,</li>
<li>un port Android (<a href="https://wiki.libsdl.org/Android">ce qui devrait être aisé avec la SDL2</a>) et une manette virtuelle en impression écran (comme les émulateurs sur Android),</li>
<li>enregistrement de la sauvegarde à un endroit approprié (dans <code>$HOME/.config/</code> sous GNU/Linux),</li>
<li>faire la sauvegarde dans un nouveau fichier et n’écraser l’actuelle que si l’écriture de la nouvelle sauvegarde a réussi jusqu’au bout,</li>
<li>implémenter une somme de contrôle pour la sauvegarde,</li>
<li>rapporter les messages d’erreur de la sauvegarde dans l’interface graphique et plus sur <code>stderr</code>,</li>
<li>plusieurs modes pour les entrées clavier (avec combinaison possible si compatible),</li>
<li>permettre de changer le nombre d’images par seconde,</li>
<li>
<a href="https://wiki.libsdl.org/MigrationGuide">la gestion de SDL1 en plus de SDL2</a> (pour gérer les systèmes sans implémentation de SDL2 mais avec une implémentation de SDL1, comme c’est le cas notamment pour de nombreuses consoles portables de Nintendo et pour lesquels <a href="https://devkitpro.org/wiki/">devkitPro</a> fournit des chaines de compilation),</li>
<li>un port NDS (idéalement, on a le droit de rêver, avec la SDL), puis un port GBA (car la NDS a de bien meilleures caractéristiques que la GBA, donc autant commencer par la NDS avant la GBA),</li>
<li>n’afficher que la vue pour la version web (et donc virer l’emballage d’Emscripten), puis idéalement tout mettre dans un seul fichier HTML (le HTML, le WebAssembly, et le JavaScript qui fait glu),</li>
<li>faire de quoi construire un <a href="https://www.debian.org/doc/manuals/debian-faq/pkg-basics.fr.html">paquet Debian</a>, puis de même pour un <a href="https://rpm.org/">paquet RPM</a> et éventuellement d’autres procédures d’installation dans le genre (<a href="https://doc.slitaz.org/fr:cookbook:start">SliTaz</a>, <a href="https://wiki.archlinux.org/title/Creating_packages">ArchLinux</a>, <a href="https://guix.gnu.org/blog/2018/a-packaging-tutorial-for-guix/">GNU Guix</a>, <a href="https://docs.flatpak.org/en/latest/first-build.html">Flatpak</a>, <a href="https://ubuntu.com/tutorials/create-your-first-snap">Ubuntu Snap</a>, etc.),</li>
<li>améliorer l’exécutable WINE / ReactOS / Windows avec un meilleur <a href="https://docs.microsoft.com/en-us/windows/win32/menurc/resources">fichier de ressources</a>,</li>
<li>avoir un <code>sprintf</code> personnalisé adapté au format de chaîne de caractères (au lieu de faire une conversion en chaîne de <code>wchar_t</code>, puis passer le résultat à <a href="https://www.cplusplus.com/reference/cwchar/swprintf/"><code>swprintf</code></a>, et enfin reconvertir dans notre format),</li>
<li>avoir une implémentation de <a href="https://www.cplusplus.com/reference/cstdlib/qsort/"><code>qsort</code></a> avec laquelle la fonction de comparaison prend un argument arbitraire (pour éviter d’avoir besoin d’une variable globale, cf. <code>battle_compare_speed_of_fighter_index_generic</code>),</li>
<li>optimiser l’usage en mémoire avec un gros <a href="https://zestedesavoir.com/tutoriels/755/le-langage-c-1/notions-avancees/les-unions/"><code>union</code></a> globale dont chaque membre représenterait un contexte (voir les contrôleurs pour comprendre ce que j’appelle « contexte ») ou plutôt un méta-contexte (carte, combat, etc.),</li>
<li>mutualiser du code entre le type de menu pour des commandes et le type de menu pour des objets (notamment la gestion des menus longs qui ne peuvent totalement s’afficher à l’écran à un même moment),</li>
<li>organiser mieux le code source (avec plus de fichiers et de dossiers),</li>
<li>faire beaucoup plus de tests automatiques d’exécution,</li>
<li>implémenter un clavier virtuel,</li>
<li>permettre de parcourir les données du jeu en son sein,</li>
<li>permettre d’extraire les données du jeu en HTML et/ou LaTeX,</li>
<li>gérer <a href="https://www.freedos.org/?lang=fr">FreeDOS</a> et <a href="https://www.dosbox.com/?lang=fr">DOSBox</a> (car pourquoi pas ?),</li>
<li>faire un éditeur graphique de cartes (comme <a href="https://github.com/huderlem/porymap">Porymap</a> pour les jeux Pokémon « classiques » de la troisième génération).</li>
</ul>
<p>Tout cela est bien joli, mais ça demande du temps, de la motivation, etc., donc le futur est incertain. En tout cas, il l’est en ce qui me concerne. Mais, puisque le jeu est libre et peut être modifié en n’utilisant que des logiciels libres dans la totalité de sa chaine, vous pourriez très bien continuer le travail !</p>
<h2 id="toc-pourquoi-ce-nom-de-jeu">Pourquoi ce nom de jeu ?</h2>
<ul>
<li>grey : le jeu est en nuance de gris.</li>
<li>cess : le but est de sauver une princesse (original n’est-ce pas ?).</li>
<li>knight : le personnage incarné est un chevalier.</li>
</ul>
<p>Je voulais un nom cours et unique. C’est pourquoi « princess » a perdu son début et que je l’ai concaténé avec « grey ».</p>
<h2 id="toc-remerciements">Remerciements</h2>
<ul>
<li>
<a href="https://opengameart.org/art-search-advanced?field_art_tags_tid_op=and&field_art_tags_tid=16x16%2C+RPG&field_art_type_tid%5B%5D=9">OpenGameArt</a>, pour ses nombreuses ressources graphiques libres</li>
<li>
<a href="https://www.kenney.nl/">Kenney</a>, qui a fourni sous <a href="https://creativecommons.org/publicdomain/zero/1.0/deed.fr">licence libre Creative Commons 0</a> une grande partie des ressources graphiques</li>
<li>
<a href="https://www.gnu.org/home.fr.html">le projet GNU</a>, pour <a href="https://gcc.gnu.org/">GCC</a> et <a href="https://www.gnu.org/licenses/licenses.fr.html">ses licences</a>
</li>
<li>
<a href="https://clang.llvm.org/">Clang</a>, pour ses messages complémentaires à GCC</li>
<li>les gens ayant fait <a href="https://www.libsdl.org/">la SDL2</a>
</li>
<li>
<a href="https://trisquel.info/fr">Trisquel GNU/Linux</a> et <a href="https://www.debian.org/index.fr.html">Debian GNU/Linux</a>, les deux systèmes d’exploitation utilisés</li>
<li>
<a href="https://www.gnu.org/software/gdb/">GDB</a> et <a href="https://valgrind.org/">valgrind</a>, pour avoir bien aidé à déboguer des problèmes de mémoire</li>
<li>
<a href="https://www.gnu.org/software/make/">GNU make</a> et <a href="https://cmake.org/">CMake</a>, pour l’orchestration de la compilation et des tests</li>
<li>
<a href="https://libcheck.github.io/check/">check</a>, pour des tests automatiques d’exécution</li>
<li>
<a href="http://cppcheck.sourceforge.net/">Cppcheck</a> et <a href="https://kitware.github.io/KWStyle/">KWStyle</a>, pour des tests statiques complémentaires aux compilateurs</li>
<li>tou·te·s celleux que j’ai oublié (moyen facile de demi-esquive !)</li>
</ul>
<h2 id="toc-télécharger-le-jeu">Télécharger le jeu</h2>
<p>Vous pouvez <a href="magnet:?xt=urn:btih:8166dfe1f05edd6aabde6fdd1d45ce584b304faa&dn=greycess-knight-rpg%5F1-0-0&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A6969%2Fannounce&tr=http%3A%2F%2Fbttracker.debian.org%3A6969%2Fannounce&tr=https%3A%2F%2Ftorrent.ubuntu.com%2Fannounce">l’obtenir via BitTorrent</a>. Le torrent contient le code source et des versions compilées. Certains clients BitTorrent permettent de ne télécharger que certains fichiers si vous le souhaitez. Mais ce serait cool que vous téléchargiez et partagiez le code source, même si vous n’en faites rien, pour qu’il ne se perde pas.</p>
<h3 id="toc-quelques-clients-bittorrent-libres">Quelques clients BitTorrent libres</h3>
<p>Au cas où vous n’auriez pas de client BitTorrent (ou un qui soit propriétaire), en voici quelques-uns qui sont libres :</p>
<ul>
<li>GNU/Linux, *BSD, Windows et/ou macOS
<ul>
<li><a href="https://www.transmissionbt.com/?lang=fr">Transmission</a></li>
<li><a href="https://deluge-torrent.org/?lang=fr">Deluge</a></li>
<li><a href="https://apps.kde.org/fr/ktorrent/?lang=fr">KTorrent</a></li>
<li><a href="https://www.qbittorrent.org/?lang=fr">qBittorrent</a></li>
</ul>
</li>
<li>Android
<ul>
<li><a href="https://f-droid.org/fr/packages/org.proninyaroslav.libretorrent/">LibreTorrent</a></li>
<li><a href="https://www.biglybt.com/?lang=fr">BiglyBT</a></li>
</ul>
</li>
</ul>
<h3 id="toc-pourquoi-partager-le-jeu-exclusivement-via-bittorrent">Pourquoi partager le jeu exclusivement via BitTorrent ?</h3>
<p>L’intérêt principal que j’y vois est que c’est décentralisé en très grande partie et résilient. Une forge peut disparaitre et vraisemblablement quasiment personne ne lit l’historique des commits. Un site web pour le jeu nécessiterait du travail et de la gestion, même si ce serait minimal avec un site statique sur le serveur.</p>
<p>Ça permet aussi de partager le coût de l’infrastructure et de mettre en lumière le fait qu’<a href="https://fsfe.org/contribute/spreadtheword.fr.html#nocloud">elle n’est pas magique</a>. Si personne ne partage (et je ne suis pas connecté 24h/24 et 7j/7), alors on ne pourra pas avoir le jeu, du moins par le moyen par lequel je l’ai partagé. Et si le partage est lent, alors il faut se résoudre à attendre ou laisser tomber.</p>
<p>De toute façon, puisque le jeu est libre, rien n’empêche des tiers de l’héberger ailleurs et autrement, ou de le partager par un autre médium (clé USB, CD, etc.). On peut mettre le code source dans une forge, il pourrait être distribué par des distributions GNU/Linux et *BSD, par F-Droid pour Android, etc.</p>
<h2 id="toc-comment-compiler-le-jeu">Comment compiler le jeu ?</h2>
<p>Si vous n’avez pas confiance dans une version compilée fournie ou qu’elle ne fonctionne pas (à cause d’une différence d’API et/ou d’ABI), vous pouvez obtenir le jeu sous forme exécutable depuis le code source. Hormis pour Wine / ReactOS / Windows, dont l’API et l’ABI sont stables (ce qui est chiant pour l’évolution mais pratique pour la compatibilité), vous aurez probablement à en passer par là, à moins que vous ayez la chance d’avoir votre distribution GNU/Linux ou système BSD qui fait le travail pour vous (et donc au moins une gentille qui a fait le travail nécessaire à cela) ou que vous en passiez par un méga-conteneur bien hideux et ultra-lourd (comme le permettent notamment <a href="https://fr.wikipedia.org/wiki/Flatpak">Flatpak</a> et <a href="https://fr.wikipedia.org/wiki/Snap_(gestionnaire_de_paquet)">Snap</a>).</p>
<p>Dans le cas contraire, rassurez-vous. La compilation n’est pas compliquée et ne nécessite pas grand-chose. Sous les systèmes avec <a href="https://fr.wikipedia.org/wiki/Advanced_Packaging_Tool">APT (Advanced Packaging Tool)</a>, dont Debian et Trisquel GNU/Linux, il vous suffit de faire ce qui suit dans un terminal textuel :</p>
<pre><code>$ sudo apt install gcc make cmake libc-dev libsdl2-dev libsdl2-image-dev
$ cd greycess-knight-rpg-code/
$ make
</code></pre>
<p>L’installation de ce qui est nécessaire à la compilation (avec <code>apt</code> dans le cas de Debian et Trisquel GNU/Linux) peut être un peu longue, tout comme la compilation avec <code>make</code> (qui utilise <code>cmake</code>, ainsi que votre compilateur C par défaut, à savoir probablement GCC et potentiellement Clang). Une fois cela fini, l’exécutable du jeu est <code>builds/default/bin/greycess-knight-rpg</code>. Si vous le souhaitez, vous pouvez l’installer au niveau du système avec <code>sudo make install</code>. Toutefois il est plutôt recommandé de le faire avec <code>sudo checkinstall --nodoc --pkgname='greycess-knight-rpg' --pkgversion='1.0.0' --pkgrelease='1' --pkglicense='AGPLv3' --install=yes</code> (et si vous n’avez pas encore <code>checkinstall</code>, vous pouvez l’installer avec <code>sudo apt install checkinstall</code>), afin qu’il soit facilement désinstallable avec votre gestionnaire de paquets. Enfin, si vous êtes sur un système sans APT comme système de gestion de paquets (comme <a href="https://fr.wikipedia.org/wiki/Arch_Linux">ArchLinux</a>, <a href="https://fr.wikipedia.org/wiki/Gentoo_Linux">Gentoo</a> ou <a href="https://fr.wikipedia.org/wiki/Fedora_Linux">Fedora</a>), vous n’aurez que la première ligne à adapter.</p>
<h2 id="toc-et-au-fait-comment-on-parle-au-programme">Et au fait comment on parle au programme ?</h2>
<p>Aucun argument en ligne de commande n’est accepté, le jeu est purement graphique. On peut y jouer à la manette ou au clavier. La manette est recommandée, car là les touches sont triviales et que c’est plus confortable. Si votre manette n’est pas reconnue par le jeu ou que partiellement, vous pourriez y pallier avec un logiciel d’association de ses boutons à des touches du clavier. Pour ça, il existe entre autres <a href="https://github.com/panzi/qjoypad?lang=fr">QJoyPad</a>, <a href="https://packages.debian.org/bullseye/joy2key?lang=fr">joy2key</a> et <a href="https://sourceforge.net/projects/rejoystick/?lang=fr">rejoystick</a>.</p>
<p>Le clavier n’est pour le moment pas configurable, donc l’association est imposée. Il y a les 4 flèches directionnelles qui font ce que l’on attend d’elle, autant dans les menus que sur la carte. La touche « entrée » correspond au bouton A, c’est-à-dire au bouton d’action positif. La touche « espace » correspond au bouton B, c’est-à-dire au bouton d’action négatif. La touche F10 correspond à start. Les touches F3 et F4 correspondent à select. Et voila, c’est tout !</p>
<p>À moins que vous n’ayez épousé le Malin… En effet, <a href="https://www.gnu.org/software/emacs/">GNU Emacs</a> est l’Éditeur !, <a href="https://stallman.org/saint.html">le seul que les vrai·e·s utilisent</a>. Mais <a href="https://github.com/emacs-evil/evil/?lang=fr"><code>evil-mode</code></a> est là pour les égaré·e·s : k, haut ; j, bas ; h, gauche ; l, droite ; a, bouton A ; u, bouton B ; v, start ; point, select. Pour les brebis galeuses qui utiliseraient du privateur (de quoi rendre respectables les utilisateurs et utilisatrices de <code>vi</code> et ses dérivés !), ce sera à vous de vous adapter : ni Big Brother, ni propriétaire ! (pour celleux n’ayant pas capté la référence, c’est une tentative d’adaptation de <a href="https://fr.wikipedia.org/wiki/Ni_Dieu_ni_ma%C3%AEtre_(devise)">la célèbre devise anarchiste « ni Dieu, ni maitre »</a>.)</p>
<p>Enfin, faites attention avec Ctrl + Q et Ctrl + W, car ça ferme le jeu sans prévenir et sans sauvegarde. Il est prévu d’implémenter une confirmation avant, mais ce n’est pas encore fait.</p>
<h2 id="toc-captures-décran">Captures d’écran</h2>
<h3 id="toc-captures-décran-de-menus">Captures d’écran de menus</h3>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f692e6962622e636f2f644d506d3667472f67726579636573732d6b6e696768742d6d656e75732e706e67/greycess-knight-menus.png" alt="Jeu Greycess Knight RPG les menus" title="Source : https://i.ibb.co/dMPm6gG/greycess-knight-menus.png"></p>
<h3 id="toc-captures-décran-de-cartes">Captures d'écran de cartes</h3>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f692e6962622e636f2f47523664474c362f67726579636573732d6b6e696768742d6d6170732e706e67/greycess-knight-maps.png" alt="Jeu Greyscess Knight RGP cartes" title="Source : https://i.ibb.co/GR6dGL6/greycess-knight-maps.png"></p>
<h3 id="toc-captures-décran-de-combats">Captures d’écran de combats</h3>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f692e6962622e636f2f4737317a574e592f67726579636573732d6b6e696768742d626174746c65732e706e67/greycess-knight-battles.png" alt="Jeu Greycess Knight RBG écrans combats" title="Source : https://i.ibb.co/G71zWNY/greycess-knight-battles.png"></p>
</div><div><a href="https://linuxfr.org/news/greycess-knight-rpg-sortie-de-la-premiere-version.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/126325/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/greycess-knight-rpg-sortie-de-la-premiere-version#comments">ouvrir dans le navigateur</a>
</p>
GnouCat
Ysabeau 🧶 🧦
palm123
Benoît Sibaud
https://linuxfr.org/nodes/126325/comments.atom
tag:linuxfr.org,2005:News/40628
2021-08-31T11:45:23+02:00
2021-08-31T19:57:32+02:00
Jeux de stratégie en temps réel OpenRA
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>OpenRA est la version à moteur libre (sous licence GPL v3) de Command and Conquer, Alerte Rouge et Dune 2000 qui avait été développé par WestWood studio à partir de 1995.</p>
<p>Ils ont toute une histoire et sont le fruit d’un long travail de rétro-ingénierie depuis 2007. Ces jeux sont téléchargeables pour Windows 10, MacOS, Linux, et FreeBSD.</p>
<p>C’est ce que nous allons découvrir.</p>
</div><ul><li>lien nᵒ 1 : <a title="https://www.openra.net/" hreflang="en" href="https://linuxfr.org/redirect/109033">Le site officiel du jeu</a></li><li>lien nᵒ 2 : <a title="https://github.com/OpenRA/OpenRA/releases" hreflang="en" href="https://linuxfr.org/redirect/109034">Le site GitHub du jeu</a></li></ul><div><h2 id="toc-historique">Historique</h2>
<p>Le premier jeu de la série s’appelait en français Command & Conquer la chute du Tibérium en 1995.</p>
<p>Puis en 1996, WestWood studio sortit Command & Conquer Alerte rouge.</p>
<p>Alerte rouge se passe dans un passé alternatif. Albert Einstein ayant réussi à créer une machine à remonter le temps, réussit à tuer Hitler avant sa montée au pouvoir. Malheureusement, le bloc soviétique n’ayant plus d’ennemi commun avec les alliés, décide de les attaquer.</p>
<p>En 1998, Electronics Arts rachète WestWood studios.</p>
<p>En 2008, Electronics Arts propose de télécharger gratuitement Command & Conquer Alerte rouge pour le 12ᵉ anniversaire de la sortie du jeu.</p>
<p>L’équipe de développement d'OpenRA a commencé le travail de rétro-ingénierie en 2007.</p>
<h2 id="toc-les-jeux">Les jeux</h2>
<p>Le moteur du jeu OpenRA fait tourner les trois jeux :</p>
<ul>
<li>Command & Conquer : La chute du Tiberium ;</li>
<li>Alerte rouge ;</li>
<li>Dune 2000.</li>
</ul>
<p>Ces jeux à moteurs libres sont téléchargeables pour Windows 10, MacOS, Linux, et FreeBSD en deux versions :</p>
<ul>
<li>la version stable (mode solo, et multijoueurs) ;</li>
<li>la version en développement (mode solo uniquement).</li>
</ul>
<p>Le pré-requis étant d’avoir OpenGL installé sur l’ordinateur.</p>
<p><abbr title="Note des modérateurs">N. D. M. :</abbr> le code est GPLv3. Les ressources graphiques originelles seraient couvertes par les <em>Command & Conquer™ Franchise Modding Guidelines</em> de la société Electronic Arts Inc (<a href="https://www.openra.net/legal/">source</a>). La foire aux questions précise aussi les <a href="https://github.com/OpenRA/OpenRA/wiki/FAQ#is-that-legal">questions légales</a> : en résumé, réimplémentation complète en libre du moteur, dépendance sur les ressources graphiques originelles, avec des versions optimisées en taille hébergées sur les serveurs du projet (voir la page wiki <a href="https://github.com/OpenRA/OpenRA/wiki/Game-Content">Game-Content</a>).</p>
</div><div><a href="https://linuxfr.org/news/jeux-de-strategie-en-temps-reel-openra.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/125249/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/jeux-de-strategie-en-temps-reel-openra#comments">ouvrir dans le navigateur</a>
</p>
FrancoisA30
Benoît Sibaud
Pierre Jarillon
Ysabeau 🧶 🧦
palm123
https://linuxfr.org/nodes/125249/comments.atom
tag:linuxfr.org,2005:News/40609
2021-08-29T15:20:12+02:00
2021-08-29T15:20:12+02:00
Sortie de 0 A.D. Alpha 25 « Yaunā »
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>0 A.D. : Empires Ascendant est un jeu vidéo de stratégie en temps réel (<em>RTS</em>) historique en 3D développé par Wildfire Games. C’est un projet libre (code sous GPL v2, données sous CC BY‑SA 3.0), au développement ouvert, visant des standards de qualité artistique comparables à ceux de l’industrie, ainsi qu’un grand respect de la réalité historique. Le jeu permet d’incarner treize factions qui ont marqué leur histoire entre les rives de l’Atlantique et la chaîne de l’Himalaya, au cours de la période allant de −500 av. J.‑C. à −1 av. J.‑C.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f77696c646669726567616d65732e636f6d2f666f72756d2f75706c6f6164732f6d6f6e74686c795f323032315f30372f4132352e6a70672e33613466343733643430313635383162666633643164313064633238663331302e6a7067/A25.jpg.3a4f473d4016581bff3d1d10dc28f310.jpg" alt="0 A.D. alpha 25" title="Source : https://wildfiregames.com/forum/uploads/monthly_2021_07/A25.jpg.3a4f473d4016581bff3d1d10dc28f310.jpg"></p>
<p>0 A.D. : Empires Ascendant est encore actuellement considéré « en cours de développement », par l’équipe et les fans exigeants, mais le jeu est jouable à tel point qu’une communauté de joueurs conséquente s’est déjà construite autour, et son succès est révélé par les statistiques : <a href="http://releases.wildfiregames.com/stats.php?type=year&date=2020-01-01">300 000 téléchargements en 2020</a> et 10 000 comptes multijoueurs.<br>
Cette dépêche présente la version Alpha 25, Yaunā, du projet sortie le 8 août 2021.</p>
<p>Cette dépêche est principalement une traduction de <a href="https://play0ad.com/new-release-0-a-d-alpha-25-yauna/">l’annonce officielle</a> de la nouvelle version Alpha 25.<br>
Bien que cette dépêche contienne de magnifiques captures d’écran, à la fois des nouveautés mais aussi de belles vues esthétiques de la communauté, nous vous invitons à visionner la bande-annonce créée pour l’occasion (voir section liens ci-après), bien plus interactive.</p>
<p>Si vous souhaitez rejoindre l’aventure, n’hésitez pas à visiter nos forums et à rejoindre notre communauté, ou plus simplement, à prendre un de nos tickets sur Trac avant de soumettre un correctif sur Phabricator. Si vous avez des questions n’hésitez pas à passer sur IRC (#0ad-dev sur le serveur Quakenet).</p>
<p>Nous sommes toujours à la recherche de développeurs — C++ (moteur graphique, moteur audio), JavaScript (IA, gameplay, génération procédurale de cartes) —, de reviewers, de traducteurs, d’historiens, de créateurs de cartes, d’animateurs 3D, d’artistes 3D et 2D, et de personnes pour nous aider sur certains scripts (Perl et Python).</p>
</div><ul><li>lien nᵒ 1 : <a title="https://play0ad.com/" hreflang="en" href="https://linuxfr.org/redirect/109007">Site officiel de 0 A.D.</a></li><li>lien nᵒ 2 : <a title="https://fr.wikipedia.org/wiki/0_A.D." hreflang="fr" href="https://linuxfr.org/redirect/109008">Page Wikipédia Francophone de 0 A.D.</a></li><li>lien nᵒ 3 : <a title="https://linuxfr.org/tags/0ad/public" hreflang="fr" href="https://linuxfr.org/redirect/109009">Étiquette « 0ad » sur LinuxFr.org</a></li><li>lien nᵒ 4 : <a title="https://linuxfr.org/news/sortie-de-0-a-d-alpha-24-xsayarsa" hreflang="fr" href="https://linuxfr.org/redirect/109010">Annonce Linuxfr.org de l'Alpha 24</a></li><li>lien nᵒ 5 : <a title="https://play0ad.com/new-release-0-a-d-alpha-25-yauna/" hreflang="en" href="https://linuxfr.org/redirect/109011">Annonce officielle de la sortie de l'Alpha 25</a></li><li>lien nᵒ 6 : <a title="https://videos.pair2jeux.tube/videos/w/63f09391-e704-42c1-a136-33da3a0df524" hreflang="en" href="https://linuxfr.org/redirect/109012">Bande-annonce de la version (PeerTube)</a></li><li>lien nᵒ 7 : <a title="https://www.youtube.com/watch?v=D3vxXZygHIk" hreflang="en" href="https://linuxfr.org/redirect/109013">Bande-annonce de la version (YouTube)</a></li><li>lien nᵒ 8 : <a title="https://linuxfr.org/users/oumph/journaux/compilation-de-0-a-d-alpha-25-pour-debian-bullseye" hreflang="fr" href="https://linuxfr.org/redirect/109014">Journal de Benoît Sibaud sur la compilation de la version pour Debian Bullseye</a></li><li>lien nᵒ 9 : <a title="https://www.youtube.com/watch?v=jhIOUv0vVw0" hreflang="en" href="https://linuxfr.org/redirect/109031">Livestream de la version A25 avec questions et réponses de Stan` un des développeurs</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#toc-rappel-historique">Rappel historique</a></li>
<li><a href="#toc-une-nouvelle-version">Une nouvelle version</a></li>
<li><a href="#toc-r%C3%A9sum%C3%A9-des-principales-nouveaut%C3%A9s">Résumé des principales nouveautés</a></li>
<li><a href="#toc-support-initial-des-campagnes-en-jeu-solo">Support initial des campagnes en jeu solo</a></li>
<li><a href="#toc-recherche-de-chemin">Recherche de chemin</a></li>
<li><a href="#toc-nouvelles-cartes">Nouvelles cartes</a></li>
<li><a href="#toc-files-dattente">Files d’attente</a></li>
<li><a href="#toc-fus%C3%A9es-%C3%A9clairantes-sur-la-mini-carte">Fusées éclairantes sur la mini-carte</a></li>
<li><a href="#toc-r%C3%A9organisation-et-nouvelles-options-graphiques">Réorganisation et nouvelles options graphiques</a></li>
<li><a href="#toc-intelligence-artificielle">Intelligence artificielle</a></li>
<li><a href="#toc-nouvelle-condition-de-d%C3%A9faite">Nouvelle condition de défaite</a></li>
<li><a href="#toc-modding">Modding</a></li>
<li><a href="#toc-%C3%89l%C3%A9ments-divers">Éléments divers</a></li>
<li><a href="#toc-jouer-en-ligne-%C3%A0-0-ad">Jouer en ligne à 0 A.D.</a></li>
<li><a href="#toc-bugs-connus">Bugs connus</a></li>
<li><a href="#toc-contribuez">…Contribuez !</a></li>
</ul>
<h2 id="toc-rappel-historique">Rappel historique</h2>
<p>0 A.D. a été créé par des fans du jeu de Microsoft, Age of Empires Ⅱ : The Age of Kings. Il s’agissait du groupe Tontoclan et des « modders » à l’origine du « mod » Rome at War. Entamé en juin 2001, le projet avait initialement pour but de rendre jouables les civilisations antiques du premier Age of Empires avec le moteur d’Age of Kings. Puis, ils ont décidé de créer leur propre jeu indépendant.<br>
Un soin particulier est porté à la cohérence historique. Plusieurs historiens professionnels ou amateurs ont prodigué leurs conseils au projet au fil du temps.<br>
Le jeu stagnant, pour lui redonner un second souffle, le 10 juin 2009, Wildfire Games publia le jeu sous licence libre (<a href="https://fr.wikipedia.org/wiki/0_A.D.">source Wikipédia</a>).</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f77696c646669726567616d65732e636f6d2f666f72756d2f75706c6f6164732f6d6f6e74686c795f323032305f30372f3236363635363731355f50746f6c656d6169634e696c65496e7370697265642831292e706e672e62656131356336666536326537373566653838343864636133386663356135652e706e67/266656715_PtolemaicNileInspired(1).png.bea15c6fe62e775fe8848dca38fc5a5e.png" alt="Vue graphique en HD, passage d’un détroit au sein d’une cité, civilisation Ptolémaïque" title="Source : https://wildfiregames.com/forum/uploads/monthly_2020_07/266656715_PtolemaicNileInspired(1).png.bea15c6fe62e775fe8848dca38fc5a5e.png"></p>
<h2 id="toc-une-nouvelle-version">Une nouvelle version</h2>
<p>Wildfire Games a annoncé la sortie de 0 A.D. Alpha 25: « Yaunā », la vingt-cinquième version alpha de 0 A.D. Yaunā est un ancien mot en <a href="https://fr.wikipedia.org/wiki/Vieux_perse">vieux Perse</a> pour <a href="https://fr.wikipedia.org/wiki/Ioniens">les Ioniens</a>, l’une des quatre principales tribus de la Grèce antique ; les trois autres étant les Doriens, les Éoliens et les Achéens.</p>
<p>Un mythe fondateur suggère que les Ioniens ont été nommés d’après Ion, fils de Xouthos, roi du Péloponnèse, ce dernier étant avec ses fils fondateurs des nations ioniennes et achéennes.</p>
<p>Pour les impatients, un peu de prudence et de compréhension : la version vient de sortir, tous les mods ne sont pas encore mis à jour, ils le seront petit à petit selon le temps des développeurs, tous bénévoles. Ne leur criez pas dessus, encouragez-les plutôt :-)</p>
<p>N’oubliez pas de désactiver TOUS les mods avant de passer à la version suivante, pour éviter tout risque de conflit.</p>
<p>Si vous êtes créateur de mods, regardez la <a href="https://trac.wildfiregames.com/wiki/PortA24ToA25">page du wiki correspondante</a>.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f77696c646669726567616d65732e636f6d2f666f72756d2f75706c6f6164732f6d6f6e74686c795f323032315f30372f313536363837313631325f6c616e6473636170657069632e6a70672e63326132306266366331363466326538646562336266323762623963313532322e6a7067/1566871612_landscapepic.jpg.c2a20bf6c164f2e8deb3bf27bb9c1522.jpg" alt="Panorama divers sans origine connue 1" title="Source : https://wildfiregames.com/forum/uploads/monthly_2021_07/1566871612_landscapepic.jpg.c2a20bf6c164f2e8deb3bf27bb9c1522.jpg"></p>
<h2 id="toc-résumé-des-principales-nouveautés">Résumé des principales nouveautés</h2>
<ul>
<li>Amélioration du calcul des chemins et parallélisation sur le processeur</li>
<li>Réduction du délai d’entrée des commandes en multijoueur (de 500ms à 200ms)</li>
<li>Ajout d’une fonctionnalité permettant d’ajouter des ordres en tête de file (e.g pour aller chercher un trésor avant de retourner travailler)</li>
<li>Amélioration du comportement des unités</li>
<li>Ajout d’un ping (fusée éclairante) sur la minicarte</li>
<li>Nouvelles textures de Biomes (en 2k avec des textures normales et de brillance)</li>
<li>Implémentation d’une interface pour pouvoir utiliser ses propres campagnes</li>
<li>Améliorations de l’interface utilisateur</li>
<li>Ajout de nouvelles options graphiques</li>
<li>Amélioration des filtres dans le lobby multijoueur</li>
<li>Amélioration de l’équilibrage des unités</li>
<li>De nombreuses corrections de bugs et optimisations</li>
</ul>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f77696c646669726567616d65732e636f6d2f666f72756d2f75706c6f6164732f6d6f6e74686c795f323032315f30372f313637353031313634335f6e696768747363656e652e706e672e35626330313431656130386531356331326461663137326332653537333062382e706e67/1675011643_nightscene.png.5bc0141ea08e15c12daf172c2e5730b8.png" alt="Panorama divers sans origine connue 2" title="Source : https://wildfiregames.com/forum/uploads/monthly_2021_07/1675011643_nightscene.png.5bc0141ea08e15c12daf172c2e5730b8.png"></p>
<h2 id="toc-support-initial-des-campagnes-en-jeu-solo">Support initial des campagnes en jeu solo</h2>
<p>La gestion des campagnes arrive enfin dans 0 A.D. ! Ce n’est que le début bien sûr, cette version apporte les outils nécessaires pour créer et gérer des campagnes en solo et une architecture extensible pour les versions futures.</p>
<p>Un sous-menu « Nouvelle campagne » est disponible pour le menu « Solo », il affiche une liste de campagnes disponibles à démarrer pour une nouvelle partie. Une fois une campagne sélectionnée, on peut accéder aux différents scénarios qu’elle contient.</p>
<p>Cette version fournit une campagne « Campagne Demo - nouvelles cartes » et une campagne « Tutoriel » : la première présente les nouvelles cartes de la version en amenant le joueur à travers chacune d’elles en mode campagne, la seconde contient les deux niveaux de tutoriel qui existaient déjà auparavant, intégré également en mode campagne.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30382f656372616e5f63616d7061676e652e706e67/ecran_campagne.png" alt="Scénarios de la campagne « Campagne Demo - nouvelles cartes »" title="Source : https://play0ad.com/wp-content/uploads/2021/08/ecran_campagne.png"></p>
<p>Un menu « Continuer campagne » est également disponible dans l’interface afin de reprendre une campagne sauvegardée.</p>
<p>Les modèles de campagne sont des fichiers JSON. On peut y préciser les éléments d’interface à utiliser, cela afin d’imaginer dans le futur des présentations/compositions complexes, pour le moment seulement de type liste, assez similaire à ce que propose Age of Empire I.</p>
<p>Le comportement des fins de scénarios enregistre pour le moment seulement les parties gagnées, la gestion est conçue de façon extensible afin de supporter une gestion plus complexe dans le futur comme la conservation d’unités d’un scénario à l’autre, etc.</p>
<p>Pas de configuration particulière de partie possible pour le moment : une nouvelle partie démarre avec la configuration par défaut prévue pour la campagne.</p>
<p>À vous maintenant de créer et partager vos propres campagnes !</p>
<h2 id="toc-recherche-de-chemin">Recherche de chemin</h2>
<p>La recherche de chemin (pathfinding) a été séparée en fils d’exécution. Les calculs de recherche de chemin sont gérés dorénavant de façon asynchrone, réduisant ainsi les ralentissements éventuels liés.</p>
<p>La « poussée des unités » (unitpushing) permet maintenant, pour les mouvements de foule d’unités, par une logique de poussées de fluidifier l’ensemble du mouvement (deux unités en mouvement poussent chacune l’autre unité si elle est trop proche d’elle). Cela se voit particulièrement par exemple dans la traversée d’un passage étroit par un grand groupe d’unités.</p>
<h2 id="toc-nouvelles-cartes">Nouvelles cartes</h2>
<ul>
<li><p>Crocodilopolis, l’ancien lac de Moeris, près du Nil dans le désert libyen (nouvelle carte « Escarmouche » 4 joueurs)<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30382f63726f636f64696c6f706f6c69732e706e67/crocodilopolis.png" alt="Crocodilopolis" title="Source : https://play0ad.com/wp-content/uploads/2021/08/crocodilopolis.png"></p></li>
<li><p>Péninsule de Milet, cité grecque (nouvelle carte « Escarmouche » 2 joueurs)<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30382f70656e696e73756c655f64755f6d696c65742e706e67/peninsule_du_milet.png" alt="Péninsule de Milet" title="Source : https://play0ad.com/wp-content/uploads/2021/08/peninsule_du_milet.png"></p></li>
<li><p>Hauts plateaux gaulois, hauts plateaux de Gaule centrale (nouvelle carte « Escarmouche » 2 joueurs)<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30382f686175745f706c6174656175785f6761756c6f69732e706e67/haut_plateaux_gaulois.png" alt="Hauts plateaux gaulois" title="Source : https://play0ad.com/wp-content/uploads/2021/08/haut_plateaux_gaulois.png"></p></li>
<li><p>Falaises blanches de Douvres, scénario d’invasion de Britannia (nouvelle carte « Escarmouche » 5 joueurs)<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30382f66616c61697365735f626c616e636865735f64655f646f75767265732e706e67/falaises_blanches_de_douvres.png" alt="Falaises blanches de Douvres" title="Source : https://play0ad.com/wp-content/uploads/2021/08/falaises_blanches_de_douvres.png"></p></li>
<li><p>Hiver cisalpin, près des Alpes au nord de l’actuelle Italie, appelée Gaule cisalpine par les Romains (nouvelle carte « Escarmouche » 2 joueurs)<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30382f6869766572735f636973616c70696e2e706e67/hivers_cisalpin.png" alt="Hiver cisalpin" title="Source : https://play0ad.com/wp-content/uploads/2021/08/hivers_cisalpin.png"></p></li>
<li><p>Îles de Méroé, au sud du Sahara et à l’est du Nil, aujourd’hui appelée Steppes du Butana (nouvelle carte « Escarmouche » 2 joueurs amenant un nouveau biome : Nubia)<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30382f696c655f64655f6d65726f652e706e67/ile_de_meroe.png" alt="Îles de Méroé" title="Source : https://play0ad.com/wp-content/uploads/2021/08/ile_de_meroe.png"></p></li>
</ul>
<p>De plus un filtre « Meilleures cartes pour le multijoueur » a été ajouté.</p>
<h2 id="toc-files-dattente">Files d’attente</h2>
<p>Un nouveau bouton « Activer la mise automatique en fil d’attente » a été ajouté aux structures. Elle permet de créer en continu des unités (unités de combats, chevaux, etc.).<br>
Cela est une petite révolution dans le gameplay qui va vous permettre d’économiser un grand nombre de clics et donc de passer plus de temps sur la gestion ! Attention au retour de flamme cependant : les ressources se consomment automatiquement au même rythme, soyez attentifs !</p>
<p>La file d’attente s’interrompt complètement si, pour un de ses éléments, les ressources sont insuffisantes ou si la limite de nombre maximum est atteinte (champions ou animaux domestiques par exemple).</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30382f6175746f71756575652e6a7067/autoqueue.jpg" alt="File d’attente automatique" title="Source : https://play0ad.com/wp-content/uploads/2021/08/autoqueue.jpg"></p>
<p>Les technologies en cours de développement dans une file d’attente dans de multiples structures sont dorénavant distribuées selon leur durée au lieu de l’ID.</p>
<p>Les joueurs peuvent maintenant, lorsque plusieurs ordres sont en file d’attente pour une unité, pousser un ordre en tête de file. Il faut d’abord définir un raccourci de clavier avant de pouvoir l’utiliser.</p>
<p>On peut maintenant effectuer un clic-droit sur un élément en file d’attente pour obtenir des informations contextuelles, pour décider l’ordre des technologies à développer par exemple.</p>
<h2 id="toc-fusées-éclairantes-sur-la-mini-carte">Fusées éclairantes sur la mini-carte</h2>
<p>Cette nouvelle version amène l’ajout de fusées éclairantes sur la mini-carte. </p>
<p>Les joueurs de jeu de stratégie temps réel chevronnés sont déjà familiers avec ce dispositif. Il permet traditionnellement d’envoyer un signal par un clic sur un endroit donné de la mini-carte, l’endroit cliqué étant signalé aux alliés et/ou adversaires au choix, le signal étant sonore d’une part et graphique d’autre part par un signe distinctif (cercles concentriques en mouvement ici) sur la mini-carte et élément physique dans le monde du jeu (un point d’exclamation modélisé ici à la couleur de son émetteur).</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30382f666c6172652e706e67/flare.png" alt="Fusée éclairante : cercles concentriques sur la mini-carte et indicateur ! dans le monde" title="Source : https://play0ad.com/wp-content/uploads/2021/08/flare.png"></p>
<p>La bande-annonce de la version détaille son fonctionnement dans 0 A.D.</p>
<h2 id="toc-réorganisation-et-nouvelles-options-graphiques">Réorganisation et nouvelles options graphiques</h2>
<p>Les paramètres graphiques ont été scindés en 2 parties : général et avancé.</p>
<p>Pour le post-traitement, on peut maintenant choisir d’activer anticrénelage et le filtre à appliquer. On peut également choisir d’activer un filtre d’accentuation et en choisir le facteur.</p>
<p>Pour les modèles 3D, on peut définir : </p>
<ul>
<li>le réglage de leur qualité, de « Faible » à « Haute »</li>
<li>la randomisation de leur apparence, au prix d’une petite baisse de performance, ceci sélectionne différents modèles pour une même unité.</li>
</ul>
<p>Pour les ombres, on peut choisir :</p>
<ul>
<li>si l’on applique une distance de coupure, c’est-à-dire masquer les ombres au-delà d’une certaine distance de la caméra</li>
<li>si l’on couvre toute la carte, cela permet entre autres un meilleur rendu pour des captures d’écrans de carte entières (à ce moment-là, la distance de coupure choisie est ignorée).</li>
</ul>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f77696c646669726567616d65732e636f6d2f666f72756d2f75706c6f6164732f6d6f6e74686c795f323032315f30362f73637265656e73686f74313030352e706e672e39666461303665303961663337663264373466636536386566656165653662642e706e67/screenshot1005.png.9fda06e09af37f2d74fce68efeaee6bd.png" alt="Vue graphique d’une cité" title="Source : https://wildfiregames.com/forum/uploads/monthly_2021_06/screenshot1005.png.9fda06e09af37f2d74fce68efeaee6bd.png"></p>
<h2 id="toc-intelligence-artificielle">Intelligence artificielle</h2>
<p>Les animaux domestiques fuient maintenant lorsqu’ils sont attaqués.</p>
<p>Plus de code d’I.A. séparé de celui des autres unités, tout a été fusionné dans le « UnitAI », améliorant globalement le comportement des animaux.<br>
Plus globalement en termes de créativité, on peut imaginer l’ajout d’unités humaines se comportant comme des animaux et inversement.</p>
<p>Et aussi <a href="https://trac.wildfiregames.com/wiki/Alpha25#AI">amélioration globale du gameplay</a> de l’I.A. joueuse Petra (plus basiquement, l’I.A. est meilleure / plus forte, très notablement par rapport à la version alpha 24).</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f77696c646669726567616d65732e636f6d2f666f72756d2f75706c6f6164732f6d6f6e74686c795f323032315f30372f323039353035343837375f6661726d616e64686172626f75727069632e706e672e36373636303836303137623662346531373863343331616433653937343861392e706e67/2095054877_farmandharbourpic.png.6766086017b6b4e178c431ad3e9748a9.png" alt="Panorama divers sans origine connue 3" title="Source : https://wildfiregames.com/forum/uploads/monthly_2021_07/2095054877_farmandharbourpic.png.6766086017b6b4e178c431ad3e9748a9.png"></p>
<h2 id="toc-nouvelle-condition-de-défaite">Nouvelle condition de défaite</h2>
<p>Une condition de défaite, bien sûr optionnelle, a été ajoutée sur la perte du centre-ville. </p>
<p>Les fondations de centre-ville sont exclues de cette condition, sinon les parties en mode « Nomade » seraient perdues dès le commencement.</p>
<p>Les raisons de l’ajout sont principalement les suivantes :</p>
<ul>
<li>Une défaite est plus simple à obtenir sur cette configuration plutôt que la destruction totale des bâtiments et unités par exemple, ceci générant une longue chasse pouvant être ennuyeuse en fin de partie.</li>
<li>Moins de « retour depuis les morts » : c’est-à-dire un joueur globalement vaincu mais ayant par exemple conservé une fondation dans un coin de la carte, pouvant ainsi se rétablir en recevant des ressources de ses alliés.</li>
<li>Plus d’incitations à construire des bases secondaires.</li>
</ul>
<h2 id="toc-modding">Modding</h2>
<p>Cette version ajoute aussi <a href="https://trac.wildfiregames.com/wiki/Alpha25#Modding">modifications, corrections d’anomalies et amélioration</a> de l’API de modding.</p>
<p>C’est l’occasion de rappeler que Pyrogenesis, le moteur de 0 A.D., créé et maintenu par la même équipe, est ouvert au modding. On peut même s’avancer pour dire que 0 A.D. est simplement un mod pour Pyrogenesis.</p>
<p>On peut retrouver les mods disponibles sur <a href="https://0ad.mod.io/">mod.io</a> ou sur <a href="https://www.moddb.com/games/0-ad/mods">moddb.com</a>, la plupart étant directement téléchargeables et activables depuis l’interface du jeu dans « Paramètres > Sélection des mods » puis en cliquant sur « Télécharger des mods » (ce qui récupère la liste des mods disponible depuis mod.io).</p>
<p>Certains mods modifient ou ajoutent du gameplay de 0 A.D. mais d’autres changent complètement le jeu pour en faire un nouveau jeu de stratégie temps réel dans le même style. N’hésitez pas à en essayer ! Il se peut qu’une fonctionnalité vous manquant en jeu existe déjà en mod.</p>
<p>Vous pouvez également vous-mêmes contribuer à des mods existants ou en créer un nouveau en suivant le (modding) <a href="https://trac.wildfiregames.com/wiki/Modding_Guide">guide</a>.</p>
<h2 id="toc-Éléments-divers">Éléments divers</h2>
<p>Les raccourcis de clavier sont regroupés de façon plus cohérente et mieux traduits. La recherche de raccourcis est dorénavant insensible à la casse.</p>
<p>Un raccourci a été ajouté pour aller là où a eu lieu la dernière notification d’attaque.</p>
<p>Une indication graphique a été ajoutée pour les armes de siège mobiles ainsi que les bâtiments se défendant par jets de flèches permettant de visualiser la distance d’attaque possible (cercle entourant l’unité/la structure).</p>
<p>Les unités auxquelles on donne l’ordre d’attaquer un animal attaquent maintenant celui-ci directement, même si leur stock est rempli de ressources.</p>
<p>En partie aléatoire sur la carte « Forteresse », les joueurs commencent dans une forteresse avec des bâtiments pré-construits entourés d’une muraille solide. Dans ces bâtiments, l’étable (seule structure permettant l’entraînement de la cavalerie depuis qu’elle a été retirée de la caserne) était absente, obligeant les joueurs ou l’I.A. Petra à en construire une hors des murs par manque de place.<br>
Cette évolution sacrifie une maison pour obtenir la place nécessaire à la présence par défaut d’une étable au commencement de la partie.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30382f657461626c655f64616e735f666f72746572657373652e6a7067/etable_dans_forteresse.jpg" alt="Étable présente dans une forteresse" title="Source : https://play0ad.com/wp-content/uploads/2021/08/etable_dans_forteresse.jpg"></p>
<p>Diverses améliorations visuelles pour la <a href="https://trac.wildfiregames.com/wiki/Alpha25#GUI">G.U.I.</a> et nombreuses <a href="https://trac.wildfiregames.com/wiki/Alpha25#Art">améliorations graphiques</a>.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f77696c646669726567616d65732e636f6d2f666f72756d2f75706c6f6164732f6d6f6e74686c795f323032315f30362f73637265656e73686f74303937382d322e706e672e34333534313631623765306465343239383131343335346431653330653166392e706e67/screenshot0978-2.png.4354161b7e0de4298114354d1e30e1f9.png" alt="Vue HD d’une partie de jeu représentant un port et des pêcheurs" title="Source : https://wildfiregames.com/forum/uploads/monthly_2021_06/screenshot0978-2.png.4354161b7e0de4298114354d1e30e1f9.png"></p>
<p>De nombreux équilibrages, trop nombreux pour être détaillés, que l’on peut retrouver dans le <a href="https://trac.wildfiregames.com/wiki/Alpha25#Balance">changelog</a> ainsi que de nombreuses corrections d’anomalies retrouvables également dans le <a href="https://trac.wildfiregames.com/wiki/Alpha25#BugFix">changelog</a>.</p>
<h2 id="toc-jouer-en-ligne-à-0-ad">Jouer en ligne à 0 A.D.</h2>
<p>Jouer en ligne à 0ad est très facile et amusant ! Il suffit de cliquer sur « Multijoueur > Hall multijoueur » et de s’inscrire à une partie, il y a maintenant des joueurs à toute heure de la journée.<br>
Lorsqu’on débute, on a un score de 1200, ce qui est assez élevé. Il est bon d’avoir un score qui reflète votre niveau pour trouver des parties équilibrées.<br>
Pour faire évoluer votre score, il faut participer à des parties classées à deux joueurs. Si vous êtes débutant, n’hésitez pas à faire baisser votre score à 900, vous trouverez alors d’autres débutants pour jouer avec vous !<br>
Et puis, pourquoi ne pas organiser des rencontres entre joueurs de LinuxFr.org ? On en discute dans les commentaires ?</p>
<h2 id="toc-bugs-connus">Bugs connus</h2>
<ul>
<li>L'installation des mods présente quelques soucis, il faut redémarrer le jeu à chaque nouvelle installation.</li>
<li>Le nombre d'observateurs sur une partie multijoueur est incorrect.</li>
<li>Les poissons peuvent être difficiles à voir avec les options graphiques au minimum</li>
<li>Les parties classées multijoueur ne fonctionnent pas. (le score n'est pas toujours enregistré)</li>
</ul>
<p>Tous ces bugs seront corrigés dans la version A25b qui va sortir très bientôt, afin de repartir sur des bases plus saines pour l'A26 prévue pour l'an prochain.</p>
<h2 id="toc-contribuez">…Contribuez !</h2>
<p><em>0 A.D.</em> bien que parfaitement jouable est toujours aujourd’hui un jeu en Alpha et accueille des contributrices et des contributeurs de tous les horizons pour le faire avancer. Bien qu’annoncé en intro, l’équipe recherche :</p>
<ul>
<li>des développeurs C++, sur l’amélioration du moteur de jeu Pyrogenesis (écrit en C++) qui progresse vers plus de généricité et notamment sur le pipeline graphique ;</li>
<li>des développeurs JavaScript, sur les mécaniques de jeu ;</li>
<li>des réviseurs, le process de qualité en réclame ;</li>
<li>des artistes, particulièrement pour l’animation et l’environnement ;</li>
<li>des traducteurs, via <a href="https://www.transifex.com/wildfire-games/0ad/">Transifex</a> ;</li>
<li>des testeurs, en jouant tout simplement ;</li>
<li>des passionnés de documentation ;</li>
<li>des personnes qui souhaitent en parler, communiquer comme cette présente dépêche, présenter le jeu, faire et diffuser des vidéos, etc.</li>
</ul>
<p>Vous pouvez également <a href="https://play0ad.com/community/donate/">effectuer des dons</a> ou simplement parler de 0 A.D. autour de vous.</p>
<p>Venez discuter sur <a href="http://www.wildfiregames.com/forum/">le forum</a> ou le <a href="http://webchat.quakenet.org/?channels=0ad">canal IRC</a> (<em>#0ad</em> sur <em>QuakeNet</em>) du projet.</p>
<p>Vous pouvez aussi nous contacter par courriel : <em>webmaster</em> at <em>wildfiregames</em> point <em>com</em>.</p>
<p>Nous sommes aussi sur les réseaux sociaux suivants :</p>
<ul>
<li>
<a href="http://play0ad.bandcamp.com/">BandCamp</a> ;</li>
<li>
<a href="http://facebook.com/play0ad">Facebook</a> ;</li>
<li>
<a href="https://www.instagram.com/play0ad.official/">Instagram</a> ;</li>
<li>
<a href="https://mastodon.social/web/accounts/1074531">Mastodon</a> ;</li>
<li>
<a href="https://www.moddb.com/games/0-ad">ModDB</a> ;</li>
<li><a href="https://0ad.mod.io/">Mod.io</a></li>
<li><a href="https://play0ad.itch.io/0ad">itch.io</a></li>
<li>
<a href="https://www.indiedb.com/games/0-ad">IndieDB</a> ;</li>
<li>
<a href="https://www.reddit.com/r/0ad/">Reddit</a> ;</li>
<li>
<a href="https://twitter.com/play0ad">Twitter</a> ;</li>
<li>
<a href="https://www.youtube.com/play0ad">YouTube</a> ;</li>
<li>
<a href="https://www.linkedin.com/company/345131/admin/">Linkedin</a>.</li>
</ul>
</div><div><a href="https://linuxfr.org/news/sortie-de-0-a-d-alpha-25-yauna.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/125093/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/sortie-de-0-a-d-alpha-25-yauna#comments">ouvrir dans le navigateur</a>
</p>
play0ad
Alcyone
Benoît Sibaud
Ailurus
anaseto
Cyprien
https://linuxfr.org/nodes/125093/comments.atom
tag:linuxfr.org,2005:News/40468
2021-05-20T20:31:05+02:00
2021-05-21T12:02:06+02:00
Unvanquished 0.52 Beta est là
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>Nous sommes fiers de vous présenter le jeu Unvanquished en version 0.52, notre première version beta. 😎</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210504-072808-002.unvanquished-0.52-human-team.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f756e76616e717569736865642d302e35322d626574612d6573742d6c612f32303231303530342d3037323830382d3030322e756e76616e717569736865642d302e35322d68756d616e2d7465616d2e3936302e6a7067/20210504-072808-002.unvanquished-0.52-human-team.960.jpg" alt="Équipe humaine" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210504-072808-002.unvanquished-0.52-human-team.960.jpg"></a></p>
<p>Si vous êtes fatigué de désamorcer des bombes, ou d’être le dernier survivant d’une <em>battle royale</em> qui n’en finit pas, lassé de boxer des démons l’un après l’autre et d’aligner des cyberpunks et de vilains robots en arène, ou si vous voulez simplement tester quelque chose de différent, Unvanquished est fait pour vous.</p>
<p>Vous pouvez <a href="https://unvanquished.net/download/">télécharger le jeu dès maintenant</a> pour Linux, Windows et macOS et <a href="https://unvanquished.net/servers/">rejoindre nos serveurs en ligne</a> pour jouer immédiatement. Cependant, si vous vous sentez trop jeune pour mourir, vous voudrez en lire un peu plus. 👇</p>
<p><em>Note de l’auteur — Ceci est une traduction de <a href="https://unvanquished.net/unvanquished-0-52-beta-is-there/">l’annonce du 14 mai</a> que j’ai écrite pour le site d’Unvanquished. Cet article est sous licence <a href="https://creativecommons.org/publicdomain/zero/1.0/deed.fr">CC 0 1.0</a>. Je remercie clement_686 et iltis2017 pour leur contribution à la traduction, ainsi que afontain, yPhil et tous ceux qui ont apporté des corrections.</em></p>
</div><ul><li>lien nᵒ 1 : <a title="https://unvanquished.net/download/" hreflang="en" href="https://linuxfr.org/redirect/108558">Télécharger le jeu Unvanquished</a></li><li>lien nᵒ 2 : <a title="https://unvanquished.net/unvanquished-0-52-beta-is-there/" hreflang="en" href="https://linuxfr.org/redirect/108559">Annonce originale en anglais pour Unvanquished 0.52 (unvanquished.net)</a></li><li>lien nᵒ 3 : <a title="https://linuxfr.org/news/annonce-du-moteur-de-jeu-daemon-0-52-beta" hreflang="fr" href="https://linuxfr.org/redirect/108560">Annonce du moteur de jeu Dæmon 0.52 Beta (linuxfr.org)</a></li><li>lien nᵒ 4 : <a title="https://linuxfr.org/users/illwieckz/journaux/unvanquished-changements-de-gameplay-a-venir" hreflang="fr" href="https://linuxfr.org/redirect/108561">Unvanquished : Changements de gameplay à venir (linuxfr.org)</a></li><li>lien nᵒ 5 : <a title="https://linuxfr.org/news/batir-une-communaute-comme-un-service" hreflang="fr" href="https://linuxfr.org/redirect/108562">Unvanquished : Bâtir une communauté comme un service (linuxfr.org)</a></li><li>lien nᵒ 6 : <a title="https://linuxfr.org/news/unvanquished-maintenant-nous-sommes-libres" hreflang="fr" href="https://linuxfr.org/redirect/108563">Unvanquished : Maintenant nous sommes libres ! (linuxfr.org)</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#toc-retour-aux-sources">Retour aux sources</a></li>
<li><a href="#toc-que-la-lumi%C3%A8re-soit">Que la lumière soit</a></li>
<li><a href="#toc-chants-de-la-terre-lointaine">Chants de la Terre lointaine</a></li>
<li><a href="#toc-premier-atterrissage">Premier atterrissage</a></li>
<li><a href="#toc-no-mans-land">No man’s land</a></li>
<li><a href="#toc-%C3%8Atre-libre">Être libre</a></li>
<li><a href="#toc-seul-le-temps-le-dira">Seul le temps le dira</a></li>
</ul>
<p>Illustration de première page : <em>un soldat clone mal équipé et vulnérable avec un kit de construction, un autre soldat avec une armure légère, un radar et un fusil à pompe, un autre avec une armure moyenne, un jetpack et un lasgun, et le dernier tout à droite porte une armure de combat et porte un canon lucifer, ce dernier est bien équipé pour faire face au tyrants, ils prennent la pose sur la carte Forlorn.</em></p>
<h2 id="toc-retour-aux-sources">Retour aux sources</h2>
<p>Unvanquished est un jeu de stratégie en temps réel et à la première personne : <em>prends une arme, construis ta base, reste vivant, et protège ton équipe.</em></p>
<p>En tant que jeu de survie en équipe basé sur des classes, Unvanquished présente deux équipes opposées qui se battent pour leur survie : des humains suréquipés contre des hordes d’aliens, les uns comme les autres essayant de faire disparaître l’autre espèce de la face du monde.</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210504-081116-002.unvanquished-0.52-alien-team.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f756e76616e717569736865642d302e35322d626574612d6573742d6c612f32303231303530342d3038313131362d3030322e756e76616e717569736865642d302e35322d616c69656e2d7465616d2e3936302e6a7067/20210504-081116-002.unvanquished-0.52-alien-team.960.jpg" alt="Équipe alien" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210504-081116-002.unvanquished-0.52-alien-team.960.jpg"></a></p>
<p><em>Un imposant tyrant, un dragoon avancé et un marauder avancé reprennent des forces dans leur base, sur le mur un dretch et une mante exercent leur capacité à marcher sur les murs, tandis qu’un granger avancé construit une ruche dans la carte Plateforme 23.</em></p>
<p>Comme jeu de stratégie en temps réel, Unvanquished met en œuvre des mécanismes de gestion de ressources. En développant une dynamique, votre équipe peut progresser (et régresser !) à travers des ères que l’on appelle stages, débloquant de nouvelles technologies qui feront plus de dégâts, ainsi que d’autres défenses pour vous sécuriser vous, et votre base. Vous toucherez votre salaire et recevrez des primes pour vos faits d’armes, tout en essayant de ne pas devenir le repas de votre ennemi. Pour étendre votre territoire et le sécuriser, vous extrairez des ressources minières.</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210504-082658-002.unvanquished-0.52-human-builder.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f756e76616e717569736865642d302e35322d626574612d6573742d6c612f32303231303530342d3038323635382d3030322e756e76616e717569736865642d302e35322d68756d616e2d6275696c6465722e3936302e6a7067/20210504-082658-002.unvanquished-0.52-human-builder.960.jpg" alt="Constructions humaines" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210504-082658-002.unvanquished-0.52-human-builder.960.jpg"></a></p>
<p><em>Un joueur humain construit des structures de défenses pour protéger sa base de la menace extra-terrestre sur la carte Perseus.</em></p>
<p>Unvanquished étant également un FPS (jeu de tir à la première personne) vous verrez tout ce qui se passe à travers les yeux de votre personnage et en temps réel. Vous vous réjouirez d’échapper à des rencontres mortelles dans un couloir inquiétant grâce à votre gros calibre et exterminerez ces nuisibles. <em>« Faites votre part ! »</em> qu’ils disent… En tant qu’alien, vous piégerez ces bipèdes émotifs et leur ferez oublier qu’ils ont été humains, cacherez vos œufs dans de sombres recoins et retournerez mordre violemment les humains alors qu’ils pensaient être en sécurité. Dans l’espace, personne ne vous entendra crier ? Sur Terre non plus : personne n’entendra le dernier soldat hurlant à la mort.</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210504-083923-002.unvanquished-0.52-alien-builder.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f756e76616e717569736865642d302e35322d626574612d6573742d6c612f32303231303530342d3038333932332d3030322e756e76616e717569736865642d302e35322d616c69656e2d6275696c6465722e3936302e6a7067/20210504-083923-002.unvanquished-0.52-alien-builder.960.jpg" alt="Constructions aliens" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210504-083923-002.unvanquished-0.52-alien-builder.960.jpg"></a></p>
<p><em>Courageux ou imprudent sera l’humain qui franchira cette porte… Un granger avancé marchant sur les murs contemple de haut ses défenses sur la carte Antares.</em></p>
<p>Le bombardier stratégique d’Unvanquished B-52 a un colis spécial pour vous : vous pouvez commencer à télécharger le jeu immédiatement en utilisant <a href="https://unvanquished.net/download/">notre lanceur</a> et rejoindre les <a href="https://unvanquished.net/servers/">serveurs en ligne</a> !</p>
<p>Unvanquished est entièrement gratuit et son code source ouvert, vous n’aurez pas à payer pour débloquer les personnages iconiques de l’univers, il n’y a pas de micros transactions ni de « loot boxes »… Unvanquished est jouable gratuitement, téléchargeable gratuitement, copiable gratuitement, partageable gratuitement, étudiable gratuitement, modifiable gratuitement et libre à la contribution. Nous considérons nos joueurs comme des personnes responsables et respectables, de même pour nos contributeurs… Vous êtes les bienvenus dans notre monde !</p>
<h2 id="toc-que-la-lumière-soit">Que la lumière soit</h2>
<p>Après 2 ans et demi de travail depuis l’alpha 0.51, il s’agit d’une étape importante dans le développement Unvanquished. Il est temps de célébrer la 0.52, notre première version bêta !</p>
<p>Nous pensons que le moteur et l’expérience de jeu sont suffisamment léchés pour passer en bêta. Notre jeu est jouable depuis le début, mais nous utilisons les statuts alpha et bêta pour marquer les étapes que nous voulons atteindre.</p>
<p>Tout du jeu, du moteur aux données, est suivi dans des dépôts Git. Notre jeu est désormais libre et ouvert dans tous ses aspects. N’importe qui peut produire des binaires du jeu portables et prêts pour être distribués. Nous avons un <a href="https://netradiant.gitlab.io/">éditeur de niveau</a> compatible. Nous avons rendu notre infrastructure plus solide. Le moteur a atteint le niveau de qualité que nous voulions, etc.</p>
<p>Un jeu comme Unvanquished est un énorme projet. Cela implique le développement du moteur de jeu, le <em>gameplay</em>, de la modélisation, de la conception de niveaux, mais aussi toute l’infrastructure sous-jacente pour distribuer le jeu et connecter les joueurs entre eux. Expliquer cette infrastructure pourrait demander un article dédié.</p>
<p>Nous pensons désormais que nous pouvons mettre l’étiquette Beta sur notre jeu à cause de tout cela.</p>
<p>Bien entendu, nous connaissons l’existence de tel ou tel bug amusant. Nous avons décidé de retirer des objectifs de la Bêta le remplacement de toutes les données de Tremulous, parce que cela n’a aucun impact sur la jouabilité de toute façon… La route vers notre version 1.0 est toujours devant nous. Mais aujourd’hui est une de nos plus grandes étapes dans l’histoire d’Unvanquished. Notre très bon ami kharnov (un des précédents chefs de projet) voulait voir la version 0.51 atteindre le statut de bêta, la 0.51 était un peu comme notre bêta cachée et elle a rendu le service attendu pendant plus de deux ans. Maintenant que la 0.52 est là, oui, nous sommes officiellement en bêta.</p>
<p>Le numéro de version n’indique pas l’ampleur du travail réalisé. Jusqu’à la version 50 nous faisions des sorties mensuelles. Le rythme de développement n’a jamais ralenti, et si nous avions conservé ce calendrier de publication, la version 51 aurait été la 82, et la version 52 aurait été la 111. Donc notre bêta 52 est une bêta 111 déguisée.</p>
<h2 id="toc-chants-de-la-terre-lointaine">Chants de la Terre lointaine</h2>
<p>Au commencement, Unvanquished a démarré comme la suite d’un bon vieux jeu que beaucoup d’entre nous ont apprécié : <a href="https://tremulous.net/">Tremulous</a>. Tremulous était fun et a acquis une large base de joueurs, mais après la première version 1.1 d’automne 2006, la version 1.2 n’est jamais arrivée sous le sapin de Noël… Par conséquent, beaucoup de personnes ont eu l’idée de continuer le projet. La majorité des contributeurs d’Unvanquished était au départ des contributeurs de Tremulous ou membres de sa communauté, qui étaient bien connus pour leur production renommée comme des cartes réputées et un moteur alternatif apportant beaucoup d’améliorations.</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/unvanquished/annonce-du-moteur-de-jeu-daemon-0.52-beta/20210504.unvanquished-history.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f616e6e6f6e63652d64752d6d6f746575722d64652d6a65752d6461656d6f6e2d302e35322d626574612f32303231303530342e756e76616e717569736865642d686973746f72792e3936302e706e67/20210504.unvanquished-history.960.png" alt="La généalogie d’Unvanquished" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/annonce-du-moteur-de-jeu-daemon-0.52-beta/20210504.unvanquished-history.960.png"></a></p>
<p><em>La généalogie d’Unvanquished.</em></p>
<p>Les ambitions d’Unvanquished étaient plus vastes que d’être uniquement un projet de maintenance : il y avait aussi une volonté d’améliorer les outils autour du jeu, et d’aller un peu plus loin dans les technologies et les méthodologies héritées des années 90, tout en accompagnant prudemment les joueurs et les contributeurs avec des changements progressifs, un par un tout en gardant une courbe de progression, et en évitant de fermer la porte aux migrations de contenu tierce-partie.</p>
<p>Unvanquished est basé sur le moteur Dæmon <a href="//linuxfr.org/news/annonce-du-moteur-de-jeu-daemon-0-52-beta">que nous avons présenté</a> dans notre article précédent. Le moteur Dæmon vit comme un projet libre à part entière, avec un développement <a href="https://github.com/DaemonEngine/Daemon">actuellement hébergé chez GitHub</a>. Si vous voulez baser votre jeu sur le moteur Dæmon, vous êtes bienvenu, il est fait pour ça !</p>
<h2 id="toc-premier-atterrissage">Premier atterrissage</h2>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210504-055819-001.unvanquished-0.52-welcome.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f756e76616e717569736865642d302e35322d626574612d6573742d6c612f32303231303530342d3035353831392d3030312e756e76616e717569736865642d302e35322d77656c636f6d652e3936302e706e67/20210504-055819-001.unvanquished-0.52-welcome.960.png" alt="Écran d’accueil" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210504-055819-001.unvanquished-0.52-welcome.960.png"></a></p>
<p><em>Lorsque le jeu est lancé pour la première fois, le jeu demande le pseudonyme de l’utilisateur puis ouvre la liste des serveurs immédiatement après ça.</em></p>
<p>Nous avons beaucoup affiné l’expérience utilisateur. Désormais au premier démarrage le jeu demande au joueur le pseudonyme avec lequel il désire être appelé, puis redirige immédiatement vers la liste des serveurs pour sauter dans l’action le plus vite possible.</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210504-092451-002.unvanquished-0.52-on-screen-tutorial.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f756e76616e717569736865642d302e35322d626574612d6573742d6c612f32303231303530342d3039323435312d3030322e756e76616e717569736865642d302e35322d6f6e2d73637265656e2d7475746f7269616c2e3936302e6a7067/20210504-092451-002.unvanquished-0.52-on-screen-tutorial.960.jpg" alt="Tutoriel à l’écran" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210504-092451-002.unvanquished-0.52-on-screen-tutorial.960.jpg"></a></p>
<p><em>Le tutoriel à l’écran (à gauche) explique à l’humain blessé comment il peut faire pour utiliser son kit de soins.</em></p>
<p>Le tutoriel à l’écran est censé être complet, disant au nouveau joueur comment faire, quoi et quand. Par exemple les instructions à l’écran peuvent indiquer au joueur quelles touches à utiliser pour construire sa base ou pour utiliser la grenade qu’ils viennent d’acheter. Lorsque la santé du joueur est basse, il pourra trouver sur son écran un message qui explique comment utiliser le kit de soins (<em>medkit</em>) ou lui conseiller de retourner sur une structure de soins (<em>medistation</em>), la ou les positions étant indiquées par une balise à l’écran. Ce texte tutoriel peut être désactivé dans les préférences du joueur (« <em>Player</em> »).</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210504-060053-001.unvanquished-0.52-input-presets.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f756e76616e717569736865642d302e35322d626574612d6573742d6c612f32303231303530342d3036303035332d3030312e756e76616e717569736865642d302e35322d696e7075742d707265736574732e3936302e706e67/20210504-060053-001.unvanquished-0.52-input-presets.960.png" alt="Préréglages d’association de touche" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210504-060053-001.unvanquished-0.52-input-presets.960.png"></a></p>
<p><em>Préréglages d’association de touche.</em></p>
<p>Nous avons entièrement refondu les associations de touches par défaut pour que le jeu soit utilisable par les nouveaux joueurs sans avoir à les modifier… Nous fournissons aussi un choix de préconfigurations adaptées à vos goûts, incluant l’agencement WASD ou bien l’agencement ESDF. Le système d’attribution de touches est indépendant de l’agencement de votre langue, par conséquent si vous utilisez un clavier AZERTY, choisir l’option WASD configurera le jeu en ZQSD directement, sans aucun réglage à faire de votre part, et le tutoriel s’adaptera selon l’agencement de votre langue.</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210505-084606-002.unvanquished-0.52-scaled-ui.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f756e76616e717569736865642d302e35322d626574612d6573742d6c612f32303231303530352d3038343630362d3030322e756e76616e717569736865642d302e35322d7363616c65642d75692e3936302e6a7067/20210505-084606-002.unvanquished-0.52-scaled-ui.960.jpg" alt="Champ de vision ultra large" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210505-084606-002.unvanquished-0.52-scaled-ui.960.jpg"></a></p>
<p><em>Un champ de vision ultra large tel que peut le voir un marauder avancé sur la map Thunder.</em></p>
<p>L’interface utilisateur est maintenant ajustée selon la taille de l’écran de l’utilisateur pour la rendre lisible depuis le 640×480… jusqu’au 4K et au-dessus, et cela s’adapte automatiquement quel que soit le ratio que votre écran utilise, que ce soit avec le bon vieux 4:3, le plus commun 16:9 ou bien les écrans ultra-larges comme le 32:9… Nous validons généralement le matériel avec une résolution 4K, mais quel que soit votre écran, l’interface utilisateur devrait être lisible.</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210504-060042-001.unvanquished-0.52-graphics-presets.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f756e76616e717569736865642d302e35322d626574612d6573742d6c612f32303231303530342d3036303034322d3030312e756e76616e717569736865642d302e35322d67726170686963732d707265736574732e3936302e706e67/20210504-060042-001.unvanquished-0.52-graphics-presets.960.png" alt="Préréglages graphiques" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210504-060042-001.unvanquished-0.52-graphics-presets.960.png"></a></p>
<p><em>Préréglages graphiques</em></p>
<p>Nous fournissons aussi des préréglages graphiques que nous avons profondément testés. En gros, le preset le plus bas (<em>lowest</em>) est pour les systèmes très vieux et obsolètes (on l’a même testé sur des vieilles cartes AGP !) et utilise une résolution de texture très basse, désactive le rebond de particle, et désactive même le ciel. Le préréglage bas (<em>lowest</em>) est un poil moins moche, mais au moins vous avez un ciel. Le réglage moyen (<em>medium</em>) active les textures mixtes (<em>multitexturing</em>), donc vous aurez de belles textures détaillées avec des reflets d’éclairage corrects. Le préréglage moyen est considéré comme un bon préréglage, apportant au joueur ce que nous voulons qu’il ait. Ensuite le préréglage haut (<em>high</em>) active l’éclairage dynamique et le préréglage ultra active les cartes de hauteur. Le <em>relief mapping</em> est une nouvelle fonctionnalité introduite par la 0.52. Toutes les textures n’ont pas encore de carte de hauteur mais nous avons importé un paquet d’entre elle depuis <a href="https://xonotic.org/">le jeu Xonotic</a> pour les textures que nous avons en commun.</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210504-100051-002.unvanquished-0.52-circle-menu.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f756e76616e717569736865642d302e35322d626574612d6573742d6c612f32303231303530342d3130303035312d3030322e756e76616e717569736865642d302e35322d636972636c652d6d656e752e3936302e6a7067/20210504-100051-002.unvanquished-0.52-circle-menu.960.jpg" alt="Menu en cercle" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210504-100051-002.unvanquished-0.52-circle-menu.960.jpg"></a></p>
<p><em>Le menu en cercle des évolutions d’aliens, tandis qu’un dretch tente d’évoluer en toute sécurité dans la carte Yocto.</em></p>
<p>Les menus en cercle ont été réécrits. Dans Unvanquished les menus en cercle sont utilisés pour le menu d’achat d’armes et d’équipements à l’armurerie, ou dans le menu d’évolution alien, les menus de constructions humain et alien, ainsi que pour le menu de balise. Ces menus en cercle sont maintenant centrés correctement, et des touches de raccourcis peuvent maintenant être utilisées pour choisir un élément avec une touche de chiffre. Dans le menu d’achat humain, la touche Tabulation peut être utilisée pour basculer de la catégorie armes à la catégorie équipements.</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210505-073127-001.unvanquished-0.52-gameplay-guide.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f756e76616e717569736865642d302e35322d626574612d6573742d6c612f32303231303530352d3037333132372d3030312e756e76616e717569736865642d302e35322d67616d65706c61792d67756964652e3936302e706e67/20210505-073127-001.unvanquished-0.52-gameplay-guide.960.png" alt="Le guide intégré au jeu" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210505-073127-001.unvanquished-0.52-gameplay-guide.960.png"></a></p>
<p><em>Le guide intégré au jeu.</em></p>
<p>Le guide intégré du jeu a été récrit. Il n’est pas parfait mais au moins désormais il ne parle plus de choses obsolètes, et ne suppose plus que le nouveau joueur connaisse Tremulous parce que le temps a passé, les nouveaux joueurs peuvent découvrir ce genre de jeu avec Unvanquished même !</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210508-053155-001.unvanquished-0.52-beta-notice.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f756e76616e717569736865642d302e35322d626574612d6573742d6c612f32303231303530382d3035333135352d3030312e756e76616e717569736865642d302e35322d626574612d6e6f746963652e706e67/20210508-053155-001.unvanquished-0.52-beta-notice.png" alt="La note à propos du statut Beta d’Unvanquished" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210508-053155-001.unvanquished-0.52-beta-notice.png"></a></p>
<p><em>La note à propos du statut Beta d’Unvanquished.</em></p>
<p>Pour que ce soit explicite, le jeu affiche en bas à gauche du menu principal un message qui précise que le jeu est en cours de développement. Bien sûr, ce message n’est pas présent lorsqu’on joue, il n’est là que sur le menu principal.</p>
<p>Il est désormais possible de faire tourner le jeu en mode fenêtré sans bordure, en plus des options de plein écran ou de fenêtrage classique.</p>
<p>Nous voulons privilégier les sorties rapides, régulières (<em>release early, release often</em>) bien que nous ayons du travail pour revenir à « régulier ». Rapportez les bugs que vous voyez. 🙂</p>
<h2 id="toc-no-mans-land">No man’s land</h2>
<p>Pour les propriétaires de serveurs, nous <a href="https://github.com/Unvanquished/Unvanquished/tree/master/dist/configs">distribuons désormais un ensemble de modèles (<em>templates</em>) fonctionnels</a> (fichier <code>server.cfg</code> et autres) et nous distribuons aussi avec le jeu une rotation de carte par défaut qui est chargée si le propriétaire du serveur n’en a pas configurée une personnalisée. Les bots reçoivent aussi des noms adaptés, permettant de bien voir que ce sont des bots si aucun nom personnalisé de bot n’est défini. Par conséquent, l’hébergement d’un serveur fonctionne dès le déballage (<em>out of the box</em>).</p>
<p>Au sujet de la sécurité, les serveurs en ligne hébergeant du contenu téléchargeable requièrent désormais d’héberger aussi un fichier <code>PAKSERVER</code> sur le serveur contenant la chaîne de caractère <code>ALLOW_UNRESTRICTED_DOWNLOAD</code> (« autoriser le téléchargement sans restriction »). Le client vérifie la présence de ce fichier avant de télécharger quoi que ce soit. Cela doit empêcher d’éventuels serveurs malfaisants de dire aux clients de télécharger des choses depuis des espaces web qu’ils ne contrôlent pas (comme le réseau local du joueur)… À l’exécution <code>curl</code> est autorisé à n’utiliser que <code>http://</code> pour empêcher du code malicieux d’explorer le système de fichier avec <code>file://</code> par exemple.</p>
<h2 id="toc-Être-libre">Être libre</h2>
<p>Il serait vraiment difficile de lister tous les changements et les améliorations qui se sont produits en plus de deux ans, mais nous allons nous attarder sur quelques-uns.</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20200625-234936-005.unvanquished-0.52-lightmap-compilation-profiles.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f756e76616e717569736865642d302e35322d626574612d6573742d6c612f32303230303632352d3233343933362d3030352e756e76616e717569736865642d302e35322d6c696768746d61702d636f6d70696c6174696f6e2d70726f66696c65732e3936302e706e67/20200625-234936-005.unvanquished-0.52-lightmap-compilation-profiles.960.png" alt="Comparaison de différents profils de compilation de carte d’éclairage" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20200625-234936-005.unvanquished-0.52-lightmap-compilation-profiles.960.png"></a></p>
<p><em>Comparaison de différents profils de compilation de carte d’éclairage sur la carte Chasm.</em></p>
<p>En comparaison avec la version 0.51, la 0.52 a de meilleurs éclairages précalculés (<em>baked light maps</em>), un bug de visibilité a été corrigé sur la carte Vega, les bots peuvent désormais s’échapper de certains pièges dans Parpax et essayent de sauver leur peau s’ils le peuvent, et les bots tyrants peuvent également quitter la base alien dans Vega. Il y avait aussi un bug qui a été corrigé dans la carte Thunder qui permettait de construire en dehors de l’espace de jeu. Nous avons amélioré les emplacements des bâtiments par défaut pour la bonne majorité des cartes.</p>
<p>L’éclairage des cartes a non seulement été amélioré, mais le temps pour les compiler est proche du temps qu’on a passé à calculer les laides que nous avions. Obtenir de beaux résultats a pris des années d’expérimentations pour tirer le meilleur de l’outil Q3map2. Il y a espoir qu’un jour nous serons capables de <a href="https://github.com/SomaZ/Blender_BSP_Importer">précalculer ces cartes de lumière avec Cycles</a> mais pour l’instant, Q3map2 règne sans partage. Il y a toujours des améliorations possibles avec Q3map2, comme utiliser un meilleur espace colorimétrique (<em>colorspace</em>) pour réduire les bandes de couleur résiduelles (<em>color banding</em>).</p>
<p><a href="https://imgsli.com/NTMyOTA"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f756e76616e717569736865642d302e35322d626574612d6573742d6c612f32303231303530362d3039353134302d3030322e756e76616e717569736865642d302e35322d766567612d6c69676874696e672d636f6d70617269736f6e2e3936302e6a7067/20210506-095140-002.unvanquished-0.52-vega-lighting-comparison.960.jpg" alt="Comparaison entre la version 0.51 d’Unvanquished et la 0.52 sur la carte Vega" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/unvanquished-0.52-beta-est-la/20210506-095140-002.unvanquished-0.52-vega-lighting-comparison.960.jpg"></a></p>
<p><em>Comparaison entre la version 0.51 d’Unvanquished et la 0.52 sur la carte Vega.</em></p>
<p>Il y a tellement à dire à propos de cette copie d’écran. Non-seulement l’éclairage est bien meilleur (<em>Vega</em> était la carte qui souffrait le plus du mauvais d’éclairage), mais l’orientation de carte normale a été corrigée (ces matériaux utilisaient une orientation normale <code>-X -Y Z</code> peu commune). Vous pourriez remarquer une légère translation de certains pixels, c’est parce que nous avons corrigé une erreur d’arrondi dans le moteur qui remonte à un commit d’XreaL daté de… 2005. Le bug était probablement dissimulé avant 2008. Ce petit patch a corrigé <a href="https://github.com/DaemonEngine/Daemon/pull/287">une longue liste de vieux bugs connus et ennuyeux</a>…</p>
<p><a href="https://wiki.unvanquished.net/wiki/GPU_compatibility_matrix"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f616e6e6f6e63652d64752d6d6f746575722d64652d6a65752d6461656d6f6e2d302e35322d626574612f32303231303530362d3039323330382d3030322e756e76616e717569736865642d6770752d636f6d7061746962696c6974792d6d61747269782e3433352e706e67/20210506-092308-002.unvanquished-gpu-compatibility-matrix.435.png" alt="La table de compatibilité de carte graphique d’Unvanquished" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/annonce-du-moteur-de-jeu-daemon-0.52-beta/20210506-092308-002.unvanquished-gpu-compatibility-matrix.435.png"></a></p>
<p><em>La table de compatibilité de carte graphique d’Unvanquished.</em></p>
<p>Nous avons testé Unvanquished et le moteur Dæmon sur un panel large de configuration matérielle et logicielle (plus de 60 cartes graphiques et environ 80 systèmes ont été testés). Vous pouvez trouver les résultats sur <a href="https://wiki.unvanquished.net/wiki/GPU_compatibility_matrix">le tableau de compatibilité de GPU d’Unvanquished</a>. Bien que le moteur Dæmon prenne en charge les cartes OpenGL 2.1, pour jouer à Unvanquished vous aurez besoin d’une carte compatible avec OpenGL 3, puisque nos modèles sont trop lourds pour les cartes OpenGL 2.</p>
<p>À propos des mises à jour du gameplay d’Unvanquished, les restrictions empêchant les aliens d’évoluer près des humains sont désormais plus souples. Les Humains à proximité sont uniquement comptés si vous êtes dans leur ligne de mire, donc un joueur peut sournoisement évoluer dans la pièce juste à côté. De plus, l’évolution est autorisée « dans la base alien », c’est-à-dire si le nombre d’humains est dépassé par les constructions aliens proches. Les aliens peuvent aussi régresser en classe d’évolution (<em>devolve</em>) près de l’overmind, et le granger avancé peut piéger les humains négligents. Vous pouvez en apprendre plus au sujet de ces changements sur la manière de jouer dans le notre article précédent: <a href="//linuxfr.org/users/illwieckz/journaux/unvanquished-changements-de-gameplay-a-venir">Les changements de gameplay à venir</a> (désormais livrés).</p>
<p>En traquant certains problèmes de performances, nous avons découvert que certaines parties de l’interface utilisateur étaient toujours calculées à chaque frame même lorsqu’elles n’étaient pas affichées. Sur certains ordinateurs corriger cela a doublé le nombre d’images par seconde, et sur d’autres, l’ordinateur a réduit la fréquence du processeur pour conserver le taux de frame tout en économisant l’énergie et réduisant la température. C’est un gros gain.</p>
<p>Du côté du moteur, nous avons déprécié le moteur de rendu précoce (<em>forward renderer</em>). Le moteur de rendu tuilé (<em>tiled renderer</em>) est maintenant le moteur de rendu par défaut et tous les joueurs qui utilisaient auparavant le précoce utiliseront le tuilé à partir de la version 0.52. Pour les joueurs, cela signifie de meilleures performances avec les lumières dynamiques.</p>
<p>Notre lanceur (qui gère aussi les mises à jour) a reçu beaucoup de soins. En anticipation de l’arrivée de la 0.52, <a href="https://unvanquished.net/unvanquished-launcher-and-engine-hotfix/">notre lanceur est sorti en janvier</a>. Si vous l’utilisez déjà, il vous proposera de télécharger la 0.52 au démarrage ! Voir notre article <a href="https://unvanquished.net/unvanquished-launcher-and-engine-hotfix/"><em>The Unvanquished launcher, and an engine hotfix</em></a> (non traduit, oups !) pour plus de détails.</p>
<p>Et bien sûr, après un grand audit de nos données et avoir contacté nombre de nos contributeurs, notre jeu est désormais considéré comme libre dans tout ses aspects. À ce sujet vous pouvez lire l’article <a href="//linuxfr.org/news/unvanquished-maintenant-nous-sommes-libres">Maintenant nous sommes libres</a> et aussi <a href="//linuxfr.org/news/histoire-d-un-arbre">Histoire d’un arbre</a>…</p>
<h2 id="toc-seul-le-temps-le-dira">Seul le temps le dira</h2>
<p>Outre l’effort de migrer la machine virtuelle exécutant les codes de jeu personnalisés depuis la technologie Native Client vers WebAssembly, `Ishq est en train de travailler sur la migration de libRocket à RmlUI, la bibliothèque qui soutient notre interface graphique.</p>
<p>Viech a eu l’initiative de créer un <a href="https://github.com/Unvanquished/gameplay">espace de suivi</a> dédié aux problèmes et suggestion de gameplay ainsi que les retours.</p>
<p>Maintenant, nous sommes en train de travailler sur notre prochaine version la 0.53, et c’est le moment de remercier toutes les personnes qui ont rendu la 0.52 possible.</p>
<p>Plus précisément, je remercie toutes les personnes derrière Unvanquished, ainsi que les contributeurs et les amis qui nous ont aidés. Je veux nommer slipher pour son regard acéré lors des revues ainsi que le code excellent qu’il écrit, gimhael pour ses précieux conseils sur le moteur de rendu et pour d’autres choses comme ses corrections de rotation de textures et la prise en charge de DXT3/BC2, Fuma pour ses connaissances sur le code des toiles de navigation (<em>navigation mesh</em>), ZTM pour sa disponibilité et ses aimables réponses lorsqu’on lui pose des questions, Amanieu pour certains correctifs d’IPC, Gireen pour avoir testé et implémenté de nouveaux mécanismes de gameplay, et bmorel et afontain pour avoir corrigé, modernisé et rendu le code du jeu plus robuste. Et je veux aussi féliciter Dimitry pour ses précieux efforts, il a régulièrement audité notre code avec des analyseurs statiques variés et a apporté des corrections. Il a aussi corrigé la prise en charge du format KTX.</p>
<p>Désormais Unvanquished est devenu un projet libre et open source, vous pouvez donc facilement discuter et nous faire partager des améliorations que vous voudriez voir ! Et qui sait, vous serez probablement remercié dans notre prochaine annonce ?</p>
<p>Si vous voulez en savoir plus au sujet de notre moteur, nous avons écrit <a href="//linuxfr.org/news/annonce-du-moteur-de-jeu-daemon-0-52-beta">un article sur le moteur Dæmon</a> il y a quelques jours. 👀</p>
<p>Désormais il est l’heure de jouer, faites passer le mot, dites-le à vos amis, <a href="https://unvanquished.net/download/">téléchargez le jeu</a> et rejoignez-nous sur nos serveurs, ou créez le vôtre, et pourquoi pas, faites votre propre mod ?</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f636f6d6d6f6e2f62737569742e32342e706e67/bsuit.24.png" alt="battlesuit" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/common/bsuit.24.png"></p>
</div><div><a href="https://linuxfr.org/news/unvanquished-0-52-beta-est-la.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/124210/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/unvanquished-0-52-beta-est-la#comments">ouvrir dans le navigateur</a>
</p>
Thomas Debesse
Anonyme
clement_686
afontain
Yves Bourguignon
claudex
Benoît Sibaud
patrick_g
iltis2017
Ysabeau 🧶 🧦
https://linuxfr.org/nodes/124210/comments.atom
tag:linuxfr.org,2005:News/40467
2021-05-15T20:28:32+02:00
2021-05-17T11:33:24+02:00
Annonce du moteur de jeu Dæmon 0.52 Beta
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>Le moteur Dæmon est un moteur de jeu taillé pour des jeux rythmés en arène.</p>
<p>Nous avons fusionné notre branche <code>0.52</code> et étiqueté la version <code>0.52</code>. Unvanquished 0.52 Beta est sorti le vendredi 14 mai. Le compte à rebours est lancé ! Tandis que nous sommes en train d’empaqueter le jeu et sommes en train de contacter les propriétaires de serveur pour mettre à jour leurs serveurs afin d’être prêts pour ce jour, nous annonçons le moteur Dæmon.</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/unvanquished/annonce-du-moteur-de-jeu-daemon-0.52-beta/20210504.unvanquished-history.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f616e6e6f6e63652d64752d6d6f746575722d64652d6a65752d6461656d6f6e2d302e35322d626574612f32303231303530342e756e76616e717569736865642d686973746f72792e313032342e706e67/20210504.unvanquished-history.1024.png" alt="L’historique d’Unvanquished et du moteur Dæmon" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/annonce-du-moteur-de-jeu-daemon-0.52-beta/20210504.unvanquished-history.1024.png"></a></p>
<p><em>L’historique d’Unvanquished et du moteur Dæmon.</em></p>
<p>Le moteur Dæmon est un moteur brut, le composant logiciel exécutant le code du jeu dans une machine virtuelle et opérant le rendu du jeu tout en gérant les entrées et le réseau. C’est un composant d’un écosystème libre et ouvert mais pas une plate-forme d’édition intégrée comme Godot.</p>
<p><em>Note de l’auteur — Ceci est une traduction de <a href="https://unvanquished.net/announcing-daemon-engine-beta-0-52/">l’annonce du 10 mai</a> que j’ai écrite pour le site d’Unvanquished. Cet article est sous licence <a href="https://creativecommons.org/publicdomain/zero/1.0/deed.fr">CC 0 1.0</a>.</em></p>
</div><ul><li>lien nᵒ 1 : <a title="https://unvanquished.net/announcing-daemon-engine-beta-0-52/" hreflang="en" href="https://linuxfr.org/redirect/108502">Annonce originale en anglais (unvanquished.net)</a></li><li>lien nᵒ 2 : <a title="https://linuxfr.org/users/illwieckz/journaux/unvanquished-changements-de-gameplay-a-venir" hreflang="fr" href="https://linuxfr.org/redirect/108503">Unvanquished : Changements de gameplay à venir (linuxfr.org)</a></li><li>lien nᵒ 3 : <a title="https://linuxfr.org/news/batir-une-communaute-comme-un-service" hreflang="fr" href="https://linuxfr.org/redirect/108504">Unvanquished : Bâtir une communauté comme un service (linuxfr.org)</a></li><li>lien nᵒ 4 : <a title="https://linuxfr.org/news/unvanquished-maintenant-nous-sommes-libres" hreflang="fr" href="https://linuxfr.org/redirect/108505">Unvanquished : Maintenant nous sommes libres ! (linuxfr.org)</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#toc-pr%C3%A9sentons-le-moteur-d%C3%A6mon">Présentons le moteur Dæmon</a></li>
<li><a href="#toc-prise-en-charge-du-mat%C3%A9riel-et-des-syst%C3%A8mes">Prise en charge du matériel et des systèmes</a></li>
<li><a href="#toc-corriger-et-am%C3%A9liorer-le-moteur-de-rendu">Corriger et améliorer le moteur de rendu</a></li>
<li><a href="#toc-sauter-dans-le-futur">Sauter dans le futur</a></li>
<li><a href="#toc-corriger-les-d%C3%A9fauts-de-conception-des-mat%C3%A9riaux">Corriger les défauts de conception des matériaux</a></li>
<li><a href="#toc-une-vue-sur-l%C3%A9cosyst%C3%A8me-du-moteur-d%C3%A6mon">Une vue sur l’écosystème du moteur Dæmon</a></li>
<li><a href="#toc-comment-r%C3%A9duire-les-co%C3%BBts">Comment réduire les coûts</a></li>
<li><a href="#toc-pour-les-jours-%C3%A0-venir">Pour les jours à venir</a></li>
</ul>
<h2 id="toc-présentons-le-moteur-dæmon">Présentons le moteur Dæmon</h2>
<p>Initialement basé sur le moteur id Tech 3 de par sa lignée avec Tremulous, et héritant d’améliorations provenant à la fois de Wolfenstein: Enemy Territory et du moteur XreaL, le moteur Dæmon a évolué pour prendre en charge des techniques modernes comme le rendu de lumière dynamique tuilé (<em>dynamic light tiled rendering</em>), les animations de modèle segmenté dont le format MD5Mesh de Doom 3 et le format Inter Quake Model (IQM), le multitexturage de surface dont le <em>deluxe mapping</em>, <em>normal</em> et <em>relief mapping</em>, le bon vieux modèle d’éclairage Phong et (nouveau !) les matériaux PBR, tout en conservant la technique éprouvée du BSP pour rendre l’environnement. Des effets spéciaux comme le flou lumineux (<em>bloom</em>), l’éclairage de bord (<em>rim lighting</em>), flou de bougé (<em>motion blur</em>), brouillage de chaleur (<em>heat haze</em>), l’étalonnage de couleur (<em>color grading</em>) sont pris en charge.</p>
<p>Vous pouvez avoir remarqué une certaine mode pour des mécanismes de moteur de jeu classique sur le marché, même des jeux commerciaux comme <em>Ion Fury</em> basé sur Eduke32 (dérivé du moteur Build, lignée <em>Duke Nukem</em>) ou <em>Wrath: Aeon of Ruin</em> basé sur DarkPlaces (lignée <em>Quake</em>), tous deux étant des moteurs libres comme Dæmon.</p>
<p>Donc si vous êtes à la recherche d’un moteur de jeu avec des techniques modernes de rendues et d’animation de modèle tout en conservant une expérience classique de jeu, le moteur Dæmon est pour vous ! Sans être aussi <em>vieille école</em> que quelque chose basé sur Eduke32 ou le classique Doom avec des personnages à base de sprite (quoique, vous pouvez faire des jeux avec des sensations similaires), le moteur Dæmon se positionne plutôt dans cette famille de jeux comme Unreal, Quake ou Doom 3 avec des environnements grossièrement réalistes mais avec un gameplay nerveux et pas de message « <em>vous quittez la zone de combat</em> ».</p>
<p>Le moteur Dæmon vit comme un projet libre en tant que tel, avec le <a href="https://github.com/DaemonEngine/Daemon">développement actuellement hébergé sur GitHub</a>. Si vous désirez baser votre jeu sur ce moteur, vous êtes les bienvenus, c’est fait pour !</p>
<p>XreaL puis le moteur Daemon ont toujours été un lieu idéal pour des expérimentations. Si vous recherchez un moteur ouvert pour implémenter telle ou telle nouvelle technique de rendu ou cherchez un jeu ouvert pour essayer des trucs d’IA avancés pour les bots ou n’importe quoi de sympathique, hé, peut-être avez-vous trouvé le projet dont vous avez besoin !</p>
<h2 id="toc-prise-en-charge-du-matériel-et-des-systèmes">Prise en charge du matériel et des systèmes</h2>
<p><a href="https://wiki.unvanquished.net/wiki/GPU_compatibility_matrix"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f616e6e6f6e63652d64752d6d6f746575722d64652d6a65752d6461656d6f6e2d302e35322d626574612f32303231303530362d3039323330382d3030322e756e76616e717569736865642d6770752d636f6d7061746962696c6974792d6d61747269782e3433352e706e67/20210506-092308-002.unvanquished-gpu-compatibility-matrix.435.png" alt="La table de compatibilité de carte graphique d’Unvanquished" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/annonce-du-moteur-de-jeu-daemon-0.52-beta/20210506-092308-002.unvanquished-gpu-compatibility-matrix.435.png"></a></p>
<p><em>La table de compatibilité de carte graphique d’Unvanquished.</em></p>
<p>Le moteur Dæmon et le jeu Unvanquished en particulier sont testés sur une gamme large de configuration matérielle et logicielle (voir la <a href="https://wiki.unvanquished.net/wiki/GPU_compatibility_matrix">table de compatibilité de carte graphique d’Unvanquished</a>, pour cette version 0.52 nous avons testé plus de 60 carte graphiques et environ 80 configurations !</p>
<p>Unvanquished en lui-même requiert des cartes à partir d’OpenGL 3. Le moteur de jeu est capable de tourner correctement sur des cartes graphiques à partir d’OpenGL 2.1, dont des cartes AGP datant de juillet 2002, oui nous avons validé des cartes PCI Express, AGP, et même PCI.</p>
<p>Nous avons amélioré un contournement spécial pour un pilote Nvidia buggué. Dans le passé <a href="https://github.com/Unvanquished/Unvanquished/issues/919">certaines personnes ont rapporté</a> des problèmes avec du matériel Nvidia. Nous avons conduit plus de tests et il apparaît que le bug se produit avec les cartes graphiques Nvidia à base de GT218 faisant tourner le pilote 340. Le pilote 340 est le dernier pilote pour cette gamme de carte graphique et puisque le pilote Nvidia est propriétaire, personne ne le corrigera jamais. Ce pilote défectueux rapporte par erreur qu’il prend en charge une fonctionnalité qu’il ne prend pas en charge, donc pour activer ou désactiver cette fonctionnalité le jeu ne peut pas croire ce que dit le pilote et l’on doit jouer aux devinettes pour détecter le pilote défectueux à la place, donc <a href="https://github.com/DaemonEngine/Daemon/pull/370/files">nous désactivons la fonctionnalité utilisée par cette optimisation quand ce pilote est détecté</a>.</p>
<p>Nous avons beaucoup travaillé pour désactiver le code inutilisé lorsque des fonctionnalités sont désactivées. Par exemple nous nous sommes assurés que les cartes normales (<em>normal map</em>) ne soient pas chargées et que le code de <em>normal mapping</em> des <em>shaders</em> GLSL ne soit pas compilé quand le <em>normal mapping</em> est désactivé. Faire ça n’a pas seulement aidé à améliorer le temps de compilation des <em>shaders</em> et l’utilisation de mémoire graphique sur les systèmes moins performants, cela a aussi permis à certains vieux systèmes de fonctionner tout simplement. Nous avons découvert que le code GLSL du moteur de rendu tuilé (<em>tiled renderer</em>) <a href="https://github.com/DaemonEngine/Daemon/issues/344">faisait des choses trop complexes pour la petite ALU (Unité arithmétique et logique) de certains anciens processeurs graphiques</a>, cassant le rendu. Parce que de toute façon ce genre de matériel est trop vieux pour soutenir des lumières dynamiques et que cette fonctionnalité serait désactivée par l’utilisateur, s’assurer que ce code GLSL n’est pas compilé quand cette fonctionnalité est désactivée a simplement rendu ces cartes utilisables. Et c’est ainsi que la Radeon 9700 Pro de juillet 2002 fonctionne avec le moteur : ~40fps si vous ignorez le cas spécifique des modèles d’Unvanquished.</p>
<p>Si le but premier du moteur Dæmon n’est pas d’être un moteur rétro pour tourner sur du matériel obsolète mais d’implémenter des techniques modernes comme le rendu tuilé, le <em>relief mapping</em> ou le PBR (voir ci-après), nous ne laissons pas derrière les joueurs avec du matériel lent.</p>
<p>Comme déclaré, le moteur Dæmon prend en charge OpenGL 2.1 mais Unvanquished requiert OpenGL 3. La raison est que nous utilisons des modèles animés avec trop de segments pour qu’ils soient accélérés sur du matériel pré OpenGL 3. Si vous planifiez de faire un jeu avec le moteur Dæmon, vous savez que vous pouvez aller en arrière jusqu’à des cartes graphiques ayant 18 ans en conservant le jeu jouable en utilisant simplement des modèles plus simples (jusqu’à 41 segments).</p>
<p>Bien entendu les processeurs graphiques modernes sont la meilleure manière d’apprécier le moteur Dæmon, par exemple nous avons testé les modèles GCN et RDNA avec le même soin.</p>
<p>Par exemple l’AMD R9 390X de 2015 supporte la préconfiguration <em>ultra</em> avec une résolution 4K à 144Hz. L’AMD R7 Embedded des APU R series peut supporter une résolution 2K avec la préconfiguration <em>medium</em> aussi bien que l’Intel UHD.</p>
<p>Nous n’avons pas seulement vérifié que ça fonctionnait, nous avons corrigé les bugs associés de manière à ce que ça marche sur cette gamme large de matériel, parfois même en contournant les pilotes défectueux d’Nvidia que nous ne pouvons corriger nous-mêmes. Cela fait peut-être du moteur Dæmon le moteur open source dérivé d’id Tech le plus testé sur ce sujet, autant que nous puissions le savoir.</p>
<p>Faire ces tests a aussi révélé une <a href="https://lkml.org/lkml/2021/5/6/41">pile de problèmes avec le code PCI du noyau Linux</a> affectant à la fois les cartes graphiques PCI, AGP et PCI Express, cela rappelle combien ce genre de test est précieux, pas seulement pour le jeu vidéo.</p>
<p>Le moteur Dæmon compile et tourne sur Linux, Windows, et macOS. Nous fournissons des outils (comme un fichier Docker) pour produire des binaires portables et distribuables (<em>releasable</em>). Vous n’aurez besoin que de taper une seule commande sur un hôte compatible Docker et une autre sur un hôte macOS pour obtenir des binaires du moteur pour Linux, Windows et macOS, et le code du jeu multiplate-forme lui-même.</p>
<p>Nous produisons les versions d’Unvanquished sur Debian Buster et le binaire Linux produit devrait tourner sur les distributions à partir de l’époque d’Ubuntu Bionic (2018, nous avons fait des efforts spécifiques en ce sens), et le moteur est toujours compilable sur Ubuntu Xenial (2016), notre système d’intégration continue le vérifie pour nous et nous avons vérifié que de tels binaires étaient jouables.</p>
<p>Donc, comme vous pouvez le voir, nous faisons des efforts spéciaux pour conserver une compatibilité large avec notre moteur. Cependant, pour ne pas distribuer des binaires obsolètes à l’utilisateur moyen, si vous avez vraiment besoin de jouer à Unvanquished sur une distribution âgée de 5 ans, vous devrez compiler le moteur vous-même. Pour cela, se référer au <a href="https://github.com/DaemonEngine/Daemon">dépôt du moteur Dæmon</a>.</p>
<h2 id="toc-corriger-et-améliorer-le-moteur-de-rendu">Corriger et améliorer le moteur de rendu</h2>
<p>Entre la version 0.51 et la version 0.52, une liste impressionnante de bugs et de défauts de conception ont été corrigés.</p>
<p>Un impressionnant correctif « petit changement, immense effet » fut une unique erreur d’arrondi qui fut la cause de <a href="https://github.com/DaemonEngine/Daemon/pull/287">plein de bugs</a>. La ligne en question fut introduite dans XreaL en 2005 et a probablement commencé à faire crépiter les bugs en 2008 quand une autre partie du code fut modifiée…</p>
<p>Ceci n’est pas le seul bug qui vient du Moyen Âge… Un autre <a href="https://github.com/DaemonEngine/Daemon/issues/289">patch a corrigé un bug introduit dans XreaL en 2006</a>, et cette fois c’est certain, le bug n’était pas en dormance à l’époque. Ce bug est même plus vieux que Tremulous 1.1 (mais Tremulous n’était pas affecté car basé sur ioquake3 au lieu de XreaL)… Ce bug a été corrigé 14 ans plus tard, <a href="https://github.com/DaemonEngine/Daemon/pull/290">jour pour jour</a>.</p>
<p>Le moteur Dæmon implémente un cache de shader GLSL depuis très longtemps pour économiser du temps de chargement, mais pour la version 0.52 nous avons corrigé des bugs qui empêchaient le cache d’être invalidé proprement dans certaines situations. Cela a corrigé une gamme de mystérieux bugs « ça n’est arrivé qu’une seule fois ».</p>
<p>Unvanquished 0.52 introduit des preréglages (<em>presets</em>) graphiques et une fonctionnalité utilisé par ces préréglages est que le moteur rend possible de viser une taille maximum de texture spécifique, au lieu de se reposer sur la fonctionnalité historique <em>PicMip</em>. La fonctionnalité <em>PicMip</em> était problématique parce que si vous aviez une texture de <code>64×64</code> à côté d’une texture de <code>4096×4096</code>, l’option <code>r_picmip 1</code> les transformeraient en <code>32×32</code> et <code>2048×2048</code>, l’une étant inutilement petite et l’autre toujours immense. En mettant l’option <code>r_imageMaxDimension</code> à <code>512</code>, l’image <code>64×64</code> ne sera pas modifiée, tandis que celle <code>4096×4096</code> est transformée en une texture <code>512×512</code>. Les artistes peuvent utiliser un mot-clé spécial de matériau <code>imageMinDimension</code> pour empêcher le moteur de réduire la résolution d’une texture en dessous d’une certaine taille quand cette texture est connue pour souffrir de la réduction. C’est pertinent quand c’est utilisé sur des textures avec des écritures dessus, ou des grillages…</p>
<p>Une énorme refonte du code du moteur de rendu fut réalisé, plus de 700 lignes de code furent supprimées… et le moteur fait plus de choses à la fin ! Toutes les fonctionnalités similaires utilisent désormais le même code au lieu de variantes légèrement différentes évoluant depuis des copier-coller âgés de décennies.</p>
<p>Le format de matériaux rend désormais super facile d’ajuster les paramètres de matériaux comme l’orientation de carte normale : ajoute simplement la ligne <code>normalFormat X Y Z</code> et indique au moteur de rendu que la carte normale utilise la convention OpenGL, ou bien ajoute la ligne <code>normalFormat X -Y Z</code> et indique au moteur de rendu que la carte normale utilise la convention DirectX. Pour des raisons historiques, sans mot clé explicite, le moteur suppose la convention de carte normale DirectX en lisant les matériaux Quake 3 parce que XreaL (le moteur que nous avons utilisé comme base à l’époque) avait pour intention de charger des matériaux DOOM 3 non modifiés, et Doom 3 utilisait la convention DirectX à l’époque même si c’était un jeu OpenGL… Tous les dérivés id Tech 3 libres, du moins ceux qui ont survécu, <a href="https://github.com/DaemonEngine/Daemon/issues/274#issuecomment-612359386https://github.com/DaemonEngine/Daemon/issues/274#issuecomment-612359386">ont suivi ce chemin</a>.</p>
<p>Nous avons corrigé plein de bugs, certains étant là depuis avant que Tremulous 1.1 existe… Nous avons aussi corrigé de très vieux défauts de conception que nous avons hérités d’XreaL. XreaL était une démonstration technique impressionnante mais une démonstration technique, il nécessitait des décennies de travail pour être prêt pour la production.</p>
<p>Le moteur de rendu précoce (<em>forward renderer</em>) est déprécié au profit du moteur de rendu tuilé (<em>tiled renderer</em>), qui est plus performant quand il y a plein de lumières dynamiques dans une scène, et ce moteur de rendu est désormais en meilleur forme que le précédent, le nouveau recevant toute l’attention.</p>
<p>À partir de la version 0.52 de Dæmon, il est désormais possible de faire tourner les jeux dans des fenêtres sans bordure, en plus du mode plein-écran et du fenêtrage classique ordinaires.</p>
<h2 id="toc-sauter-dans-le-futur">Sauter dans le futur</h2>
<p><a href="https://unvanquished.net/wp-content/uploads/2021/05/20210506-001.daemon-engine-texture-packing.pdf"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f616e6e6f6e63652d64752d6d6f746575722d64652d6a65752d6461656d6f6e2d302e35322d626574612f32303231303530362d3030312e6461656d6f6e2d656e67696e652d746578747572652d7061636b696e672e3439352e706e67/20210506-001.daemon-engine-texture-packing.495.png" alt="Les recommandations de conditionnement de textures du moteur Dæmon" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/annonce-du-moteur-de-jeu-daemon-0.52-beta/20210506-001.daemon-engine-texture-packing.495.png"></a></p>
<p><em>Les recommandations de conditionnement de textures du moteur Dæmon.</em></p>
<p>À partir de la version 0.52, le moteur Dæmon prend en charge le rendu physique réaliste (<em>Physically Based Rendering</em>, <em>PBR</em>). Dans un fichier de materiau, utiliser simplement le mot clé <code>physicalMap</code> suivi du chemin de fichier image pour activer le PBR pour ce matériau. Le conditionnement attendu est ORM (<em>Occlusion</em>, <em>Roughness</em>, <em>Metalness</em>) de façon similaire au standard glTF 2.0 pour rendre les choses faciles. Il y avait déjà une preuve de concept dans la version 0.51 mais ça n’avait pas été rendu disponible. Actuellement le jeu Unvanquished ne fournit pas de textures PBR mais cette fonctionnalité est supposément prête pour être utilisée, y compris dans du contenu communautaire.</p>
<p>Nous avons aussi corrigé la prise en charge du <em>relief mapping</em>, le code de <em>relief mapping</em> était dans le moteur depuis très longtemps puisqu’il avait été hérité d’XreaL, mais il était inutilisé et il y avait de sérieux problèmes associés à ce code. Certains étaient même des défauts de conception.</p>
<p>Pour diverses raisons le code de <em>relief mapping</em> que nous avions s’attendait à ce que les cartes de hauteur (<em>height map</em>) soient distribuées dans le canal alpha des cartes normal la tête en bas, cela signifie que blanc signifiait bas et noir signifiait le niveau du sol… Après investigation, il fut découvert qu’XreaL prenait en charge deux manières de fournir des cartes de hauteur : comme fichier indépendant avec l’orientation standard, et comme canal alpha dans les fichiers de carte normale, mais inversé.</p>
<p>Le gros défaut de conception de telles cartes de hauteur inversées dans un canal alpha est qu’un canal alpha inexistant est supposé être équivalent à un canal alpha opaque, et un canal alpha opaque est censé être complètement blanc. Donc, avec une telle conception, un fichier de carte normale sans canal alpha conduirait le moteur à considérer que le canal alpha est blanc, et parce que la carte normale était lue tête en bas, un canal alpha absent signifierait… un déplacement maximum. Et oui, la façon donc XreaL fut conçu signifiait que ne pas distribuer une carte de hauteur dans le canal alpha d’une carte normale aurait signifié un déplacement maximum…</p>
<p>Pour contourner ce problème, XreaL a implémenté un mot-clé spécial appelé <code>parallax</code> à utiliser dans les matériaux, l’absence de celui-ci aurait indiqué au moteur de ne pas tenter de lire le canal alpha depuis un fichier de carte normale. Ceci était plus compliqué que nécessaire : pour contourner un défaut de conception avec des cartes de hauteur à l’envers, un mot-clé spécial fut créé pour ne pas être utilisé pour que le moteur sache qu’il devait lire les cartes normales avec un code différent des autres textures.</p>
<p>En retournant à l’orientation standard des cartes de hauteur (noir est en bas, blanc et au niveau du sol), toutes les planètes s’alignent parfaitement : tous les fichiers de carte normale peuvent être lus en tant que RGBA et les cartes normales seront toujours correctes même si le canal alpha est absent parce que pas de canal alpha signifie blanc, et blanc signifie pas de déplacement… Et donc, on peut questionner la pertinence du mot clé <code>parallax</code>.</p>
<p>Cependant, nous avons créé un mot clé de matériau spécial nommé <code>normalHeightMap</code> que nous recommandons d’utiliser avec les cartes normales distribuant des cartes de hauteur, simplement pour rendre cela explicite et prendre ceinture et bretelle. Une chose est qu’il est très commun dans le monde du jeu vidéo d’utiliser un format spécial nommé BC3/DXT5 (ou DXT5nm) qui stocke la donnée X dans le canal Alpha au lieu du canal Vert. Le moteur gère ce cas et ne considère pas un tel canal alpha comme alpha, et donc, tout fonctionne. Mais pour être vraiment sûr, comme prévenir des bugs de pilote de carte graphique et d’autres choses, nous recommandons d’utiliser le mot clé <code>normalHeightMap</code> quand il s’agit de distribuer à la fois une carte normale et une carte de hauteur dans le même fichier.</p>
<p>Ainsi, il y a deux manières d’ajouter des cartes normales et des cartes de hauteur à un matériau :</p>
<pre><code> normalMap textures/shared_pk02_src/wall_big02a_n
heightMap textures/shared_pk02_src/wall_big02a_h
</code></pre>
<p>et :</p>
<pre><code> normalHeightMap textures/shared_pk02_src/wall_big02a_nh
</code></pre>
<p>Bien que le fait d’embarquer une carte de hauteur dans le canal alpha d’une carte normale soit pris en charge, nous recommandons de stocker la carte normale et la carte de hauteur dans deux fichiers différents. Nous recommandons d’utiliser le fichier <code>DXT5nm</code> pour compresser les cartes normales et parce que ce format stocke de la donnée normale dans le canal alpha pour des raisons d’efficacité, ce format ne peut pas distribuer de carte de hauteur. En même temps, l’outil Crunch choisira simplement la meilleure variante DXT pour les fichiers en échelle de gris. Quand le <em>relief mapping</em> (qui est coûteux) est désactivé, les cartes de hauteurs ne seront jamais chargées depuis le disque ni chargées dans la mémoire de la carte graphique.</p>
<p>Le moteur prend désormais en charge l’échelle et la compensation (<em>offset</em>) de carte de hauteur, bien que ce ne soit pas encore rendu officiellement disponible aux artistes. La raison est que nous avons utilisé les cartes et textures de <a href="https://xonotic.org/">Xonotic</a> comme banc d’essai pour ces fonctionnalités, donc cela est uniquement pris en charge dans le mode de compatibilité DarkPlaces qui est désactivé par défaut, et en utilisant des mots clés qui ne sont pas utilisables sur les terrains fusionnés (<em>blended terrains</em>) par exemple. Le problème de mot-clé DarkPlaces est similaire à celui de Doom 3 dont nous parlons ci-après, les étages (<em>stages</em>) ne sont pas complètement pris en charge et les mots-clés peuvent ne pas être conçus pour être compatibles avec cette fonctionnalité. Fournir la prise en charge d’échelle et de compensation de carte de hauteur est planifié de toute façon. La majeure partie du code est déjà là et fonctionnelle, il ne nous reste plus qu’à ajouter les mots-clés de matériau associé pour que les artistes puissent les utiliser.</p>
<p>Comme dit précédemment, nous avons ajouté des mots-clés de matériau pour basculer l’orientation des composants de carte normale. Nous n’avons pas investigué pourquoi XreaL s’attendait à ce que les cartes de hauteur embarquées dans les cartes normales soient inversées. Nous savons qu’XreaL a inversé le composant Y des cartes normales parce qu’il imitait Doom 3, peut-être qu’XreaL a inversé les cartes de hauteur à cause d’un jeu, et reproduisait simplement le défaut de conception d’une implémentation de référence… De toute façon il serait trivial d’ajouter un mot-clé pour inverser l’orientation de carte de hauteur si nécessaire.</p>
<p>Nous avons créé un <a href="https://github.com/UnvanquishedAssets/UnvanquishedTestAssets">dépôt spécial</a> de données pour tester la prise en charge de fonctionnalité et prévenir les régressions dans le moteur et l’outillage associé (éditeur de niveau NetRadiant, compilateur de carte Q3map2…). Par exemple il y a des cartes (niveaux) pour tester les divers formats de carte normale, pour tester l’éclairage dynamique, pour toutes les diverses variantes du format PNG, etc. Je désire remercier spécialement SomaZ du projet OpenJK pour les données qu’il a fournies pour tester la prise en charge du PBR.</p>
<p>Nous avons implémenté du code pour calculer une carte normale depuis une carte de hauteur si la carte normale est absente. Le code fonctionne et est probablement prêt à être distribué, mais il a manqué la version 0.52, parce qu’il lui manquait une carte de test adaptée pour s’assurer que l’orientation de la carte normale calculée était celle attendue. Vous verrez ce code bientôt de toute façon. Cela dit, nous ne recommanderions pas de se reposer dessus parce que ce serait lourd en termes de calcul sur la carte graphique, mais cela peut améliorer la compatibilité avec du contenu tierce-partie.</p>
<p>Parce que nous avons utilisé les données de Xonotic comme banc d’essai pour les diverses fonctionnalités que nous avons implémentées ou corrigées, le moteur Dæmon prend en charge des liens symboliques basiques dans les archives PK3 / DPK, et fournit une couche de compatibilité DarkPlaces, cependant les cartes de lumières (<em>light maps</em>) sRGB ne sont pas encore implémentées. Précédemment dans la version 0.51 nous avions aussi implémenté le préfixe <code>dds/</code> optionnel pour les fichiers DDS tel que DarkPlaces et Doom 3 s’attendent à les trouver.</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/unvanquished/annonce-du-moteur-de-jeu-daemon-0.52-beta/wasteland.webp-jpg-comparison1.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f616e6e6f6e63652d64752d6d6f746575722d64652d6a65752d6461656d6f6e2d302e35322d626574612f77617374656c616e642e776562702d6a70672d636f6d70617269736f6e312e3936302e706e67/wasteland.webp-jpg-comparison1.960.png" alt="Pour tout ce qui ne doit pas être compressé avec un format DXT, WebP est parfait" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/annonce-du-moteur-de-jeu-daemon-0.52-beta/wasteland.webp-jpg-comparison1.960.png"></a></p>
<p><em>Pour tout ce qui ne doit pas être compressé avec un format DXT, WebP est parfait.</em></p>
<p>Puisque nous parlons des formats DXT, les formats d’image que nous recommandons d’utiliser avec le moteur Dæmon sont les suivants :</p>
<ul>
<li>Cartes de lumière (<em>light map</em>) : WebP sans perte;</li>
<li>
<a href="https://fr.wikipedia.org/wiki/Skybox_%28jeu_vid%C3%A9o%29">Skybox</a> : WebP avec perte;</li>
<li>Carte normale (<em>normal map</em>) : CRN normalisé (variante Unity/Dæmon avec option <code>-rtopmip</code>);</li>
<li>Tout le reste : CRN (variante Unity/Dæmon).</li>
</ul>
<p>Le format CRN est un format spécial optimisé pour la compression et la qualité visuelle. Il est produit par l’outil Crunch. Initialement développé par Binomial, il ne fut pas maintenu et plus tard Unity l’a grandement amélioré. Comme dit <a href="//linuxfr.org/news/unvanquished-zone-51">au moment de la sortie d’Unvanquished 0.51</a>, notre corpus complet de 1797 textures de l’époque fut compressé 4,31 fois plus rapidement et 11,15% de la taille produite fut économisée, comme promis par les gens d’Unity. La variante d’Unity est incompatible avec celle de Binomial, mais étant donné les chiffres, il n’avait pas de raison de ne pas sauter le pas. Parce qu’à la fois Binomial et Unity se contentent de larguer du code sans attendre de participation communautaire, nous maintenons <a href="https://github.com/DaemonEngine/crunch">Crunch sur note GitHub</a>. En dehors de l’option <code>-rtopmip</code> citée pour une meilleure normalisation des cartes normales, tout ce que nous faisons c’est de maintenir la prise en charge sur plusieurs plates-formes (<em>cross platform</em>) tout en ne cassant pas la compatibilité avec l’amont. Si vous cherchez un Crunch maintenu que vous pourriez intégrer dans Windows, Linux et macOS et/ou êtes en recherche d’une intégration CMake adaptée, vous venez de le trouver à l’instant.</p>
<h2 id="toc-corriger-les-défauts-de-conception-des-matériaux">Corriger les défauts de conception des matériaux</h2>
<p>Nous avons corrigé un <a href="https://github.com/DaemonEngine/Daemon/issues/35">bug de rotation de texture</a>. Cela fut d’abord remarqué avec quelques cartes de Tremulous comme Metro ou notre propre carte Unvanquished PArpax. Nous avons ensuite reproduit le bug avec les <a href="https://www.smokin-guns.org/news/smokinguns-return">données de Smokin' Guns</a>, et gimhael <a href="https://github.com/DaemonEngine/Daemon/pull/208">l’a corrigé</a>.</p>
<p>Nous avons aussi <a href="https://github.com/DaemonEngine/Daemon/pull/179">corrigé un problème avec des <em>skyboxes</em> spéciales</a> ayant des faces de taille différentes. Encore une fois ce bug fut reproduit avec des cartes de Tremulous et de Smokin' Guns. Avoir des skyboxes dont toutes les faces n’ont pas la même taille peut sembler surprenant, mais il semble que c’était une astuce d’optimisation utilisé à l’époque de Quake 3 : la face de dessous est généralement sous le sol et jamais vue (à moins que votre carte soit une plate-forme suspendue dans l’espace), donc la face du dessous était souvent un tout petit succédané (<em>placeholder</em>). Parce que corriger ce problème a aussi révélé plein d’autres en puissance, à la fin nous avons entièrement réécrit cette part du code de skybox.</p>
<p>Puisque nous parlons de matériaux, nous avons modifié un peu la syntaxe pour corriger une régression de conception venant de Doom 3. Quand XreaL a implémenté le multitexturage (<em>multitexturing</em>) comme le fait d’ajouter des cartes normales, spéculaires, etc. à une unique texture, la syntaxe de Doom 3 a été implémentée.</p>
<p>À l’époque de Quake 3 il était possible de décrire un matériau simple comme une liste d’étages (<em>stages</em>). Par exemple un étage peint le texture du mur et une autre étage peint les lumières et ombres calculées. Ces étages étaient puissants : il y a des mots-clés pour fusionner, tourner, translater, etc. Ils n’étaient pas appelés matériaux mais <em>shaders</em>… Ajouter une carte d’addition aurait simplement nécessité d’ajouter un autre étage pour le fusionner avec les précédents.</p>
<p>Cependant, pour la plupart des cas d’usage, comme une surface simple avec une seule texture devant recevoir lumière et ombres, cela était très verbeux, vous deviez littéralement écrire des opérations de fusion pour cela…</p>
<p>Doom 3 a créé des mots-clés spéciaux qui étaient des raccourcis pour les étages, une ligne simple comme <code>diffuseMap chemin/vers/diffusemap</code> configurait la carte diffuse (<em>diffuse map</em>, carte de couleurs de diffusion de base) pour être appliquée avec les lumières calculées, et la ligne <code>specularMap chemin/vers/specularmap</code> appelait l’étage spéculaire.</p>
<p>Parce que réaliser de multiples passes de rendu est coûteux et qu’un shader GLSL peut exécuter plusieurs opérations à la fois, des moteurs tels qu’XreaL puis Dæmon ont tenté d’imbriquer les matériaux avec des heuristiques, donc un seul shader GLSL peut calculer les normales, fusionner les lumières et la carte d’addition, etc. Cela signifie que la syntaxe était suboptimale et ne se rapportait pas bien au véritable calcul, même s’il était possible de jouer aux devinettes au moment de parser le matériau pour atténuer cela.</p>
<p>Cette syntaxe n’était pas seulement suboptimale parce qu’elle ne correspondait pas au véritable calcul, elle était aussi suboptimale parce qu’elle ne satisfaisait pas les besoins des utilisateurs, et un problème qui n’était pas corrigeable avec du code d’optimisation était les régressions de fonctionnalités.</p>
<p>Quake 3 prenait en charge une fonctionnalité appelée fusion de terrain (<em>terrain blending</em>). Vous pouvez étager plusieurs textures dans un seul matériau, comme une texture de rocher et une de sable, et avec des calculs, le compilateur de carte et le moteur vont fusionner ces textures sur la surface. C’est vraiment utile pour les terrains.</p>
<p>Mais avec la syntaxe de Doom 3, un étage spéculaire serait au même niveau que celui d’une autre texture fusionnée, donc le stage spéculaire pour la texture de rocher serait aussi appliqué sur la texture de sable si le matériau consiste à fusionner rocher et sable.</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/unvanquished/annonce-du-moteur-de-jeu-daemon-0.52-beta/20210507-140152-002.unvanquished-0.52-hangar28-community-map-terrain-blending.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f616e6e6f6e63652d64752d6d6f746575722d64652d6a65752d6461656d6f6e2d302e35322d626574612f32303231303530372d3134303135322d3030322e756e76616e717569736865642d302e35322d68616e67617232382d636f6d6d756e6974792d6d61702d7465727261696e2d626c656e64696e672e3936302e6a7067/20210507-140152-002.unvanquished-0.52-hangar28-community-map-terrain-blending.960.jpg" alt="Fusion de terrain multitexturé dans la carte communautaire Hangar 28 par tvezet, avec des composants diffus, spéculaires, normaux et de hauteur" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/annonce-du-moteur-de-jeu-daemon-0.52-beta/20210507-140152-002.unvanquished-0.52-hangar28-community-map-terrain-blending.960.jpg"></a></p>
<p><em>Fusion de terrain multitexturé dans la carte communautaire Hangar 28 par tvezet, avec des composants diffus, spéculaires, normaux et de hauteur.</em></p>
<p>Donc, avant le moteur Dæmon 0.52, un jeu était en mesure de fournir des surfaces multitexturées excepté dans certains cas comme les terrains fusionnés qui étaient toujours rendus comme en 1999. C’est dommage…</p>
<p>Nous avons amélioré la syntaxe en faisant en sorte que les mots-clés comme <code>diffuseMap</code> ne décrivent pas des étages, mais décrivent les composants d’une seule texture utilisée dans un étage.</p>
<p>Ainsi le moteur Dæmon prend en charge la syntaxe historique de Quake (qui est toujours utile pour les 5% de cas d’utilisations), la syntaxe Doom 3 (avec des avertissements parce qu’il n’y a pas de bonne raison de l’utiliser), et la syntaxe Dæmon, avec deux exemples donnés ici :</p>
<pre><code>textures/parpax_custom/squarelamp_blue_40k
{
// some hidden editor and map compiler keywords
{
diffuseMap textures/parpax_custom_src/squarelamp_blue_d
glowMap textures/parpax_custom_src/squarelamp_blue_a
}
}
</code></pre>
<p>et :</p>
<pre><code>textures/thunder_custom/ter_rocksand_xy
{
// some hidden editor and map compiler keywords
{
diffuseMap textures/shared_pk02_src/rock01_d
normalMap textures/shared_pk02_src/rock01_n
specularMap textures/shared_pk02_src/rock01_s
rgbGen identity
}
{
diffuseMap textures/shared_pk02_src/sand01_d
normalMap textures/shared_pk02_src/sand01_n
specularMap textures/shared_pk02_src/sand01_s
blendFunc blend
alphaGen vertex
}
}
</code></pre>
<p>À partir de la version 0.52, le moteur Dæmon propose la puissante versatilité des <em>shaders</em> de Quake 3, tout en rendant facile en même temps de configurer des matériaux multi texturés comme les matériaux de Doom 3, tout en évitant les défauts liés aux shaders Quake 3 (pas de passe de rendu supplémentaire, pas d’heuristique d’imbrication pour économiser les passes de rendu…) et en évitant les limitations des matériaux Doom 3 : vous pouvez fusionner plusieurs textures ayant plus d’un composant ! Du côté de la syntaxe, ce n’est que l’affaire d’un bloc <code>{}</code> supplémentaire. La différence du côté du moteur, c’est le jour et la nuit.</p>
<p>Le code d’imbrication des matériaux historiques fut entièrement réécrit de zéro. D’immenses parties du parseur de matériaux ont été réécrites, il en fut de même pour des parties du code configurant les shaders GLSL, et de grandes parties des shaders GLSL eux-mêmes ont aussi été réécrites.</p>
<h2 id="toc-une-vue-sur-lécosystème-du-moteur-dæmon">Une vue sur l’écosystème du moteur Dæmon</h2>
<p>Le moteur Dæmon utilise pour le moment Native Client comme plate-forme pour exécuter votre propre jeu avec des performances natives. Compilez votre code une seule fois, distribuez-le aux joueurs ou hébergez votre <a href="https://fr.wikipedia.org/wiki/Mod_%28jeu_vid%C3%A9o%29">mod</a> sur votre propre serveur, et les joueurs sur Linux, Windows et macOS pourront apprécier le jeu.</p>
<p>À la différence d’anciennes technologies comme la QVM originale qui requérait un compilateur C spécifique, non libre et désormais obsolète, vous pouvez écrire du code C++ moderne et vous appuyer sur des bibliothèques C et C++ bien connues et prises sur étagère, tout en assurant aux joueurs d’exécuter votre code personnalisé dans un bac à sable. Et vous n’avez pas à vous soucier du système d’exploitation que vos joueurs utilisent.</p>
<p>Parce que l’industrie migre de Native Client vers WebAssembly, nous sommes actuellement en train de porter notre moteur sur la même lancée. Donc pour le moment les architectures autres qu’i686 et amd64 sont en pause parce que nous n’investissons plus de temps dans Native Client et nous nous focalisons d’abord sur le port WebAssembly avant d’investiguer d’autres plates-formes, afin d’économiser du précieux temps de développement. Pour les personnes intéressées par la prise en charge de la plate-forme <em>Apple Silicon</em>, avant que nous ne complétions la prise en charge WebAssembly et ARM, nous pouvons vous rassurer : le moteur Dæmon et le jeu Unvanquished fonctionnent correctement sur Rosetta 2.</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/unvanquished/annonce-du-moteur-de-jeu-daemon-0.52-beta/20210507-150319-002.netradiant-unvanquished-0.52-forlorn-map.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f616e6e6f6e63652d64752d6d6f746575722d64652d6a65752d6461656d6f6e2d302e35322d626574612f32303231303530372d3135303331392d3030322e6e657472616469616e742d756e76616e717569736865642d302e35322d666f726c6f726e2d6d61702e3936302e706e67/20210507-150319-002.netradiant-unvanquished-0.52-forlorn-map.960.png" alt="Édition de la carte Forlorn d’Unvanquished dans NetRadiant" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/annonce-du-moteur-de-jeu-daemon-0.52-beta/20210507-150319-002.netradiant-unvanquished-0.52-forlorn-map.960.png"></a></p>
<p><em>Édition de la carte Forlorn d’Unvanquished dans NetRadiant.</em></p>
<p>À la différence de choses comme moteur Godot ou Unreal, le moteur Dæmon n’est pas une plate-forme d’édition par lui-même, c’est le moteur brut pour exécuter le jeu, un composant qui s’inscrit dans un écosystème plus large d’outils libres et ouverts autour du moteur pour satisfaire vos besoins, incluant <a href="https://netradiant.gitlab.io/">l’éditeur de niveau NetRadiant</a> et d’autres.</p>
<p>En plus des formats audio et d’image historiques comme Wav, TGA, PNG et JPEG, le moteur Dæmon prend en charge les formats audio compressés Vorbis et Opus, et prend en charge le format d’image WebP et les formats d’images optimisés pour les cartes graphiques comme KTX, DDS et CRN (voir note <a href="https://github.com/DaemonEngine/crunch">version maintenue de Crunch</a>). CRN est parfait pour quasiment toutes les textures du jeu, tandis que nous recommandons le format WebP avec pertes pour les textures qui peuvent souffrir de compressions avec pertes agressives telles que les skyboxes, et le WebP sans pertes pour les textures qu’il ne vaut mieux pas compresser avec pertes, comme les cartes de lumières (<em>light maps</em>).</p>
<p>Nous avons abandonné la prise en charge de vidéo pour le moment parce qu’elle implémentait un format qui n’existe pas et qui ne doit pas exister : OGM avec Theora. OGM était un hack pour multiplexer de la vidéo XviD avec du Vorbis il y a plusieurs décennies avant qu’OGG soit standardisé pour Theora et Vorbis, donc ni les outils OGG ni les outils OGM ne peuvent produire des fichiers OGM avec Theora. Ce code vivait dans une réalité alternative qui n’a jamais eu lieu. Si quelqu’un a besoin de prise en charge vidéo à nouveau, il serait mieux d’implémenter WebM avec VPX et Opus, étant donné que notre moteur implémente déjà WebP et Opus.</p>
<p>Des outils comme le <a href="https://netradiant.gitlab.io/">NetRadiant (<em>upstream</em>)</a> et le compilateur de carte et <em>lightmapper</em> Q3map2 associé prennent en charge ces formats avancés de texture. Les joueurs peuvent commencer à concevoir des cartes communautaires pour votre jeu juste après avoir téléchargé le jeu lui-même et l’éditeur, rien de plus.</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/unvanquished/annonce-du-moteur-de-jeu-daemon-0.52-beta/20210507-125332-002.unvanquished-0.52-model-bone-animation.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f616e6e6f6e63652d64752d6d6f746575722d64652d6a65752d6461656d6f6e2d302e35322d626574612f32303231303530372d3132353333322d3030322e756e76616e717569736865642d302e35322d6d6f64656c2d626f6e652d616e696d6174696f6e2e3936302e6a7067/20210507-125332-002.unvanquished-0.52-model-bone-animation.960.jpg" alt="Modèles d’Unvanquished animés à base de segment dans le moteur Dæmon" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/annonce-du-moteur-de-jeu-daemon-0.52-beta/20210507-125332-002.unvanquished-0.52-model-bone-animation.960.jpg"></a></p>
<p><em>Modèles d’Unvanquished animés à base de segment dans le moteur Dæmon.</em></p>
<p>À côté du format de modèle et d’animation md3 de Quake 3 et le md5 de Doom 3, le moteur Dæmon prend en charge le format Inter Quake Model, qui est le standard de facto pour les moteurs de jeu libres comme les dérivés d’id Tech ou ceux de Cube/Sauerbraten. IQM est open-source, documenté, prend en charge des fonctionnalités comme l’animation à base de segment, les couleurs de vertex, etc. et il existe divers visualiseurs, importeurs et exporteurs pour ce format.</p>
<p>Avec l’éditeur de niveau NetRadiant, le compilateur de carte Q3map2, et l’outil de compression de texture Crunch, nous avons un outil graphique appelé <a href="https://github.com/DaemonEngine/Chameleon">Chameleon</a> pour assister le processus de retexturage de niveaux avec des textures de plus haute définition, l’outil <a href="https://github.com/DaemonEngine/Urcheon">Sloth</a> pour prendre en charge le processus de construction d’un dépôt de données et produisant une archive DPK fonctionnelle : vous tappez simplement <code>urcheon build src/map-castle_src.dpkdir</code> et vous obtenez un dpkdir fonctionnel avec les cartes étant compilées en bsp, les textures compressées vers tel variant de WebP ou de CRN selon ce à quoi elles servent, les modèles translatés, tournés, etc. et convertit vers IQM, l’audio compressé comme Opus… C’est un peu comme <code>cmake</code> pour des paquets de données, mais sans le besoin d’écrire un <code>CMakeLists.txt</code> explicite, à la place il repose sur des conventions de nommage pour sélectionner la meilleure action pour vos données. Pour les modèles IQM nous nous reposons sur la <a href="https://sourceforge.net/p/fteqw/code/5570/tree/trunk/iqm/">branche IQM hébergée par FTEQW</a> parce qu’elle prend en charge des fichiers de commandes et des fonctionnalités de translation/rotation/compensation fonctionnelles.</p>
<p>Le moteur implémente un système de fichiers virtuel amélioré nommé <a href="https://wiki.unvanquished.net/wiki/DPK_Format">DPK VFS</a> qui est similaire au PK3/PK4 VFS, mais avec la possibilité de charger une sélection arbitraire de paquets. De cette manière un mod ou un niveau personnalisé peut se reposer sur des ressources, paquets et sets de textures donnés, sans avoir à se préoccuper de ce que font les autres mods et autres niveaux.</p>
<h2 id="toc-comment-réduire-les-coûts">Comment réduire les coûts</h2>
<p>Si vous planifiez de faire un jeu avec le moteur, et ceci est vrai pour n’importe quel moteur de cette nature (ioquake3, DarkPlaces, RBDOOM-3-BFG…), gardez à l’esprit que bien que cela semble super facile de cloner et de compiler son propre fork, et bien sûr que ça l’est, maintenir un moteur de jeu est une autre affaire et cela tourne vite en emploi à temps plein.</p>
<p>Et ensuite vous aurez toujours à trouver du temps pour le développement du jeu lui-même, la conception du gameplay, l’édition de niveaux, la modélisation, la conception sonore, le texturage, la communication de votre projet et les relations publiques, les cycles de versions, le suivi et la correction de bug, le test, la publication…</p>
<p>Donc si vous souhaitez prendre le moins de risque possible et voulez voir votre jeu trouver le succès nous vous encourageons profondément de contribuer vos propres patchs pour vos propres besoins au projet Dæmon amont.</p>
<p>Git, CMake et les outils usuels rendent si facile de construire des choses que cela peut donner de fausses impressions concernant de nombreux coûts cachés. C’est un moteur de jeu taillé pour la production, et même John Carmack travaillait à temps plein quand il travaillait sur id Tech 3 à l’époque, réfléchissez-y à deux fois. 🙂</p>
<h2 id="toc-pour-les-jours-à-venir">Pour les jours à venir</h2>
<p>Donc, pour le futur, il y a l’effort en cours pour WebAssembly, avec slipher et Kangz travaillant dessus, Kangz était celui qui avait déjà réalisé le port depuis QVM vers Native Client, donc nous savons qu’il a les compétences pour le faire, tout ce dont il a besoin c’est du temps libre.</p>
<p>Il y a eu des expérimentations de faites pour prendre en charge de meilleurs espaces de couleurs pour le stockage des cartes de lumières afin de réduire la gradation de couleur (<em><a href="https://en.wikipedia.org/wiki/Colour_banding">colour banding</a></em>), ainsi que la <a href="https://fr.wikipedia.org/wiki/Diffusion_d%27erreur">diffusion d’erreur</a> (<em>dithering</em>) à cette même intention. Il y a aussi du code non-fusionné pour générer des cartes normales depuis des cartes de hauteur quand les cartes normales sont absentes, et des solutions de replis pour activer le <em>deluxe mapping</em> sur des matériaux sans cartes normales ni spéculaires sont investiguées. Le temps nous le dira, mais il est probable que certaines de ces fonctionnalités intégreront une future version.</p>
<p>Et la meilleure chose qui vient est que ce vendredi 14 mai, nous avons sorti Unvanquished beta 0.52, basé sur ce moteur. Dites-le à vos amis ! Ramenez-vous ! Soyez prêts !</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f756e76616e717569736865642f616e6e6f6e63652d64752d6d6f746575722d64652d6a65752d6461656d6f6e2d302e35322d626574612f6772616e6765722e706e67/granger.png" alt="granger" title="Source : https://dl.illwieckz.net/b/linuxfr.org/unvanquished/annonce-du-moteur-de-jeu-daemon-0.52-beta/granger.png"></p>
</div><div><a href="https://linuxfr.org/news/annonce-du-moteur-de-jeu-daemon-0-52-beta.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/124209/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/annonce-du-moteur-de-jeu-daemon-0-52-beta#comments">ouvrir dans le navigateur</a>
</p>
Thomas Debesse
Benoît Sibaud
Julien Jorge
Ysabeau 🧶 🧦
https://linuxfr.org/nodes/124209/comments.atom
tag:linuxfr.org,2005:News/40398
2021-04-07T10:34:35+02:00
2021-04-07T10:34:35+02:00
La version 0.32.0 de Xcpc est disponible
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>Xcpc est un émulateur d’Amstrad CPC 464/664/6128 écrit en C. Cet émulateur a été conçu pour être portable et fonctionner sur n’importe quel système Posix disposant d’un serveur X11, incluant donc Linux, BSD et de nombreux systèmes Unix.</p>
<p>Cet émulateur a été développé pour émuler la gamme classique des Amstrad CPC :</p>
<ul>
<li>Amstrad CPC 464 (v1).</li>
<li>Amstrad CPC 664 (v2).</li>
<li>Amstrad CPC 6128 (v3).</li>
</ul>
<p>La gamme Amstrad CPC+ ainsi que la console GX4000 ne sont actuellement pas supportées et ne le seront probablement pas.</p>
</div><ul><li>lien nᵒ 1 : <a title="https://www.xcpc-emulator.net/" hreflang="en" href="https://linuxfr.org/redirect/108186">Xcpc - Amstrad CPC emulator</a></li><li>lien nᵒ 2 : <a title="https://www.xcpc-emulator.net/posts/2021/04/02/xcpc-0.32.0-has-been-released.html" hreflang="en" href="https://linuxfr.org/redirect/108187">Annonce de la version 0.32.0</a></li><li>lien nᵒ 3 : <a title="https://www.xcpc-emulator.net/download.html" hreflang="en" href="https://linuxfr.org/redirect/108188">Télécharger le code source</a></li><li>lien nᵒ 4 : <a title="https://bitbucket.org/ponceto/xcpc/" hreflang="en" href="https://linuxfr.org/redirect/108189">L'espace projet sur bitbucket</a></li></ul><div><h3 id="toc-un-peu-dhistoire">Un peu d’histoire</h3>
<p>Le développement de cet émulateur a démarré il y a 20 ans, en avril 2001. La première version officielle a été publiée en mai 2001.</p>
<p>L’objectif initial de l’émulateur était de pouvoir rejouer au jeu « Head Over Heels » sous Unix et Linux, puis d’émuler le plus fidèlement possible (dans la mesure du possible) ces antiques machines, tout en gardant un code source le plus portable possible.</p>
<p>Le code original a été développé sur une station Digital Alpha au433, une station Sun Ultra 5 et sous Linux. Ces machines ayant maintenant disparu, le code vise principalement les plateformes Linux et BSD. Les plateformes Windows ne sont pas supportées et ne le seront probablement jamais. </p>
<h3 id="toc-quoi-de-neuf">Quoi de neuf ?</h3>
<p>Après plusieurs années sans aucune évolution (la dernière version officielle datait de janvier 2007), le développement de l’émulateur a repris doucement mais sûrement.</p>
<p>Ces dernières semaines, plusieurs versions se sont succédé :</p>
<ul>
<li>une première version 0.30.0, publiée le 16 mars 2021 ;</li>
<li>suivie d’une version 0.31.0, publiée le 25 mars 2021 ;</li>
<li>suivie d’une version 0.31.1, publiée le 29 mars 2021 ;</li>
<li>puis la dernière version 0.32.0, publiée le 2 avril 2021.</li>
</ul>
<p>Le code source de l’émulateur a subi un gros refactoring, de nombreux bugs ont été corrigés et l’interface utilisateur a eu droit un léger lifting.</p>
<p>Pour le moment le son n’est toujours pas supporté mais est au chapitre des prochains chantiers à venir.</p>
<h3 id="toc-captures-décran">Captures d’écran</h3>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f7777772e786370632d656d756c61746f722e6e65742f2f6173736574732f73637265656e73686f74732f786370632d62617369632d312d312e706e67/xcpc-basic-1-1.png" alt="Écran de démarrage" title="Source : https://www.xcpc-emulator.net//assets/screenshots/xcpc-basic-1-1.png"><br>
<img src="//img.linuxfr.org/img/68747470733a2f2f7777772e786370632d656d756c61746f722e6e65742f2f6173736574732f73637265656e73686f74732f786370632d686561642d6f7665722d6865656c732e706e67/xcpc-head-over-heels.png" alt="Scène de jeu" title="Source : https://www.xcpc-emulator.net//assets/screenshots/xcpc-head-over-heels.png"><br>
<img src="//img.linuxfr.org/img/68747470733a2f2f7777772e786370632d656d756c61746f722e6e65742f2f6173736574732f73637265656e73686f74732f786370632d63726166746f6e2d616e642d78756e6b2e706e67/xcpc-crafton-and-xunk.png" alt="Scène de jeu avec score" title="Source : https://www.xcpc-emulator.net//assets/screenshots/xcpc-crafton-and-xunk.png"></p>
</div><div><a href="https://linuxfr.org/news/la-version-0-32-0-de-xcpc-est-disponible.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/123832/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/la-version-0-32-0-de-xcpc-est-disponible#comments">ouvrir dans le navigateur</a>
</p>
ponceto
Ysabeau 🧶 🧦
Pierre Jarillon
Nils Ratusznik
https://linuxfr.org/nodes/123832/comments.atom
tag:linuxfr.org,2005:News/40325
2021-03-03T14:03:06+01:00
2021-03-03T14:03:06+01:00
Sortie de 0 A.D. Alpha 24 « Xšayāršā »
Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr
<div><p>0 A.D. : Empires Ascendant est un jeu vidéo de stratégie en temps réel (RTS) historique en 3D développé par Wildfire Games. C’est un projet libre (code sous GPL v2, données sous CC BY‑SA 3.0), au développement ouvert, visant des standards de qualité artistique comparables à ceux de l’industrie, ainsi qu’un grand respect de la réalité historique. Le jeu permet d’incarner treize factions qui ont marqué leur histoire entre les rives de l’Atlantique et la chaîne de l’Himalaya, au cours de la période allant de −500 av. J.‑C. à −1 av. J.‑C.</p>
<p>0 A.D. : Empires Ascendant est encore actuellement considéré « en cours de développement », par l’équipe et les fans exigeants, mais le jeu est jouable à tel point qu’une communauté de joueurs conséquente s’est déjà construite autour, et son succès est révélé par les statistiques : 250 000 téléchargements en 2018 et 100 000 comptes multijoueurs.<br>
Cette dépêche présente la version Alpha 24, Xšayāršā, du projet sortie le 20 février dernier.</p>
<p>Cet article est principalement une traduction de <a href="https://play0ad.com/new-release-0-a-d-alpha-24-xsayarsa/">l’annonce officielle</a> de la nouvelle version.</p>
<p>Si vous souhaitez rejoindre l’aventure, n’hésitez pas à visiter nos forums et à rejoindre notre communauté, ou plus simplement, à prendre un de nos tickets sur Trac avant de soumettre un correctif sur Phabricator. Si vous avez des questions n’hésitez pas à passer sur IRC (#0ad-dev sur le serveur Quakenet).</p>
<p>Nous sommes toujours à la recherche de développeurs — C++ (moteur graphique, moteur audio), JavaScript (IA, gameplay, génération procédurale de cartes) —, de reviewers, de traducteurs, d’historiens, de créateurs de cartes, d’animateurs 3D, d’artistes 3D et 2D, et de personnes pour nous aider sur certains scripts (Perl et Python).</p>
</div><ul><li>lien nᵒ 1 : <a title="https://play0ad.com/" hreflang="en" href="https://linuxfr.org/redirect/107938">Site officiel de 0 A.D.</a></li><li>lien nᵒ 2 : <a title="https://fr.wikipedia.org/wiki/0_A.D." hreflang="fr" href="https://linuxfr.org/redirect/107939">Page Wikipédia Francophone de 0 A.D.</a></li><li>lien nᵒ 3 : <a title="https://www.youtube.com/watch?v=k6scM-nwfhE" hreflang="en" href="https://linuxfr.org/redirect/107940">Bande-annonce de la version (YouTube)</a></li><li>lien nᵒ 4 : <a title="https://videos.pair2jeux.tube/videos/watch/862b06e3-7e6b-44b3-9a9a-86222623d9d7" hreflang="en" href="https://linuxfr.org/redirect/107941">Bande-annonce de la version (PeerTube)</a></li><li>lien nᵒ 5 : <a title="https://linuxfr.org/tags/0ad/public" hreflang="fr" href="https://linuxfr.org/redirect/107942">Étiquette « 0ad » sur LinuxFr.org</a></li><li>lien nᵒ 6 : <a title="https://linuxfr.org/news/sortie-de-0-a-d-alpha-23-ken-wood-annonce-tardive" hreflang="fr" href="https://linuxfr.org/redirect/107943">Annonce Linuxfr.org de l'Alpha 23</a></li><li>lien nᵒ 7 : <a title="https://linuxfr.org/news/0-a-d-empires-ascendant-rapport-de-developpement-septembre-2019-mai-2020" hreflang="fr" href="https://linuxfr.org/redirect/107944">Dépêche Linuxfr.org du rapport de développement de l'entre-deux versions</a></li><li>lien nᵒ 8 : <a title="https://play0ad.com/new-release-0-a-d-alpha-24-xsayarsa/" hreflang="en" href="https://linuxfr.org/redirect/107961">Annonce de la sortie de l'Alpha 24</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#toc-rappel-historique">Rappel historique</a></li>
<li><a href="#toc-une-nouvelle-version">Une nouvelle version</a></li>
<li><a href="#toc-r%C3%A9sum%C3%A9-des-principales-nouveaut%C3%A9s">Résumé des principales nouveautés</a></li>
<li><a href="#toc-%C3%89quilibrage-de-diverses-m%C3%A9caniques-de-jeu">Équilibrage de diverses mécaniques de jeu</a></li>
<li><a href="#toc-alignement-dynamique-des-b%C3%A2timents">Alignement dynamique des bâtiments</a></li>
<li><a href="#toc-am%C3%A9liorations-du-moteur-de-rendu">Améliorations du moteur de rendu</a></li>
<li><a href="#toc-%C3%89diteur-de-raccourcis">Éditeur de raccourcis</a></li>
<li><a href="#toc-am%C3%A9liorations-des-formations-agencement-des-groupes-dunit%C3%A9s">Améliorations des formations (agencement des groupes d’unités)</a></li>
<li><a href="#toc-effets-de-statut-et-modificateurs">Effets de statut (et modificateurs)</a></li>
<li><a href="#toc-param%C3%A9trage-du-nombre-dunit%C3%A9s-dune-partie">Paramétrage du nombre d’unités d’une partie</a></li>
<li><a href="#toc-am%C3%A9liorations-du-lobby">Améliorations du lobby</a></li>
<li><a href="#toc-am%C3%A9liorations-de-linterface-utilisateur">Améliorations de l’interface utilisateur</a></li>
<li><a href="#toc-explorateur-de-carte"> Explorateur de carte</a></li>
<li><a href="#toc-aper%C3%A7u-des-catafalques">Aperçu des catafalques</a></li>
<li><a href="#toc-aper%C3%A7u-des-civilisations">Aperçu des civilisations</a></li>
<li><a href="#toc-configuration-de-partie">Configuration de partie</a></li>
<li><a href="#toc-am%C3%A9liorations-du-comportement-des-unit%C3%A9s">Améliorations du comportement des unités</a></li>
<li><a href="#toc-interface-de-reinforcement-learning">Interface de reinforcement-learning</a></li>
<li><a href="#toc-arts--nouveaux-mod%C3%A8les">Arts : nouveaux modèles</a></li>
<li><a href="#toc-nouvelles-cartes">Nouvelles cartes</a></li>
<li><a href="#toc-am%C3%A9liorations-sous-le-capot">Améliorations sous le capot</a></li>
<li><a href="#toc-et-pour-la-suite">Et pour la suite ?</a></li>
<li><a href="#toc-contribuez">…Contribuez !</a></li>
</ul>
<h2 id="toc-rappel-historique">Rappel historique</h2>
<p>0 A.D. a été créé par des fans du jeu de Microsoft, Age of Empires Ⅱ : The Age of Kings. Il s’agissait du groupe Tontoclan et des « modders » à l’origine du « mod » Rome at War. Entamé en juin 2001, le projet avait initialement pour but de rendre jouables les civilisations antiques du premier Age of Empires avec le moteur d’Age of Kings. Puis, ils ont décidé de créer leur propre jeu indépendant.<br>
Un soin particulier est porté à la cohérence historique. Plusieurs historiens professionnels ou amateurs ont prodigué leurs conseils au projet au fil du temps.<br>
Le jeu stagnant, pour lui redonner un second souffle, le 10 juin 2009, Wildfire Games publia le jeu sous licence libre (<a href="https://fr.wikipedia.org/wiki/0_A.D.">source Wikipédia</a>).</p>
<h2 id="toc-une-nouvelle-version">Une nouvelle version</h2>
<p>Wildfire Games, groupe international de développeurs de jeux qui développe 0 A.D., vient de publier la version Alpha 24 : « Xšayāršā » (à prononcer : Khsha-ya-ṛsha; IPA: /xʃajaːr̩ʃaː/), la 24ᵉ version alpha de 0 A.D. </p>
<p>Xšayāršā est une transcription du nom en vieux perse 𐎧𐏁𐎹𐎠𐎼𐏁𐎠 (x-š-y-a-r-š-a), plus connu sous son appellation grecque : Xerxès. <br>
<a href="https://fr.wikipedia.org/wiki/Xerx%C3%A8s_Ier">Xerxès I le Grand</a> est le Roi de l’Empire Achéménide de 485 à 465 avant JC.</p>
<p>L’équipe a décidé de nommer la version Alpha 24 d’après cet ancien souverain pour célébrer l’ancienne civilisation perse et illustrer les changements à venir dans la gouvernance interne de 0 A.D.</p>
<p><a href="https://fr.wikipedia.org/wiki/Ach%C3%A9m%C3%A9nides">L’Empire perse</a> fut considérablement plus étendu que n’importe lequel de ses prédécesseurs à travers le monde et l’impact de son système d’administration s’étendit longtemps après. L’Empire était constitué d’environ deux douzaines de satrapies (provinces) qui étaient d’anciens royaumes ou peuples conquis. Chaque satrapie était dirigée par un <a href="https://fr.wikipedia.org/wiki/Satrape">satrape</a> (gouverneur ou vice-roi) et approvisionnait le « Roi des Rois » perse (empereur) avec un tribut annuel et des troupes, bien que restant largement autonome en interne. Cette organisation survivra aux Achéménides et sera poursuivie par les Macédoniens, les Séleucides et les Arsacides (Parthes).</p>
<p><a href="https://fr.wikipedia.org/wiki/Xerx%C3%A8s_Ier">Xerxès</a> hérita de l’empire de son père <a href="https://fr.wikipedia.org/wiki/Darius_Ier">Darius I le Grand</a>. Il continua les réformes entamées par son père et étendit les programmes impériaux de construction. Tôt dans son règne, il mena une <a href="https://fr.wikipedia.org/wiki/Xerx%C3%A8s_Ier#Campagne_contre_la_Gr%C3%A8ce">invasion</a>, finalement infructueuse, de la Grèce, avec des victoires à Thermopyles, Artémision et Athènes en 480 av. JC mais des défaites à Salamine, Platées et Mycale en 479 av. JC. Le reste de son règne fut largement pacifique. L’Empire perse atteint sans doute son zénith sous le règne de Xerxès.</p>
<p>Cette version sort un peu moins de trois ans après <a href="//linuxfr.org/news/sortie-de-0-a-d-alpha-23-ken-wood-annonce-tardive">la précédente Alpha 23 « Ken Wood »</a> et presque 1 an après <a href="//linuxfr.org/news/0-a-d-empires-ascendant-rapport-de-developpement-septembre-2019-mai-2020">le rapport de développement intermédiaire</a>.</p>
<p>Pour les impatients, un peu de prudence et de compréhension : la version vient de sortir, tous les mods ne sont pas encore mis à jour, ils le seront petit à petit selon le temps des développeurs, tous bénévoles. Ne leur criez pas dessus, encouragez-les plutôt :-)</p>
<p>N’oubliez pas de désactiver TOUS les mods avant de passer à la version suivante, pour éviter tout risque de conflit.</p>
<h2 id="toc-résumé-des-principales-nouveautés">Résumé des principales nouveautés</h2>
<ul>
<li>Équilibrage de diverses mécaniques de jeu</li>
<li>Alignement dynamique des bâtiments</li>
<li>Améliorations du moteur de rendu</li>
<li>Éditeur de raccourcis</li>
<li>Améliorations des formations (agencement des groupes d’unités)</li>
<li>Effets des statuts (et modificateurs)</li>
<li>Paramétrage du nombre d’unités d’une partie</li>
<li>Améliorations du lobby</li>
<li>Améliorations de l’interface utilisateur</li>
<li>Améliorations du comportement des unités</li>
<li>Interface de reinforcement-learning</li>
<li>Nouveaux modèles 3D</li>
<li>Nouvelles cartes d’escarmouche</li>
<li>Améliorations sous le capot</li>
</ul>
<h2 id="toc-Équilibrage-de-diverses-mécaniques-de-jeu">Équilibrage de diverses mécaniques de jeu</h2>
<p>Avec l’aide de plusieurs joueurs ayant un bon classement sur la version A23, des centaines d’ajustements pour améliorer l’équilibrage des mécaniques de jeux ont été réalisés ces dernières années. Ainsi presque toutes les unités et structures ont été ajustées. Le résultat final est une expérience de jeu plus agréable, plus équilibrée en A24 :</p>
<ul>
<li>Les différentes civilisations ont été rééquilibrées, donnant ainsi aux joueurs plus de choix viables.</li>
<li>Les phases de partie tardives ont été retravaillées substantiellement, avec moins d’effet « boule de neige » et des champions plus viables, ce qui veut dire plus de variété.</li>
<li>Les héros ne peuvent être entraînés qu’une fois par partie, vous devez maintenant choisir judicieusement quand les jouer (précédemment si un héros mourrait, on pouvait l’entraîner à nouveau).</li>
<li>Toutes les civilisations ont maintenant une étable, pour entraîner la cavalerie et les chars, et un arsenal, pour construire des engins de siège.</li>
<li>Les forteresses ne peuvent plus entraîner de soldats mais constituent maintenant une racine de territoire, faisant d’elles des structures plus défensives et efficaces pour protéger votre base.</li>
<li>Les citoyennes et les citoyens soldats peuvent maintenant placer les fondations de toutes les structures (précédemment les citoyennes ne pouvaient pas construire certaines structures, militaires notamment).</li>
<li>Beaucoup, beaucoup d’autres petits ajustements et corrections (dont un changement concernant les alliances : la cartographie, qui permet de voir la carte connue de ses alliés, est disponible dans le centre-ville dès le début, au lieu de nécessiter un marché et donc une première amélioration du centre-ville au préalable).</li>
</ul>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676531322e6a7067/image12.jpg" alt="Illustration de diverses structures et unités en jeu" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image12.jpg"></p>
<h2 id="toc-alignement-dynamique-des-bâtiments">Alignement dynamique des bâtiments</h2>
<p>Les amateurs de construction de cité vont adorer cette nouvelle option : vous pouvez maintenant facilement placer des bâtiments les uns à côté des autres grâce à l’alignement dynamique !</p>
<p>Cette fonctionnalité peut être activée avec Ctrl et vous pouvez choisir si vous préférer l’avoir activée ou désactivée par défaut. Comme d’habitude, vous avez le choix. Tactiquement, cela peut permettre d’occuper moins d’espace, si l’espace est limité par des obstacles permanents type montagne ou temporaires type bois à couper avant de pouvoir construire, ou bien d’avoir des bâtiments jointifs pour obliger tout adversaire à les contourner ou les détruire avant d’être au contact.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676533302e706e67/image30.png" alt="Vue en jeu de bâtiments dynamiquement alignés" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image30.png"></p>
<h2 id="toc-améliorations-du-moteur-de-rendu">Améliorations du moteur de rendu</h2>
<p>Cette version introduit l’anticrénelage dans le moteur de rendu : vous pouvez choisir entre pas d’anticrénelage, <a href="https://fr.wikipedia.org/wiki/Fast_approximate_anti-aliasing">FXAA (Fast Approximate Anti-Aliasing)</a> et différents niveaux de <a href="https://fr.wikipedia.org/wiki/Anticr%C3%A9nelage#M%C3%A9thode_logicielle,_num%C3%A9rique">MSAA (Multisample anti-aliasing)</a>, si vous avez une carte graphique assez puissante à cet effet. </p>
<p>Un filtre Contrast Adaptive Sharpening (CAS) a également été ajouté au moteur. On peut trouver un peu de <a href="https://github.com/GPUOpen-Effects/FidelityFX-CAS">détails sur CAS et son origine via ce code GitHub</a>.</p>
<p>Un système supportant OpenGL 3.3 ou versions ultérieures est recommandé par l’équipe pour utiliser ces options. </p>
<p>Le shader d’océan a également reçu quelques modifications, en particulier près des bords de la carte, qui a maintenant une apparence plus agréable.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676531312d31353336783531352e6a7067/image11-1536x515.jpg" alt="Aperçu des 3 modes : sans anticrénelage, FXAA et MSAA" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image11-1536x515.jpg"></p>
<h2 id="toc-Éditeur-de-raccourcis">Éditeur de raccourcis</h2>
<p>Ce nouvel éditeur de raccourcis intégré à l’interface utilisateur du jeu va rendre plus accessible le changement de raccourcis. De plus les raccourcis ont été retravaillés pour utiliser des scancodes, ainsi les raccourcis par défaut seront compatibles avec toutes les dispositions de clavier !</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676533322e706e67/image32.png" alt="Vue de l’éditeur de raccourcis" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image32.png"></p>
<h2 id="toc-améliorations-des-formations-agencement-des-groupes-dunités">Améliorations des formations (agencement des groupes d’unités)</h2>
<p>L’Alpha 24 vous apporte de nouveaux outils pour travailler avec les formations : vous pouvez maintenant choisir une formation par défaut pour vos unités lorsque vous donnez les ordres « Marcher » et « Patrouiller ». Vous pouvez aussi choisir automatiquement de disperser une formation lorsque vous ordonnez à vos unités d’attaquer ou de récolter, etc.</p>
<h2 id="toc-effets-de-statut-et-modificateurs">Effets de statut (et modificateurs)</h2>
<p>Les modders vont aimer cette nouveauté : vous pouvez maintenant donner des effets de statuts à vos unités, changeant leurs statistiques de différentes manières. Les modificateurs de statistiques peuvent aussi s’appliquer directement par des déclencheurs et autres moyens, sans avoir à utiliser des contournements sur les auras ou les technologies. <br>
0 A.D. ne les utilise pas encore beaucoup mais cela donne véritablement plus de possibilités pour créer des cartes personnalisées sans avoir à créer tout un tas de modèles comme pour les mods de type « tower defence ».</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676531362e706e67/image16.png" alt="Exemple d’utilisation d’effets de statut : soldat ayant un effet de brûlure" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image16.png"></p>
<h2 id="toc-paramétrage-du-nombre-dunités-dune-partie">Paramétrage du nombre d’unités d’une partie</h2>
<p>Malgré les efforts de l’équipe, le jeu peut encore être ralenti quand il y a de nombreuses unités sur la carte. <em>World Pop</em> vous donne un moyen d’avoir toujours des combats épiques avec de bonnes performances : choisissez une population totale maximum. Lorsque un joueur est vaincu, sa part est distribuée parmi les joueurs restants. Commencez ainsi une partie 4 contre 4 avec une limite de 150 unités chacun et les 2 derniers joueurs en lice peuvent avoir 600 unités à partager ! Garderez-vous vos pauvres ennemis en vie pour gêner votre opposant ou utiliserez-vous votre excédent d’unités fraîchement acquis ?</p>
<h2 id="toc-améliorations-du-lobby">Améliorations du lobby</h2>
<p>Il s’agit d’une fonctionnalité très demandée : vous pouvez maintenant héberger des parties protégées par mot de passe dans le lobby ! Il est ainsi plus facile de jouer avec vos amis, car il n’est plus nécessaire de trouver votre adresse IP externe ou configurer votre routeur. De plus, l’équipe a aussi amélioré la sécurité en cachant l’IP de l’hébergeur jusqu’à ce que les joueurs aient réussi à rejoindre la partie, ce qui réduit drastiquement le risque de DDoS d’un joueur hostile.</p>
<h2 id="toc-améliorations-de-linterface-utilisateur">Améliorations de l’interface utilisateur</h2>
<p>L’équipe a toujours eu à cœur à rendre le jeu plus accessible et facile d’utilisation, et cette version n’y déroge pas.</p>
<ul>
<li>Vous pouvez aisément voir le nombre de récolteurs actifs sous chaque compteur de ressources.</li>
</ul>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676532342e706e67/image24.png" alt="Vu des compteurs de ressources avec le nombre de récolteurs actifs sous certaines" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image24.png"></p>
<ul>
<li>Une surcouche avec la durée de cessez-le-feu a été ajoutée afin de ne plus être pris par surprise.</li>
<li>Les infobulles d’une façon générale ont été significativement améliorées, en particulier les taux de rendement de récolte des différentes ressources.</li>
</ul>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d616765322e706e67/image2.png" alt="Taux de rendement en récolte des différentes ressources" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image2.png"></p>
<h2 id="toc-explorateur-de-carte"> Explorateur de carte</h2>
<p>Si vous recherchez une autre manière de sélectionner une nouvelle carte pour une partie, l’Alpha 24 introduit l’« Explorateur de carte » (Map Browser). <br>
Accessible depuis un bouton dans l’interface de configuration de match, les utilisateurs et les utilisatrices peuvent naviguer à travers les cartes de façon un peu plus intuitive qu’en utilisant le menu déroulant.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676531342e706e67/image14.png" alt="Vue du navigateur de carte" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image14.png"></p>
<h2 id="toc-aperçu-des-catafalques">Aperçu des catafalques</h2>
<p>Ceux jouant le mode de jeu « Capture de relique » (Relic Capture) auront certainement remarqué que les reliques en question sont des <a href="https://fr.wikipedia.org/wiki/Catafalque">catafalques</a>, reliquaires de héros morts, enfermés dans une estrade funéraire montée sur des roues, et chacune de celles-ci a une petite sélection d’auras bénéfiques. <br>
L’Alpha 24 introduit un écran « Aperçu des catafalques » (Catafalque Overview), accessible depuis le sous-menu « Apprendre à jouer » (Learn to Play) du Menu Principal, qui rend simple d’accès l’apprentissage de leurs différentes caractéristiques.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676532302e706e67/image20.png" alt="Vue de l’écran d’aperçu des reliques catafalques" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image20.png"></p>
<h2 id="toc-aperçu-des-civilisations">Aperçu des civilisations</h2>
<p>L’écran existant de longue date « Aperçu des civilisations » (Civilization Overview) a eu quelques améliorations en arrière-plan. Maintenant que les informations sont tirées directement des fichiers du jeu, elles sont considérablement plus précises que dans les précédentes versions.</p>
<h2 id="toc-configuration-de-partie">Configuration de partie</h2>
<p>Quelques nouvelles possibilités ont été ajoutées à la configuration de partie comme le choix aléatoire d’une carte quand plusieurs cartes sont disponibles et un indicateur plus évident quand la partie est « Rated for Online Play » (partie classée en ligne avec un système d’ELO).</p>
<h2 id="toc-améliorations-du-comportement-des-unités">Améliorations du comportement des unités</h2>
<p>Cette alpha livre des améliorations sur tout un tas de petites choses.</p>
<ul>
<li>Le rassemblement des bateaux a été amélioré et devrait demander moins de micromanagement.</li>
<li>Les unités ne « glissent » plus à la fin de leur mouvement et les mouvements en général ont été améliorés avec bien moins de cas où les unités restent bloquées.</li>
<li>Les acclamations ont été retravaillées : au lieu d’acclamer lorsqu’elles reçoivent une promotion, les unités acclament maintenant quand tous les ennemis en vue ont été vaincus.</li>
<li>Si vous avez déjà joué en multijoueur, vous avez peut-être déjà vu une stratégie ennuyante appelé « Dancing » où les unités vont aisément éviter les tirs de flèches et vous force à microgérer vos archers. Cette stratégie ne fonctionne plus, rendant ainsi le jeu plus amusant pour tous les joueurs.</li>
<li>Le comportement d’entrée/sortie a été amélioré.</li>
</ul>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d616765392e6a7067/image9.jpg" alt="Acclamations de victoire d’un groupe d’unités victorieuses" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image9.jpg"></p>
<h2 id="toc-interface-de-reinforcement-learning">Interface de reinforcement-learning</h2>
<p>Le <em><a href="https://fr.wikipedia.org/wiki/Apprentissage_par_renforcement">Reinforcement learning</a></em> (RL, apprentissage par renforcement) est une technique de <em><a href="https://fr.wikipedia.org/wiki/Apprentissage_automatique">Machine Learning</a></em> (ML, apprentissage automatique) qui peut être utilisée pour entraîner une intelligence artificielle (IA) à jouer à des jeux… et maintenant 0 A.D. en a une !</p>
<p>L’équipe est très excitée par cette nouvelle possibilité, car la capacité de modification facile et extensible du jeu implique que l’on puisse mettre en place beaucoup de sortes d’environnements complexes et d’agent RL sans avoir à tout redévelopper.</p>
<p>L’équipe invite tout développeur d’IA, chercheur ou n’importe quelle personne intéressée à venir l’aider avec son IA. Plus d’informations peuvent être trouvées sur la page dédiée à l'<a href="https://trac.wildfiregames.com/wiki/GettingStartedReinforcementLearning">apprentissage par renforcement</a>.</p>
<h2 id="toc-arts--nouveaux-modèles">Arts : nouveaux modèles</h2>
<p>Les nouveaux développements artistiques sont bien trop nombreux pour être listés individuellement et incluent entre autres : </p>
<ul>
<li>modèles retravaillés ;</li>
<li>animations (dont nouvelles animations d’attente, de défense et de rassemblement) ;</li>
<li>textures et matériaux pour un grand nombre d’unités ;</li>
<li>de nouveaux modèles de chevaux, textures et animations ;</li>
<li>de nouveaux modèles et design de boucliers ;</li>
<li>de nouveaux modèles de casques et variantes, en particulier pour les civilisations romaines, gauloises, bretonnes et grecques ;</li>
<li>beaucoup de nouvelles textures améliorées pour les unités, les armes et les accessoires pour un certain nombre de civilisations incluant parmi d’autres les Perses, les Ibères et les Carthaginois.</li>
</ul>
<p>Les Ptolémaïques ont maintenant des modèles de bâtiments helléniques historiquement plus fidèles. Les Bretons ont une nouvelle forge tandis que les Gaulois ont une nouvelle merveille, elles aussi historiquement plus fidèles, ainsi qu’un bâtiment de l’assemblée pouvant entraîner des trompettistes pour intimider les ennemis. </p>
<p>De nouvelles textures pour les bâtiments comprenant les échafaudages, la poussière et la destruction ont été ajoutées. La plupart des bateaux ont été entièrement remodelés depuis la base. L’artillerie de siège a également été remodelée avec des animations considérablement améliorées.</p>
<p>Il y a également beaucoup de nouveautés pour la flore comprenant des arbres, des buissons et des herbes. Et aussi de nouvelles falaises, un nouveau générateur de particules pour la neige et les nuages, quelques nouvelles textures de terrains ainsi que de nouveaux sons et nouvelles voix ont été ajoutés. Il y a un tout nouvel écran d’accueil ainsi que pas mal d’icônes améliorées et d’images d’unités conçues pour l’interface utilisateur. Et cela en addition à une myriade de petits correctifs et optimisations diverses.</p>
<p><strong>Comparaison de deux cavaliers entre les versions A23 et A24</strong><br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676532312d31353336783836342e6a7067/image21-1536x864.jpg" alt="Comparaison A23 et A24 de 2 cavaliers" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image21-1536x864.jpg"></p>
<p><strong>Les améliorations des armures et vêtements des Perses</strong><br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676532332d31353336783836342e6a7067/image23-1536x864.jpg" alt="Vue des améliorations des armures et vêtements des Perses" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image23-1536x864.jpg"></p>
<p><strong>Les Peltastes, Thraces et Agrianiens</strong><br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676534322d31353336783836342e6a7067/image42-1536x864.jpg" alt="Vue des peltastes thraces et agrianiens" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image42-1536x864.jpg"></p>
<p><strong>Les modèles de boucliers gaulois et les textures</strong><br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d616765342d31353336783836342e6a7067/image4-1536x864.jpg" alt="Vue des modèles de boucliers gaulois et textures" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image4-1536x864.jpg"> </p>
<p><strong>Les motifs de bouclier des républicains romains</strong><br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d616765312d31353336783836342e6a7067/image1-1536x864.jpg" alt="Vue des motifs de bouclier des républicains romains" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image1-1536x864.jpg"></p>
<p><strong>Les hoplites grecs : casques, armures et motifs de bouclier</strong><br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676533342d31353336783836342e6a7067/image34-1536x864.jpg" alt="Vue des hoplites grecs : casques, armures et motifs de bouclier" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image34-1536x864.jpg"></p>
<p><strong>Les nouveaux navires</strong><br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676533392d31353336783836342e6a7067/image39-1536x864.jpg" alt="Vue des nouveaux navires" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image39-1536x864.jpg"></p>
<p><strong>Les nouvelles armes de sièges et les animations</strong><br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676532352d31353336783836342e6a7067/image25-1536x864.jpg" alt="Vue de nouvelles armes de siège et animations" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image25-1536x864.jpg"></p>
<p><strong>Flore et arbres : les nouveautés</strong><br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d616765332d31353336783836342e6a7067/image3-1536x864.jpg" alt="Nouvelle flore et arbres" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image3-1536x864.jpg"></p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676532382d31353336783837342e6a7067/image28-1536x874.jpg" alt="Nouvelle flore et arbres, suite" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image28-1536x874.jpg"></p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676532362d31353336783837342e6a7067/image26-1536x874.jpg" alt="Nouvelle flore et arbres, suite" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image26-1536x874.jpg"></p>
<p><strong>L’agencement des nouvelles apparences de structures</strong><br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676532372d31353336783936302e6a7067/image27-1536x960.jpg" alt="Vue agencement de nouvelles apparences de structures, unités et flore" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image27-1536x960.jpg"></p>
<p><strong>Les unités : apparences et animations</strong><br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676533382d3135333678313030342e6a7067/image38-1536x1004.jpg" alt="Vue d’apparences et animations d’unités" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image38-1536x1004.jpg"></p>
<p>Pour plus de captures d’écran et détails, se référer aux deux derniers rapports de développement : <a href="https://play0ad.com/0-a-d-development-report-may-august-2019/">mai à août 2019</a> et <a href="https://play0ad.com/0-a-d-development-report-september-2019-may-2020/">septembre 2019 à mai 2020</a> en V.O. Ce dernier est aussi <a href="//linuxfr.org/news/0-a-d-empires-ascendant-rapport-de-developpement-septembre-2019-mai-2020">disponible en français</a>.</p>
<h2 id="toc-nouvelles-cartes">Nouvelles cartes</h2>
<p>0 A.D. Alpha 24 a été enrichie de sept nouvelles cartes d’escarmouche : </p>
<ul>
<li><p>Atlas Valleys (Vallée de l’<a href="https://fr.wikipedia.org/wiki/Haut_Atlas">Atlas</a>, dans l'actuel Maroc)<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d616765382e706e67/image8.png" alt="Vallée de l’Atlas" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image8.png"></p></li>
<li><p>Farmland (Terres agricoles)<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676531352e706e67/image15.png" alt="Farmland" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image15.png"></p></li>
<li><p>Obedska Bog (Tourbière d’Obedska, version jour et nuit, dans l’actuelle « réserve naturelle de l'<a href="https://fr.wikipedia.org/wiki/Obedska_bara">Obedska bara</a> qui est un étang et une zone marécageuse et boisée située au nord de la Serbie »)<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676532392e706e67/image29.png" alt="Obedska Bog" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image29.png"></p></li>
<li><p>Oceanside (Côte océanique)<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d616765352e706e67/image5.png" alt="Oceanside" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image5.png"></p></li>
<li><p>Sahyadri Buttes (les actuels <a href="https://fr.wikipedia.org/wiki/Ghats_occidentaux">Ghats occidentaux</a>)<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676533372e706e67/image37.png" alt="Sahyadri Buttes" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image37.png"></p></li>
<li><p>Temperate Roadway<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676534312e706e67/image41.png" alt="Temperate Roadway" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image41.png"></p></li>
<li><p>Vesuvius (<a href="https://fr.wikipedia.org/wiki/V%C3%A9suve">Vésuve</a>, Italie actuelle)<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f706c61793061642e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032312f30322f696d61676531382e706e67/image18.png" alt="Vesuvius" title="Source : https://play0ad.com/wp-content/uploads/2021/02/image18.png"></p></li>
</ul>
<h2 id="toc-améliorations-sous-le-capot">Améliorations sous le capot</h2>
<p>Nouvelle exigence : Windows XP, Windows Vista et toutes versions inférieures à macOS 10.12 ne sont plus supportés. Le jeu requiert maintenant <a href="https://fr.wikipedia.org/wiki/Streaming_SIMD_Extension_2">SSE2</a>. Par ailleurs, même si les macs ARM sont supportés, malheureusement le code tournant dessus n’est pas encore natif, les utilisateurs de cette plateforme doivent donc s’attendre à des baisses de performance.</p>
<p>Plusieurs modules du jeu ont été en partie réécrits ou extensivement modifiés pour l’Alpha 24. Ils vont ainsi bien mieux fonctionner et seront plus simples à étendre dans le futur. Des exemples notables en sont les pages de réglages du jeu, le composant de mouvement des unités (UnitMotion) et le moteur de rendu qui ont connu une grande quantité de changements avec le retrait du style des années 90 du pipeline « Fixed-Point » d’OpenGL 1.0. Cela augmente en retour la plus basse version supportée à OpenGL 2.0. </p>
<p>En plus, l’équipe a commencé à complètement utiliser le pipeline du <a href="https://en.wikipedia.org/wiki/ARB_assembly_language">shader ARB</a> (pour les Modders, tout cela veut simplement dire que vous allez trouver tout un tas de nouvelles choses cools à faire !).</p>
<p>Avec l’Alpha 24 vient l’adoption de Visual Studio 2017 comme principal compilateur pour Windows (l’Alpha 23B utilisait Visual Studio 2013) et l’équipe a augmenté la version du standard C++ utilisé de C++11 à C++17, cela leur permettant d’écrire plus vite du code plus propre.</p>
<p>Cette version accueille également des mises à jour majeures de beaucoup des principales bibliothèques utilisées par le jeu. </p>
<p>L’Alpha 23 a été publiée avec Spidermonkey 38, délivré avec Firefox 38 en mai 2015. Cette fois l’équipe l’a mis à jour avec la dernière version « ESR », Spidermonkey 78, sortie en juin 2020 ! Cela veut dire que l’on peut utiliser maintenant la nouvelle syntaxe Javascript et les bindings du moteur ont été mis à jour. </p>
<p>Si vous êtes un mainteneur sachez cependant que vous risquez de rencontrer ce bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1644600">https://bugzilla.mozilla.org/show_bug.cgi?id=1644600</a> si vous essayez d’utiliser cette version pour votre distribution. N’hésitez pas à nous contacter si vous avez besoin d’assistance.</p>
<p>D’autres bibliothèques ont été mises à jour sur macOS et Windows, ce qui permet de supporter plus de plateformes mais oblige également à en abandonner certaines.</p>
<h2 id="toc-et-pour-la-suite">Et pour la suite ?</h2>
<p>Cette version est la plus longue que l’équipe a connue jusqu’alors comme vous l’avez sûrement remarqué et ce fut une passe difficile. Malgré cela nous espérons revenir maintenant sur des sorties de versions plus régulières.</p>
<p>Comme d’habitude, pour la prochaine Alpha, nous accueillons les suggestions des fans pour des noms en relation avec d’anciennes civilisations commençant par la lettre « Y ». Trouvez un mot original et en relation avec la période de temps sur laquelle s’écoule 0 A.D. (de l’an 500 av. JC à l’an 1 av. JC).</p>
<p>Postez vos propositions <a href="https://wildfiregames.com/forum/topic/35736-alpha-25-name-suggestions">ici</a> (ou arrangeons-nous en commentaire pour un message commun ;-) ) ! </p>
<h2 id="toc-contribuez">…Contribuez !</h2>
<p><em>0 A.D.</em> bien que parfaitement jouable est toujours aujourd’hui un jeu en Alpha et accueille des contributeurs et des contributrices de tous les horizons pour le faire avancer :</p>
<ul>
<li>développeurs C++, sur l’amélioration du moteur de jeu Pyrogenesis (écrit en C++) qui progresse vers plus de généricité et notamment sur le pipeline graphique ;</li>
<li>développeur JavaScript, sur les mécaniques de jeu ;</li>
<li>réviseurs, le process de qualité en réclame ;</li>
<li>artistes, particulièrement pour l’animation et l’environnement ;</li>
<li>traducteurs, via <a href="https://www.transifex.com/wildfire-games/0ad/">Transifex</a> ;</li>
<li>testeur, en jouant tout simplement ;</li>
<li>passionnés de documentation.</li>
</ul>
<p>Vous pouvez également <a href="https://play0ad.com/community/donate/">effectuer des dons</a> ou simplement parler de 0 A.D. autour de vous.</p>
<p>Venez discuter sur <a href="http://www.wildfiregames.com/forum/">le forum</a> ou le <a href="http://webchat.quakenet.org/?channels=0ad">canal IRC</a> (<em>#0ad</em> sur <em>QuakeNet</em>) du projet.</p>
<p>Vous pouvez aussi nous contacter par courriel : <em>webmaster</em> at <em>wildfiregames</em> point <em>com</em>.</p>
<p>Nous sommes aussi sur les réseaux sociaux suivants :</p>
<ul>
<li>
<a href="http://play0ad.bandcamp.com/">BandCamp</a> ;</li>
<li>
<a href="http://facebook.com/play0ad">Facebook</a> ;</li>
<li>
<a href="https://www.instagram.com/play0ad.official/">Instagram</a> ;</li>
<li>
<a href="https://mastodon.social/web/accounts/1074531">Mastodon</a> ;</li>
<li>
<a href="https://www.moddb.com/games/0-ad">ModDB</a> ;</li>
<li>
<a href="https://www.indiedb.com/games/0-ad">IndieDB</a> ;</li>
<li>
<a href="https://www.reddit.com/r/0ad/">Reddit</a> ;</li>
<li>
<a href="https://twitter.com/play0ad">Twitter</a>.</li>
</ul>
</div><div><a href="https://linuxfr.org/news/sortie-de-0-a-d-alpha-24-xsayarsa.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/123400/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/sortie-de-0-a-d-alpha-24-xsayarsa#comments">ouvrir dans le navigateur</a>
</p>
Alcyone
Benoît Sibaud
Ysabeau 🧶 🧦
play0ad
anubis
https://linuxfr.org/nodes/123400/comments.atom