Alt-F4 n°39 - JOSEF  11-06-2021

Écrit par Drogiwan Cannobi, édité par stringweasel, Nanogamer7, Conor_, Therenas, Firerazer,
traduit par bev, Firerazer

Sommaire

Dans ce numéro 39 de Alt-F4, divisible par 13 (petites maths rapides), Drogiwan Cannobi nous apporte sa première contribution en nous présentant les tenants et aboutissants de son usine Rube-Goldberg-esque, auto-expansive, qui répond au doux nom de JOSEF. C’est un concept super intéressant, et qui n’est pas aussi compliqué que ça une fois que vous rentrez dans les détails.

JOSEF, l’usine qui se développe automatiquement et de manière organique Drogiwan Cannobi

JOSEF, l’usine qui se développe automatiquement : les cellules sont analysées et remplies les unes après les autres. Une fois que toutes les cellules sont occupées, un nouvel anneau est construit.

Voici JOSEF (pour Organically Self-Expanding Factory), une usine qui s’étend automatiquement. Elle débute avec une petite quantité de matériaux et commence lentement à grandir, à récolter plus de ressources, à fabriquer plus de matériaux de construction et à grandir encore plus. En supposant qu’il n’y ait plus d’erreurs de ma part (et que vous ayez une puissance de calcul infinie), elle grandira lentement et indéfiniment. JOSEF utilise le mod recursive blueprints qui vous permet de déployer automatiquement des plans et des planificateurs de déconstruction en utilisant des circuits logiques. Il existe déjà quelques exemples d’usines à expansion automatique, notamment GreyGoo qui a été construite par NiftyManiac en 2017. Le fait de voir cela à l’époque m’a finalement motivé à tenter le coup moi-même !

Cet article tente d’expliquer le fonctionnement interne de JOSEF. J’essaierai de donner une explication plus ou moins complète de son fonctionnement, même si je ne pourrai pas entrer dans les détails de chaque circuit logique.

Je vais essayer de vous convaincre que vous n’avez pas besoin d’être un programmeur ou un magicien pour essayer vous-même ! Je n’avais pas beaucoup d’expérience en matière de circuits avancés avant de commencer, et je ne connais que les principes de base de cette magie. Je vous promets que si vous savez comment utiliser un circuit logique et que vous avez la patience de vous amuser un peu, vous pouvez aussi trouver une solution !

Je vais d’abord vous expliquer en gros comment fonctionne JOSEF, puis je vous expliquerai un peu plus en détail les différentes parties du système. Le principe général est le suivant :

  • La base est constituée d’anneaux dans une grille ferroviaire de taille 2x2 très simple, autour d’une cellule centrale : “le cerveau”.
  • Un nouvel anneau est construit une fois que les anneaux existants ont été remplis.
  • Un train passe par toutes les cellules du nouvel anneau et vérifie la présence de gisements de minerai.
  • D’autres trains interviennent ensuite pour affecter la cellule à l’exploitation minière, à l’énergie solaire ou à la production de matériaux de construction.
  • Une fois que l’anneau existant est complet, un nouvel anneau est initié.
  • Toutes les cellules sont reliées par des réseaux globaux de roboports et de circuits logiques.

Mécanisme de l’anneau

Une fois que toutes les cellules existantes sont occupées, un nouvel anneau est construit en une seule fois. C’est très différent de GreyGoo, qui construisait et analysait cellule après cellule, en spirale lente et régulière. J’ai opté pour des anneaux complets parce que, honnêtement, c’est beaucoup plus simple, ça fonctionne, et je ne voyais honnêtement pas de raison de faire quelque chose de plus complexe que ça. Il n’a besoin que de 10-15 circuits logiques et ne nécessite pas de mémoire compliquée (à part le stockage du numéro de l’anneau où vous en êtes) ou quoi que ce soit d’autre.

