回路ネットワークとは、ケーブルで接続した設置物の間で信号を送受信し、機器制御や情報伝達を行うシステムである。
物流ネットワークと比較し、より大規模かつ複雑な構築が可能になっている。
回路ネットワークの基本
回路ネットワークの基本要素は以下の通り。
- 回路ネットワーク:最低2つの回路に対応した設置物をケーブルで接続すると成立する。
- 設置物:信号の出力機能と入力機能の両方か片方を備え、クリックで設定ウィンドウを開ける。
- 信号:種類と値からなり、ケーブル内を伝播する。シグナルともいう。
- ケーブル:赤 と緑 があり、その色によって回路ネットワークが区別される。
アイテム紹介①
回路ネットワークの性質と利用例
回路ネットワークが成立すると、接続された設置物はそのネットワーク内で信号を送受信する。
それを示す簡単な例を次に挙げる。
インサータとチェストで構成された赤回路ネットワークの図
この図では、チェストに入っている鉄板が10枚よりも少ない時にインサータが作動するようになっている。
この動作は以下のようなチェストの出力機能とインサータの入力機能により実現している。
- チェスト:中のアイテムの種類と数を信号としてネットワーク内に出力し続ける。
- インサータ:ネットワーク内の信号を入力とし、その値が設定値を下回っている時は作動する。
インサータの設定は、「作動条件:鉄板 < 10」となっている。
これを口語で表すと「鉄板の信号について、値が10より少なくなった時に作動する」となる。
同一ネットワーク内の信号は全てひとかたまりになり、接続された全ての設置物に送信される(入力機能の有無に関わらない)。
また、同じ種類の信号は合算される。
インサータと複数のチェストで構成された赤回路ネットワークの図
左のチェストから鉄板10、銅板5と鉄板5、石50が入っており、合算された信号が図右下から確認できる
回路ネットワークの基本仕様
この項では、一歩踏み込んで回路ネットワークの基本仕様を解説する。
回路ネットワーク
- 最低2つの設置物をケーブルで接続すると成立する。
- ケーブルを分断すると別々の回路ネットワークとなる。
- 構築された回路ネットワークには識別用の番号が自動で割り当てられる。
- 建設計画は回路ネットワークの設定を保持する。
設置物
- 信号の出力機能と入力機能の両方か片方を備えたものは、クリックで設定ウィンドウを開ける。
- 出力された信号は同一ネットワーク内の全ての設置物に対して入力される。
- 入力された信号はその設置物の作動条件などに使用される。
信号
- 種類と値からなり、ケーブル内を伝播する。シグナルともいう。
- 種類はアイテム、英数字、色などがあり、値は整数のみが入る。
- 同一ネットワーク内の同じ種類の信号は合算される。
- 信号は複数の設置物を経由しても減衰しない。
ケーブル
- 赤と緑があり、その色によって回路ネットワークが区別される。
- 電柱に対して電線、レッドケーブル、グリーンケーブルは同時に繋ぐことが出来る。
- 設置物に繋いだケーブルを外すには、同色のケーブルで同じように繋ぐと外れる。
- 消耗品であり、いずれの外し方でも手元にケーブルは返ってこない。
- 電柱の場合は、加えて電柱をShift+クリックすることで、電線→ケーブルの順に外すことも出来る。
- 大型電柱同士の間などは通常よりも長い距離を繋ぐことが出来る。
- 建設計画にケーブルが含まれる場合は、ケーブルの消費無しで配線される。
- 並んだ設置物に同じ配線をする時の節約も出来る。1つだけ配線してコピーし、他の設置物に建設計画で上書きすれば消費無しで配線される。
回路ネットワークにおける回路類
以下に紹介する設置物は回路ネットワークに必須ではないが、余裕があれば頭に入れてもらいたい。
これらの設置物によりアイテムを介さない信号の送受信が可能となる。
アイテム紹介②
アイコン | 名称 | 説明 |
定数回路 (Constant combinator) | 任意の信号を出力する 電力は不要 | |
算術回路 (Arithmetic combinator) | 演算を行い、結果を信号で出力する | |
条件回路 (Decider combinator) | 条件を満たす時に信号を出力する |
- 算術回路と条件回路には入力側と出力側がある。
定数回路について
任意の信号を最大20種類まで常時出力する機器。
設定ウィンドウで信号の種類と値を指定出来るほか、出力の一括ON/OFFも可能。
⇒ 詳細
算術回路について
任意の計算式の計算結果を、任意の信号で出力する機器。
例えば、計算式が1+1で出力がAなら、 種類:A,値:2の信号を出力する。
計算式には数値か信号が使用可能で、信号を用いた場合はその値を参照する。
出力信号には任意の信号を指定する。計算結果がその信号の値となる。
使用出来る計算記号は以下の通り。
+,-,*(乗算),/(除算),%(剰余),^(べき乗),<<,>>,AND,OR,XOR
⇒ 詳細
条件回路について
任意の条件式を満たす時のみ、任意の信号を出力する機器。
条件式には数値か信号が使用可能で、信号を用いた場合はその値を参照する。
出力信号には任意の信号を指定する。値は「1」か「入力数(=入力信号の値をそのまま出力)」から選択する。
使用出来る比較演算子は以下の通り。
>,<,=,≥, ≤,≠
⇒ 詳細
回路ネットワークへ接続可能な機器
アイコン | 名称 | 回路ネットワークへの入出力 |
すべての搬送ベルト | 出力:ベルト上のアイテム情報 入力:動作停止・再開 | |
すべてのインサータ | 出力:掴んでいるアイテム情報 入力:動作停止・再開 入力:スタックサイズの設定 | |
フィルターインサータ スタックフィルターインサータ | 入力:フィルターの設定 | |
すべてのチェスト | 出力:保持しているすべてのアイテム情報 | |
要求チェスト バッファーチェスト | 入力:要求アイテムの設定 | |
貯蔵タンク | 出力:保持している流体情報 | |
ゲート (ゲートと接続した石壁) | 出力:ゲート開時に信号送信 入力:ゲート開閉状態を設定 | |
駅 | 出力:停車中車両の固有ID、停車中車両の保有アイテム情報 入力:動作停止・再開、発車条件 | |
列車用信号 | 出力:列車用信号の状態(赤、黄、緑) 入力:列車用信号を赤に設定 | |
連動式列車用信号 | 出力:連動式列車用信号の状態(赤、黄、緑、青) | |
ランプ | 入力:点灯、色シグナルにより発色の指定 | |
汲み上げポンプ | 入力:動作停止・再開 | |
ポンプ | 入力:動作停止・再開 | |
蓄電設備 | 出力:充電量(1~100%) | |
ロボットステーション | 出力:物流ネットワークの内容、ロボットの数 | |
燃料式掘削機 電動掘削機 | 出力:資源埋蔵量(個別/区画全体) 入力:動作停止・再開 | |
油井 | 出力:採掘レート 入力:動作停止・再開 | |
電源スイッチ | 入力:スイッチの開閉 | |
プログラマブルスピーカー | 入力:アラート音の再生・演奏、音階 |
敵の攻撃や森林火災の影響
施設がバイター等の攻撃を受けると破壊されるが、これは回路ネットワーク関連設備も例外ではない。
特に電柱で工場間を結ぶ長距離通信を行っている場合、これらの設備が攻撃対象になると回路が寸断される。
回路が寸断されると信号なしとなるが、信号なしは基本的に0とみなされるので、これが原因で回路が誤動作を起こすことがある。
とはいえ、防衛ラインが崩壊しているレベルの緊急事態を除けば頻繁に発生するものでもないので通常は気にする必要はない。
しかし、誤動作の悪影響が特に大きい回路ネットワークで長距離通信を行っている場合、以下のいずれかの手法で回路寸断リスクを抑制することが望ましい。
- 回路周辺の安全確保
- 陣地防衛型スタイルで堅牢な防衛ラインを構築し、回路をその内側に構築する。
周囲をロボットが飛んでいる場合、スピッターやワームの長距離攻撃の流れ弾が電柱などに当たることもある。
そのため、その射程を加味して防衛ラインと回路との間に十分な余白を取ると良い。
もっとも確実性が高いが、防衛ライン構築のコストが高くなりやすい。 - 敵が電柱を狙うリスクを最小化する
- 電柱は汚染を発生しないので、敵は電柱を攻撃する条件は限られる。
具体的には、電柱が襲撃の進路妨害をしている場合か、襲撃途中の敵が電柱の近くで攻撃目標を見失った/破壊し尽くした場合のみ電柱攻撃対象になる。
したがって、最低限の通行スペースがある場所に回路用の電柱を設置の上、この電柱周辺にはロボットや電車が通らないようにすれば、めったに攻撃対象にならない。
電柱の設置位置を少し気をつければ良いだけなのでコストは小さいが、確実性が他の方式より劣る。 - 接続確認用信号を併用する
- 回路の一方の端に定数回路を設置し、Z=1などの適当な信号を出す。
さらに、回路のもう一方の端にプログラマブルスピーカーを設置し、上記の定数回路の信号が検出できない (Z=0) 場合にアラートを出すようにする。
これにより、回路が寸断された場合はアラームが鳴るようになる。
回路の寸断自体は防げないが、それに気づければ速やかな対応が取れる。
このシステムを構築するコストは小さいが、短時間の回路寸断でもコンベア詰まりなどを誘発するようなケースでは使いにくい*1。
初心者向けの回路設計例
ここまで読んでみたが、やっぱり回路は分からない、使うのは諦めよう、という諸氏も多いと思う。
特に算術回路や条件回路の利用にはプログラム的な素養が求められる。
だが、以下のように極めて単純で有用な使い方もあるので、これだけでも使うとゲームの幅が広がる。
- 在庫不足時の警告
- 例えば発電用石炭のバッファーとしてチェストを噛ませているとして、このチェストの内容量低下は停電の前兆現象である。
そこで、チェストとプログラマブルスピーカーをケーブルで接続し、「石炭 < 500」でアラートを出すようにすると停電前に石炭不足を検出できる。
スピーカーの設定については、こちらを参照。
同様の手順で他の重要アイテムの在庫量低下や、貯蔵タンクに繋いで液体の在庫量低下に対しても適用できる。 - 資源枯渇時の警告
- 多数の鉱脈を開発している場合、どの鉱脈が枯れかけているかを定期確認することは骨が折れる。
そこで、電動掘削機とプログラマブルスピーカーをケーブルで接続し、鉱脈残量低下時にアラートを出すようにすると資源枯渇時に迅速に対応できる。
具体的な設計はこちらを参照。 - 液体の優先順位管理
- 例えば、軽油が余っている時だけ化学プラントで石油ガスに分解したい場合、ポンプと回路により実現できる。
まず、パイプラインを「原油精製所(軽油搬出口) - 貯蔵タンク - ポンプ - 化学プラント」と繋いでおく。
その上でタンクとポンプをケーブルで繋ぎ、ポンプの動作条件を「軽油 > 20000」としておく。
すると、タンク内の軽油が20kを超えた時のみ化学プラントに軽油が注入されて石油ガスに分解される。
このように機器と施設を直結するだけで格段に便利になる物は多い。いろいろと試してみて欲しい。
バージョン変更点
- ver 1.1
- 条件回路の入力信号に「いずれか」を使った場合は、出力信号も「いずれか」を使えるように
※条件に該当する信号の内、最大の値の信号一つだけを出力する。(フィルターインサーターの設定を想定) - 算術回路で入力信号の演算子の右に「それぞれ」が使えるように
- 条件回路の入力信号に「いずれか」を使った場合は、出力信号も「いずれか」を使えるように
- ver0.16
- 連動式列車用信号:出力のみ可能に
- 列車IDを機関車の情報欄に表示
- 電源スイッチがマップ画面から操作可能に
- 算術回路の一番目のパラメータにも定数設定が利用可能に(定数回路を使わず「2^信号」などが可能に)
- ver0.15
- 算術回路に、剰余、べき乗、ビットシフト、論理演算を追加
- 条件回路(と各機器の条件設定)に、>=、<=、!=を追加
- 回路ケーブルの長さを 7.5 から 9 に延長
- プログラマブルスピーカーを新規追加:警告音声と回路信号に基づいた音の再生、音楽を作るのに使える
- インサータ:スタックサイズを変更可能に
- 駅:有効/無効の制御(列車がスキップ)。止まった列車と貨物の内容出力
- 電動掘削機・油井:動作の制御。残り資源量・採掘レートの出力
- 汲み上げポンプ:動作の制御
特になし
バージョン0.13アップデートが行われ、回路ネットワークが刷新され、これまで以上に、多くの設置物を回路ネットワークに接続し、信号を取り出して活用したり、信号の状態に応じて柔軟に動作を制御することが可能になった。
この項では、参考までに、FFF(Factorio Friday Facts)#138、および、バージョン0.13のリリースノートで紹介された情報を翻訳する。これらの各項目について、実際の動作仕様を、このページの下に記載している。
0.13で更新された回路ネットワークのアップデートについて
- 「Power Switch」の追加。回路ネットワークの状況をもとに、自動的に電力をON/OFFする。
- 小型ポンプ、汲み上げポンプ、インサーター、ベルト、ランプ、Power Switchについて、回路ネットワークを用いて直接ON/OFFできるように。
- ランプに色を追加。回路ネットワークの信号をもとに色を変えられるように。
- ロボットステーションを回路ネットワークに接続可能に。接続されたロボットステーションは物流ネットワークの内容を送信する。
- 蓄電設備を回路ネットワークに接続可能に。接続された蓄電設備は充電のレベルを送信する。
- 物流ベルトを回路ネットワークに接続可能に。信号で動作のON/OFFでき、回路ネットワークにベルトの内容を送信する。
- 要求チェストの要求アイテムを回路ネットワークから自動的にセット可能に。
- 各種インサーターが掴んでいるアイテムを回路ネットワークに送信可能に。回路ネットワークからスマートインサーターに、掴むアイテムを指定することができるように。
- 回路ネットワークに接続された各種機器にカーソルをあてると、接続されたレッドケーブル/グリーンケーブルがハイライト表示されるように。
- 代替モードに入る(altキーを押す等)と、各種回路機器の入力・出力の向きを示す矢印を含む情報を表示するように。
- 回路ネットワーク専用の特殊信号(Virtual Signals)の種類の増加。
- 定数回路にON/OFFスイッチを追加。
- 各種回路機器のグラフィック刷新と、画像の改善。
- 定数回路の向きを変えられるように。
- 全ての種類のインサーターが回路ネットワークと物流ネットワークによって制御できるように。(関連する研究を行った後)
- 全ての種類のチェストが回路ネットワークに接続できるように。スマートチェストはゲームから削除される。
- 配置物をクリックして開くGUIの右上に追加されるアイコンより、全ての配置物の回路ネットワークと物流ネットワークの状態にアクセス、確認できるように。
- 条件回路に”input count”オプションの追加。入力信号の中の特定の出力信号の数を得る。これまで手間がかかっていた、条件式によるカウントの代わりに使用できる。