Alt-F4 #2 - SPIDERTRON!!!

Écrit par Lovely_Santa, Robynthedevil, Xorimuth, édité par Therenas, EDLEXUS, nicgarner, traduit par Thacib le 28-08-2020

Sommaire

Bienvenue dans ce second numéro de Alt-F4, la succession (proposée par la communauté) aux Factorio Friday Facts. Encore une fois j’ai été très agréablement surpris par la communauté : à peine quelques heures après la parution du premier numéro, le Discord était rempli de personnes désireuses de participer aux diverses étapes de la publication. Vous avez peut-être remarqué, par exemple, que la page web sur laquelle vous vous trouvez actuellement a reçu une petite amélioration. Je tiens à remercier tout ceux qui ont réservé un accueil si positif à ce projet.

Mais ce blog n’a pas vocation à traiter de lui-même, mais plutôt du jeu. Comme nous le savons tous, les développeurs nous ont réservé une surprise pour la sortie du jeu : le Spidertron, une araignée mécanique géante dotée de jambes incroyablement extensibles, dont nous avions déjà eu un avant-goût, il y a quatre ans et demi à l’occasion du FFF #120. Pour célébrer cet ajout, nous avons décidé de faire la part belle, dans ce numéro, à ce véhicule versatile et à toutes les expériences d’ores et déjà imaginées par la communauté pour le tester.

Spidertron a oublié de se muscler les jambes Lovely_Santa

Je pense parler au nom de la majorité des personnes qui ont suivi le jeu pendant toute sa phase d’accès anticipé, en disant que j’ai été agréablement surpris en voyant ce que nous réservait la version 1.0 ! Étant moi-même créateur de mods, j’ai eu envie de jeter un oeil sous le capot pour voir comment le spidertron fonctionnait, espérant ainsi élargir mes horizons vers de nouvelles idées de mod.

La plupart des fans de Arch666Angel le savent déjà, je suis un des contributeurs du mod Angel. Depuis le tout début du développement d’Angel’s Exploration je suis persuadé que le spidertron y trouvera sa place. Je ne vais vous gâcher ici la surprise de ce que je prépare, mais plutôt partager avec vous certaines difficultés rencontrées pendant le processus de développement.

Voici Crawlertron, la version Angel du spidertron qui rejoindra le groupe des Crawler parmis les véhicules fournis par Angel. J’aimerais que le nouveau Crawlertron soit plus petit, notablement plus petit. Je devais donc ajouter à la définition du spidertron un facteur d’agrandissement, qui me permettrait alors de le réduire. Ceux d’entre vous ayant déjà codé des mods l’ont déjà sûrement remarqué : c’est le plus grand des prototype du jeu. Après avoir tout défini avec ce facteur d’agrandissement (quelques heures et tasses de cafés plus tard), j’ai réussi à faire charger le jeu pour admirer le fruit de mon travail : une diminution du Crawlertron (facteur d’agrandissement < 1) ne mit pas en avant d’aberration évidente dans mon code, et j’ai donc décidé de l’agrandir (facteur d’agrandissement > 1), ci-dessous le résultat :

Un grand crawlertron aux jambes minuscules.

Vous l’aurez remarqué, ses jambes ont l’air d’être de petits bâtonnets ! C’est un miracle qu’il ne se soit pas cassé une jambe. Après inspection de la définition des jambes du Crawlertron, je n’ai rien trouvé de louche, et ai donc décidé d’appeler à l’aide sur le groupe discord des modders de factorio. Klonan (qui fait parti de Wube, et que vous pouvez admirer sur this page une bière dans chaque main) m’a affirmé qu’il faudrait modifier le noyau de Factorio pour pouvoir modifier correctement l’apparence des jambes du spidertron. Klonan m’a d’ailleurs demandé de le diminuer pour voir si cela fonctionnait correctement, je vous laisse admirer le résultat :

Un petit crawlertron aux jambes épaisses.

Je pense que vous aurez remarqué ici aussi le problème, puisque c’est le même que précédemment. On peut voir que tout ne fonctionne pas directement, ce qui a de bons côtés puisque certains effets de bord sont amusants. Je suis certain que ce problème sera résolu dans une prochaine mise à jour, en attendant j’ai soumis aux développeurs un rapport de bug. Il est possible que je reprenne la parole ici dans le futur pour vous montrer ce que devient le Crawlertron, et surtout si j’ai pu soigner ses jambes.

Mod Spotlight: Spidertron Engineer Robynthedevil

Cette galaxie est affligée par une race de réplicateurs arthropodes composés de silicium. Un seul de leurs membres suffit à transformer la totalité des ressources d’une planète en vue de se répliquer, créant au passage un bruit de métal grinçant et une chaleur torride. Ces robots massacrent la faune et la flore locales, partout où ceux-ci osent s’aventurer et construisent, sans jamais fléchir, des machines d’une complexité et des armes d’une létalité sans cesse démultipliées. Ce processus ne prendra fin que lorsqu’ils seront en mesure de déployer, parmi les étoiles, d’innombrables clones d’eux-mêmes partant à la recherche de nouvelles planètes jusqu’alors riches et sans méfiance. Les spidertrons ne ressentent rien, n’ont besoin de rien, ne dorment pas, ne cèdent rien et ne s’arrêteront pas. Leur usine doit, pour toujours et à jamais, grandir.