Le mécanisme de base de la construction d’un anneau est le suivant :

  • Chaque cellule est décrite par sa position sur une grille (X,Y). La cellule la plus au centre a les coordonnées (0,0). Celle à sa gauche a les coordonnées (-1,0), celle juste au-dessus les coordonnées (0,-1) et ainsi de suite.
  • La variable N définit l’anneau qu’il est en train de construire (la cellule centrale étant comptée comme l’anneau N=1). Prenons l’exemple ici de N=3 (c’est-à-dire le passage d’une grille 3x3 à une grille 5x5).
  • L’anneau est divisé en rangées horizontales (haut/bas) et verticales (gauche/droite). Pour construire les rangées horizontales (bleues), il faut que X passe en continu de la coordonnée la plus à gauche (-2) à la plus à droite (2) et que Y bascule entre -2 et 2. Intervertissez X et Y et vous obtenez les rangées verticales (orange).

Schéma du mécanisme de l’anneau.
La logique de base de l’anneau : les rangées horizontales (bleues) sont construites en faisant évoluer le décalage X entre -N et N et en faisant alterner le décalage Y entre -N et N. Les rangées verticales sont construites de la manière inverse.

La dernière chose nécessaire pour que cela fonctionne est un moyen d’augmenter le nombre d’anneaux N. J’ai inclus un émetteur dans chaque cellule, envoyant un signal Q=1 à tout le réseau. De cette façon, JOSEF saura à peu près quand l’anneau aura fini de se construire - quand $ Q=(2N-1)^2 $, pour être précis. Le train “décideur” (qui arrive dans les nouvelles cellules et détermine ce qu’il faut en faire) n’ira dans les nouvelles cellules que lorsque cette condition sera remplie. Cela empêche le train d’aller dans des cellules à moitié construites et de perturber le tout.

Étant donné que je ne construis pas qu’un réseau ferroviaire en expansion constante, il y a une deuxième condition pour commencer l’anneau suivant : chaque cellule existante doit être remplie soit d’exploitations minières (M), soit d’installations énergétiques (E), soit d’une des deux cellules de production (I ou J). En d’autres termes, un nouvel anneau sera lancé lorsque $ M+I+J+E=(2N-1)^2 $.

Le processus de construction est ainsi divisé en deux phases distinctes : la construction de l’anneau (jusqu’à ce qu’un nombre suffisant de signaux “Q” soit reçu) et l’analyse des cellules (jusqu’à ce qu’un nombre suffisant de signaux M, E, I ou J soit reçu).

Gestion des cellules individuelles

Nouvelle cellule pendant le découplage.
Une nouvelle cellule lors du découplage du réseau de roboports. Après l’arrivée du train, les roboports connectés de manière globale sont déconstruits et le roboport central, découplé, est placé.

OK, donc maintenant il y a plein de nouvelles cellules vides. Comment les gérer individuellement ?

Les nouvelles cellules sont construites avec une gare appelée “Nouvelle Cellule” (original, n’est-ce pas ?) et une série de circuits logiques à l’intérieur. Ces derniers sont responsables de délivrer le message robot de construction = N afin de mettre en place le Nième plan d’un livre qui est amené à la cellule par un train. Il s’est avéré beaucoup plus simple d’avoir la logique dès le début que de la construire pendant la phase d’analyse, car les circuits logiques à moitié construits (et aussi à moitié déconstruits) finissent inévitablement par poser des problèmes.

