Alt-F4 n°45 - Satisfactorio 06-08-2021
traduit par bev
Avec son numéro 45, Alt-F4 met encore une fois un mod en avant. La particularité ici est que le numéro sera publié en même temps que le mod lui-même ! Niet a travaillé sans relâche à l’adaptation de certains mécanismes de Satisfactory dans Factorio, et cela va bien au-delà de la simple transposition des recettes. L’article ci-dessous vous présente toutes les astuces utilisées pour essayer d’émuler un autre jeu aussi fidèlement que possible.
Bienvenue dans Satisfactorio ! Niet
Quoi ?
Voilà un an que je développe un mod appelé Satisfactorio. C’est un mod de refonte qui vous permet d’avoir (presque) toute l’expérience de Satisfactory dans Factorio ! Chaque fonctionnalité, des Jalons aux Drones et tout ce qui se trouve entre les deux, a été soigneusement recréée dans Factorio.
Pourquoi ?
Le modding n’est pas une question de “Pourquoi”, mais de “Et pourquoi pas” ! J’ai autant apprécié Factorio que Satisfactory, et sur le portail de mods de Satisfactory, il y a un mod qui recrée Factorio dans Satisfactory, y compris les bras, l’arbre des technologies et l’objectif de lancer une fusée. Ce concept m’a semblé cool, alors je me suis demandé si je ne pouvais pas apporter des éléments de Satisfactory dans Factorio. Cela a déjà été tenté auparavant, mais le développement ne semble pas avoir été particulièrement avancé et a finalement été abandonné.
Une caractéristique particulière qui m’intéressait avant de commencer était la façon dont les convoyeurs de Satisfactory se connectent directement aux ouvertures d’entrée/sortie des machines. Cela s’applique même aux gares, où un train s’arrête et vide sa cargaison dans l’entrepôt du quai, pour ensuite le décharger sur un convoyeur. C’est certainement beaucoup plus simple que certaines des configurations de chargement/déchargement optimisées que j’ai pu voir dans Factorio !
Qui ?
Pour la petite histoire, je suis assez nouveau dans le milieu du modding. En fait, à part quelques petits mods (un pour calculer le ratio des panneaux solaires et un pour copier un état instantané des signaux logiques d’un poteau électrique vers un émetteur de constante), je n’ai jamais tenté de modder de manière significative.
Je suis cependant, au moins, un développeur de logiciels. Mon boulot de tous les jours consiste à travailler sur un jeu gratuit pour fans de Pokémon, ce que je fais depuis douze ans maintenant. Mais même là, tout est écrit en PHP et JavaScript. Lua, le langage dans lequel les mods sont écrits, était complètement nouveau pour moi. Heureusement, mes compétences générales en matière de résolution de problèmes se sont bien adaptées, et il ne s’agissait donc que d’apprendre la syntaxe et la structure du code Lua. L’API de Factorio est exceptionnellement bien documentée et les forums de Factorio ont été des outils précieux pour m’aider à me lancer.
Comment ?
Dans un premier temps, j’ai cherché à savoir comment connecter les convoyeurs directement aux machines. J’ai fait quelques essais avec des chargeurs, mais j’ai rapidement constaté qu’ils préféraient nettement une ligne du convoyeur à l’autre. Si l’entrée n’est pas saturée, seule la ligne de droite est utilisée. Si cette ligne se remplit, alors l’autre démarre, et tant que le goulot d’étranglement n’est pas éliminé, vous vous retrouvez avec un débit doublé pendant un certain temps, ce qui n’était pas idéal. Satisfactory évite totalement ce problème en n’ayant que des convoyeurs à une seule ligne, mais malheureusement ce n’est pas possible dans Factorio.
J’ai examiné d’autres mods tels que Miniloader et Editor Extensions pour voir comment ils géraient le chargement d’objets sur les deux lignes d’un convoyeur, et j’ai découvert que la solution était d’avoir une paire de bras invisibles en sortie, un pour chaque ligne.
Très vite, j’ai obtenu une foreuse qui mettait des objets sur un convoyeur, le convoyeur allait dans une fonderie pour produire des lingots, puis les lingots allaient dans un constructeur pour faire des plaques, qui finalement étaient mises dans un conteneur de stockage. Cool !
J’ai pris goût au modding et, avant même de m’en rendre compte, j’ai décidé que j’allais transposer tout ce que Satisfactory avait à offrir. C’est fou, peut-être, mais cette petite expérience m’avait complètement transformé, alors j’ai commencé à écrire la liste des fonctionnalités sur lesquelles je devais travailler.
Il s’avère qu’il y a beaucoup de fonctionnalités ! J’ai commencé à travailler sur les plus faciles. Les recettes étaient bien sûr faciles à transférer, et créer des machines d’assemblage différentes pour différentes catégories de recettes était simple, mais d’autres fonctionnalités étaient beaucoup plus difficiles.
Bien qu’il ne soit pas possible de créer des types de bâtiments entièrement nouveaux dans Factorio, les effets souhaités peuvent être obtenus en utilisant des “entités composées”. C’est-à-dire de multiples bâtiments différents empilés les uns sur les autres (ou du moins à proximité). Par exemple, ma version recréée de la Foreuse n’extrait pas réellement les objets vers le convoyeur, ce qui aurait pour conséquence qu’une seule ligne serait utilisée. Au lieu de cela, elle place ses produits dans un coffre invisible, et le coffre est ensuite déchargé sur le convoyeur via une structure du type Miniloader. Grâce à cette méthode, toutes sortes de nouveaux systèmes sont possibles !
Changements majeurs
Bien que Factorio et Satisfactory partagent fondamentalement le même principe de “faire des choses qui font des choses”, il existe quelques différences majeures que j’ai dû intégrer.
Tout d’abord, il n’y a pas de fabrication manuelle dans Satisfactory. Du moins, pas dans le sens où vous pouvez simplement remplir une file d’attente de fabrications et vaquer à vos occupations jusqu’à ce qu’elle soit terminée. Au lieu de cela, vous devez vous rendre jusqu’à un Établi et vous ne pouvez rien faire d’autre pendant que vous y travaillez. Pour reproduire cela, j’ai créé une machine d’assemblage qui ne nécessite pas d’énergie, mais qui ne fonctionne que si le joueur a la machine ouverte à l’écran.
Dans le même ordre d’idées, les bâtiments ne sont pas fabriqués en tant qu’objets dans votre inventaire. Au lieu de cela, vous pouvez sélectionner un bâtiment et ses matériaux sont automatiquement retirés de votre inventaire lorsque vous posez des copies du bâtiment choisi. De même, lorsque vous ramassez un bâtiment, ses composants sont récupérés.
Une autre différence majeure est liée à la progression. Au lieu de produire en masse des packs de science pour alimenter des laboratoires, Satisfactory vous demande d’apporter une sélection de pièces au HUB pour les y déposer. J’ai créé une autre machine d’assemblage pour cela, mais celle-ci ne fabrique rien du tout. Elle est présente parce que la sélection des recettes se rapproche assez bien de la sélection des Jalons, et lorsqu’une recette est sélectionnée, le bâtiment accepte les “ingrédients” demandés. Une fois que les éléments sont en place, un bouton apparaît pour que vous cliquiez dessus, débloquant ainsi le prochain Jalon.
La gestion de l’énergie est un autre facteur qui a été retravaillé. Dans Factorio, si vous manquez d’énergie, vos bâtiments fonctionnent plus lentement et ce n’est généralement pas un gros problème (du moins tant que vos foreuses de charbon en produisent assez…). En revanche, dans Satisfactory, une alimentation insuffisante entraîne immédiatement une panne de courant dans toute l’usine, ce qui nécessite une intervention manuelle pour réparer et réinitialiser le système. L’implémentation de ce système a nécessité quelques essais et erreurs, mais j’ai finalement décidé d’ajouter un petit drain à chaque réseau électrique. Si ce drain ne reçoit pas l’énergie dont il a besoin, tous les générateurs s’arrêteront jusqu’à ce que le joueur y remédie.
La division et la fusion des convoyeurs sont très différentes. Plutôt que d’avoir une seule entité “Répartiteur” qui équilibre ses deux convoyeurs d’entrée et de sortie, Satisfactory utilise un séparateur de convoyeurs et un groupeur de convoyeurs, qui divisent un convoyeur en trois ou en fusionnent trois en un, respectivement. Cela signifie que les équilibreurs sont un peu différents ! Satisfactory n’en a généralement pas besoin, mais ils sont tout de même très utiles.
Satisfactory propose également un Séparateur intelligent (et un Séparateur programmable de niveau supérieur) qui vous permet de définir des filtres sur les objets qui passent à travers :
Fonctionnalités supplémentaires
Satisfactory offre un nombre remarquable de fonctionnalités non présentes dans Factorio, il fallait donc les reproduire aussi fidèlement que possible.
Le combat au début du jeu se fait à l’aide d’une arme de mêlée et consiste généralement à esquiver les attaques ennemies tout en les frappant. Factorio ne se prête pas vraiment à ce type de combat, mais l’arme du joueur peut infliger des coups et des étourdissements. Lorsqu’elle est utilisée correctement, elle vous permet de vaincre les ennemis du début du jeu sans même subir de dégâts ! Les ennemis ne construisent pas de bases, mais on les trouve plutôt en nombre limité, gardant des points d’intérêt tels que des nœuds de ressources et des objets à ramasser.
Toutes les créatures ne sont pas hostiles non plus. Dans Satisfactory, vous pouvez trouver et apprivoiser des lézards doggos pour les utiliser comme animaux de compagnie, et ils vous rendront la pareille en vous offrant parfois certains objets. Cela a été recréé dans le mod, de sorte que vous pouvez avoir une petite ferme ! Allez les voir de temps en temps pour savoir ce qu’ils ont trouvé. Peut-être que ce sera une Électrolimace, ou peut-être que ce sera des déchets nucléaires, on ne sait jamais !
Les véhicules sont équipés d’une fonction de pilotage automatique. Enregistrez un trajet et laissez-les rouler automatiquement. Idéal pour la logistique en début de partie, avant l’arrivée des trains. Les véhicules peuvent être chargés et déchargés dans des Gares routières, ce qui permet d’avoir des usines bien organisées et réparties.
Vous avez besoin de plus de possibilités de mouvement ? Satisfactory vous propose la Tyrolienne, qui vous permet de vous déplacer le long des lignes électriques. Les Hypertubes permettent de voyager entre deux endroits connectés. Plus tard, vous pourrez fabriquer un Jetpack pour voler sur une bonne distance, et plus tard encore, un Hoverpack qui utilise l’énergie du réseau électrique pour voler aussi longtemps que vous le souhaitez.
Les drones permettent de transporter efficacement des articles sur de longues distances. Ils sont un peu comme les robots logistiques, mais en mieux ! Chaque drone peut transporter neuf piles d’objets à la fois, attendant à destination qu’ils soient tous déchargés, avant de ramasser les objets qui doivent être renvoyés au point d’origine. Ils sont très rapides, atteignant des vitesses de plus de 240 km/h ! Cependant, le processus de chargement et de déchargement est plus long, ce qui rend les drones moins efficaces pour les trajets courts.
Il y en a d’autres, mais cette liste est déjà assez longue, alors je vais m’arrêter là.
Demande d’aide !
Comme vous l’avez sans doute remarqué dans les captures d’écran ci-dessus, je suis un programmeur, pas un graphiste. Chaque bâtiment du jeu est juste une plaque blanche avec l’icône du bâtiment de Satisfactory. D’un point de vue fonctionnel, le jeu est tout à fait jouable dans cet état, car vous pouvez facilement vous habituer aux “graphismes”, mais il ne présente pas vraiment bien. Je cherche de l’aide pour cela. Si vous avez de l’expérience dans la création de graphismes pour des mods Factorio, j’aimerais avoir un contact avec vous et peut-être réaliser quelque chose ensemble.
En attendant, profitez du mod, disponible dès maintenant sur le Portail des Mods !
Restez performants !
Contribuer
Comme toujours, nous attendons vos contributions pour les Alt-F4, que cela soit par la soumission d’un article ou en aidant pour les traductions. Si vous avez quelque chose d’intéressant en tête que vous souhaitez partager avec la communauté, vous êtes au bon endroit. Si vous n’êtes pas sûr, nous serons heureux de vous aider en discutant structure, contenu et idées. Donc si vous voulez vous impliquer dans les Alt-F4, rejoignez-le Discord pour ne rien rater !