L'Ingénieur‧e Spidertron avec le vaisseau échoué

Le scénario de Factorio tel que nous le connaissons est semblable à celui de nombreux autres jeux de construction ou de survie : l’Ingénieur‧e échoue sur un monde inconnu et doit survivre jusqu’à avoir assez progressé dans l’arbre de technologie pour pouvoir s’échapper (dans notre cas : déployer de nombreuses fusées). Cette idée bien qu’assez engageante au début ne subsiste plus qu’au second plan une fois que nous sommes réellement au coeur du jeu.

Le mod Spidertron Engineer se contente de remplacer l’Ingénieur‧e, que nous connaissons et aimons tous, par un Spidertron froid et sans coeur dès le début du jeu. Vous trouverez, tout au long de la partie, des technologies permettant d’améliorer votre personnage (i.e. une araignée) et remplaçant les améliorations d’armure du jeu de base. Ce changement, bien que mineur, transforme complètement l’expérience d’une partie de Factorio. Ce mod a permis d’augmenter mon implication dans l’univers étendu du jeu. Je me doute que ce mod ne plaira pas à tout le monde (notamment aux arachnophobes) toutefois cette transformation d’une partie minime du jeu, par l’ajout de ce petit rebondissement, rend les prémisses et la conclusion d’une partie beaucoup plus intéressantes.

Un oeil sous le capot: Spidertron Weapon Switcher Xorimuth

Le mod Spidertron Weapon Switcher permet de faire utiliser n’importe quel type d’arme au spidertron. Je vais profiter de cette publication pour vous montrer comment un tel objectif a été atteint, mais commençons toutefois par admirer le résultat :

Présentation de changement d'arme

Si vous n’avez jamais écrit de mod, vous ne savez certainement pas que la plupart des choses ne peut pas être modifiée dynamiquement pendant que le jeu s’exécute, pour ne citer que quelques exemples : la portée d’une arme, les graphiques d’une machine et ce qui me concerne plus : les différents emplacements pour les armes d’un véhicule. Bien sûr, les armes du spidertron peuvent être modifiées par des mods, mais seulement en créant un nouveau ‘type’ de spidertron durant le chargement du jeu.

Afin de contourner cette limitation j’ai créé cinq ‘types’ de spidertron, un pour chaque type d’arme, ainsi lorsque vous changez d’arme en jeu le mod exécute les étapes suivantes:

  1. Sauvegarde de toutes les informations importantes du spidertron, par exemple son inventaire et sa position
  2. Suppression du spidertron
  3. Création d’un nouveau spidertron avec l’arme suivante en lieu et place de l’ancien
  4. Insertion de toutes les informations précédemment sauvegardées.

Toutes ces étapes ont lieu en un simple tick, de manière (presque) transparente pour le joueur. (Il a fallu résoudre plusieurs effets de bords, par exemple la déconnexion entre les télécommandes et les spidertrons, mais ceci nous écarte du cadre de ce blog.)

Tout ceci fonctionne parfaitement pour transférer les données d’un spidertron au suivant, toutefois cela ne fait aucun sens de transférer les munitions, en effet si le fusil à pompe est sélectionné et chargé avec 300 cartouches et que le joueur change pour le lance-flammes, les cartouches ne devraient pas (et ne peuvent d’ailleurs pas) être transférées dans l’emplacement de munitions du lance-flammes.

Je contourne ce problème en sauvegardant un tableau pour chaque spidertron, ainsi dans l’étape 1. l’inventaire de munitions est sauvegardé dans le tableau sous l’entrée “fusil à pompe”, et dans l’étape 4., la valeur sous l’entrée “lance-flammes” est récupérée et placée dans l’emplacement des munitions. Quand le joueur reprend le spidertron, toutes les munitions de ce spidertron sont replacées dans l’inventaire du joueur, ou sur le sol en cas de manque de place.

Contribuer

Depuis la semaine dernière, le processus de contribution s’est grandement précisé (en fait, il y a maintenant un processus ce qui n’était pas le cas la semaine dernière). Si vous connaissez GitHub, vous pouvez jeter un oeil sur le dépôt du projet, vous y trouverez des explications sur les manières de contribuer; dans le cas contraire, ne perdez pas espoir, en effet le Discord et ses membres sont là pour vous aider. Vous avez juste à vous connecter et à demander. Si vous vous demandez ce dont vous pouvez parler, vous trouverez des conseils en bas de la première publication.

Je tenais à remercier tout particulièrement Thaui, Dr.MagPie, xthexder, Lovely_Santa et Conor pour avoir été les cerveaux derrière cette opération, et pour avoir déployé un superbe site web en un jour ou deux. Je remercie aussi Landmine grâce à qui nous avons maintenant un logo et plus !