Lorsque toutes les cellules d’un nouvel anneau sont construites et que suffisamment de matériaux sont disponibles dans le réseau logistique, le train de construction commence à les parcourir une par une. Il ne contient que quelques matériaux et un livre de plans qui est déchargé dans un coffre de déploiement. Il y a quelques astuces pour parcourir le livre de plans. Le processus complet est trop long à décrire ici, mais regardons le début à titre d’exemple. Toutes les cellules commencent avec des roboports connectés au niveau global, mais afin de vérifier la présence de minerais (comme décrit dans le paragraphe suivant), j’aurai besoin de roboports découplés, c’est donc la première chose à faire :

  • Le plan 1 est un planificateur de déconstruction pour les roboports. Les roboports initiaux (connectés globalement) dans une cellule émettent chacun U235=1 (parce qu’il y a un coffre avec exactement 1 U235 dans la cellule cerveau). Donc au départ, il y a un signal U235=4 provenant des quatre roboports de ce réseau local. Une fois que les quatre roboports sont déconstruits (et donc U235=0), un comparateur réglé sur U235=0 → robot de construction = 1 se déclenche, conduisant au déploiement du prochain plan.
  • Le plan 2 construit un roboport au centre de la cellule et découplé du reste du réseau. Un convoyeur préconstruit commence à l’alimenter avec 50 robots de construction provenant du train. Ce nouveau roboport est configuré sur lire les statistiques des robots et un comparateur avec T=50 → robot de construction = 1 active le plan 3 une fois que 50 robots ont été introduits dans le réseau maintenant découplé.
  • Le plan 3 déconstruit les convoyeurs de robots et déclenche immédiatement le plan 4, qui va lancer le processus de “recherche de ressources” décrit dans le paragraphe suivant.

En général, pour parcourir les plans, il faudra trouver une entité qui peut émettre des signaux logiques et utiliser cette entité en cours de construction/déconstruction comme indicateur de l’étape suivante. Vous pouvez aussi utiliser les signaux “robots de construction inactifs (T=Z)” ou “objet X disponible dans le stockage logistique” pour vous assurer que le processus de construction est réellement terminé.

Voici un exemple de problèmes que l’on peut rencontrer si l’on n’est pas prudent ou si l’on utilise des conditions dépendantes du temps : lorsque JOSEF commençait à grossir, il fallait parfois un peu de temps pour que les robots viennent construire le roboport découplé. Si (pour des raisons qui apparaîtront plus tard) les 200 convoyeurs étaient déchargés avant que ce roboport ne soit construit, l’ordre des plans était erroné, le système commençait à construire des convoyeurs pour l’exploitation minière sans déconstruire les convoyeurs des robots, puis désignait la cellule comme “Pas d’exploitation minière”. C’était un désordre absolu et l’usine s’est retrouvée bloquée.

Recherche de ressources

Vérification des gisements de minerai : après le découplage, un plan de minage est placé. Ce n’est que lorsqu’il manque un certain nombre de foreuses minières dans le coffre d’approvisionnement que le reste de l’infrastructure minière est placé.

Et maintenant, l’un des points les plus importants : comment trouver les ressources ? Il n’y a aucun moyen de lire “minerai au sol” dans le jeu standard, mais c’est en fait très simple une fois que vous avez découplé les réseaux de roboport :

  • Le train de construction décharge une quantité fixe de foreuses minières. Si vous placez un plan qui comprend des foreuses, elles seront prises dans ce coffre, de sorte que vous pouvez dire précisément combien de foreuses ont été placées dans la cellule. Pour être sûr, le train transporte 150 foreuses et 200 convoyeurs.
  • JOSEF attend que les foreuses soient complètement déchargées (en attendant à nouveau un signal convoyeurs=200) et que les 50 robots de construction soient inactifs (en attendant un signal T=Z provenant du roboport) après avoir placé le plan de minage. Il vérifie le nombre de foreuses restant dans le coffre et augmente le signal “robot de construction” de 1 ou 2, selon qu’un certain nombre de foreuses a été placé. J’ai choisi 10 foreuses comme minimum pour dédier toute la cellule au minage.
  • Cela signifie que deux plans différents peuvent à présent être déployés : le plan “Exploitation minière” ou le plan “Pas d’exploitation minière”. Il y a quelques étapes supplémentaires, mais il s’agit principalement de renommer la gare, de déconstruire les coffres et de reconstruire les roboports pour reconnecter la cellule. En outre, le livre de plans sera remis dans le train une fois que tout sera terminé.

Pour éviter les problèmes liés à des exploitations mixtes, chaque cellule minière contient une gare pour le minerai de fer, le minerai de cuivre, la pierre et le charbon. Chaque gare ne sera activée que lorsqu’il y aura assez de minerai pour remplir un train entier. Cela signifie que la plupart des gares ne seront jamais activées.

