tag:linuxfr.org,2005:/tags/jeuxvid%C3%A9o/publicLinuxFr.org : les contenus étiquetés avec « jeuxvidéo »2021-02-14T10:33:24+01:00/favicon.pngtag:linuxfr.org,2005:Diary/394862020-12-07T19:14:29+01:002020-12-07T19:14:29+01:00Ma vie de joueur : mes retrouvailles avec AMD après 10 ans d'absence.Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Bonjour Nal,</p>
<p>Je partage mon retour d'expérience très positive que j'ai eue avec l'acquisition très récente d'une carte graphique AMD RX 6800XT (C'est Noël avant l'heure cette année, confinement tout ça).</p>
<p>Joueur né et linuxien depuis l'adolescence (2001, avec ma première Mandrake 7.1), mon expérience avec les cartes ATI/AMD furent, au mieux, mitigées, sinon désastreuses. De mémoire, ma dernière carte de la marque était une Radeon HD 4770 achetée en 2009 (cette époque lointaine où une carte milieu/haut de gamme coûtait 200€). À l'époque, sous Debian Sid, je me remémore sans regret du pilote propriétaire tout pourri (fglrx) qui avait toujours plusieurs versions de retard sur le noyau et qui cassait tout à chaque mise à jour. Je m'étais alors juré que, sauf miracle, plus jamais je n’achèterai une Radeon, malgré leurs très bonnes performances (dans les tests publiés sous Windows en tout cas) pour un prix raisonnable.</p>
<p>Je suis donc passé du rouge au vert. Nvidia avait au moins la décence de fournir un pilote qui bien que propriétaire, était fiable, à jour et performant. Entre deux maux, je prenais le moins pire.</p>
<p>J'avais entendu entre temps qu'AMD avait ouvert les spécifications de son matériel et soutenait le pilote libre. Malheureusement, entre temps AMD était dans le creux de la vague et les cartes graphiques comme les CPU avaient mauvaise réputation pour leurs performances, leur consommation électrique et leur fiabilité.</p>
<p>Et puis, il y a l'arrivée de Steam sous Linux, avec le soutien actif de Valve à Mesa et à Wine (qui l'eût cru, je pariais sur GoG à l'époque, qui a complètement abandonné notre communauté). Conjugué aux progrès techniques constants des cartes AMD qui rattrapait son retard, je lisais de plus en plus régulièrement qu'AMD était une option viable, sinon la meilleure, pour jouer sans concessions sous Linux. Avec l'introduction des architectures RDNA 1 et 2, il m'en fallait peu pour sauter le pas. Macron aura été cette étincelle, le second confinement est décrété et j'ai réussi à dégoter, par chance, une RX6800XT à sa sortie.</p>
<p>Préalablement, j'ai scruté les sites spécialisés, comme Phoronix qui assurait que la carte était supportée à la sortie. Tous les feux étaient au vert.</p>
<p>J'ai pris quelques précautions en installant un noyau 5.10 en RC (linux-mainline dans le dépôt AUR de Arch Linux), linux-firmware-git et… c'est tout. Tout juste marche à merveille. Depuis la mise à jour du noyau 5.9.12, ce dernier est même désormais compatible et la version de linux-firmware empaquetée de base dans le dépôt Core est également suffisante.</p>
<p>Les performances sont au rendez-vous puisque, par exemple, le benchmark intégré dans le jeu Red Dead Redemption II donne en 1440p avec tous les curseurs poussés à droite (exception faite du MSAA) 74 images/sec en moyenne. Doom Eternal dépasse quant à lui allègrement les 250 images/s.</p>
<p>Il y a 10 ans, je n'aurais jamais cru qu'on puisse jouer sous Linux avec des pilotes entièrement libres dans des conditions similaires, voire supérieures à celles sous Windows (il semblerait que les jeux Vulkan sous Proton tournent généralement mieux sous Linux que nativement sous Windows, comme l'illustre ce <a href="https://www.youtube.com/watch?v=5DTxEr9CaHI">test</a>).</p>
<p>Bref, je suis ravi. Une petite déception cependant : le support d'OpenCL via Mesa n'est pas encore complet. Il est par exemple impossible de l'activer dans Darktable. Il semblerait qu'il <a href="https://avidandrew.com/darktable-opencl-rocm.html">faille passer par l'implémentation d'OpenCL de ROCm</a>, mais je n'ai pas encore essayé. Sinon, tant pis, je n'en mourrai pas.</p>
<div><a href="https://linuxfr.org/users/crashone/journaux/ma-vie-de-joueur-mes-retrouvailles-avec-amd-apres-10-ans-d-absence.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/122483/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/crashone/journaux/ma-vie-de-joueur-mes-retrouvailles-avec-amd-apres-10-ans-d-absence#comments">ouvrir dans le navigateur</a>
</p>
Pif le Chienhttps://linuxfr.org/nodes/122483/comments.atomtag:linuxfr.org,2005:Bookmark/22102020-11-03T09:53:24+01:002020-11-03T09:53:24+01:00tiled 1.4.2 est déconfiné<a href="https://www.mapeditor.org/2020/08/05/tiled-1-4-2-released.html">https://www.mapeditor.org/2020/08/05/tiled-1-4-2-released.html</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/122094/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/devnewton/liens/tiled-1-4-2-est-deconfine#comments">ouvrir dans le navigateur</a>
</p>
devnewton 🍺https://linuxfr.org/nodes/122094/comments.atomtag:linuxfr.org,2005:Diary/392652020-07-23T12:13:54+02:002020-07-24T09:43:31+02:00Rolling: un nouveau jeu libreLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#toc-quest-ce-que-cest">Qu'est-ce que c'est ?</a></li>
<li><a href="#toc-gameplay">Gameplay</a></li>
<li><a href="#toc-jeu-de-r%C3%B4le">Jeu de rôle</a></li>
<li><a href="#toc-comment-se-d%C3%A9marque-rolling">Comment se démarque Rolling</a></li>
<li>
<a href="#toc-serveur">Serveur</a><ul>
<li><a href="#toc-univers-configurable">Univers configurable</a></li>
</ul>
</li>
<li><a href="#toc-une-base-dactions-%C3%A0-%C3%A9tendre">Une base d'actions à étendre</a></li>
<li>
<a href="#toc-api-http">API HTTP</a><ul>
<li><a href="#toc-interfaces-normalis%C3%A9es">Interfaces normalisées</a></li>
</ul>
</li>
<li><a href="#toc-graphismes">Graphismes</a></li>
<li><a href="#toc-pourquoi-d%C3%A9velopper-ce-projet-et-ce-mode-de-jeu">Pourquoi développer ce projet et ce mode de jeu ?</a></li>
<li><a href="#toc-la-pile-technique">La pile technique</a></li>
<li><a href="#toc-%C3%80-ce-stade">À ce stade</a></li>
<li><a href="#toc-%C3%80-vous-de-jouer">À vous de jouer</a></li>
</ul>
<p>Déjà deux ans de travail, il est temps de présenter le projet !</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f74726163696d2e6275782e66722f6170692f76322f7075626c69632f67756573742d646f776e6c6f61642f32643838336530642d653566612d343333382d616563662d3063363962373962653162622f436f666665655f3234322e706e67/Coffee_242.png" alt="image principale" title="Source : https://tracim.bux.fr/api/v2/public/guest-download/2d883e0d-e5fa-4338-aecf-0c69b79be1bb/Coffee_242.png"></p>
<p>Petite vidéo disponible <a href="https://tracim.bux.fr/api/v2/public/guest-download/c15eb2a9-a104-4a0c-868f-2230e650c560/rolling1.webm">ici</a> (2.47 MB, WEBM)</p>
<h2 id="toc-quest-ce-que-cest">Qu'est-ce que c'est ?</h2>
<p>Tout d'abord, c'est un jeu. À la fois un jeu de gestion, d'aventure, de rôle et de coopération multi-joueurs. Vous incarnez un personnage qui devra, pour commencer, trouver à boire et à manger. Et ce, à chaque tour. Mais au delà de ces besoins de base … il vous faudra assurer votre survie face aux autres joueurs. Car dans ce jeu, tout est permis. Du moins l'idée c'est d'en permettre un maximum !</p>
<p>Pour survivre, à vous de choisir comment: Construire et fortifier un village. Développer un réseau commercial. Payer des mercenaires. Ou encore, être payé par les villages pour les protégers. Êtres vous même les brigands …</p>
<p>Le jeu met à disposition les mécaniques nécessaires pour réaliser vos projets. Rolling est un jeu où on confie aux joueurs le soin de créer l'environnement, le contexte et les évènements du jeu.</p>
<h2 id="toc-gameplay">Gameplay</h2>
<p>Rolling associe le tour-par-tour et le temps réel. A dates fixes, le "tour passe". Entre chaque passage de tour, vous êtes libre de faire jouer votre personnage en consommant ses "points d'actions" (qui se rechargent au passage de tour). Entre les passages de tour, vous pourrez:</p>
<ul>
<li> Chercher, produire ou consommer de la nourriture/de l'eau</li>
<li> Déplacer votre personnage (sans consommer de points d'actions) dans la "zone" où il se trouve</li>
<li> Voyager vers d'autres zones (quitter votre zone pour une autre)</li>
<li> Fabriquer des outils, des armes, des vêtements, …</li>
<li> Construire des bâtiments, des murs, des enceintes, des fours, etc</li>
<li> Relationner avec d'autres joueurs, créer/rejoindre des affinités pour se protéger mutuellement et partager ses biens</li>
<li> Définir ce que votre personnage protège, comme l'accès à un bâtiment, un endroit …</li>
</ul>
<p>Lors du passage de tour, différentes opérations seront effectués par le serveur:</p>
<ul>
<li> Calcul des pertes/gains de points de vies</li>
<li> Péremption/re-génération des ressources (la forêt pousse, les animaux se reproduisent, la viande faisande…)</li>
<li> Fonctionnement des bâtiments (un feu s'éteint si il n'a plus de bois à bruler)</li>
<li> Exécution des actions programmées</li>
</ul>
<p>Cela, dans un monde persistant et partagé entre tous les joueurs : ce que vous laissez trainer (une épée, votre nourriture, un cadavre…), ce que vous construisez, etc, les autres joueurs y auront accès.</p>
<p>Une liste des fonctionnalités développées et à développer est disponible <a href="https://github.com/buxx/rolling#roadmap-fr">ici</a>.</p>
<h2 id="toc-jeu-de-rôle">Jeu de rôle</h2>
<p>Rolling est également un jeu de rôle : Votre personnage évoluera en connaissances et compétences. Vous pourrez proposer des quêtes, exprimer des besoins commerciaux, rédiger des histoires avec d'autres joueurs si vous avez l'âme d'un écrivain. Des outils de gestion, de création de quêtes et d'évènements seront mis à disposition des maîtres du jeu pour alimenter l'univers.</p>
<p>Le serveur enregistrera un certains nombre de données comme les déplacements, les concentrations de populations, l'urbanisation, les affrontements… Afin de générer des cartes, des fils d'évènements racontant l'histoire de l'univers.</p>
<p>Et lorsque votre personnage meurt, c'est terminé. Vous devrez recommencer avec un nouveau personnage !</p>
<h2 id="toc-comment-se-démarque-rolling">Comment se démarque Rolling</h2>
<p>Un jeu dont l'univers est construit par les joueurs.</p>
<ul>
<li> Un monde persistant : chaque objet laissé au sol, construction effectuée ou cadavre laissé derrière vous fait partie de l’univers</li>
<li> Un mélange de jeux tour par tour et de temps réel</li>
<li> Pendant que vous ne jouez pas, votre personnage peut interagir : participer à une attaque, se défendre, faire des échanges commerciaux</li>
<li> Une grande liberté d'action</li>
<li> Multijoueurs</li>
</ul>
<h2 id="toc-serveur">Serveur</h2>
<h3 id="toc-univers-configurable">Univers configurable</h3>
<p>Le moteur que je développe permet de configurer et de faire fonctionner un univers issue de votre imagination, cela grâce à un maximum de configurations :</p>
<ul>
<li> La carte du monde et des zones</li>
<li> Les objets et leurs caractéristiques</li>
<li> Les ressources</li>
<li> L'articulation des actions (voir un peu après pour plus de détails)</li>
<li> Les compétences/connaissances</li>
</ul>
<p><strong>Quelque exemples</strong></p>
<p>Définition de la carte du monde:</p>
<pre><code>::LEGEND
~ SEA*
^ MOUNTAIN
ፆ JUNGLE
∩ HILL
⡩ BEACH
⠃ PLAIN
::META
SPAWN:RANDOM:BEACH,
::GEO
</code></pre>
<pre><code>~~~~~~~~~ፆ^ፆፆ~~~~~~~~~~~~
~~~~~~~~ፆ^^^∩ፆ~~~~~~~~~~~
~~~~~~~⡩ፆ∩∩∩∩⡩~~~~~~~~~~~
~~~~~~⡩ፆፆ∩∩∩ፆፆ⡩~~~~~~~~~~
~~~~~~⡩ፆፆፆፆፆፆፆ⡩~~~~~~~~~~
~~~~~~⡩⠃⠃⠃ፆፆፆፆ⡩~~~~~~~~~~
~~~~~~⡩⠃⠃⠃⠃⠃⠃⡩~~~~~~~~~~~
~~~~~~~⡩⠃⠃⠃⠃⡩~~~~~~~~~~~~
~~~~~~~~⡩⡩⡩⡩~~~~~~~~~~~~~
</code></pre>
<pre><code></code></pre>
<p>Définition d'une carte de zone (qui correspond a une coordonné sur la carte du monde). Ici toute petite pour servir d'illustration représentant une plage. C'est un octogone où chaque "bord" permet de se déplacer vers une autre zone:</p>
<pre><code>::GEO
⡩⡩⡩⡩⡩⡩⡩
⡩⡩⡩⡩⡩⡩⡩⡩⡩
⡩⡩⡩⡩⡩⡩⡩ʛ⡩⡩⡩
⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩
⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩
⡩⡩⡩⡩ʛ⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩
⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩
⡩⡩⡩⡩⡩⡩⡩⡩⡩ʛ⡩⡩⡩⡩⡩⡩⡩ʛ⡩⡩⡩
⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩ʛ⡩⡩⡩⡩⡩⡩⡩⡩⡩
⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩
⡩⡩⡩⡩ʛ⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩
⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩ʛ⡩⡩⡩⡩
⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩⡩
⡩###⡩⡩⡩#⡩⡩⡩###⡩⡩⡩#⡩⡩⡩
~~##~~~~~~##~~~~~#~
~~~~~~~~~~~~~#~~~
~~~#~~~~~~~~~~~
~~~~~~~~~~~~~
~~~~~~~~~~~
~~~~~~~~~
~~~~~~~
</code></pre>
<p><strong><em>Note</em></strong>: J'ai prévu d'abandonner le format "texte" pour celui de l'image où les tuiles seront représentés par des pixels de couleurs.</p>
<p>Configuration de ressources :</p>
<pre><code>[resources.BEACH_SAND]
name = "Sable de plage"
weight=1600.0
material="SANDY"
unit = "L"
clutter = 1.0
actions = ["DROP_RESOURCE", "MIX_RESOURCES", "TRANSFORM_RESOURCES_TO_RESOURCES"]
[resources.PEBBLES]
name = "Galets"
weight=2000.0
material="LITTLE_OBJECT"
unit = "L"
clutter = 1.0
actions = ["DROP_RESOURCE", "MIX_RESOURCES", "TRANSFORM_RESOURCES_TO_RESOURCES"]
</code></pre>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f74726163696d2e6275782e66722f6170692f76322f7075626c69632f67756573742d646f776e6c6f61642f30303934646139342d656262382d343337612d613239652d6435306664313364636266612f436f666665655f3234332e706e67/Coffee_243.png" alt="image inventaire" title="Source : https://tracim.bux.fr/api/v2/public/guest-download/0094da94-ebb8-437a-a29e-d50fd13dcbfa/Coffee_243.png"></p>
<p>Configuration d'objets:</p>
<pre><code>[LITTLE_SKIN_CANTEEN]
name = "Petite gourde de peau"
filled_at = 0.0
filled_unity = "L"
filled_capacity = 1.0
weight = 0.1
clutter = 1.0
actions = ["DROP_STUFF","FILL_STUFF","DRINK_STUFF","EMPTY_STUFF"]
material_type = "OBJECT"
classes = ["BOTTLE"]
[LITTLE_SKIN_BAG]
name = "Petit sac en peau"
weight = 1200.0
clutter = 0.0
clutter_capacity = 5.0
actions = ["DROP_STUFF","USE_AS_BAG","NOT_USE_AS_BAG"]
material_type = "OBJECT"
is_bag = true
classes = ["BAG", "LITTLE_BAG"]
</code></pre>
<p>Configuration d'actions:</p>
<pre><code>[ACTIONS.COOK_LITTLE_GAME_WITH_SKIN]
actions = ["TRANSFORM_STUFF_TO_RESOURCES"]
required_one_of_stuff_ids = ["HARE", "RABBIT", "FOX", "MARTEN", "BOAR", "DEER"]
required_all_stuff_ids = []
required_one_of_skill_ids = []
required_all_skill_ids = []
required_one_of_ability_ids = ["HEAT_UP_LOW_TEMP"]
required_all_ability_ids = []
produce = [
{resource="COOKED_MEAT", coeff=0.3},
{resource="LITTLE_ANIMAL_SKIN", quantity=1.0}
]
cost = 1
</code></pre>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f74726163696d2e6275782e66722f6170692f76322f7075626c69632f67756573742d646f776e6c6f61642f34373538336662352d373030642d343164362d393165322d6366623462636163386165642f436f666665655f3234342e706e67/Coffee_244.png" alt="image actions" title="Source : https://tracim.bux.fr/api/v2/public/guest-download/47583fb5-700d-41d6-91e2-cfb4bcac8aed/Coffee_244.png"></p>
<h2 id="toc-une-base-dactions-à-étendre">Une base d'actions à étendre</h2>
<p>Comme abordé dans la partie précédente, le moteur met à disposition une série d'actions. Une partie est "fixe" et l'autre extensible par configuration. Les actions "fixes" à ce stade sont:</p>
<ul>
<li> Les mécanismes de communications</li>
<li> Les mécanismes de commerces</li>
<li> Les mécanismes d'interractions avec les bâtiments</li>
<li> Les mécanismes d'interractions avec les autres joueurs (affinités/attaque/vol/tuer/prendre/donner/enseigner)</li>
<li> Les mécanismes de déplacements/voyages</li>
<li> Interaction avec des objets (remplir, vider, utiliser comme arme/bouclier/armure/sac)</li>
</ul>
<p>Les actions extensibles proposent un fonctionnement de base avec des modalités (ce sont celles-ci qui sont configurable). Ces actions peuvent être restreintes à certaines conditions (type de zone, compétences, possession d'objets):</p>
<ul>
<li> Construction d'un bâtiment (modalités: ressources requises, durée de construction)</li>
<li> Chercher de la nourriture (modalités: ressources et quantités obtenus)</li>
<li> Chercher du matériel (modalités: ressources et quantités obtenus)</li>
<li> Transformer des ressources en un objet (modalités: ressources/objets et quantités)</li>
<li> Transformer un objet en un autre (modalités: objets et quantités)</li>
<li> Transformer une ressource en une autre (modalités: ressources et quantités)</li>
<li> Construire un objet sur la durée qui prendra plusieurs tours de jeu (modalités: objet/ressource et quantités)</li>
</ul>
<h2 id="toc-api-http">API HTTP</h2>
<p>Le serveur propose son interface à travers une api HTTP. De cette manière, il est possible de scripter ce que l'on souhaite ou développer un client graphique différent. La documentation de cette api est générée d'après le code source et et visible <a href="http://s2.bux.fr:7431/doc/">ici par exemple</a>.</p>
<h3 id="toc-interfaces-normalisées">Interfaces normalisées</h3>
<p>Le serveur communique au client graphique une <a href="https://github.com/buxx/rolling/blob/master/guilang/description.py">représentation structurée</a> de l'interface qu'il doit afficher. Cela a des avantages : Le client implémente la manière d'afficher les interfaces une fois et le serveur peut ajouter de nouvelles interfaces sans que l'on doive mettre à jour le client graphique. Mais aussi des désavantages : Moins de souplesse quand il s'agit de donner une spécificité à un des écrans.</p>
<h2 id="toc-graphismes">Graphismes</h2>
<p>Le serveur fournit au client graphique le nécessaire pour savoir quoi afficher dans son interface. A ce stade, j'ai réalisé une implémentation simpliste mais suffisante pour commencer à jouer.</p>
<p>Une zone est donc composée d'une couleur de fond et d'une suite de tuiles de différents types que l'on représentera avec ces images:</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f74726163696d2e6275782e66722f6170692f76322f7075626c69632f67756573742d646f776e6c6f61642f35393834633435332d353862662d346565372d383830652d3130663830343765323663382f532543332541396c656374696f6e5f3331302e706e67/S%C3%A9lection_310.png" alt="image tuiles1" title="Source : https://tracim.bux.fr/api/v2/public/guest-download/5984c453-58bf-4ee7-880e-10f8047e26c8/S%C3%A9lection_310.png"></p>
<p>Les objets / constructions / personnages sont également des images, appliqués par-dessus:</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f74726163696d2e6275782e66722f6170692f76322f7075626c69632f67756573742d646f776e6c6f61642f30326563643132632d363038352d343338652d616633642d3665383339373566626266342f532543332541396c656374696f6e5f3331312e706e67/S%C3%A9lection_311.png" alt="image tuiles2" title="Source : https://tracim.bux.fr/api/v2/public/guest-download/02ecd12c-6085-438e-af3d-6e83975fbbf4/S%C3%A9lection_311.png"></p>
<p>La carte du monde suit ce même principe:</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f74726163696d2e6275782e66722f6170692f76322f7075626c69632f67756573742d646f776e6c6f61642f64363737373036372d353037372d343462612d623162332d6335336164363636326363622f532543332541396c656374696f6e5f3331322e706e67/S%C3%A9lection_312.png" alt="image tuiles3" title="Source : https://tracim.bux.fr/api/v2/public/guest-download/d6777067-5077-44ba-b1b3-c53ad6662ccb/S%C3%A9lection_312.png"></p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f74726163696d2e6275782e66722f6170692f76322f7075626c69632f67756573742d646f776e6c6f61642f39336139303038642d376238622d343535382d623938622d3863306265643761663835612f436f666665655f3232392e706e67/Coffee_229.png" alt="image monde" title="Source : https://tracim.bux.fr/api/v2/public/guest-download/93a9008d-7b8b-4558-b98b-8c0bed7af85a/Coffee_229.png"></p>
<p><strong>Note</strong>: je me pose sérieusement la question de passer à des tuiles de 32 pixels au lieu de 16 pixels.</p>
<h2 id="toc-pourquoi-développer-ce-projet-et-ce-mode-de-jeu">Pourquoi développer ce projet et ce mode de jeu ?</h2>
<p>Plusieurs raisons m'ont poussé à démarrer ce projet. Premièrement, j'ai toujours fortement apprécié les jeux permettant de laisser libre cours à l'imagination du joueur. Ainsi que les jeux de rôles et les jeux de coopération. Aussi, il n'est pas possible pour tout le monde de pouvoir effectuer de "longues" sessions de jeux mais de ne pouvoir jouer que par de brefs moments. Alors je me suis lancé dans ce "mélange".</p>
<p>Les jeux que l'on peut considérer comme des sources d'inspirations sont: <a href="http://www.bay12games.com/dwarves/">Dwarf Fortress</a>, <a href="https://www.fract.org/">Fract</a>, <a href="https://fr.wikipedia.org/wiki/Fallout_(jeu_vid%C3%A9o)">Fallout</a>, <a href="https://fr.wikipedia.org/wiki/Stronghold_(jeu_vid%C3%A9o,_2001)">Stronghold</a>.</p>
<h2 id="toc-la-pile-technique">La pile technique</h2>
<p>Le serveur est écrit en <a href="https://www.python.org/">python</a> et utilise <a href="https://docs.aiohttp.org/en/stable/">aiohttp</a>. La base de données est en SQLite mais passera en Postresql dès qu'il faudra maintenir des scripts de migrations. L'api HTTP est présentée, configurée et documentée avec <a href="https://github.com/algoo/hapic/">hapic</a> et <a href="https://gitlab.com/sgrignard/serpyco">serpyco</a>.</p>
<p>Le clent graphique actuel est écrit en <a href="https://www.rust-lang.org/">Rust</a> et utilse <a href="https://github.com/hecrj/coffee">Coffee</a> comme librairie graphique.</p>
<h2 id="toc-À-ce-stade">À ce stade</h2>
<p>Au bout de ces deux ans de travail, une première version du jeu est enfin testable. Elle est limitée mais permet, selon moi, de pouvoir élargir un peu le spectre des "joueurs testeurs".</p>
<p>Comme pour beaucoup de projets, l'aide de quiconque est la bienvenue ! Vous pouvez (détails sur comment contribuer <a href="https://github.com/buxx/rolling/blob/master/CONTRIBUTE.md">ici</a>):</p>
<ul>
<li> Tester, imaginer, proposer, jouer !</li>
<li> J'ai cruellement besoin d'une aide "graphique", c'est pas mon fort !</li>
<li> Développer le moteur, ajouter des objets/ressources/actions</li>
<li> Toute aide est bonne à prendre :)</li>
</ul>
<p>Quelque questions restent en suspens, peut-être auriez-vous de bon conseils:</p>
<ul>
<li> Un aspect important est qu'un joueur n'ai qu'un seul personnage. Comment appliquer cette limitation efficacement ? Je n'ai pas trouvé d'autres solutions que d'exploiter des systèmes tiers comme Steam pouvant faire office "d'identificateur". Pas top pour la vie privée …</li>
<li> J'utilise des tuiles de 16x16 pixels. Surtout parce que j'ai trouvé une suite gratuite sympa de cette taille. Mais je me pose vraiment la question de passer à du 32x32 pixels. Bien qu'il me faudrait quelqu'un pour faire quelque tuiles ! Qu'en pensez-vous ?</li>
<li> Le premier serveur de Rolling aura besoin d'un "univers" (fantastique ? médiéval ? post-apocalyptique ? steam-punk ?) si vous avez envie d'en être l'auteur, venez participer c'est possible !</li>
</ul>
<h2 id="toc-À-vous-de-jouer">À vous de jouer</h2>
<ul>
<li> Discuter par mail sur la liste de <em>publipostage</em> : <a href="https://framalistes.org/sympa/info/rolling">https://framalistes.org/sympa/info/rolling</a>
</li>
<li> Télécharger/Jouer: <a href="https://redbricks.games/home/rolling-117">https://redbricks.games/home/rolling-117</a>
</li>
<li> Proposer des fonctionnalités: <a href="https://redbricks.games/home/rolling-117/bricks">https://redbricks.games/home/rolling-117/bricks</a>
</li>
<li> Le code source du serveur: <a href="https://github.com/buxx/rolling">https://github.com/buxx/rolling</a>
</li>
<li> Le code source du Client graphique: <a href="https://github.com/buxx/rollgui">https://github.com/buxx/rollgui</a>
</li>
</ul>
<p>N'hésitez surtout pas à faire vos retours vos retours en commentaire, sur le site de <a href="https://redbricks.games/home/rolling-117">Redbricks</a> (qui est également <a href="https://gitlab.com/OtterWays/redbricks">libre et open source</a>) ou à laisser votre email sur <a href="https://framalistes.org/sympa/info/rolling-news">https://framalistes.org/sympa/info/rolling-news</a> pour être tenu au courant de la prochaine phase de tests.</p>
<div><a href="https://linuxfr.org/users/bux-2/journaux/rolling-un-nouveau-jeu-libre.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/121137/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/bux-2/journaux/rolling-un-nouveau-jeu-libre#comments">ouvrir dans le navigateur</a>
</p>
buxhttps://linuxfr.org/nodes/121137/comments.atomtag:linuxfr.org,2005:Post/411052020-05-09T02:04:35+02:002020-05-09T02:04:35+02:00La virtualisation de Windows sous Linux pour les jeux<p>Bonjour à toutes et tous,</p>
<p>Je suis nouveau sur ce forum et mon premier post est celui-ci.</p>
<p>J'utilise différentes distributions Linux depuis maintenant quelques années, que ce soit pour mes études ou mon travail. Néanmoins, sur mes ordinateurs personnels j'ai toujours eu Windows et pour cause, je suis un grand joueur.</p>
<p>A présent, je souhaite changer de système personnel et m’orienter vers Linux pour abandonner le produit de Microsoft. Je sais que certains jeux tournent nativement sous Linux, d'autres fonctionnent plutôt bien avec Wine (PlayonLinux, Lutris, Steam Proton), mais d'autres ne fonctionnent absolument pas et certains ne fonctionneront certainement jamais. Malheureusement c'est un problème pour moi. </p>
<p>J'ai pensé à diverses solutions comme installer Windows sur un disque dur externe et le brancher à mon PC afin de boot dessus et pouvoir jouer à mes jeux favoris, ou alors faire un dual boot, mais dans l'hypothèse où je souhaiterais ne pas m’embêter avec tout ça et simplement avoir une distro Linux d'installer sur mon PC, j'ai pensé à mettre en place une machine virtuelle sur mon système Linux (VirtualBox ou VMWare) sur laquelle je pourrais faire tourner Windows et donc la lancer lorsque je souhaite jouer.</p>
<p>Je suis donc ici aujourd'hui avant tout pour avoir votre avis sur ma solution mais surtout afin de savoir si quelqu'un l'avait déjà fait et si cela était stable et pas trop gourmand en ressources (il faut quand même allouer pas mal de RAM, CPU, GPU à la VM pour qu'elle puisse faire tourner des jeux, et puis c'est Windows quand même… niveau ressources pour afficher le bureau on est pas mal ;) ).</p>
<p>Voilà, j'ai résumé ma situation au complet afin que vous compreniez bien mon sujet et j'attends vos retours avec impatience :D !</p>
<p>Ractor</p>
<div><a href="https://linuxfr.org/forums/general-general/posts/la-virtualisation-de-windows-sous-linux-pour-les-jeux.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/120366/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/general-general/posts/la-virtualisation-de-windows-sous-linux-pour-les-jeux#comments">ouvrir dans le navigateur</a>
</p>
Ractorhttps://linuxfr.org/nodes/120366/comments.atomtag:linuxfr.org,2005:News/390582019-02-19T17:42:27+01:002019-02-20T14:10:12+01:00Grafik Labor : appel à conférenceLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>Grafik Labor est un événement qui aura lieu les 11 et 12 mai 2019 à Rennes. Son but est de rassembler les personnes investies autour des logiciels et de projets de création visuelle libre, pour engager des dynamiques techniques, créatives et communautaires.</p>
</div><ul><li>lien nᵒ 1 : <a title="http://afgral.org/je-participe" hreflang="fr" href="https://linuxfr.org/redirect/103578">Grafik Labor, proposer une conférence</a></li><li>lien nᵒ 2 : <a title="http://afgral.org/stand" hreflang="fr" href="https://linuxfr.org/redirect/103579">Grafik Labor, demander un stand</a></li></ul><div><p>L’AFGRAL est une association qui promeut les logiciels libres dans les réseaux professionnels de la création visuelle. Elle organise depuis des années des ateliers de sensibilisation et de formation et contribue à l’évolution des logiciels. La sensibilisation passe aussi par le Grafik Labor.</p>
<p><img src="//img.linuxfr.org/img/687474703a2f2f61666772616c2e6f72672f646174612f6d65646961732f696c6c752d67726166696b6c61626f7231392e312e706e67/illu-grafiklabor19.1.png" alt="Bandeau Grafik Labor 2019" title="Source : http://afgral.org/data/medias/illu-grafiklabor19.1.png"></p>
<p>Pour organiser au mieux cet événement, qui se déroulera du samedi 11 au dimanche 12 mai 2019 dans les locaux d’Activdesign au 11 b rue Jean le Ho à Rennes, nous proposons un appel aux conférenciers jusqu’au vendredi 15 mars 2019. Tous les domaines de la création graphique et visuelle peuvent être abordés, mais nous souhaitons cette année mettre l’accent sur l’interaction entre <a href="https://fr.wikipedia.org/wiki/Blender" title="Définition Wikipédia">Blender</a> et <a href="https://fr.wikipedia.org/wiki/Godot_%28moteur_de_jeu%29">Godot</a>.</p>
<p>Un formulaire est à votre disposition pour nous soumettre vos différentes propositions de conférences ou pour réserver des stands.</p>
</div><div><a href="https://linuxfr.org/news/grafik-labor-appel-a-conference.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/116466/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/grafik-labor-appel-a-conference#comments">ouvrir dans le navigateur</a>
</p>
pygmeePierre JarillonDavy DefaudNils Ratusznikhttps://linuxfr.org/nodes/116466/comments.atomtag:linuxfr.org,2005:Bookmark/4732019-02-14T13:25:17+01:002019-02-14T13:25:17+01:00Dynablaster Revenge, un clone nouvellement libre de Dynablasters/Bomberman<a href="https://github.com/varnholt/dynablaster_revenge">https://github.com/varnholt/dynablaster_revenge</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/116442/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/pulkomandy/liens/dynablaster-revenge-un-clone-nouvellement-libre-de-dynablasters-bomberman#comments">ouvrir dans le navigateur</a>
</p>
pulkomandyhttps://linuxfr.org/nodes/116442/comments.atomtag:linuxfr.org,2005:Post/397862019-01-12T16:37:07+01:002019-01-12T16:37:07+01:00Jouer à des jeux indés<p>Bonjour a tous,<br>
Je suis un grand amateur de jeux indé et je me trouve dans une impasse: je me rend sur itch.io (le site sur lequel je prend les jeux) il y a plusieurs jeux qui m interresse mais le probleme c est que une fois telecharger (la version linux du jeu) je n arrive pas a le lancé.<br>
Est ce que quelqu un a l habitude de telecharger des jeux indé sur ce genre de site sous linux? Si oui je veux bien savoir comment il/elle fait.<br>
merci</p>
<div><a href="https://linuxfr.org/forums/linux-debutant/posts/jouer-a-des-jeux-indes.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/116172/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-debutant/posts/jouer-a-des-jeux-indes#comments">ouvrir dans le navigateur</a>
</p>
Sacha_du_60https://linuxfr.org/nodes/116172/comments.atomtag:linuxfr.org,2005:Post/397722019-01-06T12:27:30+01:002019-01-09T20:28:26+01:00Noel n'est pas fini ?<p>Hello tous,</p>
<p>J'ai reçu deux codes pour activer un pack et un jeu, évidement le vendeur envoi le code avec des dates déjà obsolète, mais bon, est se qu'il ni aurait pas moyen d'en profiter quand même !</p>
<p>Pour tout expliquer j'ai changé de carte graphique, et, un pack est disponible via un code pour le jeu Fortnite Contre Attaque de EPIC, d'après de se que j'ai compris il faut déjà avoir le jeu ?, le code est valable ou obsolète jusqu'au 01/03/2019.</p>
<p>Pour plus d'info sur le code voir sur <a href="https://invidio.us/watch?v=s-nMj1AmPdc">invidio.us</a></p>
<p>Le deuxième, le code sert à télécharger le jeux et à l'activer, il s'agit de Monster Hunter World, pour ceux qui veulent en savoir plus sur le jeu RDV sur <a href="https://invidio.us/watch?v=HczL0c4ZVPo">invidio.us</a></p>
<p>Personnellement ses jeux ne sont pas fait pour moi et je n'ai pas envie de me casser la tête, donc je fais le père noël en mode "débarrassé moi en".</p>
<p>Si vous êtes intéressé, passez moi un message sur le forum pour vous communiquer le ou les codes par mail.</p>
<p>Merci. </p>
<p>Edit: j'ai fini par contacté le vendeur pour avoir des codes avec des dates valables, j'attends une réponse, l'offre reste valable pour les jeux.</p>
<div><a href="https://linuxfr.org/forums/general-petites-annonces/posts/noel-n-est-pas-fini.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/116126/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/general-petites-annonces/posts/noel-n-est-pas-fini#comments">ouvrir dans le navigateur</a>
</p>
zoulou56https://linuxfr.org/nodes/116126/comments.atomtag:linuxfr.org,2005:News/388772018-11-03T22:17:44+01:002018-11-19T09:37:16+01:00Suivre le championnat du monde de Defrag XonoticLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>Le XDWC c’est quoi ? Le « Xonotic Defrag World Championship » est une compétition vidéoludique se déroulant en ce moment‐même et rassemblant des joueurs du monde entier. Mais qu’est‐ce que le <em>Defrag</em>, qu’est que ce jeu libre <em>Xonotic</em>, en quoi est‐ce important ? On en parle juste après !</p>
</div><ul><li>lien nᵒ 1 : <a title="https://xonotic.org" hreflang="en" href="https://linuxfr.org/redirect/102983">Xonotic, le jeu vidéo libre</a></li><li>lien nᵒ 2 : <a title="https://xdwc.teichisma.info" hreflang="en" href="https://linuxfr.org/redirect/102984">XDWC : suivre les résultats en temps réel</a></li><li>lien nᵒ 3 : <a title="https://www.youtube.com/channel/UCE1cavImumJGaATW3lHKA9g" hreflang="en" href="https://linuxfr.org/redirect/102985">XDWC : regarder les vidéos des manches</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#toc-questce-que-le-defrag">Qu’est‐ce que le DeFRaG ?</a></li>
<li>
<a href="#toc-questce-que-xonotic">Qu’est‐ce que Xonotic ?</a><ul>
<li><a href="#toc-xonotic-un-jeu-libre-vraimentlibre">Xonotic, un jeu libre (vraiment libre)</a></li>
<li><a href="#toc-xonotic-comme-sujet-d%C3%A9tude">Xonotic comme sujet d’étude</a></li>
<li><a href="#toc-xonotic-un-jeu-comp%C3%A9titif">Xonotic, un jeu compétitif</a></li>
<li><a href="#toc-pourquoi-xonotic">Pourquoi Xonotic ?</a></li>
</ul>
</li>
<li><a href="#toc-questce-que-le-xdwc">Qu’est‐ce que le XDWC ?</a></li>
<li><a href="#toc-circlejump-rocketjump-et-autres-trickjump">CircleJump, RocketJump, et autres TrickJump</a></li>
<li>
<a href="#toc-defrag-demo-et-machinima">Defrag, Demo et Machinima</a><ul>
<li><a href="#toc-jumping-around-xonotic">Jumping Around (Xonotic)</a></li>
</ul>
</li>
<li>
<a href="#toc-suivre-le-xdwc">Suivre le XDWC</a><ul>
<li><a href="#toc-premi%C3%A8re-manche-sur-une-carte-de-sinety">Première manche sur une carte de Sinety</a></li>
<li><a href="#toc-seconde-manche-sur-une-carte-de-mirio-et-freddy">Seconde manche sur une carte de Mirio et Freddy</a></li>
<li><a href="#toc-troisi%C3%A8me-manche-sur-une-carte-de-packer">Troisième manche sur une carte de packer</a></li>
<li><a href="#toc-quatri%C3%A8me-manche-sur-une-carte-de-mirio">Quatrième manche sur une carte de Mirio</a></li>
<li><a href="#toc-cinqui%C3%A8me-manche-sur-une-carte-de-z-">Cinquième manche sur une carte de -z-</a></li>
</ul>
</li>
<li><a href="#toc-et-la-prochaine-%C3%A9dition-du-xdwc">Et la prochaine édition du XDWC ?</a></li>
</ul>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/xonotic/xdwc-2018/xdwc-2018-logo-white-on-gray.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f786f6e6f7469632f786477632d323031382f786477632d323031382d6c6f676f2d77686974652d6f6e2d677261792e706e67/xdwc-2018-logo-white-on-gray.png" alt="logo Xonotic Defrag World Championship" title="Source : https://dl.illwieckz.net/b/linuxfr.org/xonotic/xdwc-2018/xdwc-2018-logo-white-on-gray.png"></a></p>
<h2 id="toc-questce-que-le-defrag">Qu’est‐ce que le DeFRaG ?</h2>
<p>Le mot DeFRaG désigne initialement une <a href="https://fr.wikipedia.org/wiki/Mod_(jeu_vid%C3%A9o)">modification</a> du jeu <em>Quake Ⅲ Arena</em> et par <a href="https://fr.wikipedia.org/wiki/M%C3%A9tonymie">métonymie</a> la discipline sportive associée.</p>
<p>Le DeFRaG (initialement DeF’Rag) trouve son origine et son nom dans les <a href="https://web.archive.org/web/20010126155400/http://www.fragdome.com/defis/q3defis.shtml">Défis Fragdome</a>. Fragdome était un site Web communautaire français rassemblant des joueurs de <em>Quake Ⅲ Arena</em> et ayant initié une série de défis basés sur la physique du jeu (mouvements, recul des armes, souffle des projectiles, etc.).</p>
<p>Ces défis chronométrés ont conduit à l’émergence du <em>mod</em> lui‐même et de la discipline en tant que telle. Dans une compétition comme le XDWC la discipline se rapproche du <a href="https://fr.wikipedia.org/wiki/Speedrun"><em>speedrun</em></a>, dans le sens qu’un objectif doit être atteint le plus rapidement possible, mais contrairement aux <em>speedruns</em> ordinaires où il s’agit de terminer un jeu dans sa version originale, le DeFRaG modifie le jeu dans ce but et propose des niveaux spécialement créés pour l’occasion. Le DeFRaG n’est pas nécessairement une course, il s’agit avant tout de réaliser des prouesses, parfois en équipe. La course étant le moyen le plus efficace de se mesurer dans une compétition ! :-)</p>
<p>Bien qu’id Software ait libéré le code de <em>Quake Ⅲ</em>, et bien que le <a href="https://q3DeFRaG.org/files/dfengine/src/">moteur dfengine soit libre</a>, le code du <em>mod</em> semble être propriétaire selon les dires du développeur Cyril « Cgg » Gantin, qui s’exprimait en 2013 dans <a href="http://www.esreality.com/post/2385766/">un entretien avec le site <em>French Frag Factory</em></a> :</p>
<blockquote>
<p>J’ai considérablement été porté vers une ouverture des sources alors. DeFRaG pour moi appartient à sa communauté. C’est finalement la défiance des joueurs eux‐mêmes qui a décidé du sort de la base de code, qui est restée fermée. Les principales réticences étaient liées au <em>cheat</em>, et à la crainte de voir apparaître une multitude de <em>forks</em>.</p>
</blockquote>
<p>De plus, DeFRaG requiert pour fonctionner les données originales du jeu <em>Quake Ⅲ Arena</em> qui n’ont jamais été libérées. <em>Xonotic</em> répond au besoin d’un jeu libre afin de permettre au joueur d’exercer librement cet art !</p>
<p>De nombreux jeux ont développé des pratiques similaires, des niveaux taillés pour l’exercice des compétitions, et souvent des modifications logicielles spécifiques à cette intention. On peut par exemple citer la communauté <a href="http://www.urtjumpers.com/">UrtJumpers</a> pour le jeu <a href="https://www.urbanterror.info/home/"><em>Urban Terror</em></a>, le mod <a href="https://mgxrace.net/">RaceSow</a> pour le jeu <a href="https://www.warsow.net/"><em>War§ow</em></a> ainsi que les événements <a href="https://www.warsow.net/"><em>livesow.net</em></a> (le mode <em>Race</em> fut déjà évoqué dans une <a href="//linuxfr.org/news/war-ow-1-0-est-sorti">dépêche</a>) et, bien sûr, pour ce qui nous intéresse aujourd’hui : le jeu <em>Xonotic</em>, avec la compétition XDWC.</p>
<h2 id="toc-questce-que-xonotic">Qu’est‐ce que Xonotic ?</h2>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/xonotic/xonotic.org/xonotic-logo.png"><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"></a></p>
<h3 id="toc-xonotic-un-jeu-libre-vraimentlibre">Xonotic, un jeu libre (vraiment libre)</h3>
<p><em>Xonotic</em>, <a href="//linuxfr.org/tags/xonotic/public">plusieurs fois présenté</a>, est un jeu vidéo libre à la première personne en arène revisitant les classiques du genre comme le match à mort ou la capture du drapeau en équipe mais développant aussi des modes de jeux originaux. Car <em>Xonotic</em> n’est pas seulement un logiciel libre sur le papier, il est très modifiable et très modifié.</p>
<p><em>Xonotic</em> est un logiciel libre intégralement distribué sous licence GPL, code et données. Au‐delà de la question « la GPL est‐elle le meilleur choix pour des œuvres artistiques ? » qui amènent la question inverse « le code est‐il une œuvre artistique ? ». Ce qui est assez remarquable avec <em>Xonotic</em>, c’est la très grande clarté concernant les données.</p>
<p>Certains jeux libres souffrent de devoir composer avec un <em>patchwork</em> de licences, ce qui promet quelques maux de tête lorsqu’il faut s’assurer que tout est compatible, ou peut carrément semer des doutes et apporter des déconvenues lorsqu’on découvre que tout n’est pas très net ou très compatible. Car les jeux libres, surtout quand ils sont anciens, souffrent des conséquences d’un certain laxisme qui faisait loi dans les communautés de <em>modeurs</em> du début du siècle, quand certains artistes écrivaient dans leurs <em>README</em> : « je ne mets pas de licence pour pas vous prendre la tête » (<em>sic</em>). Quand presque vingt ans plus tard, il faut mettre un nom et une licence en face de chaque fichier, quand les auteurs ont complètement disparu, c’est dommage !</p>
<p>Pour intégrer un dépôt Debian, il faut que tout soit clair. Enfin, normalement. Mais certains seraient tentés de se dire : « oh, mais ces barbus libristes sont d’authentiques <code><insérer ici un qualificatif fleuri></code>. » Mais ne nous y trompons pas, plusieurs jeux libres se sont cassés les dents sur ce problème après avoir passé l’épreuve du « Greenlight » de Steam, sans aller jusqu’à la publication, car Steam demanderait une mention légale claire pour chaque fichier.</p>
<p><em>Xonotic</em> est donc libre, propre et net des pieds à la tête, et ça, c’est remarquable !</p>
<h3 id="toc-xonotic-comme-sujet-détude">Xonotic comme sujet d’étude</h3>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/xonotic/xdwc-2018/20181102-213737-000.xonotic.map-catharsis.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f786f6e6f7469632f786477632d323031382f32303138313130322d3231333733372d3030302e786f6e6f7469632e6d61702d6361746861727369732e6a7067/20181102-213737-000.xonotic.map-catharsis.jpg" alt="XDWC 2018, manche 1" title="Source : https://dl.illwieckz.net/b/linuxfr.org/xonotic/xdwc-2018/20181102-213737-000.xonotic.map-catharsis.jpg"></a> <em>Illustration : carte Catharsis par Justin et tOuYK8Ne, taillée pour la capture du drapeau</em></p>
<p><em>Xonotic</em> est un sujet d’étude à part entière, par son bagage technique et son histoire : c’est un jeu basé sur le moteur Darkplaces, un moteur dérivé de celui de <em>Quake</em>, la référence du genre. C’est un jeu qui peut être étudié sous toutes ses coutures et, comme nous l’avons montré, sur le plan de la liberté, c’est un cas d’école et un modèle d’étude. Mais son histoire pourrait justifier un article encyclopédique à elle‐seule, Xonotic est né de ce qui tua le projet <em>Nexuiz</em>, vous comprendrez alors mieux la présence d’un phœnix dans le logo de <em>Xonotic</em>.</p>
<p><em>Nexuiz</em> était un jeu libre que je ne vais pas présenter, parce que c’était simplement la même chose que <em>Xonotic</em> avant de devoir changer de nom. Sorti en 2005, <em>Nexuiz</em> avait rapidement acquis une très grande notoriété, au point qu’<a href="https://web.archive.org/web/20071130025038/http://alientrap.org:80/forum/viewtopic.php?t=2411">en 2007</a> la chaîne GameStop avait organisé un défi <em>Nexuiz</em> dans <a href="https://web.archive.org/web/20071122045839/http://www.alientrap.org:80/nexuiz/index.php?module=gamestoplocations">certains de ses magasins</a> en faisant jouer leurs clients sur des kiosques pour leur faire gagner des cartes cadeaux. Pour ceux qui ne connaissent pas GameStop, c’est l’équivalent de Micromania aux États‐Unis ; en fait, GameStop a racheté Micromania en 2008. Du côté français, le journal gratuit <em>20 minutes</em> s’était piqué d’<a href="https://www.20minutes.fr/high-tech/102889-20060821-net-guide-nexuiz-des-combats-multijoueurs-pour-tous">un article dès le mois d’août 2006</a>, c’est dire à quel point la pénétration du marché était rapide, et le public atteint, vraiment large.</p>
<p>Mais tout ça prit un tournant inattendu quand, en 2010, Lee Vermeulen, de la société Alientrap, initiateur du jeu et propriétaire de la marque Nexuiz, vendit l’usage du nom Nexuiz, du domaine <code>nexuiz.com</code> et par là‐même la notoriété à la société Illfonic. Ceci fit l’objet d’un <a href="//linuxfr.org/users/patrick_g/journaux/nexuiz-et-xonotic">journal</a> ici‐même à l’époque. Illfonic colla donc le nom Nexuiz sur un nouveau jeu propriétaire basé sur le moteur CryEngine 3, à destination de la PlayStation 3 d’abord, puis, plus tard, la Xbox et Steam. De nombreux sites spécialisés firent la publicité de cet autre jeu en publiant des articles racontant l’histoire de ce petit jeu indépendant devenu un grand de la console, ce qui ne s’est en réalité jamais produit, ces deux jeux n’ayant en commun que le nom.</p>
<p>Dès lors que la vente du nom fut révélée la vie de <em>Nexuiz</em> s’arrêta. Le développement du jeu continua, mais le jeu ne pouvait plus s’appeler <em>Nexuiz</em> et un nouveau nom fut trouvé : <em>Xonotic</em>. La continuité du développement s’est faite tout naturellement puisqu’Alientrap ne contribuait déjà plus au jeu depuis plusieurs années, l’équipe a simplement continué son travail sous le nouveau nom et la première publication avec le nom <em>Xonotic</em> fut accouchée en neuf mois.</p>
<p>On peut comparer cela à l’histoire entre Sun et Oracle pour le cas OpenOffice et LibreOffice : lorsqu’Oracle a racheté la marque OpenOffice en rachetant Sun Microsystems, les développeurs qui sont alors partis, ainsi que ceux qui n’avaient jamais été employés de Sun, ont continué le développement mais durent trouver un nouveau nom pour distribuer le fruit de leur travail. Le projet OpenOffice traversait déjà des difficultés avant l’acquisition par Oracle, les paquets OpenOffice des distributions GNU/Linux étaient depuis plusieurs années construits — malgré Sun — depuis le projet <a href="//linuxfr.org/news/go-oo-une-alternative-%C3%A0-openoffice">Go-oo</a>, qui allait devenir la base de LibreOffice. Il faut dire que Go-oo était en avance. Pour <em>Nexuiz</em> et <em>Xonotic</em>, l’histoire y ressemble beaucoup : le propriétaire des droits sur la marque s’était désinvesti du projet, les contributeurs se donnaient énormément, les droits furent vendus à une autre entité qui n’eut aucun intérêt pour le projet, le projet continua sous un autre nom avec un nouveau souffle de vie salutaire. Car, d’une certaine manière, ce nouveau départ après cette histoire autour du nom de <em>Nexuiz</em> fut une des meilleures chose qui soit arrivée au projet Xonotic en donnant aux développeurs l’occasion d’affirmer leur volonté et leur permettant de réaliser le jeu tels qu’ils l’entendaient, mais cela a été désastreux sur un autre aspect : la visibilité.</p>
<p>Car <em>Xonotic</em> souffre beaucoup d’un manque de visibilité, la notoriété acquise ayant été intégralement transférée avec la vente du nom. Tout comme on trouve encore aujourd’hui en 2018 des intégrateurs qui préinstallent OpenOffice au lieu de LibreOffice sur les ordinateurs qu’ils vendent, les gens installent ou recommandent encore un <em>Nexuiz</em> mort depuis huit ans en ignorant que <em>Xonotic</em> existe. On voit par exemple comment en 2012 le magazine <em>Linux Essentiel №28</em> des Éditions Diamond <a href="https://connect.ed-diamond.com/Linux-Essentiel/LPE-028/Zorin-OS-faites-passer-vos-amis-sous-Linux">présentait une distribution</a> préinstallant <em>Nexuiz</em> dans sa version <em>Gaming</em>… Deux ans après la mort de <em>Nexuiz</em> et l’avènement de <em>Xonotic</em>. Encore en 2018, je rencontre au moins une fois par mois un joueur qui regrette que les serveurs <em>Nexuiz</em> soient vides sans savoir que <em>Xonotic</em> existe, et il y a quelques semaines, j’ai rencontré quelqu’un qui voulait contribuer à <em>Nexuiz</em> et qui croyait que <em>Xonotic</em> était le nom du jeu propriétaire…</p>
<h3 id="toc-xonotic-un-jeu-compétitif">Xonotic, un jeu compétitif</h3>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/xonotic/xdwc-2018/20181102-215747-000.xonotic.map-quark.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f786f6e6f7469632f786477632d323031382f32303138313130322d3231353734372d3030302e786f6e6f7469632e6d61702d717561726b2e6a7067/20181102-215747-000.xonotic.map-quark.jpg" alt="XDWC 2018, manche 1" title="Source : https://dl.illwieckz.net/b/linuxfr.org/xonotic/xdwc-2018/20181102-215747-000.xonotic.map-quark.jpg"></a> <em>Illustration : carte non officielle Quark par SpiKe, taillée pour le duel</em></p>
<p>Mais <em>Xonotic</em> est bel et bien actif pour un jeu qui s’est complètement fait piquer sa notoriété ! En <a href="http://xonotic.org/posts/2018/xonstats-millionth-game/">février dernier</a>, le système de statistiques <a href="https://stats.xonotic.org/">XonStat</a> a enregistré sa millionième partie. Entre octobre 2011 (mise en service de XonStat) et octobre 2018, ce sont donc plus d’un million et cent‐trente mille parties qui ont été enregistrées, sachant que tous les serveurs ne rapportent pas nécessairement leurs statistiques !</p>
<p>De plus, <em>Xonotic</em> est aussi très actif sur le plan compétitif, et l’on va en parler juste après.</p>
<p>Là où des superproductions comme <em>Quake Champions</em> peinent également à trouver des joueurs, <em>Xonotic</em> a de sérieux atouts. On trouve dans les commentaires de la vidéo (en anglais) de <em>biancocup</em> <a href="https://www.youtube.com/watch?v=_g9lE1CIGqw">« <em>Why is no‐one playing Quake Champions?</em> »</a> (Pourquoi personne ne joue à <em>Quake Champions</em> ?) un début de réponse à la question posée :</p>
<blockquote>
<ul>
<li>
<em>no dedicated private servers, no LAN, no console, no custom config, no ultralow graphic options, no custom mods, no custom maps — Excessive Music</em> ;</li>
<li>
<em>They jumped on the bandwagon of class‐based combat when nobody asked for that. Quake is about pure skill with everything else being equal. — Joe</em> ;</li>
<li>
<em>Lootboxes, Bethesda, Classes, Skill gap — swat37</em> ;</li>
<li>
<em>modern mechanics/systems [players] don’t like (champions, lootboxes, champion skills, etc.) — Xfushion2</em> ;</li>
<li>
<em>Another deal breaker is the lack of possibility of modding. I’m not talking about “build your map with our map builder”, but actual modding, which made Q1 a drug to many users and expanded the fanbase. — ChristianIce</em> ;</li>
<li>
<em>Lootboxes and weapon‐sets ruined it. A Q‐player wants a deathmatch just join and play. Not concentrate for a skill tree or level up system. In Arena a beginner and a pro joins the server, their chances are the same. Modern times or not, old or young. — Red FoGSX</em>.</li>
</ul>
</blockquote>
<p>Pas la peine de traduire, énumérons plutôt ce que <em>Xonotic</em> offre que <em>Quake Champions</em> n’a pas et que les joueurs demandent : la possibilité de jouer en réseau local, la possibilité d’héberger des serveurs dédiés, une console en jeu c’est‐à‐dire un terminal pour taper des commandes, car les joueurs se plaignent beaucoup du temps incroyable (plusieurs minutes) qu’il faut pour arriver en jeu dans <em>Quake Champions</em>. Avec <em>Xonotic</em>, c’est très rapide !</p>
<p>Les joueurs veulent la possibilité de pouvoir réduire leur qualité graphique au minimum pour voir clair et ne pas être défavorisé par un manque de performance (quitte à remonter le niveau graphique au maximum pour en mettre plein la vue dans les <em>FragMovies</em>), les joueurs veulent des <em>mods</em>, des jeux personnalisés, des cartes personnalisées, les joueurs veulent modifier le jeu. Tout ça, <em>Xonotic</em> le propose. Les joueurs veulent un jeu où chaque participant est mis à égalité, pour ne se démarquer que sur sa propre excellence, son talent et son travail. Et ça, <em>Xonotic</em> le propose. Les joueurs ne veulent pas de « <em><a href="https://fr.wikipedia.org/wiki/Loot_box">lootboxes</a></em> ». <em>Xonotic</em> n’en a pas. Les joueurs ne veulent pas de « classes de personnages », il y a d’autres genres vidéoludiques pour ça ! Les joueurs veulent des temps de chargement rapides et un <em>netcode</em> éprouvé (le <em>netcode</em> est l’algorithme le plus critique dans un jeu d’action en réseau), et <em>Xonotic</em> est remarquable pour ça.</p>
<p>Les joueurs veulent pouvoir enregistrer des démos. Les démos sont des enregistrements des actions du jeu qui permettent de rejouer tout l’affichage d’un jeu passé. Ces démos peuvent s’échanger (c’est beaucoup plus petit qu’une vidéo) pour montrer quelque chose dont on est fier, pour rapporter un bogue, ou pour démontrer qu’un joueur a triché. Ces démos servent aussi à réaliser des vidéos (on en parle plus loin), mais aussi à valider des records et des exploits lors de compétitions comme le XDWC.</p>
<p>Ah, <em>Xonotic</em> a aussi un éditeur de <em>Hud</em> intégré ! Le <em>Hud</em> est le viseur tête haute qui vous affiche les informations utiles en jeu : le réticule de votre arme, les armes disponibles ainsi que celles sélectionnées, votre niveau de vie et d’armure, etc. <em>Xonotic</em> pousse la personnalisation jusqu’au bout et la rend très accessible !</p>
<p><em>Xonotic</em> a survécu au <em>Nexuiz</em> d’Illfonic, aujourd’hui complètement déserté (les serveurs de la PS3 ont carrément été éteints dès 2013). On peut parier que <em>Xonotic</em> survivra à <em>Quake Champions</em>.</p>
<h3 id="toc-pourquoi-xonotic">Pourquoi Xonotic ?</h3>
<p>Parce que l’Homme a besoin de jeux libres ! Parce que l’Homme a besoin d’être un joueur libre ! Parce que le logiciel libre prend soin de la liberté de la personne en la rendant intégralement dépositaire du jeu, de l’intelligence et de la connaissance. Et parce qu’un jeu libre est un jeu en vie !</p>
<p>Ce qui est remarquable avec <em>Xonotic</em>, c’est combien les joueurs participent au développement du jeu : en modélisant des niveaux, en codant des modifications, en composant des musiques, en écrivant le jeu lui‐même ! Car les développeurs de <em>Xonotic</em> sont aussi et avant tout des joueurs, on le voit lors de ce XDWC : ils savent aussi bien se positionner sur les podiums des compétitions qu’enregistrer leur nom dans l’historique d’un dépôt Git.</p>
<h2 id="toc-questce-que-le-xdwc">Qu’est‐ce que le XDWC ?</h2>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/xonotic/xdwc-2018/20181102-210420-000.xonotic.xdwc-2018.outrun.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f786f6e6f7469632f786477632d323031382f32303138313130322d3231303432302d3030302e786f6e6f7469632e786477632d323031382e6f757472756e2e6a7067/20181102-210420-000.xonotic.xdwc-2018.outrun.jpg" alt="XDWC 2018, Outrun" title="Source : https://dl.illwieckz.net/b/linuxfr.org/xonotic/xdwc-2018/20181102-210420-000.xonotic.xdwc-2018.outrun.jpg"></a> <em>Illustration : carte Outrun par -z-, taillée pour le Defrag</em></p>
<p>Le XDWC est donc le <em>Xonotic Defrag World Championship</em>, le mondial du Defrag dans <em>Xonotic</em>.</p>
<p>En effet, <em>Xonotic</em> est très actif sur le plan des compétitions, et sur tous les aspects du jeu : il y eût en 2015 un concours de réalisation de cartes (libre), ainsi qu’un concours de composition musicale (libre) que <a href="//linuxfr.org/news/et-legacy-xonotic-et-unvanquished-font-leur-rentree">nous avions évoqués</a>, une coupe du monde de duels s’était déroulée entre novembre 2016 et juillet 2017 (les <em>Xonotic World Cup Series</em>), un championnat d’hiver de duel en 2018 (le <em>Xonotic Winter Championship 2018</em>), ainsi que de très nombreuses et régulières mini‐compétitions : <em>Instacup</em> (duel en mode <em>instagib</em> — un mode de jeu où l’on meurt en un coup), les XQC (<em>Xonotic Quick Cup</em> — déjà 86 itérations) et bien d’autres événements que j’oublie certainement. Les compétitions principales mettent généralement en jeu une somme d’argent que les joueurs rassemblent dans un panier commun.</p>
<p>Et, bien sûr, il y a le XDWC, <a href="https://xdfwc.weebly.com/">le premier</a> s’est déroulé en 2014 et fut remportée par <em>Dizzy</em> et suivi de près par <em>Dekry</em> et <em>Homs</em>. Cette année se déroule donc l’édition 2018 de ce championnat. Le mode Defrag de <em>Xonotic</em> étant très similaire au DeFRaG originel de <em>Quake Ⅲ</em>, ce mode est nommé ainsi par <a href="https://fr.wikipedia.org/wiki/Antonomase">antonomase</a>. Le but du jeu dans ce championnat : être le plus rapide à terminer un parcours donné !</p>
<p>Le XDWC dure cinq semaines et se déroule ainsi : chaque semaine une toute nouvelle carte créée pour l’occasion est hébergée sur des serveurs réservés pour l’événement. Les joueurs se connectent à l’un de ces serveurs et tentent de parcourir la carte le plus rapidement possible, des démos sont enregistrées pour chaque tentative, ce qui permet de valider les temps et donc les records, ainsi que réaliser les vidéos qui montrent ensuite comment les meilleurs temps ont été réalisés. Les joueurs sont automatiquement enregistrés comme participant au tournoi dès lors qu’ils enregistrent un temps. Chaque joueur peut retenter aussi souvent qu’il le souhaite : son meilleur temps parmi toutes ses tentatives sera gardé pour son rang.</p>
<p>Le système <a href="https://docs.google.com/forms/d/e/1FAIpQLSczfUVq5sPQlYcDLw9rY6MxodMBdIiM0HuPdocgksLR3NDtgw/viewform">EESystem</a> est utilisé pour les scores : le premier d’une manche obtient mille points et tous les autres scores sont calculés en fonction de la différence de temps entre le premier et eux‐mêmes. Plus proche est un joueur de la première place, plus élevé est son score, cela signifie que chaque centième de seconde compte, et l’on va le voir avec les premiers tours déjà réalisés : oui, ça compte ! Être le premier se joue parfois à rien du tout !</p>
<p>Et comment ça se joue en fait ? Eh bien, il faut maîtriser les arcanes du Defrag, bienvenue dans le royaume du <em>trickjumping</em>.</p>
<h2 id="toc-circlejump-rocketjump-et-autres-trickjump">CircleJump, RocketJump, et autres TrickJump</h2>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/xonotic/xdwc-2018/jumping-around-xonotic.rampjump.webm"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f786f6e6f7469632f786477632d323031382f6a756d70696e672d61726f756e642d786f6e6f7469632e72616d706a756d702e676966/jumping-around-xonotic.rampjump.gif" alt="Extrait de Jumping Around (Xonotic)" title="Source : https://dl.illwieckz.net/b/linuxfr.org/xonotic/xdwc-2018/jumping-around-xonotic.rampjump.gif"></a> <em>Illustration : sauter sur une rampe (extrait de Jumping Around (Xonotic) par Smilecythe, 2016)</em></p>
<p>Pour le <em>Speedrun</em> comme pour le Defrag, exploiter les comportements non documentés du jeu fait partie du jeu. Bon, sauf que pour le Defrag, ça en devient un comportement documenté. Les joueurs des premiers jeux de tir à la première personne se sont vite rendu compte que ces moteurs de jeu possédaient une physique approximative qui pouvait être détournée pour réaliser des mouvements qui n’étaient pas prévus par les développeurs.</p>
<p>Par exemple lorsqu’un joueur s’engage sur une marche d’escalier son personnage subit une élévation et donc une accélération verticale. Le problème, ou plutôt l’aubaine, c’est que si le joueur réalise un saut au même moment, les deux accélérations verticales s’additionnent ! Ceci constitue la base du <em>RampJump</em>, illustré ci‐dessus.</p>
<p>Des jeux comme <em>Xonotic</em> ajoutent intentionnellement dans leur niveau des éléments de décor qui font la hauteur d’une marche pour permettre aux joueurs de les employer pour atteindre plus facilement des plates‐formes stratégiques (offrant des armes ou des points de régénération par exemple) et de prendre des raccourcis permettant de surprendre la partie adverse ou bien de s’extraire d’une situation jugée dangereuse.</p>
<p>Parfois décriés par certains joueurs, ces <em>glitchs</em> ont apporté quelque chose d’essentiel à la compétition, trop essentiel pour que les développeurs puissent se résoudre à les enlever : une courbe d’apprentissage durable et une performance en jeu directement liée à l’habileté, l’expérience et l’entraînement du joueur.</p>
<p>Là où le jeu de base prévoyait que tous les joueurs aient une vitesse prédéfinie, l’exploitation de ces <em>glitches</em> a apporté une situation où la mobilité en jeu du joueur dépend plus fortement de son agilité musculaire, de ses réflexes, de sa condition physique et mentale, et surtout de ses exercices, mais par‐dessus tout de lui‐même.</p>
<p>Toutes les conditions de l’entraînement sportif sont réunies. Comme un sportif, le joueur s’entraîne. Comme un pianiste, le joueur fait ses gammes. Et il s’exerce encore et encore. Et il s’entraîne encore et encore.</p>
<p>Et ce qui n’est pas pour déplaire, l’émergence d’un style propre au joueur en devient plus intimement lié à sa personne.</p>
<h2 id="toc-defrag-demo-et-machinima">Defrag, Demo et Machinima</h2>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/xonotic/xdwc-2018/killing-x-zone.grenadebounce.webm"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f786f6e6f7469632f786477632d323031382f6b696c6c696e672d782d7a6f6e652e6772656e616465626f756e63652e676966/killing-x-zone.grenadebounce.gif" alt="extrait Killing X Zone" title="Source : https://dl.illwieckz.net/b/linuxfr.org/xonotic/xdwc-2018/killing-x-zone.grenadebounce.gif"></a> <em>Illustration : un coup très astucieux (extrait de Killing X Zone par ZeroQL, 2012)</em></p>
<p>Le phénomène Defrag est aussi à l’origine d’un sous‐genre du Machinima. Le <a href="https://fr.wikipedia.org/wiki/Machinima">Machinima</a> est un genre cinématographique qui utilise des séquences vidéo tournées dans un jeu et nés des défis « <em>Quake done Quick</em> » (on ne se refait pas) de la fin du siècle dernier.</p>
<p>En effet le genre Machinima ne se contente pas de mettre en vidéo des records de jeux chronométrés mais développe également des scénarios originaux, comme on le voit dans <a href="https://www.youtube.com/watch?v=JSrjTsIdV4s"><em>Requiem for Demos</em></a> par Igor « <em>egious</em> » Novikov, réalisé à la mémoire du serveur <em>Quake Ⅲ</em> <em>q3.demos.su</em>, ou encore <a href="https://www.youtube.com/watch?v=LZgz9W_nOzE"><em>The Final Gunfight</em></a>, par <em>EvilFutsin</em>, avec le <em>mod</em> <em>Western Quake Ⅲ</em>, devenu <a href="https://www.smokin-guns.org/"><em>Smokin’ Guns</em></a>. Attention pour ce dernier, ça pique un peu les yeux, à moins que vous ayez un goût particulier pour les gros pixels et le manque de détails des modèles <em>low‐poly</em> du milieu de la première décennie des années 2000.</p>
<p>Mais ce qui nous intéresse ici, ce sont précisément les sous‐genres dédiés à la présentation d’actions d’éclat, et pour notre sujet du jour : les <em>tricks jumps</em> et exploits basés sur les mouvements. Un bon exemple de film de cette catégorie est la série de films <em>Event Horizon</em>, dont on remarquera le <a href="https://www.youtube.com/watch?v=Lpy2sKbh3JU">second épisode</a> réalisé par <em>Temporal</em>. Le premier épisode ayant été monté par un joueur, ce second épisode releva la barre très haut en introduisant les métiers de réalisation et de production. On retrouve ces différents épisodes <a href="https://www.youtube.com/user/JustinSanchez/videos">en ligne</a>, les films les plus récents ayant été réalisés par Shaolin roductions. Ces vidéos démontrent un excellent travail d’équipe par la <a href="http://teameventhorizon.com/">Team Event -O- Horizon</a> éponyme.</p>
<p>Un autre genre de production vidéo populaire est le <em>Frag Movie</em>, un type de film qui met en scène les plus beaux coups en jeu d’un joueur ou d’une communauté. Puisque nous parlons de <em>Xonotic</em>, un bon exemple de <em>Frag Movie</em> est <a href="https://www.youtube.com/watch?v=6nJ2Iu8FQ4Y&t=623s"><em>F*ckmegeddon</em></a> (désolé pour la vulgarité, ça devient tout public passé les quatre premières secondes), un film de quinze minutes de <em>Smilecythe</em> montrant une compilation de bons coups collectionnés sur six ans. Un bon exemple de <em>Community Movie</em> est <a href="https://www.youtube.com/watch?v=zwMnrAnGh-s&t=309s">_Killing X Zone</a>, sortie en 2012. <em>Killing X Zone</em> est une vidéo réalisée par Djordje « <em>ZeRoQL</em> » Simonovic mettant en scène une collection de coups remarquables réalisés par une vingtaine de joueurs, cette vidéo fut réalisée comme un hommage à la communauté Xonotic qui l’a accueilli avec respect malgré une mauvaise réputation.</p>
<p>Mais le sujet du jour ce n’est pas seulement <em>Xonotic</em>, c’est aussi et surtout le Defrag, et si vous voulez suivre le XDWC, il va falloir d’abord exercer vos yeux et votre attention avec une vidéo, je nomme <em>Jumping Around (Xonotic)</em> !</p>
<h3 id="toc-jumping-around-xonotic">Jumping Around (Xonotic)</h3>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/xonotic/xdwc-2018/jumping-around-xonotic.grenadewalk.webm"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f786f6e6f7469632f786477632d323031382f6a756d70696e672d61726f756e642d786f6e6f7469632e6772656e61646577616c6b2e676966/jumping-around-xonotic.grenadewalk.gif" alt="Extrait de Jumping Around (Xonotic)" title="Source : https://dl.illwieckz.net/b/linuxfr.org/xonotic/xdwc-2018/jumping-around-xonotic.grenadewalk.gif"></a> <em>Illustration : marcher sur le souffle de grenades (extrait de</em> Jumping Around (Xonotic) <em>par Smilecythe, 2016)</em></p>
<p>Cette vidéo fait partie de la série <em>Jumping Around</em> réalisée par <em>Smilecythe</em> se mettant en scène lui‐même (et parfois accompagné d’acolytes) réalisant des exploits dans divers jeux, et comme on l’a dit le jeu qui nous intéresse c’est <em>Xonotic</em> !</p>
<p>Oubliez pour le moment tous les autres liens que je viens de préciser, ils sont là pour les références documentaires : vous pourrez les consulter ensuite pour approfondir. Vous pourrez regarder <em>F*ckmegeddon</em> plus tard, vous pourrez regardez toutes les autres vidéos plus tard, mais regarder <em>Jumping Around (Xonotic)</em> est un prérequis pour pouvoir suivre le XDWC, ça fait partie de votre propre entraînement. ;-)</p>
<p>Le très grand intérêt de <a href="https://www.youtube.com/watch?v=LMgfXNWG73Y"><em>Jumping Around (Xonotic)</em></a> est de nous montrer sur un format court (trois minutes et treize secondes) un très bon aperçu de ce qu’il est possible d’accomplir. Et le réalisateur a pris un très grand soin de détailler certaines actions et de revenir plusieurs fois sur celles‐ci avec des angles différents et des ralentis. C’est ainsi que, par exemple, vous verrez <em>Smilecythe</em> marcher dans les airs sur le souffle de grenades qu’il fait rebondir sur le plafond. Il faut revoir la scène à la troisième personne pour apprécier réellement ce qui se passe. Il faudra peut‐être même revoir plusieurs fois cette vidéo pour en relever certaines subtilités car, même au ralenti, cela va très vite.</p>
<p>La meilleure manière de suivre le XDWC est de regarder les vidéos qui sont publiées après chaque match. Durant cette compétition, vous verrez par exemple des personnes se propulser en déclenchant l’explosion de roquettes qu’ils ont préalablement tirées devant eux et rattrapées, additionnant leur vitesse déjà grande à celle apportée par le souffle de l’explosion. Regarder cette vidéo avant est donc un bon moyen d’exercer son acuité ! :-)</p>
<h2 id="toc-suivre-le-xdwc">Suivre le XDWC</h2>
<p>Pour suivre le XDWC, un site dédié à l’événement a été mis en place : <a href="https://xdwc.teichisma.info/">https://xdwc.teichisma.info/</a>.</p>
<p>On y trouve les règles du jeu, le calendrier des manches ainsi que la liste des serveurs : deux en Europe (Allemagne), un aux États‐Unis et un en Russie. On y trouve surtout le classement des compétiteurs, mis à jour en temps réel.</p>
<p>Une fois une manche terminée, une vidéo est publiée dans la semaine suivante montrant les parcours des dix meilleurs compétiteurs. C’est ce qui va nous intéresser ! Quatre manches sont déjà terminées et les trois premières vidéos sont déjà sorties, nous allons les commenter. La cinquième manche est toujours en cours. Deux vidéos sont donc à venir.</p>
<p>Les vidéos étant <a href="https://www.youtube.com/channel/UCE1cavImumJGaATW3lHKA9g">disponibles sur YouTube</a> et en très haute qualité (60 images par seconde et 4K à partir de la seconde manche), il est recommandé de les voir dans les meilleures conditions, par exemple en se servant de <a href="https://rg3.github.io/youtube-dl/"><code>youtube-dl</code></a> si votre connexion est insuffisante. Car pour apprécier véritablement le spectacle, autant s’assurer que le jeu s’affiche sur votre écran avec une qualité proche de ce que vous auriez si vous jouiez vous‐même ! :-)</p>
<p>La compétition a commencé sur les chapeaux de roue avec déjà cinquante noms inscrits dès le premier jour ! À l’heure à laquelle sont écrites ces lignes, trente‐cinq pays sont représentés par cent soixante‐huit joueurs : Allemagne, Australie, Belgique, Biélorussie, Canada, Chine, Croatie, Danemark, Espagne, Estonie, États‐Unis, Finlande, France, Grèce, Hongrie, Irlande, Israël, Italie, Kazakhstan, Lituanie, Macédoine, Moldavie, Norvège, Pays‐Bas, Pologne, Portugal, République tchèque, Roumanie, Royaume‐Uni, Russie, Serbie, Slovénie, Suède, Suisse et Ukraine.</p>
<h3 id="toc-première-manche-sur-une-carte-de-sinety">Première manche sur une carte de Sinety</h3>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/xonotic/xdwc-2018/20181102-203744-000.xonotic.xdwc-2018.round-1.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f786f6e6f7469632f786477632d323031382f32303138313130322d3230333734342d3030302e786f6e6f7469632e786477632d323031382e726f756e642d312e6a7067/20181102-203744-000.xonotic.xdwc-2018.round-1.jpg" alt="XDWC 2018, manche 1" title="Source : https://dl.illwieckz.net/b/linuxfr.org/xonotic/xdwc-2018/20181102-203744-000.xonotic.xdwc-2018.round-1.jpg"></a> <em>Illustration : carte de la première manche du XDWC 2018, par Sinety</em></p>
<p>Cette première manche s’est déroulée du premier au sept octobre sur une carte originale de <em>Sinety</em> (Allemagne). C’est une carte lumineuse en extérieur pleine de douceur et d’eau avec un parcours tout en glissade. La vidéo est accompagnée d’une musique aérienne qui accompagne les hauts faits de chacun avec une atmosphère de sérénité.</p>
<p>On retrouve le détail des temps <a href="https://xdwc.teichisma.info/map/xdwc2018-1/"><em>ici</em></a>. C’est l’américain <code>>>dzy4</code> qui remporte ce tour, avec 26,67 secondes, suivi de près par l’allemand <code>[nM] Donald</code> (26,71 s) et l’américain <code>night</code> (26,85 s). La personne ayant atteint la plus grande vitesse absolue (4 062 qu/s) fut <code>sinety</code> lui‐même, mais ça ne lui donne que la cinquième place avec 28,65 s (la vitesse se compte en <a href="https://quakewiki.org/wiki/unit">Quake Unit</a> par secondes). Il est intéressant de <a href="https://xdwc.teichisma.info/map/xdwc2018-1/">noter que dès son premier essai</a> <code>>>dzy4</code> s’est placé au‐dessus de tous ses compétiteurs, mais il a été sérieusement rattrapé après ça !</p>
<p>Parmi les compétiteurs français (après tout, le DeFRaG est un art bien français), <code>ns.Av👽ll👽c'h</code> se hisse à la 21<sup>e</sup> place avec 32,26 s, <code>Calinou</code> à la 39<sup>e</sup> place avec 36,60 s, <code>[eLeMenT] Abc</code> à la 45<sup>e</sup> place avec 38,75 s, <code>psyx | SpiKe</code> à la 57<sup>e</sup> place avec 42,14 s, <code>BOB5768</code> à la 70<sup>e</sup> place avec 53,49 s, <code>■■■ jeff</code> à la 87<sup>e</sup> place avec 1 min et 20,97 s et <code>dede</code> à la 89<sup>e</sup> place avec 1 min et 23,88 s. Le Belge <code>AVALANCHE</code> est à la 60<sup>e</sup> place avec 45,64 s.</p>
<p>Quant à votre serviteur, il est trop occupé à préparer la prochaine version d’<a href="https://unvanquished.net"><em>Unvanquished</em></a>, et puis il faudrait qu’il suive les tutos et s’entraîne avant. ;-)</p>
<p>Le moment le plus intéressant dans ce top 10 c’est le parcours de <code>lith</code> (Royaume‐Uni), sixième au podium avec 28,67 s, et qui semble être le seul du podium à avoir remarqué un chemin alternatif caché, ou su l’utiliser à son avantage !…</p>
<p>Parce que, oui, même parmi des compétiteurs qui se suivent à quelques millisecondes d’écart, les parcours et mouvements peuvent significativement varier, on le reverra encore particulièrement lors de la troisième manche. La vidéo du top 10 de cette première manche est <a href="https://www.youtube.com/watch?v=aSQjso7SJQQ">disponible sur YouTube</a>.</p>
<h3 id="toc-seconde-manche-sur-une-carte-de-mirio-et-freddy">Seconde manche sur une carte de Mirio et Freddy</h3>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/xonotic/xdwc-2018/20181102-204151-000.xonotic.xdwc-2018.round-2.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f786f6e6f7469632f786477632d323031382f32303138313130322d3230343135312d3030302e786f6e6f7469632e786477632d323031382e726f756e642d322e6a7067/20181102-204151-000.xonotic.xdwc-2018.round-2.jpg" alt="XDWC 2018, manche 2" title="Source : https://dl.illwieckz.net/b/linuxfr.org/xonotic/xdwc-2018/20181102-204151-000.xonotic.xdwc-2018.round-2.jpg"></a> <em>Illustration : carte de la seconde manche du XDWC 2018, par Mirio et Freddy</em></p>
<p>C’est une carte pleine de violence cette fois ! Réalisée par <em>Mirio</em> et <em>Freddy</em> (Allemagne) et prenant place dans un univers aux thèmes industriels de rouille et d’acier. Ce sont cette fois‐ci des bassins d’acide verdâtre qu’il faut survoler. La première partie se déroule dans une suite de tunnels oppressants pour se terminer dans le vide de l’espace. L’essentiel du jeu se mène avec les armes et requiert donc un savoir‐faire rodé sur ce plan‐là : il s’agit de gravir des murs en se servant du recul des armes ou de se propulser en déclenchant derrière soi une roquette qu’on a soi‐même tirée devant soi et rattrapée. Oui, c’est pour ce genre de chose que je vous ai recommandé de vous exercer à suivre ce type d’action avec la vidéo <em>Jumping Around (Xonotic)</em>. Ça va incroyablement vite et ça explose dans tous les sens. La vidéo est accompagnée d’une musique très rythmée aux sonorités agressives. Ces deux premières cartes suffisent à démontrer l’étendue des compétences requises par la discipline.</p>
<p>L’intéressant dans cette carte est d’observer les compétiteurs qui arrivent à se faufiler dans le trou du lapin pour raccourcir le trajet et ceux qui arrivent à contourner les obstacles en aveugle lorsqu’ils courent sur les murs en marchant sur le souffle des explosions du lance‐roquettes <em>hagar</em>.</p>
<p>Cette manche s’est donc déroulée du 8 au 14 octobre et l’on retrouve les temps de chacun <a href="https://xdwc.teichisma.info/map/xdwc2018-4/"><em>ici</em></a>.</p>
<p>Cette fois‐ci, <code>[nM] Donald</code> prend la tête du peloton avec 30,14 s et <code>>>dzy4</code> n’apparaît pas du tout (peut‐être est‐il en train de travailler l’usage de ses armes ?). En second arrive <code>night</code> avec 30,60 s, suivi de <code>[S]Komier</code> avec 31,58 s. C’est <code>night</code> qui atteint la plus grande vitesse absolue avec 2 304 qu/s.</p>
<p>Parmi les compétiteurs français, <code>ns.Av👽ll👽</code> descend à la 26<sup>e</sup> place avec 40,82 s et <code>Calinou</code> remonte à la 30<sup>e</sup> place avec 43,66 s, suivi immédiatement par <code>[eLeMenT] Abc</code> avec 43,77 s, puis <code>psyx | SpiKe</code> à la 41<sup>e</sup> avec 46,49 s et <code>BOB5768</code> à la 63<sup>e</sup> avec 1 min et 25,60 s qui gravissent tout doucement les échelons tandis que <code>■■■ jeff</code> et <code>dede</code> ainsi que le Belge <code>AVALANCHE</code> disparaissent des radars.</p>
<p>Les auteurs de la carte, <code>[BOT]Mirioツ</code> et <code>from EAC import Freddy</code> se hissent au septième rang avec 34,19 s et au cinquante‐septième rang avec 1 min et 9,19 s.</p>
<p>La vidéo du top 10 de cette seconde manche se retrouve <a href="https://www.youtube.com/watch?v=LqQ22douTRQ"><em>ici</em></a>.</p>
<h3 id="toc-troisième-manche-sur-une-carte-de-packer">Troisième manche sur une carte de packer</h3>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/xonotic/xdwc-2018/20181102-211933-000.xonotic.xdwc-2018.round-3.jpg"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f786f6e6f7469632f786477632d323031382f32303138313130322d3231313933332d3030302e786f6e6f7469632e786477632d323031382e726f756e642d332e6a7067/20181102-211933-000.xonotic.xdwc-2018.round-3.jpg" alt="XDWC 2018, manche 3" title="Source : https://dl.illwieckz.net/b/linuxfr.org/xonotic/xdwc-2018/20181102-211933-000.xonotic.xdwc-2018.round-3.jpg"></a> <em>Illustration : carte de la troisième manche du XDWC 2018, par packer</em></p>
<p>Cette carte de <em>packer</em> (Allemagne), toute en intérieur, laisse de nouveau les armes de côté et est même la moins verticale de toutes ! Elle explore plus intensément la course de plate‐forme dont les deux premières nous avaient donné un aperçu. L’ambiance est froide avec des murs de béton le long de grands couloirs d’acide bleuté, aux corridors étroits longés de tuyauterie. La musique est entraînante et planante à la fois et c’est jusqu’à maintenant la carte qui présente la plus grande diversité de parcours mise en œuvre par les compétiteurs.</p>
<p>Les joueurs ayant concouru du 15 au 21 octobre, on retrouve les temps <a href="https://xdwc.teichisma.info/map/xdwc2018-3/"><em>ici</em></a>.</p>
<p>Cette manche voit le grand retour de <code>>>dzy4</code> qui se place à nouveau au premier rang avec 52,17 s et qui remporte également le record de vitesse absolue avec 1 953 qu/s. Il est suivi de vraiment très près par <code>night</code> avec 52,17 s. Oui, vous avez bien lu, <code>night</code> s’est fait distancer par un écart d’une milliseconde. Quand je disais que la moindre milliseconde compte, la moindre milliseconde compte !</p>
<p>Arrive alors l’Allemand <code>[nM] Donald</code> avec 53,06 s, et c’est lui qui nous montre le parcours le plus original, tout en arrondis !</p>
<p>Cette carte amène une grosse remontée des Français, <code>s.Av👽ll👽c'h</code> se hisse à la septième place avec 55 s et apparaît donc dans la vidéo ! Un nouveau venu, <code>gourdinho</code>, fait son apparition en croquant directement la 17<sup>e</sup> place avec 1 min et 2,18 s ! <code>Calinou</code> monte d’un cran pour atteindre la 29<sup>e</sup> place avec 1 min et 10,97 s tandis qu’<code>[eLeMenT] Abc</code> redescend un peu à la 39<sup>e</sup> place avec 1 min et 24,10 s. De son côté, <code>psyx | SpiKe</code> descend d’un cran à la 42<sup>e</sup> place avec 1 min et 29,56 s et <code>BOB5768</code> est absent du tableau des résultats.</p>
<p>Quant à <code>[BOT].PKR ⛴</code>, l’auteur de la carte, il prend la 16<sup>e</sup> place avec 59,64 s.</p>
<p>La vidéo du top 10 de la troisième manche se trouve <a href="https://www.youtube.com/watch?v=eA3qxkhxTwo"><em>là</em></a>.</p>
<h3 id="toc-quatrième-manche-sur-une-carte-de-mirio">Quatrième manche sur une carte de Mirio</h3>
<p>La quatrième manche s’est déroulée du 22 au 28 octobre sur une carte de Mirio et la vidéo est à venir.</p>
<p><code>[nM] Donald</code> reprend la tête du peloton avec 29 s suivi de <code>night</code> avec 29,15 s et <code>>>dzy4</code> avec 29,42 s. C’est l’Américain <code>[S]Komier</code> qui réalise cette fois‐ci le record de vitesse absolu, ce qui lui permet de se hisser à la quatrième place.</p>
<p>Le Français <code>gourdinho</code> s’insère de justesse dans le top 10 avec un temps de 31,87 s et sera donc le premier à être présenté dans la vidéo du quatrième tour.</p>
<p>De leur côté, <code>[eLeMenT] Abc</code> monte d’un cran et atteint la 28<sup>e</sup> place avec 25,24 s, <code>Calinou</code> redescend de quatre places et se retrouve 33<sup>e</sup> avec 36,88 s, <code>ns.Av👽ll👽c'h</code> redescend plus encore avec une 35<sup>e</sup> place et un temps de 37,68 s tandis que <code>psyx | SpiKe</code> descend à la 50<sup>e</sup> avec 43,14s. Le Belge <code>AVALANCHE</code> revient dans la course et prend la 65<sup>e</sup> place avec un temps de 58,94 s.</p>
<p>L’auteur de la carte <code>[BOT]Mirioツ</code> se retrouve en 17<sup>e</sup> position avec 33,16 s.</p>
<p>La carte sera présentée en commentaire et on peut déjà consulter les résultats <a href="https://xdwc.teichisma.info/map/xdwc2018-2/"><em>ici</em></a>.</p>
<h3 id="toc-cinquième-manche-sur-une-carte-de-z-">Cinquième manche sur une carte de -z-</h3>
<p>La cinquième manche se déroule en ce moment même sur une carte de <code>-z-</code> (États‐Unis), et sera commentée dans les commentaires (ha ha). Elle a débuté le 29 octobre et se terminera le 4 novembre. La vidéo finale devrait suivre une semaine après. Les résultats intermédiaires peuvent être consultés <a href="https://xdwc.teichisma.info/map/xdwc2018-5/"><em>ici</em></a>.</p>
<p>Le rang des joueurs (toujours en progression) pour l’ensemble de la compétition se trouve sur la <a href="https://xdwc.teichisma.info/">page d’accueil de l’événement</a>.</p>
<h2 id="toc-et-la-prochaine-édition-du-xdwc">Et la prochaine édition du XDWC ?</h2>
<p>Vous pouvez vous entraîner dès maintenant pour la prochaine en suivant la XDF Academy (vidéos en anglais), accompagnés par <code>LoverDekry</code> et <code>[nM] Donald</code> :</p>
<ul>
<li>
<a href="https://www.youtube.com/watch?v=crEfpslf-g4"><em>XDF Academy Part One</em></a> ;</li>
<li>
<a href="https://www.youtube.com/watch?v=C_-t_Z0Z2ic"><em>XDF Academy Part Two</em></a>.</li>
</ul>
<p>Peut‐être verrons‐nous bientôt une délégation francophone dominer les podiums, menée par l’un d’entre vous ?</p>
</div><div><a href="https://linuxfr.org/news/suivre-le-championnat-du-monde-de-defrag-xonotic.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/115626/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/suivre-le-championnat-du-monde-de-defrag-xonotic#comments">ouvrir dans le navigateur</a>
</p>
Thomas DebesseDavy DefaudBAudM5oulBenoît Sibaudbubar🦥Nils Ratusznikhttps://linuxfr.org/nodes/115626/comments.atomtag:linuxfr.org,2005:News/387332018-08-03T11:00:52+02:002018-08-03T17:26:35+02:00Sortie d’OpenMW 0.44Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>L’équipe d’OpenMW est très fière d’annoncer la sortie de la version 0.44.0 de son moteur libre permettant de jouer à <em>Morrowind</em>, avec quelques fonctionnalités en plus et beaucoup de bogues en moins.</p>
</div><ul><li>lien nᵒ 1 : <a title="https://openmw.org/2018/openmw-0-44-0-released/" hreflang="en" href="https://linuxfr.org/redirect/102491">L’annonce sur le site d’OpenMW</a></li><li>lien nᵒ 2 : <a title="https://openmw.org" hreflang="en" href="https://linuxfr.org/redirect/102492">Site officiel</a></li><li>lien nᵒ 3 : <a title="https://gitlab.com/OpenMW/openmw" hreflang="en" href="https://linuxfr.org/redirect/102493">Code source</a></li><li>lien nᵒ 4 : <a title="https://linuxfr.org/news/sortie-d-openmw-0-37" hreflang="fr" href="https://linuxfr.org/redirect/102494">LinuxFr.org : Sortie d’OpenMW 0.37</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#toc-friandises-pour-les-yeux">Friandises pour les yeux</a></li>
<li><a href="#toc-objectifs-et-directions">Objectifs et directions</a></li>
<li>
<a href="#toc-nouvelles-fonctionnalit%C3%A9s">Nouvelles fonctionnalités</a><ul>
<li><a href="#toc-accessibilit%C3%A9">Accessibilité</a></li>
<li><a href="#toc-ces-petites-choses-en-plus-et-dautres-en-moins">Ces petites choses en plus, et d’autres en moins…</a></li>
<li><a href="#toc-ajouts-massifs">Ajouts massifs</a></li>
</ul>
</li>
<li><a href="#toc-prise-en-charges-des-mods">Prise en charges des « mods »</a></li>
<li><a href="#toc-conclusion">Conclusion</a></li>
</ul>
<p>Déjà <a href="//linuxfr.org/news/sortie-d-openmw-0-37">évoqué</a> sur <em>LinuxFr.org</em>, OpenMW est non seulement une ré‐implémentation libre du moteur du jeu de rôle <a href="https://fr.wikipedia.org/wiki/The_Elder_Scrolls_III:_Morrowind"><em>The Elder Scrolls III: Morrowind</em></a>, un des meilleurs JDR (jeu de rôle, RPG) au monde, mais aussi un éditeur permettant de créer du contenu pour ce nouveau moteur. Pour jouer à <em>Morrowind</em>, il vous faudra une version originale du jeu, de laquelle on extraira les données, disponible à un prix complètement raisonnable sur <a href="https://www.gog.com/game/the_elder_scrolls_iii_morrowind_goty_edition"><em>Good Old Games</em></a> par exemple.</p>
<p>La version 0.44.0, sortie le week‐end dernier corrige une petite centaine de bogues, et ajoute quelques améliorations en termes d’accessibilité. La <a href="//linuxfr.org/news/sortie-d-openmw-0-37">précédente dépêche</a> sur <em>LinuxFr.org</em> au sujet d’OpenMW datant de près de trois ans, celle‐ci va déborder un peu du cadre de la nouvelle mouture, et s’étaler sur quelques changements et nouveautés intéressantes de ces dernières années.</p>
<h2 id="toc-friandises-pour-les-yeux">Friandises pour les yeux</h2>
<p>Depuis le basculement, il y a trois ans (déjà) vers <a href="http://www.openscenegraph.org/">OpenSceneGraph</a> comme moteur 3D, les ombres en temps réel ne sont plus prises en charge, mais ne devraient <a href="https://github.com/OpenMW/openmw/pull/1547">pas tarder</a> à revenir, vraisemblablement dans la prochaine version. La bonne nouvelle, c’est que les ombres ne sont pas les seules fonctionnalités graphiques ajoutées par le projet : la prise en charge de l’affichage des terrains distants, permettant d’afficher la carte du jeu à perte de vue ou presque, des particules plus belles ou encore, la pluie et la neige troublant la surface de l’eau :</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f6769746c61622e636f6d2f4f70656e4d572f6f70656e6d772f75706c6f6164732f65626430636436663139353864666534343139303132316639633166326466312f73637265656e73686f743232342e706e67/screenshot224.png" alt="Capture d’écran de la pluie sur un lac" title="Source : https://gitlab.com/OpenMW/openmw/uploads/ebd0cd6f1958dfe44190121f9c1f2df1/screenshot224.png"></p>
<p>Ou encore, la possibilité de jouer avec des <a href="https://fr.wikipedia.org/wiki/Shader">nuanceurs</a> (<em>shaders</em>), pour ajouter un brouillard :</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f692e696d6775722e636f6d2f4b6970787439562e706e67/Kipxt9V.png" alt="Brouillard dans les montagnes" title="Source : https://i.imgur.com/Kipxt9V.png"><br>
<img src="//img.linuxfr.org/img/68747470733a2f2f692e696d6775722e636f6d2f61437a5657324d2e6a7067/aCzVW2M.jpg" alt="Brouillard sur un lac" title="Source : https://i.imgur.com/aCzVW2M.jpg"></p>
<p>Ou, comme dans les jeux modernes, la prise en charge du <a href="https://fr.wikipedia.org/wiki/Placage_de_relief">placage de relief</a> (<em>bump mapping</em>) :</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f692e696d6775722e636f6d2f765361424d71682e6a7067/vSaBMqh.jpg" alt="Maison en pierre montrant la prise en charge du placage de relief (bump mapping)" title="Source : https://i.imgur.com/vSaBMqh.jpg"><br>
<img src="//img.linuxfr.org/img/68747470733a2f2f692e696d6775722e636f6d2f78547944356f562e6a7067/xTyD5oV.jpg" alt="Placage de relief sur une maison en terre" title="Source : https://i.imgur.com/xTyD5oV.jpg"></p>
<h2 id="toc-objectifs-et-directions">Objectifs et directions</h2>
<p>Suite au <a href="//linuxfr.org/users/superzen/journaux/microsoft-rachete-github">rachat de GitHub</a> par Microsoft, le projet en a profité pour <s>se chamailler en interne</s> déplacer une partie de son infrastructure sur <a href="https://gitlab.com/OpenMW/openmw/">GitLab</a> : le <a href="https://fr.wikipedia.org/wiki/Redmine" title="Définition Wikipédia">Redmine</a> vieillissant qui servait de système de suivi de bogues a également migré <a href="https://gitlab.com/OpenMW/openmw/issues">là‐bas</a>, et le wiki est <a href="https://gitlab.com/OpenMW/openmw/wikis/home">en train de l’être</a>. Pour celles et ceux qui préfèrent utiliser <a href="https://github.com/OpenMW/openmw">GitHub</a>, pas de panique, il est synchronisé avec GitLab.</p>
<p>Au sujet de ce qu’il va arriver après la sacro‐sainte 1.0, notre <a href="https://fr.wikipedia.org/wiki/Benevolent_Dictator_for_Life" title="Benevolent Dictator for Life — Dictateur bénévole à vie">BDLF</a> a passé une quantité de temps faramineuse à écrire un <a href="https://gitlab.com/OpenMW/openmw/blob/master/docs/openmw-stage1.md">document</a> de 80 pages sur la direction envisagée pour le futur, à moyen et long terme du projet : doit‐on améliorer le langage de script existant, ou proposer du <a href="https://fr.wikipedia.org/wiki/Lua">Lua</a> et implémenter un transpileur ? Comment étendre le format des sauvegardes afin de pouvoir y fourrer plus de choses ? Comment remplacer les valeurs codées en dur dans le code, afin de rendre le moteur plus flexible ? Une chouette lecture pour un dimanche pluvieux donc.</p>
<p>Bien que les modifications apportées par OpenMW par rapport à l’original soient mineures, il y aura toujours des puristes pour râler que c’était mieux avant™. C’est pourquoi le <em>lanceur</em> possède maintenant un onglet dédié aux préférences avancées, pour permettre à tout le monde de choisir :</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f6f70656e6d772e6f72672f77702d636f6e74656e742f75706c6f6164732f323031382f30322f33353738313531392d63336336633361652d303962302d313165382d396563652d3633366431383565626635392d373638783634352e706e67/35781519-c3c6c3ae-09b0-11e8-9ece-636d185ebf59-768x645.png" alt="Capture d’écran du lanceur" title="Source : https://openmw.org/wp-content/uploads/2018/02/35781519-c3c6c3ae-09b0-11e8-9ece-636d185ebf59-768x645.png"></p>
<p>Comme dans tout projet (et plus particulièrement, en matière de jeux vidéo), OpenMW compte son nombre de bogues idiots et amusants, qui sont petit à petit corrigés, ne laissant que le souvenir d’avoir connu tel ou tel bogue, et de pouvoir passer pour un vieux con sur IRC. Par exemple, avant la version 0.43.0, les <a href="https://fr.wikipedia.org/wiki/Personnage_non-joueur" title="Personnage non‐joueur">PNJ</a> oubliaient de remonter à la surface pour respirer quand ils étaient sous l’eau. Ou encore, la pluie qui parfois tombait à l’envers, de bas en haut ; les PNJ qui oubliaient d’attaquer le joueur, les statistiques qui passaient dans les négatifs, les créatures volantes soumises au <em>pathgrid</em>, etc.</p>
<h2 id="toc-nouvelles-fonctionnalités">Nouvelles fonctionnalités</h2>
<p>Le but de la version 1.0 est une compatibilité totale avec <em>Morrowind</em> (sauf pour les bogues aberrants, évidemment), les nouveautés significatives arriveront après, mais ça n’empêche pas des fonctionnalités mineures de se glisser dans OpenMW de temps à autre !</p>
<h3 id="toc-accessibilité">Accessibilité</h3>
<p>Parmi les ajouts de fonctionnalités mineures, comme évoqué plus haut dans la dépêche, on peut citer pas mal de corrections ou d’améliorations en matière d’accessibilité et d’ergonomie : les menus du jeu peuvent maintenant être entièrement parcourus au clavier, les ingrédients s’entassent mieux dans l’inventaire, un tas d’infobulles (optionnelles) ont été ajoutées, que ce soit pour savoir si ce set d’alchimie qui vous fait de l’œil appartient à quelqu’un, ou si vous pouvez le faire tomber dans votre poche sans risque, l’affichage des dégâts des projectiles, le taux de succès des enchantements… Il est possible d’utiliser à la fois un clavier et une souris, ainsi qu’une manette.</p>
<p>L’interface n’est pas en reste, puisqu’elle est maintenant d’une densité adaptable : plus besoin de s’user les yeux quand on joue sur un écran avec une grosse résolution pour trier ses potions.</p>
<p>Ces changements peuvent sembler mineurs, mais ils changent complétement la donne pour les personnes handicapées. Imaginez jouer à un jeu à la souris quand vous avez les mains qui tremblent…</p>
<h3 id="toc-ces-petites-choses-en-plus-et-dautres-en-moins">Ces petites choses en plus, et d’autres en moins…</h3>
<p>Avec l’émergence de grosses modifications du jeu original, comme <a href="https://morromods.wiwiland.net/IMG/html/sop/sop_doc.htm"><em>Sword of Perithia</em></a> ou <a href="https://sureai.net/games/arktwend/"><em>Arktwend</em></a>, il a été nécessaire de changer pas mal de suppositions codées en dur dans le moteur de <em>Morrowind</em>, comme la taille de la carte ou de la mini‐carte, qui étaient invariablement boguées par ces mastodontes.</p>
<p>Les sauvegardes, auparavant limitée à 255, ne le sont plus et sont maintenant triées par personnage, au lieu d’être entassées dans une gigantesque liste horrible à faire défiler, et présentent des miniatures, qui permettent plus facilement de retrouver <strong>la</strong> sauvegarde que l’on cherche.</p>
<p>La partie audio du jeu a été améliorée, prenant en charge l’ensemble des formats acceptés par <a href="https://fr.wikipedia.org/wiki/FFmpeg" title="Définition Wikipédia">FFmpeg</a>, et les filtres d’effet, comme l’écho dans les grottes, ou quand notre personnage est sous l’eau, sont maintenant bien <s>moins ratés</s> plus immersifs.</p>
<p>Il est courant d’amasser un tas de sortilèges dans le jeu, et c’est la pagaille pour s’y retrouver. C’est pourquoi une barre de recherche a été ajoutée ; fini de devoir passer trois heures à chercher sa boule de feu en plein combat dans un donjon</p>
<h3 id="toc-ajouts-massifs">Ajouts massifs</h3>
<p>Ça n’est pas parce que les modifications importantes ne seront pas intégrées avant la version 1.0 que des contributeurs ne s’amusent pas à en implémenter, comme la possibilité de récupération de projectiles plantés dans des surfaces, ce qui n’existe absolument pas dans le jeu original :</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f692e696d6775722e636f6d2f6755724a7268582e6a7067/gUrJrhX.jpg" alt="Flèches plantées dans une caisse" title="Source : https://i.imgur.com/gUrJrhX.jpg"></p>
<p>Ou encore des carquois (avec le bon nombre de flèches) qui, eux aussi, à la base, ne sont pas présents :</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f757365722d696d616765732e67697468756275736572636f6e74656e742e636f6d2f32363433343830342f33373837363035362d37623461646639632d333035382d313165382d393437362d6665303432343233393431622e6a7067/37876056-7b4adf9c-3058-11e8-9476-fe042423941b.jpg" alt="Image de carquois" title="Source : https://user-images.githubusercontent.com/26434804/37876056-7b4adf9c-3058-11e8-9476-fe042423941b.jpg"></p>
<p>Il y a également une <a href="https://github.com/OpenMW/openmw/pull/1633/files">demande d’intégration Git <strong>massive</strong></a> ajoutant plusieurs milliers de lignes de code et des dépendances, afin d’améliorer drastiquement la <a href="https://fr.wikipedia.org/wiki/Recherche_de_chemin">recherche de chemin</a> (<em>pathfinding</em>), à coup d’auto‐génération, produisant au passage de belles visualisations :</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f757365722d696d616765732e67697468756275736572636f6e74656e742e636f6d2f3736343130372f33373637343035352d66366431633438652d326338322d313165382d396534312d3438323830396433623933322e706e67/37674055-f6d1c48e-2c82-11e8-9e41-482809d3b932.png" alt="Visualisation de la recherche de chemin (pathfinding)" title="Source : https://user-images.githubusercontent.com/764107/37674055-f6d1c48e-2c82-11e8-9e41-482809d3b932.png"></p>
<p>Une des choses que j’aime beaucoup dans <em>Morrowind</em>, c’est qu’il s’agit d’un formidable jeu de rôle qui se joue tout seul : pas d’autres joueurs (si ce n’est les <a href="https://fr.wikipedia.org/wiki/Personnage_non-joueur" title="Personnage non‐joueur">PNJ</a>) pour faire n’importe quoi et casser l’immersion, ou me voler mon trésor. Il était donc évident que quelqu’un allait investir son temps libre dans le seul et unique (si !) but de me gâcher mon plaisir, en créant un divergence du projet et en implémentant une <a href="https://github.com/TES3MP/openmw-tes3mp">version multijoueur</a> de <em>Morrowind</em>, qui fonctionne !</p>
<h2 id="toc-prise-en-charges-des-mods">Prise en charges des « mods »</h2>
<p>Mais redevenons sérieux et oublions cette magie noire pour évoquer avec nostalgie le support des <em>mods</em> dans Morrowind, dont la communauté est loin d’être morte, avec des sites comme <a href="https://morromods.wiwiland.net/"><em>Wiwiland</em></a> et ses centaines de <em>mods</em> francophones ou encore <a href="https://www.nexusmods.com/"><em>Nexus mods</em></a> et ses plus de <strong>5 000</strong> <em>mods</em> disponibles. Évidemment, OpenMW a vocation à être compatible avec l’ensemble d’entre eux, et les bogues de ce côté‐ci se font plutôt rares.</p>
<p>Une des améliorations <em>hautement appréciées</em> d’OpenMW est qu’il permet d’installer chaque <em>mod</em> dans un dossier séparé, permettant de facilement le supprimer au besoin. Auparavant, il fallait consciencieusement noter quel <em>mod</em> installait quel fichier, et garder des copies des fichiers qui pouvaient être écrasés lors de l’installation, pour les restaurer lors de la suppression. Comme il est courant de jouer avec une bonne centaine de <em>mods</em>, leur gestion était une question épineuse qui est maintenant résolue.</p>
<p>Pour l’anecdote, les versions traduites du jeu le sont un peu trop, les traducteurs ayant fait du zèle, ils ne se sont pas contentés de traduire dialogues et sous‐titres, mais également certains identifiants de lieux, objets, personnages, etc., rendant parfois les <em>mods</em> incompatibles entre les différentes traductions.</p>
<p>Originellement, la création de <em>mods</em> s’effectuait via le <a href="http://en.uesp.net/wiki/Tes3Mod:Construction_Set"><em>construction set</em></a>, le même outil qui a servi à créer <em>Morrowind</em>, qui est livré avec le jeu. Il est donc normal qu’OpenMW le réimplémente également, surtout que le <a href="https://fr.wikipedia.org/wiki/BDFL" title="Définition Wikipédia">BDFL</a> précédemment évoqué était également contributeur à l’ambitieux projet <a href="http://ultima.wikia.com/wiki/Ultima_IX:_Redemption"><em>Ultima IX: Redemption</em></a>, une suite spirituelle à <em>Ultima</em>, sur le moteur de <em>Morrowind</em>, malheureusement abandonné aujourd’hui.</p>
<p>L’OpenCS n’est pas encore capable de remplacer complètement le <em>construction set</em>, mais les choses avancent, et la communauté des « moddeurs » s’y intéresse de plus en plus. Comme les <s>fous furieux</s> personnes derrière le titanesque projet <a href="https://www.tamriel-rebuilt.org/">Tamriel Rebuilt</a> ont fait un tas de retours sur son utilisabilité, les fonctionnalités manquantes et les corrections ou améliorations à lui apporter, pour corriger certaines tares du <em>construction set</em> original.</p>
<p>Par exemple, l’application de textures était une opération pénible, qui est maintenant simplissime, vu qu’il est possible de les appliquer sous forme de brosses : imaginez pouvoir ajouter du sable sur la plage fraîchement créée, simplement en baladant le curseur de la souris dessus, comme si vous étiez en train de la peigner.</p>
<p>La compilation des scripts est plus stricte et détecte un plus grand nombre de soucis et mauvaises pratiques que la version originale laissait passer sans rien dire.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f6769746c61622e636f6d2f4f70656e4d572f6f70656e6d772f75706c6f6164732f64353838613737393238333834323937376338383337336634373339356162382f70617468677269642d302d302e706e67/pathgrid-0-0.png" alt="Image de l’éditeur" title="Source : https://gitlab.com/OpenMW/openmw/uploads/d588a779283842977c88373f47395ab8/pathgrid-0-0.png"></p>
<h2 id="toc-conclusion">Conclusion</h2>
<p>OpenMW est un projet qui poursuit son bonhomme de chemin vers une comptabilité totale de <em>Morrowind</em> et une réimplémentation de son éditeur, depuis près de dix ans, et tend de plus en plus vers sa version 1.0.</p>
<p>Disponible et empaqueté pour de multiples systèmes d’exploitation, avec une communauté accueillante et active derrière lui, il permet déjà aux joueurs et joueuses de profiter confortablement de ce formidable jeu vidéo, et compte bien continuer sur cette voie !</p>
</div><div><a href="https://linuxfr.org/news/sortie-d-openmw-0-44.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/115012/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/sortie-d-openmw-0-44#comments">ouvrir dans le navigateur</a>
</p>
jvoisinNils Ratusznikpalm123Davy DefaudZeroHeureBruno Michelhttps://linuxfr.org/nodes/115012/comments.atomtag:linuxfr.org,2005:Diary/379602018-05-27T21:38:38+02:002018-05-27T21:38:38+02:00Rétro-ingénierie et modding de jeu dans un but esthétique - exemple en vidéoLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#en-quoi-cest-int%C3%A9ressant-ou-original">En quoi c'est intéressant ou original ?</a></li>
<li>
<a href="#les-premi%C3%A8res-%C3%A9tapes">Les premières étapes</a><ul>
<li><a href="#dabord-mettre-en-place-un-environnement-permettant-de-bidouiller-et-filmer-en-toute-qui%C3%A9tude">D'abord, mettre en place un environnement permettant de bidouiller et filmer en toute quiétude</a></li>
<li><a href="#installer-quelques-outils-g%C3%A9n%C3%A9riques">Installer quelques outils génériques</a></li>
</ul>
</li>
<li>
<a href="#%C3%87a-y-est-on-peut-commencer-%C3%A0-tout-casser">Ça y est, on peut commencer à tout casser</a><ul>
<li><a href="#premiers-d%C3%A9tournements-du-jeu--le-swap">Premiers détournements du jeu : le swap</a></li>
<li>
<a href="#bon-cest-sympa-mais-je-veux-ajouter-des-trucs-originaux">Bon, c'est sympa, mais je veux ajouter des trucs originaux</a><ul>
<li><a href="#le-format-m2">Le format M2</a></li>
<li><a href="#le-format-wmo">Le format WMO</a></li>
<li><a href="#le-format-blp">Le format BLP</a></li>
<li><a href="#les-%C3%A9ditions-directes-de-fichiers-sans-conversion">Les éditions directes de fichiers, sans conversion</a></li>
</ul>
</li>
<li>
<a href="#le-cas-des-adt">Le cas des adt</a><ul>
<li><a href="#le-sacro-saint-noggit">Le sacro-saint Noggit</a></li>
<li><a href="#la-g%C3%A9n%C3%A9ration-de-terrain">La génération de terrain</a></li>
</ul>
</li>
<li><a href="#jouer-avec-les-skybox">Jouer avec les skybox</a></li>
</ul>
</li>
<li><a href="#petits-d%C3%A9tails-suppl%C3%A9mentaires">Petits détails supplémentaires</a></li>
<li><a href="#conclusion">Conclusion</a></li>
</ul><p>Bonjour tout le monde !</p>
<p>Tout d'abord, j'espère que mon message ne sera pas trop considéré comme "publicitaire". Si c'est le cas, brûlez le au lance-flammes. J'espère aussi que la page n'est pas trop lourde, j'ai mis un paquet d'images et de gifs animés dans l'article.</p>
<p>Il y a 8 ans, avec une bande d'amis (regroupés sous le nom de RIdPEF), nous nous sommes lancés dans un projet un peu dingue mais rigolo : filmer le jeu <a href="https://fr.wikipedia.org/wiki/World%20Of%20Warcraft" title="Définition Wikipédia">World Of Warcraft</a>, mais une version totalement modifiée/moddée/customisée/patchée dans le but d'obtenir une vidéo la plus esthétique possible. Nous avons terminé il y a quelques jours, et ce fut une longue aventure, avec des méthodes qui peuvent vous intéresser. C'est pourquoi je me lance dans ce journal. Il ne s'agit pas d'un tutoriel, mais plutôt d'une présentation générale des méthodes et outils utilisés.</p>
<p>Tout d'abord, voici la vidéo, si vous souhaitez la regarder avant de lire cet immense pavé (cliquez sur l'image):</p>
<p><a href="https://www.youtube.com/watch?v=3HPXD8-zE0o"><img src="//img.linuxfr.org/img/68747470733a2f2f7374617469632e7269647065662e6f72672f66696c65732f61727469636c655f6369642f62616e646561754349442e706e67/bandeauCID.png" alt="Coffee Induced Dreams" title="Source : https://static.ridpef.org/files/article_cid/bandeauCID.png"></a></p>
<p>Pour ceux qui ne connaissent pas le jeu, dites-vous que 100% du film (y compris introduction et générique) sont des scènes créées amoureusement et artisanalement dans le jeu World of Warcraft.</p>
<h2 id="en-quoi-cest-intéressant-ou-original">En quoi c'est intéressant ou original ?</h2>
<p>Pour répondre à cette question, il faut d'abord se pencher sur quelques caractéristiques du jeu World of Warcraft. C'est un <a href="https://fr.wikipedia.org/wiki/MMORPG" title="Définition Wikipédia">MMORPG</a>, c'est-à-dire que les joueurs disposent d'un client, grâce auquel ils se connectent sur un serveur, et interagissent dans un monde qui est le même pour tout un chacun.</p>
<p>Il n'est normalement pas possible d'agir vraiment sur le monde, il est semi-figé, c'est à dire qu'il n'évolue que lorsque l'éditeur pousse de nouvelles mises à jour. Aucun outil officiel n'est disponible qui permettrait une quelconque modification du client. Et c'est là que ça devient rigolo.</p>
<p>En gros, nous avons utilisé le savoir et les outils accumulés depuis la sortie du jeu par une bande d'acharnés qui souhaitent modifier le client (certains pour faire des serveurs privés avec du contenu unique, d'autres pour le "fun", etc.). Nous avons aussi participé à cette accumulation d'outils et de savoir.</p>
<p>Et c'est là qu'on touche quelque chose d'assez proche de ce que l'on peut voir parfois dans le monde du logiciel libre : rien de cette vidéo n'aurait été possible sans collaboration, connaissance et documentation partagée (notamment à l'aide d'un <a href="https://wowdev.wiki">wiki</a>), et sans outils "librement" partagés. Je mets "librement" car si la gratuité est de mise dans 99% des cas, et que la plupart des outils créés par la communauté sont libres, quelques uns ont le code source disponible mais sans licence de précisée, et quelques uns sont propriétaires.</p>
<p>Ce journal va servir à montrer de quelle manière nous avons tordu le jeu, et avec quels outils. Parce que c'est rigolo.</p>
<h2 id="les-premières-étapes">Les premières étapes</h2>
<h3 id="dabord-mettre-en-place-un-environnement-permettant-de-bidouiller-et-filmer-en-toute-quiétude">D'abord, mettre en place un environnement permettant de bidouiller et filmer en toute quiétude</h3>
<p>Modifier un jeu en ligne n'est pas quelque chose d'anodin, et peut être très mal vu. Globalement, c'est contre les conditions d'utilisation du jeu, même s'il y a toujours eu une tolérance tant que c'était dans des visées "artistiques". De plus, World of Warcraft étant un jeu qui a beaucoup évolué, beaucoup d'outils ne fonctionnent plus sur les versions récentes. Pour ces deux raisons, nous avons fait le choix d'installer un serveur stabilisé sur une ancienne version de WoW (la 3.3.5 pour ceux qui veulent des détails).</p>
<p>Donc, première étape, compiler et installer <a href="https://www.trinitycore.org/">un serveur</a> pour bidouiller en local sans risque aucun. La création de serveurs (qu'ils soient le plus complet ou plutôt minimaliste) est d'ailleurs un des grands jeux des gens qui veulent s'amuser à comprendre comment les interactions client/serveur fonctionnent sur ce jeu (<a href="https://github.com/Dece/DuratorEmu">un autre exemple</a> plus minimaliste en python).</p>
<p>Ensuite, configurer le client pour s'y connecter, puis préparer le client pour pouvoir filmer sans être limités par les déplacements "normaux" du personnage. Pour cela, une amie nous a concocté un logiciel fort pratique nommé <a href="https://bitbucket.org/Kyssah/ffs/overview">Free Far Sight</a>, même si le code n'est pas libre. Depuis, un autre logiciel (libre celui-ci) a été créé permettant sensiblement les même choses : <a href="https://github.com/noggaholic/bugcraft-studio">BugCraft-Studio</a>. Encore une fois, on est à la limite de ce que <a href="https://fr.wikipedia.org/wiki/Blizzard_Entertainment">Blizzard</a> (l'éditeur du jeu) accepte : ces logiciels font du memory editing, et c'est généralement pas très apprécié sur les jeux en ligne. Mais encore une fois, tant que c'est fait pour un but "artistique", Blizzard est en général assez tolérant. Si vous souhaitez savoir ce que permettent réellement ces logiciels, Khamúl en a fait une démonstration <a href="https://www.youtube.com/watch?v=F_cZaIJUie4">par ici</a>.</p>
<h3 id="installer-quelques-outils-génériques">Installer quelques outils génériques</h3>
<p>Dans les outils de base, il faut citer ce qui permet d'extraire les fichiers du jeu, afin de les bidouiller à volonté. Pour ceci, nous avons besoin des outils basés sur la <a href="https://github.com/ladislav-zezula/StormLib">Stormlib</a> (disponible dans <a href="https://packages.debian.org/source/stretch/stormlib">vos</a> <a href="https://aur.archlinux.org/packages/stormlib/">distributions</a> <a href="https://opensuse.pkgs.org/42.3/opensuse-games/StormLib-devel-9.21-1.1.x86_64.rpm.html">préférées</a>) et aussi <a href="https://github.com/WoW-Tools/CASCExplorer">casexplorer</a>.</p>
<p>Comme nous modifions une ancienne version de World Of Warcraft, nous ne disposons pas directement de tous les derniers modèles ajoutés dans le jeu. Ça n'est pas bien grave, il existe un chouette petit logiciel nommé <a href="http://www.model-changing.net/files/file/62-legion-wotlk-multi-converter/">multiconverter</a>, qui permet de convertir les modèles des versions récentes du jeu en quelque chose de compatible avec la version que nous utilisons.</p>
<p>Nous utilisons aussi une méthode permettant de ne pas avoir à "repacker" nos patchs, ce qui fait gagner pas mal de temps (<a href="http://www.modcraft.io/index.php?topic=1828.msg11824#msg11824">la méthode</a> est rigolote pour ceux que ça intéresse, c'est de la modification du binaire, en y allant à l'éditeur hexa).</p>
<p>Je rappelle que tous ces outils ont été développés au cours du temps par des passionnés ne disposant d'aucune documentation fournie par Blizzard. C'est beau, non ?</p>
<h2 id="Ça-y-est-on-peut-commencer-à-tout-casser">Ça y est, on peut commencer à tout casser</h2>
<h3 id="premiers-détournements-du-jeu--le-swap">Premiers détournements du jeu : le swap</h3>
<p>Ça c'est la discipline historique pour commencer le modding sur WoW. Il s'agit de remplacer un fichier par un autre, tout simplement en le renommant. Par exemple, vous trouvez que tel modèle d'arbre qu'on voit dans telle zone il est moche, et qu'une boîte aux lettres ça serait plus joli, et ben vous renommez votre boîte selon le nom de l'arbre, vous la mettez au bon endroit dans l'arborescence de vos fichiers, et hop. Oui c'est crado, mais c'est efficace. À noter que ça marche pour n'importe quoi : modèle 3d, texture, son, cartes entières, voire continents. C'est d'ailleurs LA méthode pour aller explorer certaines zones du jeu normalement non accessibles : les mettre à la place de zones tout à fait normales.</p>
<p>Allez, un exemple :<br><img src="//img.linuxfr.org/img/68747470733a2f2f7374617469632e7269647065662e6f72672f66696c65732f61727469636c655f6369642f737761702e676966/swap.gif" alt="Exemple de swap" title="Source : https://static.ridpef.org/files/article_cid/swap.gif"></p>
<h3 id="bon-cest-sympa-mais-je-veux-ajouter-des-trucs-originaux">Bon, c'est sympa, mais je veux ajouter des trucs originaux</h3>
<p>En effet, le swapping comme présenté juste au-dessus, même s'il permet beaucoup de choses, est limité aux choses déjà incluses dans le jeu. Si l'on veut ajouter un nouveau modèle 3d, modifier une texture déjà existante, ou créer son propre terrain avec des reliefs originaux, il faut passer aux choses plus sérieuses.<br>
Et là, l'ensemble de ce que je vais vous montrer n'a été possible que grâce à un immense travail de reverse des formats du jeu, et de documentation. Si ça vous intéresse, à peu près tous les formats sont documentés ici sur le fameux <a href="https://wowdev.wiki/Main_Page">WoWdev Wiki</a>.</p>
<p>En gros, il y a trois aspects :</p>
<ul>
<li>Convertir des fichiers de formats "classiques" dans des fichiers compris par le jeu.</li>
<li>Convertir les fichiers de World Of Warcraft dans un format éditable ou modifiable plus facilement.</li>
<li>Modifier directement les fichiers en les laissant dans le format utilisé par le jeu.</li>
</ul><p>Il s'agit donc, pour chaque format (image, modèle 3d, etc), de créer un workflow complet en fonction de ce que l'on désire faire.</p>
<p>Les objets dans Wow sont répartis en deux formats distincts : </p>
<ul>
<li>Le <a href="https://wowdev.wiki/M2">M2</a>, pour tous les objets qui ont besoin d'animations, cela va de la fontaine ruisselante aux monstres et PNJs, ainsi que les petits éléments de décor.</li>
<li>Le <a href="https://wowdev.wiki/WMO">WMO</a>, pour les bâtiments et les très gros objets.</li>
</ul><p>Lorsque nous avons eu besoin d'altérer le modeling ou l'UV-mapping (manière dont les textures sont appliquées) d'un objet existant, il nous a fallu tout d'abord l'exporter en .obj, le re-travailler, puis le convertir à nouveau dans un format de Wow. L'export a été possible grâce à un visualisateur de modèles, <a href="https://wowmodelviewer.net/wordpress/">WowModelViewer</a>.<br>
Pour tous les types d'objets custom utilisés, le modeling et l'UV-mapping ont été réalisés dans Blender. Ne pouvant pas utiliser les shaders à l'export, le texturing a été fait en texture pure sans effets, en général avec des images reprises dans les fichiers du jeu et parfois un peu modifiées, pour garder de la cohérence graphique.</p>
<h4 id="le-format-m2">Le format M2</h4>
<p>Nous avons utilisé plusieurs workflows concurrents, en fonction du besoin de collisions et d'animations que nous avions, car tous les outils ne comprenaient pas les mêmes possibilités.<br>
Pour les objets avec collisions (mais sans animations), nous avons utilisé le convertisseur nommé <a href="http://www.modcraft.io/index.php?topic=5285.0">Obj2M2</a>. <br>
Pour les objets sans collisions, avec ou sans animations, nous avons créé un <a href="https://bitbucket.org/Mjollna/gltf2m2">convertisseur</a> spécialement pour l'occasion, qui effectue une transformation de .gltf (exporté depuis Blender) vers M2.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f7374617469632e7269647065662e6f72672f66696c65732f61727469636c655f6369642f6d325f617262722e676966/m2_arbr.gif" alt="m2 avec animation" title="Source : https://static.ridpef.org/files/article_cid/m2_arbr.gif"> <img src="//img.linuxfr.org/img/68747470733a2f2f7374617469632e7269647065662e6f72672f66696c65732f61727469636c655f6369642f6d325f62616b70616b2e676966/m2_bakpak.gif" alt="m2 sans animation" title="Source : https://static.ridpef.org/files/article_cid/m2_bakpak.gif"></p>
<h4 id="le-format-wmo">Le format WMO</h4>
<p>Pour tous les objets massifs non-animés, nous avons ré-exporté les fichiers de Blender en .3ds, puis converti ce format en WMO grâce à <a href="https://dece.space/dev/mm/">MirrorMachine</a>.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f7374617469632e7269647065662e6f72672f66696c65732f61727469636c655f6369642f776d6f2e6a7067/wmo.jpg" alt="Un joli bateau en WMO" title="Source : https://static.ridpef.org/files/article_cid/wmo.jpg"></p>
<h4 id="le-format-blp">Le format BLP</h4>
<p>Le <a href="https://wowdev.wiki/BLP">format BLP</a> (ou les formats, il en existe plusieurs versions) est celui utilisé pour toutes les images du jeu. Il est utilisé à la fois pour les textures, mais aussi pour les différents éléments de l'interface : icônes, barres de chargement, cartes, etc.<br>
Il existe un paquet d'outils permettant de les convertir en png, et de convertir les png en blp. Nous avons utilisé <a href="https://www.hiveworkshop.com/threads/blp-lab-v0-5-0.137599/">BLP Lab</a> et <a href="https://github.com/merfed/Coffee/tree/master/Tools/BLP/BLPConverter">BLPConverter</a>.<br>
Cela permet de créer des textures pour des objets existant en jeu ou pour les modèles que l'on importe.<br>
Un exemple amusant, vous pouvez ici voir un remplacement de la texture utilisée pour la tempête de sable par un truc plus abstrait, avec une skybox noire :<br><img src="//img.linuxfr.org/img/68747470733a2f2f7374617469632e7269647065662e6f72672f66696c65732f61727469636c655f6369642f626c702e676966/blp.gif" alt="Tempête de disques !" title="Source : https://static.ridpef.org/files/article_cid/blp.gif"></p>
<h4 id="les-éditions-directes-de-fichiers-sans-conversion">Les éditions directes de fichiers, sans conversion</h4>
<p>Dans plusieurs cas, nous ne sommes pas passés par des convertisseurs, notamment lorsqu'il s'agissait de bidouiller des choses spécifiques aux formats des fichiers.</p>
<p>Par exemple, les WMO possèdent la possibilité d'avoir de la lumière durant la nuit (utilisé en jeu principalement pour les fenêtres de bâtiments vus de l'extérieur). Nous avons utilisé cette option dans le film.<br>
Dans ce cas, la manipulation est la suivante : il faut repérer la bonne texture sur le <a href="https://wowdev.wiki/WMO#MOMT_chunk">chunk MOMT</a> (il y a dans le chunk un renvoi vers l'offset dans le <a href="https://wowdev.wiki/WMO#MOTX_chunk">MOTX</a> qui contient le nom des textures utilisées) , changer les flags à 0x10 pour activer la couleur émissive, et définir la couleur un peu plus bas (color_1). Au final, voilà le résultat :</p>
<p><a href="https://static.ridpef.org/files/article_cid/wmo_flags_light.png"><img src="//img.linuxfr.org/img/68747470733a2f2f7374617469632e7269647065662e6f72672f66696c65732f61727469636c655f6369642f776d6f5f666c6167735f6c6967687474682e706e67/wmo_flags_lightth.png" alt="Editeur hexa" title="Source : https://static.ridpef.org/files/article_cid/wmo_flags_lightth.png"></a><br><img src="//img.linuxfr.org/img/68747470733a2f2f7374617469632e7269647065662e6f72672f66696c65732f61727469636c655f6369642f776d6f5f6c756d2e6a7067/wmo_lum.jpg" alt="WMO lumineux" title="Source : https://static.ridpef.org/files/article_cid/wmo_lum.jpg"></p>
<p>Notez l'utilisation de templates pour 010Editor permettant de mieux se repérer dans le fichier. Ces templates fort utiles sont encore une fois maintenus par la communauté : <a href="https://github.com/relaxok/wow010">https://github.com/relaxok/wow010</a></p>
<p>Dans d'autres cas, il s'est par exemple agi de modifier la durée de certaines animations. On peut aussi citer le fait d'avoir parfois eu à "nettoyer" des terrains (quand nous nous sommes basés sur des terrains pré-existants) notamment pour supprimer les ombres incrustées dans le relief.<br>
Ou encore, on peut citer l'utilisation de <a href="https://bitbucket.org/Shgck/pywmo">PyWMO</a>, une bibliothèque permettant de manipuler directement les WMO en Python, très pratique pour redimensionner rapidement un modèle sans avoir à passer par les étapes de conversion.</p>
<h3 id="le-cas-des-adt">Le cas des adt</h3>
<p>Les <a href="https://wowdev.wiki/ADT/v18">ADT</a> sont des fichiers représentant des carrés de terrain. Ils comportent plusieurs informations : les reliefs, les textures utilisées au sol, la présence d'eau, l’existence et les coordonnées des objets positionnés (M2 et WMO) sur le carré en question, etc.</p>
<h4 id="le-sacro-saint-noggit">Le sacro-saint Noggit</h4>
<p>Aaaah, <a href="https://bitbucket.org/berndloerwald/noggit3">Noggit</a>. Ce logiciel est une petite merveille, pas toujours pratique à utiliser, parfois un peu capricieux, mais génial. Il s'agit tout simplement d'un éditeur de carte pour World Of Warcraft. Il permet la création ou l'édition de terrain. Avec un relief personnalisé, choix de textures au sol, ajout d'eau, ajout et positionnement/redimensionnement de modèles, et sauvegarde dans un format directement compréhensible par World Of Warcraft.</p>
<p><a href="https://static.ridpef.org/files/article_cid/noggit.png"><img src="//img.linuxfr.org/img/68747470733a2f2f7374617469632e7269647065662e6f72672f66696c65732f61727469636c655f6369642f6e6f6767697474682e706e67/noggitth.png" alt="Le grand Noggit" title="Source : https://static.ridpef.org/files/article_cid/noggitth.png"></a></p>
<p>Que ce soit pour la création d'une nouvelle carte, ou pour l'édition d'une carte pré-existante, ce logiciel a certainement été l'outil que nous avons le plus utilisé pour cette vidéo.</p>
<h4 id="la-génération-de-terrain">La génération de terrain</h4>
<p>Bien que l'édition manuelle de terrain soit toute indiquée dans un grand nombre de cas, il est parfois intéressant de générer des cartes à partir de données externes. C'est le parti pris de <a href="https://bitbucket.org/Mjollna/wowmapgen">WowMapGen</a>, qui utilise des images pour créer le relief, placer les textures et de la couleur sur le terrain, puis indiquer où placer les objets. Le programme a par exemple permis de placer très rapidement plusieurs milliers d'objets identiques avec des variations d'échelle et de rotation. </p>
<p><a href="https://static.ridpef.org/files/article_cid/placement_m2.png"><img src="//img.linuxfr.org/img/68747470733a2f2f7374617469632e7269647065662e6f72672f66696c65732f61727469636c655f6369642f706c6163656d656e745f6d3274682e706e67/placement_m2th.png" alt="Carte de placement d'objets" title="Source : https://static.ridpef.org/files/article_cid/placement_m2th.png"></a><br><img src="//img.linuxfr.org/img/68747470733a2f2f7374617469632e7269647065662e6f72672f66696c65732f61727469636c655f6369642f706c6163656d656e745f6d325f726573756c742e676966/placement_m2_result.gif" alt="Résultat du placement" title="Source : https://static.ridpef.org/files/article_cid/placement_m2_result.gif"></p>
<p>Cependant, le relief créé par WowMapGen comporte des anomalies très longues à corriger manuellement. Cela nous a conduits à utiliser <a href="https://github.com/WowDevTools/Blender-WMO-import-export-scripts">un autre générateur</a> en complément, dont le résultat est beaucoup plus beau, mais qui n'a pas les options de placement d'objets.</p>
<h3 id="jouer-avec-les-skybox">Jouer avec les skybox</h3>
<p>Historiquement, pour changer la couleur du ciel et du brouillard, nous modifions des <a href="https://wowdev.wiki/DB/Light">fichiers pas très lisibles</a>. Heureusement, l'outil de nous utilisons pour gérer les trajets de caméra permet aussi de modifier ces réglages directement. L'inconvénient est qu'il n'y a pas de sauvegarde directement dans le format utilisé par le jeu. Cela nous importe peu quand le but à la fin est uniquement d'avoir une vidéo.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f7374617469632e7269647065662e6f72672f66696c65732f61727469636c655f6369642f6666732e676966/ffs.gif" alt="Changement de skyboxes à la volée" title="Source : https://static.ridpef.org/files/article_cid/ffs.gif"></p>
<h2 id="petits-détails-supplémentaires">Petits détails supplémentaires</h2>
<p>Peut-être vous demandez-vous pourquoi le film s'appelle ainsi ? Tout d'abord, parce que le café, c'est bon. Ensuite, coffee était le terme utilisé au début du jeu pour désigner le modding. On trouve encore <a href="https://github.com/merfed/Coffee/">quelques</a> <a href="https://www.reddit.com/r/wow/comments/242quh/anyone_here_remember_noggaholic/ch3bz0a">traces</a> de ce terme sur internet. "Dreams", c'est simplement parce que ce sont des paysages imaginaires qui sont montrés, et qui n'ont parfois pas grand sens.</p>
<p>Vous pouvez trouver quelques informations en plus sur le petit film, ainsi qu'une galerie de sreenshots par ici : <a href="https://ridpef.org/coffee-induced-dreams">https://ridpef.org/coffee-induced-dreams</a></p>
<h2 id="conclusion">Conclusion</h2>
<p>Ce projet date d'il y a 8 ans, c'est un boulot de malade (on a compté, il y a presque 2 heures de travail par seconde de vidéo), mais on est heureux d'avoir terminé. Il faut en gros penser ce projet comme l'aboutissement de notre travail créatif sur World Of Warcraft, comme une démo technique, mais aussi comme un grand hommage à tout cette communauté qui depuis les débuts du jeu cherche à en comprendre le fonctionnement.<br>
J'espère que cette description de la manière dont nous avons procédé, et la mise en avant d'une partie des outils utilisés vous ont plu ! N'hésitez pas si vous avez des questions, que ça soit sur l'aspect technique ou n'importe quoi d'autre.</p>
<p>Je rajoute quelques liens, vers des pages traitants de ces sujets :</p>
<ul>
<li>
<a href="https://ridpef.org">Le site de la RIdPEF</a>, notre communauté. et son <a href="https://forum.ridpef.org">forum</a>
</li>
<li>
<a href="https://wowdev.wiki/Main_Page">le WoWdev Wiki</a>, une mine d'information concernant la manière dont le jeu est fait.</li>
<li>
<a href="http://www.modcraft.io/">Modcraft</a>, un forum anglophone sur ce sujet.</li>
<li>
<a href="http://www.model-changing.net/">Model-changing.net</a>, une autre communauté anglophone.</li>
<li><a href="https://www.youtube.com/watch?v=3HPXD8-zE0o">Le lien vers la vidéo</a></li>
<li><a href="https://www.youtube.com/watch?v=Es2nvAgdk94">Une vidéo que montre l'envers du décor de certaines scènes</a></li>
</ul><p>Merci à tous les copains de la RIdPEF pour m'avoir suivi dans tout ça ! Et merci à Mjollna pour m'avoir aidé à pondre ce journal.</p><div><a href="https://linuxfr.org/users/zhao/journaux/retro-ingenierie-et-modding-de-jeu-dans-un-but-esthetique-exemple-en-video.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/114572/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/zhao/journaux/retro-ingenierie-et-modding-de-jeu-dans-un-but-esthetique-exemple-en-video#comments">ouvrir dans le navigateur</a>
</p>
Zhaohttps://linuxfr.org/nodes/114572/comments.atomtag:linuxfr.org,2005:Diary/379492018-05-21T15:50:51+02:002018-05-21T15:50:51+02:00Compiler wine-staging-wow64 pour une utilisation de dxvk avec PlayonlinuxLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Depuis la version 3 de Wine Playonlinux ne propose plus de version précompilée de wine-staging, or dxvk suppose l'utilisation de cette version patchée de wine pour fonctionner.</p>
<p>Qu'est-ce que dxvk ? C'est une implémentation Vulkan de directx11 particulièrement performante, elle permet, par exemple, de faire tourner un The Witcher 3 dans dans de très bonnes conditions d'utilisation là où sous une versions normale de Wine le logiciel est quasiment inutilisable.</p>
<p>Qu'est-ce que wow64 ? C'est le support des applis et des bibliothèques 32 bits pour la versioN 64 bits de wine.</p>
<h2 id="téléchargez-">Téléchargez :</h2>
<p>Les sources et le patch correspondant :</p>
<p><a href="https://dl.winehq.org/wine/source/">Sources de Wine</a></p>
<p><a href="https://github.com/wine-staging/wine-staging/releases">Patch staging</a></p>
<h2 id="dépendances-">Dépendances :</h2>
<p>Voici les dépendances que j'ai installé pour réaliser une compilation quasi complète en terme de fonctionnalité de wine. Il est probable qu'il vous faille installer d'autres dépendances car mon installation de linux n'était pas neuve quand j'ai pris ces notes.</p>
<pre><code>sudo apt install gcc-mulitlib build-essential libgtk-3-dev pkg-config-i686-linux-gnu libpulse-dev libpulse-dev:i386 libattr1-dev libattr1-dev:i386 libva-dev libva-dev:i386 libva-x11-2 libva-x11-2:i386 libva-drm2 libva-drm2:i386 flex bison libpcap0.8-dev libpcap0.8-dev:i386 libncurses5-dev libncurses5-dev:i386 libv4l-dev libv4l-dev:i386 liblcms2-dev liblcms2-dev:i386 libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libudev-dev libudev-dev:i386 libsdl2-dev libcapi20-dev libcapi20-dev:i386 libcups2-dev libkrb5-dev libkrb5-dev:i386 libglobus-gssapi-gsi-dev libtiff5-dev libtiff5-dev:i386 libmpg123-dev libmpg123-dev:i386 libopenal-dev libopenal-dev:i386 libldap2-dev libldap2-dev:i386 libsane-dev libsane-dev:i386 libxml2-dev libxslt1-dev libgnutls28-dev libjpeg-dev libjpeg-dev:i386 libosmesa-dev libosmesa-dev:i386 libgsm1-dev libgsm1-dev:i386 libfreetype6-dev libfreetype6-dev:i386 libxcursor-dev:i386 libxi-dev:i386 libxshmfence-dev:i386 libxxf86vm-dev:i386 libxrandr-dev:i386 libxfixes-dev:i386 libxinerama-dev:i386 libxcomposite-dev:i386 libglu1-mesa-dev:i386 libdbus-1-dev:i386 libfontconfig1-dev:i386 libvulkan-dev:i386
</code></pre>
<h2 id="préparez-vos-dossiers-de-compilation-">Préparez vos dossiers de compilation :</h2>
<p>ATTENTION : remplacez toutes les occurrences de X par votre version de wine !</p>
<p>Vous faites ici selon vos souhaits, pour ma part je créé un dossier par versions avec les dossier de compilation correspondants :</p>
<pre><code>mkdir -p ~/WineBuilds/X/wine-X-32 ~/WineBuilds/X/wine-X-64
</code></pre>
<h2 id="appliquer-le-patch-">Appliquer le patch :</h2>
<p>Il s'agit d'abord de décompresser les sources de wine et le patch staging :</p>
<pre><code>cd ~/WineBuilds/X/
tar xvf wine-X.tar.xz && tar xvf wine-staging-X.tar.gz
</code></pre>
<p>Puis on déplace le contenu du dossier de patch dans le dossier des sources :</p>
<pre><code>mv wine-staging-X/* wine-X && rm -r wine-staging-X/
</code></pre>
<p>On applique le patch :</p>
<pre><code>cd wine-X
./patches/patchinstall.sh DESTDIR="$(pwd)" --all
</code></pre>
<h2 id="compilation-des-sources-">Compilation des sources :</h2>
<p>On commence par compiler la version 64 bits en précisant le dossier d'installation des binaires pour un usage immédiat dans Playonlinux :</p>
<pre><code>cd ~/WineBuilds/X/wine-X-64
../wine-X/configure --with-xattr --enable-win64 --prefix=$HOME/.PlayOnLinux/wine/linux-amd64/X-wow64-staging
make -j6
</code></pre>
<p>Une fois ceci fait on compile la version 32 bit en précisant le dossier de compilation de la version 64 bit ainsi que la version 32 bits de PKGCONFIG :</p>
<pre><code>cd ~/WineBuilds/X/wine-X-32
PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/ ../wine-X/configure --with-xattr --with-wine64=../wine-X-64 --prefix=$HOME/.PlayOnLinux/wine/linux-amd64/X-wow64-staging
</code></pre>
<h2 id="installation-">Installation :</h2>
<p>D'abord dans le dossier 32bits puis 64 :</p>
<pre><code>cd ~/WineBuilds/X/wine-X-32 && make install
cd ~/WineBuilds/X/wine-X-64 && make install
</code></pre>
<p>Normalement vous devriez avoir une version staging et supportant les applis 32 et 64 bits de wine directement utilisable dans Playonlinux !</p>
<h2 id="utilisation-de-dxvk">Utilisation de dxvk</h2>
<p>dxvk est une implémentation Vulkan de directx11 particulièrement performante. Elle fonctionne avec une version patchée de wine ( d'où le tuto qui précède ).</p>
<p>Pour l'utiliser c'est assez simple, tout d'abord vous téléchargez la dernière version :</p>
<p>[dxvk][<a href="https://github.com/doitsujin/dxvk/releases">https://github.com/doitsujin/dxvk/releases</a>]</p>
<p>Vous pouvez créer un dossier spécifique dans votre WineBuilds par exemple.</p>
<pre><code>cd ~/WineBuilds/dxvk/
tar xvf dxvk-X.tar.gz
</code></pre>
<p>Il suffit ensuite de lancer le script pour chaque PREFIX de wine dans lequel vous souhaitez l'utiliser.</p>
<p>Supposons que vous ayez installé un Witcher3 dans un PREFIX nommé TW3 :</p>
<pre><code>cd ~/WineBuilds/dxvk/dxvk-X/
export WINEPREFIX=~/.PlayOnLinux/wineprefix/TW3/ ; x32/setup_dxvk.sh ; x64/setup_dxvk.sh
</code></pre>
<p>C'est tout !</p><div><a href="https://linuxfr.org/users/jbbourgoin/journaux/compiler-wine-staging-wow64-pour-une-utilisation-de-dxvk-avec-playonlinux.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/114520/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/jbbourgoin/journaux/compiler-wine-staging-wow64-pour-une-utilisation-de-dxvk-avec-playonlinux#comments">ouvrir dans le navigateur</a>
</p>
jbbourgoinhttps://linuxfr.org/nodes/114520/comments.atomtag:linuxfr.org,2005:News/377132016-12-10T19:26:38+01:002016-12-11T11:35:25+01:00Le père Noël arrive avec des jeuxLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>« Mais non ! <br>
— Mais si ! »<br>
Voici un nouveau CD de jeux libres mis à votre disposition pour toujours plus de plaisir. Ce CD pour petits et grands enfants est le deuxième CD de l’année et le premier sorti sous l’égide de <a href="http://libregamesinitiatives.tuxfamily.org/">LibreGamesInitiatives</a>. Les jeux sont toujours en version Windows mais existent en version GNU/Linux, même s’il faut parfois les compiler à partir des sources. Pour 40 % d’entre eux toutefois, ils sont exécutables sous GNU/Linux grâce à Wine.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f6c6962726567616d6573696e6974696174697665732e74757866616d696c792e6f72672f696d616765732f6c6f676f2f6c6f676f5f6c67693135307837372e706e67/logo_lgi150x77.png" alt="LibreGamesInitiatives" title="Source : https://libregamesinitiatives.tuxfamily.org/images/logo/logo_lgi150x77.png"></p></div><ul><li>lien nᵒ 1 : <a title="http://libregamesinitiatives.tuxfamily.org/index.php/cd-dvd?id=64" hreflang="fr" href="https://linuxfr.org/redirect/98782"> Site officiel</a></li><li>lien nᵒ 2 : <a title="http://www.freetorrent.fr/admin/download.php?id=33" hreflang="fr" href="https://linuxfr.org/redirect/98783">Téléchargement Freetorrent </a></li><li>lien nᵒ 3 : <a title="http://download.tuxfamily.org/lanpower/CDserie3/LGamesCDAllAgesS3-3.iso" hreflang="fr" href="https://linuxfr.org/redirect/98784">Téléchargement Tuxfamily</a></li><li>lien nᵒ 4 : <a title="http://download.tuxfamily.org/lanpower/GameList.txt" hreflang="fr" href="https://linuxfr.org/redirect/98785">Liste des jeux et versions</a></li></ul><div><p>La série 3.3 est la mise à jour de la 3.2 avec quatre suppressions : <em>StepMania</em>, <em>Train Director</em>, <em>Wormux</em> et <em>UFO Alien Invasion</em>, et dix jeux rajoutés pour un total de vingt jeux. Les jeux initialement fournis en archives ZIP ont été remplacés par des installateurs réalisés avec <a href="https://fr.wikipedia.org/wiki/Nullsoft_Scriptable_Install_System">NSIS</a>.</p>
<p>Un effort a été fait pour la traduction en français. Ont été traduits par l'association : <em>Commander Staline</em> , <em>The Butterfly Effect</em> (il reste quelques chaînes à intégrer), <em>Torus Trooper</em> (manuel traduit par l’association), <em>Kiki The Nano Bot</em> (traduit par l’association, mais intégration au jeu échouée).</p>
<h3 id="liste-des-jeux"> Liste des jeux :</h3>
<ul>
<li>
<em>Atomorun 2008</em> ;</li>
<li>
<em>Biloba</em> ;</li>
<li>
<em>Briquolo</em> ;</li>
<li>
<em>Commander Staline</em> ;</li>
<li>
<em>DigiBand</em> ;</li>
<li>
<em>Duo</em> ;</li>
<li>
<em>Genetic Invasion</em> ;</li>
<li>
<em>Globulation 2</em> ;</li>
<li>
<em>Kiki Le Nano Robot</em> ;</li>
<li>
<em>LinCity NG</em> ;</li>
<li>
<em>Maniadrive</em> ;</li>
<li>
<em>Newton adventure</em> ;</li>
<li>
<em>Pingus</em> ;</li>
<li>
<em>PixPang</em> ;</li>
<li>
<em>Sable</em> ;</li>
<li>
<em>Sudoku Portable</em> ;</li>
<li>
<em>The Butterfly Effect</em> ;</li>
<li>
<em>Torus Trooper</em> ;</li>
<li>
<em>X-Moto</em> ;</li>
<li>
<em>zeRace</em>.</li>
</ul></div><div><a href="https://linuxfr.org/news/le-pere-noel-arrive-avec-des-jeux.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/110744/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/le-pere-noel-arrive-avec-des-jeux#comments">ouvrir dans le navigateur</a>
</p>
papapZeroHeureDavy DefaudNÿcopalm123Benoît SibaudNils Ratusznikhttps://linuxfr.org/nodes/110744/comments.atomtag:linuxfr.org,2005:Post/374142016-10-20T07:07:19+02:002016-10-21T02:15:02+02:00pre-realease de battle-rage un jeu de combat a la street fighter.<p>Salut les <strong>C++</strong>,</p>
<p>je vous annonce de part ce présent message la pre-release de ma dernière création:</p>
<p><a href="http://www.open-source-projects.net/battle-rage/battle-rage_presentation.html"><strong>battle-rage</strong></a>: un jeu de combat en 2D a la <strong>street fighter</strong> écrit en <strong>C++</strong> avec la bibliothèque <strong>sdl2</strong>, <strong>sdl2_image</strong>, <strong>sdl2_ttf</strong> et <strong>sdl2_mixer</strong>.</p>
<p><strong>1.</strong> <em>Choisissez le mode de jeu:</em></p>
<ul>
<li><p><strong><em>Player</em></strong> vs <strong><em>Computer</em></strong>.</p></li>
<li><p><strong><em>Player</em></strong> vs <strong><em>Player</em></strong>.</p></li>
<li><p><strong><em>Computer</em></strong> vs <strong><em>Computer</em></strong>.</p></li>
</ul><p><strong>2.</strong> Puis choisissez votre combattant parmi les <strong>16 combattants</strong> disponibles ainsi que votre <strong>adversaire</strong> ou <em>laisser l'ordinateur tirer au hasard</em>.</p>
<p><strong>3.</strong> <strong>Combattez</strong> dans <em>plusieurs rounds</em>: <strong>chacun un combat a mort</strong> (<em>plus de points de vie</em>). Maximum <em>3 rounds</em>. </p>
<p><strong><em>NOTE:</em></strong> <strong>Une manette PC est requise pour jouer</strong> a <a href="http://www.open-source-projects.net/battle-rage/battle-rage_presentation.html"><strong>battle-rage</strong></a> ! </p>
<hr><p>Chaque <strong>combattant</strong> est dotée de <strong>propriétés</strong>:</p>
<ul>
<li><p><strong>Rapidité</strong>.</p></li>
<li><p><strong>Agressivité</strong>.</p></li>
<li><p><strong>Force</strong>.</p></li>
<li><p><strong>Résistance</strong>.</p></li>
</ul><hr><p>J'ai pris les images des <strong>16 combattants</strong> (personnages) d'un jeu de combat analogue pour <strong>XBox 360</strong>: <a href="https://en.wikipedia.org/wiki/NeoGeo_Battle_Coliseum">NeoGeo Battle Coliseum</a> sur un site de sprites.</p>
<p><a href="http://www.open-source-projects.net/index/Resources/battle-rage/">Vous pouvez retrouver les personnages dans l'index de mon site.</a> </p>
<hr><p><strong>TECHNIQUE:</strong></p>
<p>J'ai stocker des séquences d'images dans une liste chaînée simple: <code>std::forward_list<SDL_Texture*></code> </p>
<p>puis j'ai stocker cette structure de données dans une table de hachage: <br><code>std::unordered_map<int8_t, std::forward_list<SDL_Texture*>></code> afin de pouvoir look-up les coups des combattants.</p>
<p>Je me suis demander tout au long du développement est-ce que il est mieux de d'utiliser un type <strong>int8_t</strong> (<em>char</em>) ou un type <strong>uint8_t</strong> (<em>unsigned char</em>) ??? </p>
<p>J'ai penser que le type signé est plus naturelle pour un ordinateur malgré que il faut une opération supplémentaire a chaque fois: <strong>le contrôle du signe.</strong></p>
<p>Mais par contre avec un type signé l'on peut utiliser l'option d'optimisation: <strong><em>-fno-signed-zeros</em></strong> ??? </p>
<hr><p>J'ai fait un véritable effort sur le packaging: </p>
<ul>
<li><p>Version <strong>Windows</strong> 64 bits: <a href="http://www.open-source-projects.net/battle-rage/Download/py/download_battle-rage_exe.cgi">fichier <strong>*.exe</strong> <em>auto-extractible</em></a>.</p></li>
<li><p>Version <strong>Linux</strong>: <a href="http://www.open-source-projects.net/battle-rage/Download/py/download_battle-rage_deb.cgi"><strong>*.deb</strong></a> et <a href="http://www.open-source-projects.net/battle-rage/Download/py/download_battle-rage_rpm.cgi"><strong>*.rpm</strong></a></p></li>
<li><p>Version <strong>tarball</strong>: <a href="http://www.open-source-projects.net/battle-rage/Download/py/download_battle-rage_tarball.cgi">un <strong>tarball</strong> avec les <strong>autotools</strong></a>. </p></li>
</ul><hr><p><strong>Une manette PC est requise pour jouer</strong> a <a href="http://www.open-source-projects.net/battle-rage/battle-rage_presentation.html"><strong>battle-rage</strong></a> !</p>
<p>D'ailleurs j'ai pas mal galérer la dessus car je me suis basé sur le <strong>Input_Handler</strong> de <strong>Shaun Mitchell</strong> auteur du livre: <a href="https://www.amazon.fr/SDL-Game-Development-Shaun-Mitchell-ebook/dp/B00DL0CFI6/ref=sr_1_1?ie=UTF8&qid=1476938153&sr=8-1&keywords=Shaun+Mitchell">SDL Game Development</a>. Que j'ai amélioré ! </p>
<hr><p>Je suis ouvert a toute forme de critiques, remarques, conseils, etc…</p>
<p>Merci pour vos réponses.</p>
<p>PS: Ca y est: j'ai vendus mon âme a <strong>C++</strong> car l'exécutable fait plus de 5 Mo (<strong>non</strong>-<strong>stripped</strong>) alors que en <strong>C</strong> cela ferai que quelques centaines de Kilos.</p><div><a href="https://linuxfr.org/forums/programmation-c/posts/pre-realease-de-battle-rage-un-jeu-de-combat-a-la-street-fighter.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/110323/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/programmation-c/posts/pre-realease-de-battle-rage-un-jeu-de-combat-a-la-street-fighter#comments">ouvrir dans le navigateur</a>
</p>
Linuxatorhttps://linuxfr.org/nodes/110323/comments.atomtag:linuxfr.org,2005:Post/371512016-08-09T21:49:52+02:002016-08-09T21:49:52+02:00Migration depuis Windows : quelle distrib Linux choisir ?<p>Bonsoir !</p>
<p>A la suite de nombreux déboires avec Windows 10, et après y avoir bien réfléchi, j'ai décidé de sauter le pas et de quitter Windows pour Linux.<br>
Je précise que je suis un parfait novice en ce qui concerne Linux, mais je connais la philosophie et les bases du système (grâce aux forums, articles, wikis, etc…)</p>
<p>Mais je suis un peu perdu devant le nombre de distributions Linux existantes, et je ne sais pas du tout laquelle choisir selon mes besoins (malgré une bonne heure passée sur distrowatch).</p>
<p>Je possède un ordinateur fixe assez puissant (Intel core i7 ; MSI Nvidia gtx 970 ; 8go de RAM), pour faire beaucoup de montage vidéo (Adobe Première Pro ; After Effects) et de la retouche photo (Gimp), et aussi pour les jeux vidéo (principalement League of Legends, Minecraft, et des jeux Steam).</p>
<p>J'aimerais donc me tourner vers une distribution qui me permette d'utiliser la config de mon PC le mieux possible, que ce soit pour les jeux vidéo (avec Wine/PlayOnLinux sûrement), le montage, ou tout le reste, sans limitations ou manque de drivers pour les composants et périphériques.</p>
<p>Je cherche aussi une distribution qui me laisse personnaliser mon système le plus possible, pour me sentir vraiment "chez moi", mais je n'ai aucune connaissances en informatique (même si je suis motivé pour apprendre à me servir de distrib plus complexes et modulables à l'avenir), alors il me faut quelque chose qui soit quand même stable et sécurisé, intuitif, pour éviter que je fasse des mauvaises manipulations et que je me retrouve perdu.</p>
<p>Les distributions qui ont le plus retenu mon attention sont : Debian, Ubuntu, Mint, Arch Linux (et Manjaro surtout, puisque je suis novice), Kubuntu et Elementary. Mais il y en a tellement d'autres, que je n'arrive pas à déterminer laquelle est faite pour moi…</p>
<p>Voilà, désolé pour le pavé et merci à ceux qui ont lu et qui pourront m'aider à faire mon choix :-) N'hésitez pas à me poser des questions si vous avez besoin d'infos supplémentaires pour m'aider !</p><div><a href="https://linuxfr.org/forums/linux-debutant/posts/migration-depuis-windows-quelle-distrib-linux-choisir.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/109749/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-debutant/posts/migration-depuis-windows-quelle-distrib-linux-choisir#comments">ouvrir dans le navigateur</a>
</p>
Letsoaihttps://linuxfr.org/nodes/109749/comments.atom