本文へスキップ

自動化攻略|ライン設計と回路制御の基本

自動化技術 は Factorio において、手作業の作業――製作、輸送、資源の取り扱い、建設、制御――を自動で動く仕組みに変え、プレイヤーが細かな操作を常に行わなくても工場を拡大できるようにする実践です。

基本的な構成要素

  • 搬送ベルト、underground belts、splitters: 基本的なアイテム輸送ネットワークです。ベルトはアイテムを決まった経路に沿って運び、underground belts は障害物を回り込み、splitters は流れを分割したり均等化したりします。
  • インサーター: ベルト、機械、チェストの間でアイテムを移動します。必要な処理量が増えるにつれて、より高速な インサーター や stack インサーター に進化していきます。
  • パイプ と pumps: 流体を移動します。pumps は流体が移動できる距離を延ばし、制御可能なバルブとして機能します(電力と回路条件によって流体を通すかどうかが決まります)。
  • 列車、rails、signals: 長距離の大量輸送に使います。列車 は名前付きの停車駅からなる時刻表に従い、自動運転できます(自動モードでは最短経路を選び、無効化された駅を処理し、signal ブロックに従います)。交差点や複雑な分岐では chain signals を使い、処理量の管理には駅の制限や回路制御を使います。
  • Logistic network(ロボポート、logistic、requester、provider、buffer chests、logistic robots): ロボポート の範囲内での無線アイテム移送です。robots は要求を満たし、チェスト間でアイテムを移動し、Construction Robot建設計画 と組み合わせることで建設や修理も行います。
  • Construction Robot と ロボポート: Construction Robot は 建設計画 からゴーストを設置し、解体プランナー の指示を実行します。ロボポート は robots と repair packs を保管し、物流と建設の範囲を定義します。
  • Assemblers、furnaces、化学プラント、oil refineries、heat exchangers、crushers など: 入力を受けて出力を生み出す生産施設です。多くは 回路ネットワーク の制御に対応しており、有効/無効の切り替え、レシピ選択、保管アイテムの読み取り、出力数やパルスの出力ができます。

自動化ツールとワークフロー

  • 建設計画、建設計画 books、および アップグレードプランナー:
    • 建設計画 は、選択した範囲を再利用可能なゴースト配置としてコピーします。建設計画 を設置すると、材料があれば建設ロボットが建てられるゴーストが作成されます。建設計画 は回転と反転に対応しており、テキスト文字列を使ってエクスポート/インポートできます。
    • 建設計画 books は、建設計画 のセットを整理して保管します。よい実践としては、一貫した分類を決めることです(たとえば、採掘、精錬、電力、研究、物流、列車、防衛など)。さらに、段階や規模ごとに入れ子にするとよいです(初期/中期/後期、または小/中/大)。
    • アップグレードプランナー は、既存のエンティティをより上位の種類に置き換えるよう印を付けます。空の planner は、あらかじめ定義されたチェーンに沿ってアップグレードします(ベルト、地下ベルト、分配器インサーター、組立機、炉)。フィルターを使えば対応関係を細かく調整できます。
  • 解体プランナー: エンティティ、環境オブジェクト(木、岩、崖)、およびタイルに取り壊しの印を付けます。設定可能なフィルターにより、ホワイトリスト/ブラックリストの挙動を使えます。建設ロボットは、印を付けた資源を回収して保管チェストに運びます。
  • 生産ラインの自動化:
    • 機械をインサーターでつなぐか、直接挿入を使って、多段階の工程を組み立てます。スループットは、splitter、balancer、そしてよく設計されたレイアウトで調整します(main bus 設計は一般的です)。
    • ビーコン を使って、モジュール効果を近くの機械へ伝達します。ビーコン の効果は ビーコン 数に応じて増えますが、逓減します(伝達強度 = 配布効率 ÷ sqrt(n); 通常の ビーコン の配布効率は 1.5 です)。
    • 機械の数をレシピのスループットに合わせます。Factorio の文書では、science packs や高tier製品に必要な最小比率がよく示されています。これらの比率や計算ツールを使って、生産ラインや供給ラインの規模を決めます。
  • 流体の自動化:
    • 化学プラント と refineries は、固定された流体ポートでのみ流体入力を受け付けます。レシピによっては、特定の入力を特定のポートに入れる必要があります。
    • パイプ は、pump が必要になるまで一定距離まで流体を運べます。pump は駅での fluid wagon の積み込み/荷下ろし装置としても機能します。
    • pump の回路制御を使って、流体の流れを優先的に振り分けます(たとえば、heavy oil tank が満杯のときだけ heavy oil を light oil に cracking します)。
  • 列車と駅:
    • 駅は、wagons の積み込み/荷下ろしにインサーターや pump を使って構築します。駅名を付けて同じ名前を再利用すると、同じ役割の停車駅を複数作れます(列車は有効な駅を優先し、無効な停車駅があると有効な複製を選ぶか、「destination full」に入ります)。
    • 駅ごとの列車上限を設定して、そこへ向かう列車数を制限します。回路条件を使えば、停車駅を動的に有効化/無効化できます。
    • signal と chain signal は、線路を block に分割します。通常の signal は緑/黄/赤(空き/予約済み/占有)を表示します。chain signal は下流の状態を反映し、色(緑/黄/赤/青)を使って、列車が出られない block に入るのを防ぎます。
  • ロボットと保管:
    • ロボポート には robot と repair pack のスロットがあります。建設ロボットは、ゴーストを建てるために最寄りの物流チェストから物資を取りに行きます。必要なときに、アイドル状態のロボットをネットワーク間で引き寄せるよう、ロボポート の要求を設定します。
    • 貨物車両 は、固定された列車位置で「大きなチェスト」として使えます。インサーターのスタック制限を回避でき、多数のインサーターで同時に物資を動かせますが、物流ネットワークの一部ではありません。