Chaque nouvelle cellule sera contrôlée de cette manière. Si plus de dix foreuses sont placées, elle sera dédiée au minage indépendamment des besoins. Il s’agit sans aucun doute d’une approche rapide et sale qui pourrait être grandement améliorée.

Le travail initial du train de construction est terminé une fois que la cellule est désignée comme “Exploitation minière” ou “Pas d’exploitation minière” et que le réseau de roboport est reconnecté. Un autre train entrera dans les cellules “Exploitation minière”, nommera correctement les gares, déconstruira les circuits logiques et ajoutera un signal “M” à l’émetteur de constantes caractérisant le type de cellule.

Ma façon de trouver des minerais a un gros problème : vous ne pouvez jamais avoir de foreuses minières stockées dans le réseau logistique global, sinon elles seront (en partie) placées à la place de celles du réseau découplé. Avec mes petites cellules, les zones de construction se chevauchent tellement que la cellule entière est accessible depuis l’extérieur. Il y a quelques protections mises en place pour empêcher les foreuses d’être disponibles dans le réseau global (tout en les acheminant vers le train de construction par des robots logistiques), mais il peut y avoir des situations où la recherche de minerai est perturbée quand la base devient vraiment grande. Mais c’est une chose rare et ça ne casse rien, donc ça me va. Dans la prochaine version cependant, j’essaierai d’éloigner complètement les foreuses des coffres logistiques, à l’exception de ceux des cellules en cours d’analyse.

Les cellules “Pas d’exploitation minière” sont ensuite traitées par deux trains différents, en fonction de …

… l’énergie

Cellule d’énergie solaire.
Énergie : 7MW de puissance continue par cellule. C’est placé dans les cellules sans gisement de minerai lorsque la charge de l’accumulateur devient trop faible.

Pour faciliter un peu le démarrage, JOSEF bénéficie de 30MW de puissance continue fournie par une IEE (interface d’énergie électrique). Une fois que les besoins en énergie dépassent ce chiffre, JOSEF construira des cellules “Énergie” comprenant des panneaux solaires et des accumulateurs. Une cellule produit 7MW en continu (10MW en crête), vous aurez donc besoin de plusieurs d’entre elles.

JOSEF déterminera un besoin de plus de puissance dès que la charge d’un accumulateur tombe en dessous de 70%. Cela permettra au train “Énergie” de démarrer. De la même manière que pour le train “Exploitation minière”, ce gars-là se contente de faire le tour (cette fois dans les gares “Pas d’exploitation minière”), de déployer le plan solaire, de déconstruire les circuits logiques, d’ajouter un signal “E” à l’émetteur global et de repartir. Il n’y a pas d’autres limitations car je voulais m’assurer qu’il y ait toujours un moyen d’obtenir plus de puissance si JOSEF se retrouvait dans une impasse.

En raison de ma façon de construire des anneaux complets de plus en plus grands à chaque fois, il y a d’énormes pics de puissance. Cela conduit JOSEF à sur-construire de l’énergie de manière assez importante car les premières cellules de chaque anneau sont généralement dédiées à l’énergie. Lors de mes plus grands tests, la consommation moyenne vers la fin était d’environ 500MW alors que la production potentielle d’énergie était d’environ 1GW. Ce n’est pas vraiment grave (en fait, du point de vue des UPS, je préfère des cellules remplies d’énergie que de machines de production) mais ce serait certainement plus efficace si j’utilisais un mécanisme d’expansion plus lent, de type GreyGoo.

Graphe de la consommation électrique de l’usine JOSEF.
Graphe de consommation électrique : vous pouvez déduire le temps qu’il a fallu pour construire un certain anneau en regardant les pics massifs de consommation d’énergie. Vous pouvez également constater que la croissance de l’ensemble est assez linéaire dans l’ensemble.

