Sur l'océan de la perte de temps, il y aura toujours une grande île : Lexpage :)    —  PM

Discussions

Factorio

Guybrush 8340 Bob
Reprise automatique du message précédent.
Ok :-)

Je viens de procéder à quelques tests rapides. La station demandeuse émet "contenu des coffres - 38K4" (total possible dans les coffres), avec un requester threshold fixé (localement) à 8K (taille d'un train). La station émettrice envoie un signal "contenu des coffres", et est configuré à "max 1 train" (comme j'ai plusieurs "sources", ça permet de les faire alterner quand la demande dépasse la capacité de 1 de la gare émettrice).

Ca a l'air de marcher (j'ai juste converti mon circuit de pierre, et mes 2 de fers). On verra ce que ça donnera quand j'aurai ajouté le cuivre (2 trains actuellement pour 2 sources, comme le fer), le charbon (un train et une source) ainsi que l'uranium (1 train et une source). Cela me permettra aussi de voir le nombre de trains réellement nécessaires (pour l'instant, il y en a 7, et je pense que 4 ou 5 seraient sans doute suffisant).

Je vais aussi voir (sur les forums, probablement) s'il est possible de faire du "round-robin" sur les stations émettrices, afin de les vider plus ou moins au même rythme.
Guybrush 8340 Bob
Ok, ça a l'air de marcher :-D

Ce mod pourrait t'intéresser, Sysson, en complément de LTN :
mods.factorio.com/mod/Lt…

C'est une GUI pour LTN, qui te permet (par défaut CTRL+T) de voir les trains associés aux dépôts, leur status, ainsi que le status des requesters/providers (sans avoir à aller lire manuellement le signal sur chaque station), l'historique des trajets et l'historique des alertes éventuelles.
Sysson 1401 Spammeur
Sympa en effet^^

Et bien peut-être qu'on testera ça sur notre partie bientôt, ça devrait être bon à partir de mercredi pour moi.
Guybrush 8340 Bob
Marcant était au stade des circuits rouges dimanche. Il devrait donc commencer prochainement la gestion des fluides.
Je propose qu'on attende qu'il franchisse le cap des circuits bleus pour s'y mettre tous ensemble (au-delà des circuits bleus, c'est surtout du "more of the same", il y a peu d'apprentissage ^^).
Sysson 1401 Spammeur
Oui je suis assez d'accord. Les fluides sont le gros gap qu'il reste à franchir et dont la découverte vaut vraiment le coup de le faire par soi même. Ensuite c'est plus du scaling qu'il verra aussi bien avec nous.
Marcant 1160 Flooder
Milliard, c'est plus un jeu votre truc lol.
J'avance plus trop pour le moment... et comme j'ai pas trop de temps de prévu,ça va pas s'arranger.
Vous cassez pas là tête faite une partie sans moi ^^
Sysson 1401 Spammeur
Désolé, on ne voulait pas te mettre la pression. C'est un jeu, amuses toi quand tu en as le temps et l'envie et ne te stress pas ;-)
Guybrush 8340 Bob
Je sui en train de voir s'il est possible de faire u'e sorte de "centre de brûlage" qui mélangerait la production de plaques de cuivre, fer et acier au même endroit et adapterait sa demande en fonction des besoins.

Pour l'instant, je n'y arrive pas :-D mais la quantité de fours requis n'aide pas pour les tests (plus de 200).
Sysson 1401 Spammeur
ça doit être bien possible pour cuivre et fer, mais pour l'acier je ne pense pas. Vu qu'il faut un certain nombre de plaques de fer pour faire une unité d'acier il faudrait un moyen de s'assurer que si 5 plaques sont livrées elles aillent toujours dans le même four, sinon il restera bloqué en attente de plus d'acier...
Guybrush 8340 Bob
Je n'avais pas pensé à ce problème. Disons que pour le fer et le cuivre ça reste jouable. J'hésite pour l'instant entre deux stratégies :
- Lorsqu'il y a une demande en plaques (disons de fer), ça déclenche une demande de minerais de fer à la station de chauffe, qui produit les plaques, et les rend disponibles sur le réseau;
- Ou bien les plaques sont déjà prêtes, et lorsqu'un train passe les chercher, ça crée une nouvelle demande pour le minerai correspondant de sorte à garder un stock en permanence.

La 2e approche est plus dans la logique de Factorio, à travailler avec des stocks (voire en flux tendu, mais pas dans le cas présent) plutôt qu'à la demande. C'est aussi plus simple à mettre en place, puisque la demande en minerais est directement définie par les stocks de plaques. Ca réduit aussi le délai nécessaire pour rendre les plaques disponibles (puisqu'elles sont immédiatement disponibles) et donc le besoin d'anticiper. Mais... c'est moins "fun" ou "élégant" :-D

Un autre aspect qui me ferait privilégier la première solution ("à la demande"), c'est qu'une fois que je trouve comment faire ça, je peux l'appliquer à d'autres parties de la production. Par exemple, une base qui serait dédiée à la production disons de moteurs, et qui réclamerait ses matières premières automatiquement quand une demande de moteurs a lieu quelque part. Cela permet de mieux "dispatcher" les ressources, et de ne pas devoir les "gaspiller" pour créer des stocks. Evidemment, à nouveau, on s'éloigne de la philosophie de Factorio où on a plutôt tendance à saturer la production au repos afin d'avoir un "buffer" en cas de demande.

Il reste la question de l'implémentation de la première solution. A ma connaissance, LTN ne permet pas de lire directement les demandes effectuées sur un réseau, et donc il ne serait à priori pas possible directement de détecter une demande de plaques et de "commander" le minerai correspondant. Par contre, on peut imaginer que la station de "chauffe" lise la requête quand le train (vide) arrive, et en génère une nouvelle (pour le minerai) en fonction. Le problème, c'est que pour éviter le timeout de 2 minutes, il faudrait (1) qu'un train soit dispatché pour aller chercher le minerai, (2) qu'il se remplisse, (3) qu'il vienne se décharger à la station de chauffe, (4) que les plaques soient créées rapidement, (5) qu'on charge le train de plaques. Tout ça en moins de 2 minutes. Je n'y crois pas trop :-D
Sysson 1401 Spammeur
Si, tu vas pouvoir le faire avec ltn je pense, mais pas exactement en flux tendu. Ce que tu vas monitorer c'est le stock d'item en sortie de ta chaine et appeler du minerai ou des composants lorsque ça descend trop.
Prenons l'exemple de ton smelter, tu connectes les chests de plaque. Tu utilises un combinator pour convertir le signal plaques en signal minerai. Ici le ratio est de 1 donc c'est simple. Si tu monitorais un chest avec des moteurs, tu appliquerais un ratio différent pour les constituants acier, tuyaux, gears en fonction de ce que tu vas fabriquer sur place ou faire livrer. Tu utilises ces nouveaux signaux pour la requête LTN. Dans le cas du smelter c'est un train de minerai avec la quantité attendue va arriver et passer dans le smelter puis finir dans les coffres.

Pour résoudre le soucis de temps de smelting tu vas aussi avoir besoin d'une memory cell, et je pense de compter les plaques qui défilent en sortie du smelter en monitorant les belts. La memory cell permettra de ne pas envoyer un second train de minerai avec la même requête tant qu'elle n'a pas été traitée. Je ne l'ai jamais fait donc il y aura un peu de recherche à faire sur l'implémentation en circuit, mais je sais que c'est possible pour avoir déjà vu un truc comme ça sur reddit.

Répondre

Vous devez être inscrit et identifié.