回路ネットワークと combinators

  • 目的: 個数を読み取り、エンティティを有効化/無効化し、レシピと流れを制御し、応答性の高い自動化のためのロジックを作成します。
  • 接続できるもの: ベルト、インサーター、チェスト、タンク、機械、ランプポンプ、ポンプ、列車停車場、線路信号、ほか多くのものです。接続されたエンティティは数量を出力したり、制御入力を受け取ったりできます(有効化/無効化、レシピ変更、フィルター設定)。
  • 基本装置:
    • 定数回路: ネットワーク上に固定信号を出力します。
    • 算術回路: 入力信号に対して演算を行います(定数、each 仮想信号、切り捨て整数除算、剰余、ビットシフトに対応します)。拡大縮小、クロック、カウンター、集計に便利です。
    • 条件回路: 信号を比較し(>、<、=、>=、<=、!=)、条件付き信号を出力します。複数条件間の論理 AND/OR と、Each/Anything/Everything のような特別な出力に対応します。
    • 選別回路: 入力を並べ替えて最大値/最小値、または指定されたインデックスの入力を出力します。異なる入力の数を数えたり、スタックサイズやランダムな入力を出力したりでき、品質/等級フィルターにも対応します。
  • よくある用途:
    • バッファーがしきい値に達したときに生産を有効化/無効化します。
    • レシピを自動で選択します(一部の crusher のような機械は、アイテム信号を受けてレシピを設定できます)。
    • ポンプやバルブを制御して流体の流れを優先します。
    • ベルトの中身を読み取ります(回路接続されたベルトは、保持モードまたはパルスモードで運んでいるアイテムを出力できます)。
    • ネットワーク信号で駆動される programmable speaker と display panel を使って、表示や警報を作成します。

Construction, repair and cleanup 自動化技術

  • 建設計画 ghost の配置を Construction Robot の範囲内で行えば、レイアウト全体を自動で建設できます。資材は Provider Chest に入れておくと、Construction Robot が取りに来ます。
  • 解体プランナー + Construction Robot で、エリアの採取と撤去ができます。建設予定地の整地や資源の回収に便利です。
  • Construction Robot は Repair Pack を与えると自動で修理もします。自動保守を有効にするには、Repair Pack を ロボポートRequester Chest に保管しておきます。
  • アップグレードプランナー を使えば、ロボットの支援で広い範囲の belt / インサーター / assembler を段階的に上位版へ置き換えられます。

ベストプラクティスとヒント

  • モジュール化されたタイル可能な設計にします。縦横に敷き詰められて、複製と拡張がしやすい生産「ユニット」を設計します。ビーコン は、より効率よくするために、生産列の周囲へ ビーコン 列として並べられることがよくあります。
  • 建設計画 と books は、一貫したカテゴリと規模で整理します。まずは小さなカテゴリのセット(採掘、製錬、電力、研究、物流)から始め、必要に応じて拡張します。版や段階ごとに 建設計画 を入れ子にします。
  • 資源不足を避けるために、早い段階で回路ネットワークを使います。バッファと需要ロジックで高コストな工程を制御します(たとえば、在庫が多いときは中間素材の生産を止めるなどです)。
  • 速度だけでなく、処理能力の全体バランスを考えます。インサーター のスタック数、ベルト容量、機械のクラフト時間は相互に関係しています。機械を強化するときは、入力ベルトと インサーター が十分に供給できるか確認します。
  • 交通量が増える前に、駅と信号を計画します。分岐点には chain signal を使い、信号を配置して一貫したブロックを作ります。混雑を避けるために、駅の制限と動的な有効化を設定します。
  • 目標とする研究速度に合わせた規模でバランスの取れた science factory を設計し、研究と science の生産を自動化します。文書化された機械比率を出発点にします。

Factorio の自動化は反復的です。小さく始め、建設計画 で繰り返し使えるモジュールをひな形化し、堅牢性のために回路ロジックを追加し、生産需要の増加に合わせて 列車 と logistics robots で拡張します。