Il ne manque plus qu’un petit détail : nous voulons que JOSEF fabrique aussi les matériaux qu’il utilise ! Toutes les cellules restantes sont donc dédiées à …

… la production

La production de matériaux de construction a lieu dans deux cellules spaghetti différentes. L’histoire de la construction de ces cellules est similaire à celle des précédentes : lorsqu’une gare appelée “Pas d’exploitation minière” est disponible et que suffisamment de matériaux de construction se trouvent dans le réseau logistique (et que l’énergie ne vient pas à manquer), un train arrive, déploie un plan et ajoute soit “I” soit “J” à l’émetteur de constantes global, selon la cellule de production construite. Ce gars fait une chose supplémentaire : il décharge un peu de charbon dans le réseau logistique pour s’assurer que les trains ont de quoi rouler et, pour la cellule de production 2, quelques barils de pétrole lourd pour démarrer la liquéfaction du charbon.

Ce train de construction alterne simplement entre les deux cellules différentes. Il y a un simple “cycle de bras” qui retire le livre de plans du train lorsqu’il revient à la maison, y insère l’autre, puis attend que le train parte pour s’activer à nouveau.

Cellule de productions basiques de JOSEF
Cellule de production 1 : choses de base, non pétrolières (convoyeurs, bras, machines d’assemblage, etc.)

La première cellule produit tous les différents matériaux de construction de base : des convoyeurs, des machines d’assemblage, des foreuses minières, des bras, des rails, des trains, des gares, des signaux, des poteaux électriques - plus ou moins tout ce qui ne nécessite pas de pétrole. La cellule de production de base doit être construite avant que JOSEF ne soit à court de convoyeurs ou de rails. Cela peut être un problème si vous avez trop de gisements de ressources au centre ou si vous ne lui donnez pas un stock assez important au départ et qu’il décide de se contenter de placer des panneaux solaires. Mais vous pouvez toujours y remédier en lui donnant un peu plus de matériaux au départ.

Cellule de productions avancées de JOSEF
Cellule de production 2 : objets avancés utilisant du pétrole (roboports, robots, accumulateurs, etc.)

La deuxième cellule produit les choses les plus avancées : les roboports, les robots, les coffres logistiques, les déployeurs de plans, les panneaux solaires et les accumulateurs. Celle-ci doit être construite avant que JOSEF ne soit à court de roboports. Le train de construction apporte dix barils de pétrole lourd qui sont vidés, passent par la raffinerie et sont remplis à nouveau dès que possible. JOSEF ne produit pas de barils mais se repose sur les barils initiaux qui sont recyclés à l’infini.

Les deux cellules de production sont loin d’être optimisées pour obtenir des ratios corrects ou quelque chose de ce genre. Elles produisent lentement et régulièrement tout ce qui est nécessaire, mais il peut s’écouler une heure avant qu’une certaine cellule produise, par exemple, sa première gare, car elle doit d’abord accumuler des convoyeurs. Néanmoins, il s’avère que ce n’est plus un problème après un certain temps, mais nous y reviendrons plus tard.

Au bout d’un moment, il y aura beaucoup de cellules de production dispersées sur la carte. Cela signifie que les robots de construction globaux cesseront lentement de prendre des matériaux au centre (où se trouvent les matériaux de construction initiaux) et commenceront à prendre des matériaux dans les cellules de production à proximité, ce qui réduit le temps de déplacement. Cependant, par paresse de ma part, ils doivent toujours apporter un certain nombre de matériaux au centre pour charger le train de construction, mais c’est une autre histoire (qui sera traitée de manière beaucoup plus élégante dans JOSEF Version 2).

Les cellules de production sont alimentées par des trains. Une cellule spéciale “déployeur de trains” située au centre génère quatre nouveaux trains (un pour chaque type de minerai) dès qu’un nouveau signal “I” ou “J” est reçu. Le fait d’avoir une cellule dédiée au déploiement des trains (au lieu de les inclure dans les plans des cellules de production) permet de s’assurer que les trains planifiés et les trains existants n’interfèrent jamais. Sans cette précaution, il peut y avoir des cas où de nouveaux wagons s’attachent à des trains existants et ainsi de suite, ce qui doit être évité.

