ゼロから始めるFactorioの回路構築(入力・出力・混合編)
[Factorio] [2021/08/27 14:00]
前回に引き続きFactorioの回路について書く。
前回のおさらい:チェストに鉄板を200枚以上入れたときだけ、ランプを点灯させることができた。
前回の例ではチェストに回路をつなぐことで、チェストの内容物の情報を回路に出力させた。
そしてその情報をランプに入力し、ランプが点灯/消灯する判断に使用した。
このようにFactorioの一部の設備は、回路につなぐと信号を出力したり、
また回路から入力された信号により挙動を変えたりする機能がある。
一台で出力と入力を両方こなす設備もある。その詳細を見てみよう。
基本編 > 入力・出力・混合編 > 定数・算術回路編 > 条件回路編 > 実践例編 > 累積回路編
信号を出力する設備
以下は、「信号を出力する設備」である。
一部の設備は初期設定では信号を出力しなかったり、設定により出力する内容が変わったりするので、設備をクリックして設定を変更する必要がある。
例えばインサータは掴んでいるアイテムの情報を出力できるが、設置直後は出力しない設定になっているので、
出力するにはインサータを設置して回路をつないだあとインサータをクリックして設定を変更しなければならない。
いろいろな設備にレッドワイヤーを繋いで信号を出力させてみた例。
設備 | 出力する信号 |
---|---|
チェスト類 |
(木製チェスト・鋼鉄製チェスト・貯蔵チェストなどチェスト類全般。) チェストの内容物の情報を出力する。 |
貯蔵タンク |
タンクの内容物の情報を出力する。満タンは25000である。 ただし「流体は多いほうから少ないほうへ自然に流れる」というFactorioの流体力学上、 タンクがぴったり完全な満タンになることは稀。すぐに流れて24999などになってしまう。 このため回路でタンクの満タンを検知したいときは「水=25000」のようなイコール判断よりも、 「水>24000」のようなゆとりある判断をするのがおすすめ。 同じ理由でタンクの空も「水=0」より「水<1000」などが良い。 |
搬送ベルト類 |
(搬送ベルト・高速搬送ベルト・超高速搬送ベルトのみ。地下搬送ベルト類・分配器類は対象外。初期設定では信号出力オフ。) ベルトに載っているアイテムの情報を出力する。パルスモードとホールドモードがあり、 パルスはアイテムがセンサー範囲に入った際に一瞬だけ、ホールドはアイテムがセンサー範囲にある間ずっと出力が出続ける。 パルスモードは使いどころが難しいので、回路入門の方はまずはホールドモードがおすすめ。 |
インサータ類 |
(インサータ・燃料式インサータ・スタックインサータなどインサータ類全般。初期設定では信号出力オフ。) 掴んでいるアイテムの情報を出力する。こちらも搬送ベルト同様、パルスとホールドのモードがある。 |
駅 |
(初期設定では信号出力オフ。) 駅に停まっている列車の貨車の内容物の情報、その列車のID(機関車か貨車にマウスを合わせると情報画面に「列車ID」として表示される数字)、 その駅に向かって走行中および駅到着済みの列車の本数を出力する。 ただし列車が自動モードに設定されている場合専用。手動モードの列車は対象外。 |
信号機類 |
(列車用信号・連動式列車用信号。) 信号の色を出力する。例えば信号が赤のときは赤=1を出力する。 |
ロボットステーション |
物流ネットワーク内でロボットが自動で運び出せるアイテムの情報、およびロボットの台数が得られる。 運び出せるアイテムとは具体的には、貯蔵チェスト・パッシブ供給チェスト・アクティブ供給チェスト・バッファーチェスト (いわゆる黄・赤・紫・緑チェスト)に入っているアイテム、ロボットステーション内のリペアキット、 範囲内にいるプレイヤーやスパイダートロンの廃棄スロット内アイテムの合計数。 要求チェスト(青チェスト)や鋼鉄製チェストなどに入っているアイテム、および地面に落ちているアイテムは含まない。 またロボットの台数は、物流ロボットと建設ロボットごとに「利用可能なロボット数」と「すべてのロボット数」が得られる。 「利用可能なロボット」とは「ロボットステーション内に格納された状態のロボット」のことで、 例えば10台のロボットがありうち3台が飛行中の場合、利用可能なロボット数は7、すべてのロボット数は10となる。 |
蓄電池 | 電池残量が百分率(0~100)で得られる。 |
掘削機類・油井 |
(燃料式掘削機・電動掘削機・油井。) その鉱床の資源埋蔵量(採掘設備にマウスを合わせた時に情報ウィンドウに表示される「埋蔵量」と同じ値)が得られる。 ただし小数点以下切り捨てのため、油井の埋蔵量が1未満の場合は値が取れないので注意。 掘削機については、その掘削機で掘削可能な範囲のみか、またはその鉱床全体の埋蔵量とするかが選べる。 掘削効率研究によるボーナス分は埋蔵量に含まれない。 |
ゲート |
(初期設定では信号出力オフ。) ゲートのセンサーが近くにいるプレイヤーや列車を検知している間G=1を出力する。 ゲートの開閉を回路で制御している場合も、ゲートが実際に開いたかどうかは関係なく、 「もしゲートの開閉を回路で制御していなかったら開いていたはずの間」G=1が出ることに注意。 なおケーブルはゲートの開閉する部分ではなく、その横にある開閉ランプにつなぐ。上記画像も参照。 |
定数回路 | 設定した信号を出力し続ける。詳細は次回。 |
算術回路 | 入力された信号をもとに計算を行いその結果を出力する。詳細は次回。 |
判断回路 | 入力された信号をもとに判断を行いその結果を出力する。詳細は次々回。 |
色信号や英数字信号は別の信号に変更できる。
例えばゲートはセンサー感知中はG=1の信号を出すが、
ゲートの回路設定を開いてGのアイコンをクリックすれば別の信号を選択できる。
※回路勉強中の方は読まなくていい、非常に細かい補足。
ロボットステーションの「運び出せるアイテム数」の信号は、
実際にはロボットによるアイテム輸送予定分が減算されるためとてもややこしい。
例えばアクティブ供給(紫)チェストにベルトが1個入っていて、物流ロボットが1度に最大4個アイテムを運ぶことができ、
そのベルトの移動先が貯蔵(黄)チェストだったとする。
最初は紫チェストの中のベルトが在庫として計上されるので、「ベルトが1」という信号がロボットステーションから出力される。
物流ロボットが紫チェストに向かって飛行開始した時点で、実際の在庫数(1)から物流ロボットの最大輸送数(4)を引いた
「ベルトが-3」という信号に変化する。
ロボットが紫チェストに到着してベルトが取り出されると、輸送中のアイテムは在庫として計上対象外のため「ベルトが0」という信号になる。
ロボットが黄チェストに到着してベルトをチェストに投入すると、改めて在庫として計上され「ベルトが1」の信号になる。
重要なのは、実際に運ぶアイテム数ではなくあくまでもロボットの最大輸送数で減算されること、輸送途中は在庫扱いされないこと、
ロボットが複数いれば個々にその計算が行われるという点で、
このため単なる倉庫内でのアイテム移動なのに在庫数が増減したり、
チェストに在庫が入っているのに得られる値はマイナスだったりといった奇妙な現象が起きるので、
在庫量で回路を組む場合はある程度の誤差を見越しておくほうがいいだろう。
なお建設ロボットの場合も同様に、ロボットが在庫に向かって飛行開始した時点で在庫が減算されるが、
こちらは実際に運ぶ予定数だけ正確に減算するので物流ロボットほど妙な事態は起こらない。
信号を入力する設備
以下は「信号を入力する設備」である。
設備 | 判断がYESのときの動作 | 判断がNOのときの動作 | 補足 |
---|---|---|---|
要求チェスト・バッファーチェスト | - | - |
(いわゆる青・緑チェスト) 要求するアイテムを指定する。例えば要求チェストに「鉄板が100」の信号を流しておくと、 ロボットはその要求チェストに鉄板を100枚運び込もうとする。使い方の例。 要求チェストの場合はチェスト自体の「✅バッファーチェストから取り寄せる」の設定の影響を受けるので注意。 |
搬送ベルト類 | ベルトが動く | ベルトが止まる | (搬送ベルト・高速搬送ベルト・超高速搬送ベルトのみ。地下搬送ベルト類・分配器類は対象外。) |
インサータ類 | アイテムを掴む | アイテムを掴まない |
(インサータ・燃料式インサータ・スタックインサータなどインサータ類全般。) スタックサイズ(一度に掴む最大個数)の指定もできる。使い方の例。 フィルターインサータ・スタックフィルターインサータであれば更に運ぶ/運ばないアイテムの指定もできる。 例えば「鉄板が1、銅板が1」の信号を入力しておくと、鉄板と銅板しか運ばないフィルターをインサータに設定したのと同じことになる。 ただし、指定可能なアイテムはフィルターインサータでは5枠まで、スタックフィルターインサータでは1枠のみなので、 それ以上多数のアイテムの信号を入力してもアイテムリスト順で若い順に枠が埋まり、枠を超えた分は無視されてしまう。 値がマイナスの信号も無視される。 |
ポンプ類 | ポンプが動く | ポンプが止まる |
(ポンプ・汲み上げポンプ。) 止まった状態のポンプは、正逆どちらの方向にも流体を一切流さなくなる。 |
駅 | 駅として機能する | 駅は無効化される |
自動モードで運転中の列車は無効化された駅を無視するようになり、同じ名前の別の駅がある場合はそちらへ行き先変更、
ない場合はその駅を飛ばして次の駅へ直行するようになる。使い方の例。 駅が2つしか設定されていないピストン輸送のような列車はもう片方の駅で停車したままになる。 ちなみに無効状態の駅はマップ上で駅名が赤い文字で表示される。 その他、その駅に向かうことが出来る列車の最大数の設定もできる。 |
列車用信号 | 信号を赤で固定する | 通常の信号として機能する |
(列車用信号のみ。連動式列車用信号は対象外。) 自動モードで運転中の列車は、赤信号の手前で停車し続ける。 またはその赤信号を迂回して次の駅へ到達できるルートがあれば、列車は迂回ルートを通るようになる。 |
ランプ | 点灯する | 消灯する |
回路設定が「✅色の使用」になっている場合、作動条件を満たしているとき回路から赤や
緑などの色信号が入力されているとその色で光るようになる。
使い方の例。 複数の色信号が入力されている場合、その中で最も優先順位の高い色のみが有効。 (色の優先順位はアイテム一覧に表示される色の順で、すなわち赤>緑>青>黄>ピンク>シアンの順。 白・黒・グレー信号は着色効果はなく通常の白色発光。) 値がマイナスの色信号は無視される。 |
電源スイッチ | 電気を通す | 電気を通さない |
電源スイッチには左右の端に銅線をつなぐことができ、この左右の銅線間の通電/遮断を回路で制御できる。
使い方の例。 電源スイッチを迂回して電気が届く電線があると、電源スイッチをOFFにしても迂回路経由で電気が届いてしまうので配線に注意。 |
プログラマブルスピーカー | 鳴る | 鳴らない | 音色やマップ上の表示アイコンなどを設定画面で設定できる。 使い方の例。 | 掘削機類・油井 | 掘る | 掘らない | (燃料式掘削機・電動掘削機・油井。) |
ゲート | ゲートを開く | ゲートを閉じる |
回路がつながっていないゲートは自動ドア(近づくと開く)状態だが、回路制御を有効化したゲートは自動ドアではなくなり、
回路からの信号のみによって開閉するようになる。 なお線路付きのゲートの場合、列車はゲートが閉じていても迷わず突っ込んでくる(!?)ので、 必要なら列車用信号の回路制御を併用して列車を止めるか、または列車が近づいてきたらゲートを開けて列車を通すといった制御を併用しよう。 |
算術回路 | - | - | 入力された信号をもとに計算を行いその結果を出力する。詳細は次回。 |
判断回路 | - | - | 入力された信号をもとに判断を行いその結果を出力する。詳細は次々回。 |
列車 | 駅を発車する | 駅に停車し続ける |
自動モードの列車が駅に停車中、その駅の回路設定が「✅列車に送る」になっている場合、駅に入力されている信号が列車にも流れる。 機関車をクリックすると表示される「時刻表」画面で駅の発車条件に「回路」を選ぶと、信号に基づいて列車を発車させることができる。 |
なお、組立機・炉・プラント(原油精製所、化学プラント、遠心分離機)といった設備類は「信号を入力する設備」ではないので、
回路をつなげて稼動を停止/再開することはできない。
しかし、設備に材料を投入するためのインサータやポンプなどに回路をつないでそちらの停止/再開を制御すれば、
材料の尽きた設備は停止するので、間接的に設備の稼動を回路で制御できる。
あるいは、電源スイッチを使って設備の電源を落とすことによっても設備の停止/再開を制御できる。
電柱を使うと、信号の内容を確認できる
回路に流れている信号の内容を見てみたいときは、電柱を使う。
レッドケーブルを電柱に繋ぎ、その電柱にマウスを合わせると、
画面右上の情報ウィンドウに「信号」という項目が現れ、回路に流れている信号の内容を表示できる。
電柱にレッドケーブルを繋ぎ、その電柱にマウスを合わせた状態。
画像右上の情報ウィンドウに赤い鉄板のアイコンと数字が表示され、
レッドケーブルに「鉄板が200」の信号が流れていることがわかる。
作った回路がうまく動かないときはこのように電柱を使い、 どのような信号が実際にやりとりされているのかを細かく確認するのがおすすめである。
ひとつの回路に「信号を出力する設備」が複数ある場合、それらの信号は足し算される
1つの回路に「信号を出力する設備」が2つ以上つながっている場合、 その回路には全ての出力が合計された信号が流れる。
この図では1つの回路にチェストが2つ繋がっており、片方には鉄板が100枚、もう片方には鉄板が100枚と銅板が50枚入っている。
電柱を使って信号の内容を確認すると、この回路には「鉄板が200、銅板が50」という、
2つのチェストの出力が合計された信号が流れていることがわかる。
なおFactorioの回路には「並列」や「直列」、信号の「減衰」といった概念はないので、 つながってさえいれば、ケーブルのつなぎ方や長さに関係なく上図のような結果になる。
信号を合計したくない場合、グリーンケーブルが使える
上記した通り、ひとつの回路に複数の出力があると信号が合計されるが、時には合計されたくないこともある。
例えば以下の画像で、右下のランプは左上のチェストの内容を、右上のランプは左下のチェストの内容を知りたいとする。
2本のレッドケーブルを1本の電柱につなぐと、ケーブル同士が繋がって信号が合計されてしまうため、
チェストの内容が正しくランプに伝わらなくなってしまう。
左上のチェストには鉄板が100枚、左下のチェストには鉄板が50枚入っている。
レッドケーブル同士を同じ電柱や設備につなげると互いに繋がり、信号が合計されてしまう。
電柱にマウスを合わせると、2つの出力が混ざって「鉄板が150」の信号になってしまっていることがわかる。
このような局面では、グリーンケーブルが有効である。
グリーンケーブルはレッドケーブルと同様に信号を伝える電線であり、その材料・性質もレッドケーブルと全く同じである。
しかし、グリーンケーブルとレッドケーブルは同じ電柱や設備につないでもケーブル同士が繋がらない性質がある。
このため、あえて信号を合計させずに送りたいときは、両方を活用すると良いだろう。
レッドケーブルとグリーンケーブルは同じ電柱に繋いでも繋がらないため、信号が足し算されることはない。
電柱にマウスを合わせて信号を確認してみると、レッドケーブルの信号は赤い背景のアイコン、
グリーンケーブルの信号は緑の背景のアイコンで区別して表示される。
この図の場合、レッドケーブルには「鉄板が50」、グリーンケーブルには「鉄板が100」の信号が流れていることがわかる。
なお、ひとつの設備にレッドケーブルとグリーンケーブルを両方繋いだ場合、その設備だけは、 レッドケーブルとグリーンケーブルの信号が足し算された信号を受け取る。 そのケーブルの先にある設備は、足し算されていない個別の信号を受け取る。
この図では、下のチェストには鉄板が50枚入っており、上に向かってレッドケーブルが延びている。
右のチェストには鉄板が100枚入っており、左に向かってグリーンケーブルが延びている。
レッドケーブルとグリーンケーブルが両方繋がれたランプだけは、鉄板の数が足し算された150の信号を受け取っているが、
レッドケーブルだけ、グリーンケーブルだけが繋がれたランプは、それぞれ足し算されていない100と50の信号を受け取っている。
Shift+クリックで、回路設定をコピー&ペーストできる
Factorioというゲームは、画面には表示されないが知っておくとプレイが快適になる操作があちこちに散りばめられている。
回路についてもそのような操作が多々あるので、知らなくても回路は作れるが、知っておくと回路づくりがより幸せになるだろう。
例えば回路の設定が済んだ設備をマウスでShift+右クリックすると、その設備の回路設定を「コピー」できる。
同様に設備をShift+左クリックすると、コピーしておいた回路設定を「貼り付け」できる。
これにより、一度済ませた回路設定を他の設備に使いまわし、設定の手間を省くことができる。
この図ではインサータの回路設定を「コピー」し、スタックインサータに「貼り付け」ることで設定の手間を省いている。
インサータ類同士、搬送ベルト類同士のように、同じ種類の設備間に限りコピペができる。
インサータからコピーして搬送ベルトへ貼り付けるような、種類を跨ぐコピペはできない。
また、手が届かないほど遠くにある設備は、コピーはできるが貼り付けはできない。
(遠くにあっても、駅や列車は手が届いたり、電源スイッチには貼り付けは出来ないが設定画面は開けたり、
建設計画またはコピーしたものを貼り付けることで設定の貼り付けが出来てしまったりといろいろ例外はある。)
ケーブルの重ね張りで、既に張られているケーブルを撤去できる
回路の構築中にうっかり間違った場所にケーブルを張ってしまった場合は、 慌てずに同じ場所に同じ色のケーブルを重ね張りすると、その場所のケーブルを撤去することが出来る。
既にチェストとランプの間にレッドケーブルが張られているところへ、レッドケーブルを重ね張りしようとしている(画像左)。
操作を確定すると、既存のケーブルが撤去される(画像右)。
電柱と電柱の間に張られている「電線」も、上記同様に「銅線」を重ね張りすることで撤去できる。
これは電源スイッチで一部の区画を停電させたいとき、送電区域を分断するのに役立つ。
重ね張り操作ではケーブルは消費されず、撤去したケーブルも戻ってこない。
ちなみに電柱に架かったケーブルであれば、その電柱をShift+クリックすることでもケーブルを撤去できる。
1クリックで銅線を、2クリックでレッドケーブル・グリーンケーブルを撤去する。
こちらも、撤去したケーブルは戻ってこない。
電柱を経由させて、信号を遠くまで届ける
レッドケーブル・グリーンケーブルは届く長さに限界があるが、電柱を経由すればケーブルを延長し、より遠くへ信号を送ることが出来る。
直接は届かない距離であっても、電柱を介せば信号を届けられる。
電線が届く長さとケーブルが届く長さは同じなので、大型の電柱間ほど1本で遠くまでケーブルを伸ばすことが出来る。
ケーブルを伸ばしても、信号が減衰・遅延する心配はない。
建設計画を使って、ケーブルを節約する
通常、ケーブルを張るにはケーブルを消費する必要があるが、
ケーブルの両端を含むように作った建設計画を使用してプラントを建てる場合、ケーブルを張らなくてもケーブルが張られている。
これによりアイテムを消費せずにケーブルを張ることが出来る。
プラントを範囲選択してコピー(CTRL+Cを押したあとマウスをドラッグ&ドロップして範囲選択)
したものを貼り付けた場合も同様。
最初に作った回路(画像上)と、それを範囲選択コピーして貼り付けたゴースト(画像下2つ)。
ゴースト自体に既にケーブルが張られているため、ケーブルを節約しつつ同じ回路を構築できる。
次の記事では定数回路・算術回路について解説する。
基本編 > 入力・出力・混合編 > 定数・算術回路編 > 条件回路編 > 実践例編 > 累積回路編
この記事を評価
この記事にコメント
- ...