回路ネットワーク
回路ネットワーク(Circuit networks)はレッドケーブルやグリーンケーブルで形成され、ネットワークに接続された送信者(sender)からの情報に基づいて受信者(receiver)を制御できる。大体の場合、送信者はストレージ装置で、保有するアイテムや液体に基づいたチャネルにその情報を流す。各回路ネットワークはアイテム種別ごとのチャネルを持ち、加えてユーザ定義可能な45種の仮想シグナルチャネルを持つ。「全て(Everything)」、「いずれか(Anything)」、「それぞれ(Each)」のワイルドカードも使用可能。
利用法
情報の送信
送信者はアイテムや流体の量、またはプレイヤーが定義可能な他のデータを送信する。それぞれの量は対応するアイテムの「チャネル」上の数値となる。例えば、原油1000単位を保有する貯蔵タンクは原油チャネルに値1000を送信する。
各チャネルは独立しているので、各ネットワークはゲーム中に存在するアイテムや流体全てとユーザ定義可能な追加チャネル全て(数字の0から9、アルファベットのAからZ、9種の異なる色)に関して同時に数値を伝達できる。未使用のチャネルは値0を伝達する。
同じアイテムや流体に関する複数の送信は加算的で、原油1000単位を保有する貯蔵タンク2つが接続されているとすればそのネットワークの原油チャネルの値は2000となる。
接点で繋がる同色のワイヤ全てが1つのネットワークを形成する。言い換えれば、相互にシグナルを交換する。例えば、ある回路部品(訳注:combinator。この場合は定数回路(constant combinator)のようなものをさす)の入力側で2つの赤ワイヤが交わっていれば、各ワイヤはもう一方の内容を受信する。このことに気をつけないとフィードバックを生み出しうる。詳細な議論はフィードバック (算術回路下)を見よ。
数値は32bit符号付き整数(signed 32 bit integer)の範囲となる。つまり-2147483648から2147483647まで。数値はオーバーフロー時にラップアラウンドし、たとえば2147483647 + 10 は -2147483639 である。
装置の制御
受信者は送信された情報を用いて、大概は装置をオン・オフする。異なるチャネル同士やチャネルと特定の値とを比較することもできる。
受信側の装置は繋がれた各ワイヤの全シグナルを、レッドケーブルとグリーンケーブルの間であろうが足し合わせる。例えば、あるインサータが鉄板20を伝達するレッドケーブルと銅板10を伝達するグリーンケーブル、さらに鉄板5を伝達するグリーンケーブルと接続されているなら、受信者は鉄板25と銅板10を受信する。
装置
回路ネットワークに接続可能な装置は情報ペインの右上角に「回路ネットワーク」アイコンがある。これをクリックするとそのデバイスが利用可能な回路ネットワークオプションが表示される(注意:レッド/グリーンケーブルが接続されていなければ、代わりに「接続されていません」が表示される)。その隣のアイコンをクリックすると装置は(範囲内にあれば)物流ネットワークに接続でき、これも条件になりうる。
条件は回路(レッド/グリーンケーブルの合計シグナル)と物流ネットワークの両方にセット可能で、論理積(logical AND)として働く。
以下の装置は回路ネットワークに接続可能。
装置 | 出力しうるシグナル | 利用可能な制御オプション |
---|---|---|
搬送ベルト各種 | 乗っているものを回路ネットワークに送信可能。
|
条件により起動可能。 |
インサータ各種 | 掴んでいるアイテムを回路ネットワークに送信可能。
|
条件により起動可能。インサータスタックサイズも制御信号からオーバーライド(設定)可能。 |
フィルターインサータ | 上に同じ | 加えて、フィルターも回路ネットワークから設定可能。 |
チェスト各種 | 内容物を回路ネットワークに送信可能。物流ネットワークにつながるチェスト(Logistic chests)はさらに物流ネットワークへも送信可能。 | |
要求チェスト | 上に同じ | 要求するアイテムを回路ネットワークから設定可能。 |
貯蔵タンク | 内容物の流体を回路ネットワークに送信可能。 | |
ゲート | 信号を回路ネットワークに送信可能。 | 条件により開くことができる。 |
列車用信号 | その状態を回路ネットワークに送信可能。 | 条件により赤にすることができる。 |
駅 | 停まった列車の内容や読み取った列車のIDコードを回路ネットワークに送信可能。 | 回路ネットワークから列車に情報を送信し待機条件に用いたり、駅自体を有効化/無効化したりできる。 |
蓄電池 | 充電量(%)を回路ネットワークに送信可能。 | |
ロボットステーション | 物流ネットワークの内容やロボットの統計を回路ネットワークに送信可能。統計用のシグナルは設定可能。 | |
燃料式掘削機 | 掘削機自体、または掘削機が設置されている鉱脈全体から予期される資源埋蔵量を送信可能。 | 条件により起動可能。 |
電動掘削機 | 掘削機自体、または掘削機が設置されている鉱脈全体から予期される資源埋蔵量を送信可能。 | 条件により起動可能。 |
油井 | 現在の掘削レートを送信可能。 | 条件により起動可能。 |
電源スイッチ | 条件により電源ネットワークを接続できる。 | |
プログラマブルスピーカー | 回路ネットワークの信号に基づき、アラートを表示し音を再生する。簡単な音色を作ることもできる。 | |
ランプ | 条件により起動可能。色シグナルを受信したらその色になる。 | |
汲み上げポンプ | 条件により起動可能。 | |
ポンプ | 条件により起動可能。 |
物理的ネットワーク構造
回路ネットワークは同色のケーブルで接続された装置のみの間で構成される。装置間を直接結んでもよいし、間に任意の電柱を挟んでも良い。ケーブル長は直前の接続で制約される。
接続されたケーブルの集まりがネットワークを分離することに注意せよ。例えば、4つの赤ネットワークと3つの緑ネットワークが同時に存在しうる。赤と緑のケーブルが同じ電柱や装置で触れ合ってもネットワークは分離されたままで、リンクは生じない。しかし、赤ケーブル同士や緑ケーブル同士が触れあえばリンクする。密接したネットワーク間を分離するなら異なった色のケーブルを使うべき。
- ケーブルや銅線を電柱と結ぶには、単にそれをクリックし、そして電柱をクリックする。
- ケーブルや銅線の接続を削除するには、同色のケーブルを既存の接続の上から設置する。ケーブルや銅線は戻ってこない。
- 電柱からの全ての接続を削除するには、電柱をShift+クリック。一回目で電気的接続が、二回目でレッド/グリーンケーブルが全て取り除かれる。ケーブルは戻ってこない。
- 算術回路や条件回路は、入出力の正しい側に繋ぐよう注意。「詳細を表示(Show details)」モードで向きが見られる。
- マウスカーソルをアイテム上にホバーするとそのアイテムと接続された全てのケーブルがハイライトされる。
- マウスカーソルをネットワークを構成する電柱にホバーするとネットワーク上の信号が見られる。回路部品のような特定のアイテムにホバーしたときもその入出力シグナルが見られる。
回路部品
回路部品(Combinators)は送信も受信もでき、より高度な機能を回路ネットワーク上で利用可能とする。
- 定数回路は接続された任意のネットワークの任意のチャネルに15個までの値を送信する(今のところ赤/緑のチャネルを指定することは出来ないので、各色異なる値にしたければ、それぞれの色用に2つの回路部品を用いること)。任意のアイテム/仮想シグナルチャネルを使用できる。
- 15スロット中2スロットを同じチャネルに設定した場合、その和の値を1つのスロットで設定した場合と同様になることに注意。
- 算術回路は入力値に算術演算を行い結果を指定された出力チャネルに送信する。入出力は任意のアイテム/仮想シグナルチャネルをとりうる。
- 接続: 算術回路は入力(input)側で赤/緑ネットワークと接続し(本体に端子がついており、点火プラグのように見える)、算術計算を行って出力(output)側の指定されたチャネルに送信する(出力ケーブルは装置本体からやや引き出されている)。
- フィードバック: 入力ネットワークと出力ネットワークは同じネットワークではない事に注意せよ。出力ネットワークを入力ネットワークに戻して繋ぐことはフィードバックループを引き起こしうる。例えば、銅板の値に1を加えて銅板として送信する操作は出力が入力に戻されれば無限ループを引き起こす。銅板の値は急速に(一瞬ではない)増えていく(上昇率は現在のtickレートによって決定される)。この技法を条件回路と組み合わせれば電子時計、ゲート、他にも様々なシステムが作れる。より発展的な技法は回路チュートリアルを見よ。
- それぞれ(Each): この回路部品は「それぞれ」シグナルを入出力に使用でき、その場合非ゼロの入力チャネル全てにこの回路の演算が適用され、出力側に送信される。入出力の両者にそれぞれシグナルを、演算には何も変えないようなもの(0を足すなど)を用いると、「一方通行」ケーブルと等価になる。入力ネットワークのすべての情報が出力ネットワークにコピーされ、逆は真でない。
- 複数ネットワーク: 算術回路は入力側に赤ネットワークも緑ネットワークも繋げられ、それらの入力を足し合わせる。
- 条件回路は算術回路のように振る舞うが、値を比較するために設計されている。本質的に、条件を表すものである。接続、フィードバック、それぞれシグナルについて言えば上述の通り機能する。それらに加え、全て(Everything)シグナルやいずれか(Anything)シグナルも扱え、複数のネットワークに接続された場合は加算より複雑な関数を適用することができる。使い方に関する詳細は条件回路項を見よ。
仮想シグナル
仮想シグナル(Virtual signal)はアイテムを表さない特別なシグナル。3種の論理シグナル(logic signal)を除いては、仮想シグナルの振る舞いもアイテムシグナルと変わらない。
45種の仮想シグナルがネットワーク上に送信可能。数字の0から9まで、アルファベットのAからZまで、色の赤(red)、緑(green)、青(blue)、黄(yellow)、紅(magenta)(訳注:0.15.40現在のbase.cfgではピンク(pink))、シアン(cyan)、白(white)、グレー(gray)、黒(black)が含まれる。
論理シグナル
仮想シグナルのうち3種はネットワークに送信できず、かわりに複数のシグナルへと特殊なロジックを適用する。
全て
全て(Everything)は条件の左辺に利用可能。各入力シグナルについて条件が真である時に真となる。シグナルが来ないときも真となる。つまり、全てシグナルは全称量化として振る舞う。
条件回路の出力にも全てが使える。その場合、条件を満たす全てのシグナルを出力する。全てかいずれかシグナルを条件に用いたときのみ、複数のシグナルが条件をパスできる。
いずれか
いずれか(Anything)は条件の左辺に利用可能。少なくとも1つのシグナルについて条件が真である時に真となる。つまり、いずれかシグナルは存在量化として振る舞う。
それぞれ
それぞれ(Each)は条件、算術回路の入力側の左辺および出力にのみ利用可能。入力もそれぞれのときに限り出力にも指定できる。入出力の両方に指定されると、その回路部品を各入力シグナルについて個別に適用する。入力にのみ指定されると、回路部品の出力は適用結果の総和となる。
チュートリアル
- 回路ネットワーク クックブック - 例示に重点を置いたチュートリアル。回路ネットワークの使い方と利点を知りたい初心者向け
- 回路チュートリアル - 主に文字で、詳細なチュートリアル。
物流ネットワーク
物流ロボットが用いる物流ネットワークは本質的に、赤/緑の有線ネットワークと同列の第三の(ワイヤレスの)ネットワークである。物流ネットワークは中核ロボットステーション周辺が基本となる。
いくつかの装置もまた物流ネットワークに接続可能。装置に回路・物流ネットワーク双方の条件が設定されていれば、両方の条件が真の場合にアクティブとなる。
より詳細には物流ネットワーク及びロボットステーションを見よ。