Tous les trains ont un horaire simple “Wagon plein -> Wagon vide” et choisissent directement la gare la plus proche. Cela signifie que les cellules de production proches des gisements de minerai seront approvisionnées avec plus de ressources que celles plus éloignées qui peuvent ainsi rester longtemps vides. Cependant, cela s’égalise au bout d’un certain temps, car JOSEF se remplit lentement de beaucoup de matériaux de production et de nombreuses cellules deviennent simplement inactives.

Le fait qu’il y ait quatre trains pour chaque cellule de production signifie qu’il y aura un nombre grotesque de trains, dont la plupart seront inactifs. Dans ma partie de plus de 500 cellules, JOSEF avait 750 trains vers la fin. En regardant ce minuscule réseau ferroviaire rempli de ronds-points, c’est une bonne chose que la plupart d’entre eux soient inactifs.

Cerveau et déployeur de trains de JOSEF
Le cerveau de JOSEF à gauche et la cellule de déploiement des trains à droite. Le cerveau ne mérite presque pas son nom - il s’occupe principalement de la construction des anneaux et de l’envoi/arrêt des trains de construction. Toute la logique intéressante se passe à l’intérieur des cellules.

Bilan et plans futurs

  • Quelques chiffres sur JOSEF :
    • La plus grande expansion sur mon ordinateur (pas si génial) a été de 25x25 = 625 cellules. Cela a pris environ 34 heures de jeu. Elle était toujours en cours, mais les UPS étaient descendus à environ 40 et les choses prenaient juste beaucoup de temps, alors j’ai décidé de l’arrêter là.
    • Il avait construit environ 170 cellules d’énergie, 150 cellules d’exploitation minière et environ 100 de chaque cellule de production.
    • Un ami sur Reddit avec un ordinateur plus puissant l’a fait fonctionner jusqu’à 29x29 = 841 cellules, à 45 UPS.
  • Il est assez intéressant de voir comment JOSEF se comporte lorsqu’il s’agrandit un peu. Au départ, l’expansion est assez lente car il faut produire des matériaux de construction. En regardant le graphe de la consommation, vous pouvez voir que son expansion s’accélère d’anneau en anneau, même si le nombre de cellules qu’il doit traiter augmente à chaque anneau. Cela est dû au fait que la production augmente de façon quadratique, alors que la demande n’augmente que de façon linéaire (ou même stagne à des stades ultérieurs). À un moment donné, vers l’anneau 9 ou 10, la production cesse d’être le goulot d’étranglement car le temps nécessaire pour remplir un anneau augmente, simplement parce qu’il faut remplir davantage de cellules.
La plus grande taille atteinte par JOSEF : 29x29 cellules.
  • Dans cette version, je me suis beaucoup basé sur les robots pour transporter des objets dans toute la base (principalement pour approvisionner le train de construction et ramener les matériaux inutilisés des cellules nouvellement analysées). C’était plus dû à ma paresse qu’à autre chose et je compte bien améliorer cela pour les prochaines versions. En général cependant, mon système consistant à inonder la base de cellules de production, à utiliser une quantité excessive de robots de construction et à leur donner accès à des matériaux de construction dispersés dans toute la base a fonctionné beaucoup mieux que je ne l’avais prévu - les travaux de construction sont confiés à des robots proches qui prennent toujours les choses à l’endroit le plus proche, tant que vous ne leur proposez qu’un seul type de coffre.
  • J’ai adoré imaginer le système, concevoir les cellules et tout ça, mais je dois être honnête : tester quelque chose comme ça est un peu ennuyeux, surtout si vous êtes impatient et que vous voulez le voir fonctionner. C’est comme tester une machine de Rube Goldberg qui fonctionne pendant plusieurs heures. Pour chaque modification minuscule que vous apportez, vous devez recommencer, mettre en œuvre la modification et la laisser fonctionner pendant deux heures. De nombreuses petites corrections que vous trouvez rapidement conduiront à des problèmes plus imprévus qui ne se produiront qu’à l’anneau 6 environ. Vous pouvez bien sûr faciliter les choses en lui donnant, par exemple, des matériaux de construction infinis lorsque vous testez le mécanisme de recherche de minerai, mais les tests réalistes sont plutôt fastidieux.

Ce n’est certainement pas le dernier JOSEF que je construirai. En fait, j’ai commencé une petite série de tutoriels non professionnels dans lesquels je construis une deuxième version et j’explique en même temps comment et pourquoi je fais telle ou telle chose. Voici ce que j’ai fait jusqu’à présent :

  • Des cellules plus grandes. J’envisage actuellement de faire des cellules de 4x4 au lieu de 2x2. J’aurai des réseaux de robots découplés pour commencer, ce qui simplifiera grandement le processus de recherche de minerai.
  • J’ai grandement simplifié et stabilisé le processus de décision pour parcourir un plan en ayant un nombre fixe de circuits logiques et en collant de nouveaux réglages sur eux. Cela entraîne de nouveaux défis mais permet de créer beaucoup plus de cellules différentes à partir d’un seul livre de plans sans avoir besoin de plus de circuits logiques.
  • Gérer l’eau, à la fois comme une ressource et comme un obstacle : fait !
  • Gérer les déchiqueteurs : il sera difficile d’y arriver. Je ne m’attaquerai pas aux mondes mortels mais de petites quantités de déchiqueteurs devraient pouvoir être gérées.
  • Gérer les falaises : ne sera difficile que psychologiquement. J’ai toujours détesté les falaises et les ai rejetées tout de suite. Cela devrait être très facile à gérer.
  • Faire de la science : théoriquement, c’est fait (j’ai juste inclus de minuscules constructions scientifiques de 3SPM dans les cellules de production), mais ce sera un peu délicat une fois en service, car cela augmentera énormément le prélèvement de ressources et le nombre de trains actifs. De plus, je devrai peut-être introduire des mesures de sécurité supplémentaires pour m’assurer que la science ne détourne pas les matériaux de production. Après tout, l’usine doit se développer.

Dernières réflexions

Il y a quelques années, lorsque j’ai vu pour la première fois la vidéo de GreyGoo (probablement l’usine en expansion automatique la plus populaire à ce jour), je me suis senti vraiment intimidé et j’étais sûr qu’un génie absolu venu d’ailleurs avait imaginé cela. Je pensais qu’il serait tout simplement impossible pour un joueur de factorio normal et semi-expérimenté de réaliser quelque chose comme ça.

Maintenant, je ne veux pas comparer JOSEF à GreyGoo. JOSEF est un système vraiment simplifié et il y a d’innombrables choses qui pourraient (et vont !) être améliorées. Mais j’ai eu l’impression que beaucoup de gens qui me félicitent d’avoir fait ce projet ressentent la même chose envers JOSEF que je ressentais envers GreyGoo à l’époque. Donc, même si je suis très fier de ce projet et reconnaissant pour tous ces compliments, croyez-moi quand je vous dis que : Ce n’était pas si difficile ! Tous ceux qui ont déjà construit des circuits astucieux pour des convoyeurs sushis, des gares équilibrées, des systèmes Kovarex astucieux, ou autre, peuvent également réaliser ce projet ! Il suffit de jouer un peu avec et vous verrez que c’est plus que faisable. J’espère que ce petit aperçu du fonctionnement simpliste de JOSEF l’a prouvé. J’aimerais vraiment que d’autres personnes s’y essaient.

N’hésitez pas à utiliser mes idées comme point de départ, à les améliorer, à les rejeter et à les remplacer si vous ne les aimez pas ! Et bien sûr, je serai toujours heureux de discuter, d’aider, de débuguer et de débattre avec vous. Quelques-unes des fonctionnalités de JOSEF n’ont vu le jour que grâce à des discussions avec des personnes géniales de cette grande communauté.

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 !