見出し画像

【Factorio】Space Exploration 星間輸送ガイド

今回はfactorioの『Space Exploration』(以下SEと表記します)MODにおける星間輸送について紹介、解説したいと思います。
公式wikiに回路のサンプルや詳しい説明も書いてあるのですが、自動翻訳じゃ分かりにくい部分もあるため日本語での個別解説を作ってみました

筆者はKrastorio2も一緒に導入してる環境なのでSE単品だと一部アイテム周りの解説が異なる所があるかもしれません、よろしくお願いします。

※1 執筆時のSEのバージョンは0.6なので、0.7になったら一部変わってるかもしれません(根幹を変えるほどの大規模変更はしないと思われる)
※2 あくまでも筆者の輸送方法の紹介、解説なのでもっと効率いい方法があるかもしれません


Factorioで星間輸送ってどういう事?

SEMODは多数の惑星が舞台となる世界での開拓を行う超大規模MODです
いつもの墜落してスタートする惑星は『Nauvis』という星になっており、ここではバニラの鉱石は入手できるのですが、MOD特有の追加鉱石は宇宙に進出しないと手に入れることができません

いくつかの恒星系とそれに属する惑星があり、そこでのみ採れる新鉱石がある

別の惑星は完全に異なるマップに存在するため、線路やコンベアを引っ張ってハイおしまいにはなりません。
MODで追加される専用の輸送技術を利用して惑星間で物流網を構成する必要があります、これが星間輸送です。
最終的はこの輸送システムを完全に自動化する必要がありますが、どの輸送方法にも回路ネットワークの知識が必須です。
ここで面倒に感じてリタイアしてしまったり、いい手順が思いつかず途方に暮れて中々前に進めない方も多いかと思います。

今回はそんな人の助けになればと思い、星間輸送の解説をさせていただきます。

3つある星間輸送システム

星間輸送は主に3つの方法で行う事が出来ます。
どれも一長一短があるので1つずつ解説していきます。

デリバリーキャノン

資源を専用のカプセルに詰め込み、それをレールガンで目的地の専用受け取りチェストへ射出する。主な輸送コストとしてデリバリーキャノンカプセルと電力が必要となる。

特徴

  • セットアップが一番簡単、送りたい資源とカプセルを投入し、受け取り先のチェストを設定するだけで設定完了となる。

  • カプセル自体は送れないが材料はデリバリーキャノンで送れるため、材料を送って現地でカプセルを組み立てて資源を送り返すことも可能

  • 材料SP1で解禁されるイリジウム製デリバリーカプセルが非常に強力、イリジウム板と爆薬だけでカプセルが作れるようになるのでデリバリーを主力にするなら優先して取りたい

欠点

  • 着弾時に衝撃が掛かる配送のためか、モーターや基板等の部品系はほぼ全て送れない(衝撃で粉々になりそうなガラスは送れるのだが)

  • カタログ上の最高出力は5秒につき1発なのだが、充電時間がボトルネックとなるので実際の輸送速度は遠いほど遅くなる。

  • 受け取り先のチェストが満杯だと、着弾時に受け取りに失敗して爆発し周囲の施設を破壊する。垂れ流しにしないよう少し工夫が必要。

  • キャノン1本につき1種類しか配送できないのとチャージ時間によるボトルネックがあるからと本数を増やすと、今度は電力消費が重くなっていく(キャノン1本あたり25MW)

  • 星系外には送れない


貨物ロケット

資源を貨物ロケットに搭載し、目的地のランディングパッドへ配送する。
主な輸送コストとしては貨物ロケットセクションとロケット燃料が必要となる。

特徴

  • 全てのアイテムを搭載可能であり、プレイヤーが搭乗して星間移動もできる。

  • 一回の輸送で500スロット分搭載可能であり、複数種のアイテムを混載できる。

  • 送り先のランディングパッドにアイテムが残ってると空になるのを待ってくれる。キャノンのように打ち上げすぎることがないので、単純な単品輸送なら惑星間の回路通信が不要

  • Nauvis側から返送分の貨物セクションを積んで送り込むことで、返送側はこれでロケットを組み立てて持ち帰る資源を500スロット積んで送り返す、といった往復便が可能

  • 着地時に宇宙船カプセルが確定で1個と貨物ロケットセクションが一部返却(20~)される、これらを再利用することで実際の運用コストは安くなる。返却率増加の研究やベリリウム板の導入でさらに安くできる。貨物ロケット関連の研究は大量の天文SP1が必要となるため、メイン運用するなら天文SPの製造ラインは手厚くしておきたい。

欠点

  • 返却される貨物セクションがランディングパッド上に残ってしまうと自動運送が止まる。完全に自動化する場合は貨物セクションを再利用処理して循環させる必要がある。

  • ロケット安全性に伴う貨物の損失が発生する。アイテムの種類毎に補正を受けて切り捨てられる、例えば鉄鉱石50個を100スタック(計5000個)積んで安全性が99%の場合、現地に届くのは4950個となる。1スタック1個の物(貨物セクションや巨大施設等)は損失補正を受けない。

  • 貨物セクションは返却率増加の研究やベリリウムの導入で最終的にかなり安くなるのだが燃料コストだけは一切緩和されない、故にゲーム後半はロケット燃料がメインの運送コストとなる(1便毎に500~2000ほどの固体ロケット燃料が必要)。

  • 確率で着地に失敗して積み荷をばらまいてしまうことがある(失敗時はセクション返却なし、通常より損失倍率が高くなる、カプセルは無事)、研究で墜落確率を下げれるとはいえ0%にはできず、1%前後の確率で失敗する。

  • 星系外の輸送は必要な燃料が桁違いとなる。星系外や深宇宙への輸送もできないことはないのだが、隣の星系でも片道だけで20000個近い固形ロケット燃料が必要となる。どうしても超長距離輸送をしたい場合は現地でインゴット化を行う等、なるべくアイテム単価を上げて発送頻度を下げるようにしたい。


宇宙船

自作の宇宙船を作成し、目的地まで星間飛行して配送する。
主な輸送コストとしては宇宙船の燃料(ロケット燃料やイオンストリーム)や防衛施設、電力を生産するための燃料等が必要となる。

特徴

  • 全てのアイテムを搭載可能、プレイヤーの搭乗もできる。

  • 一回の運搬量は搭載するチェストで変化する。ストレス値という上限はあるが、終盤では6x6チェスト(512スロット)を複数積む超巨大貨物船も作れる

  • 液体タンクを設置することで液体をそのまま輸送できるため星間輸送でドラム缶を経由する必要がない。(ただしバニラの25kタンク以外の液体タンクは積載ストレスが高くセットされている、K2の200k大型タンクがあっても25kタンクを8個並べるほうが積載ストレスは少なくなる)

  • 片道、往復になりがちな貨物ロケットやデリバリーキャノンと違い、回路制御で複数の拠点を巡回させるような配送も可能、運行スケジュールの自由度が高い

欠点

  • 輸送距離に応じた宇宙飛行を行うイベントがある為、キャノンや貨物ロケットのように一瞬で貨物が現地に届かない

  • 移動中に隕石に衝突して破損し、最悪機能停止することがある。これらから自衛する防衛施設が必要

  • 宇宙船テクノロジーの解禁が遅い(天文SP3)ため、利用できるのは上記2つより大分後(Asteloid Belt1で一隻貰えるが、惑星地表から宇宙への離陸は天文SP3まで研究を進めてロケット燃料タンクの解禁が必要)

  • 天文SP3で解禁したばかりの船ではストレス上限が低く輸送に使うにはスペックが足りない。ストレス上限の強化は天文SPのみでは進めれないため、実用的な輸送機を作るなら並行して材料SP2,エネルギーSP2くらいは進めないと厳しい。

  • 離陸に燃料を多く消費する(必要コストの表記はエネルギー量)。特に惑星地表からの離陸はエネルギー要求量が非常に多く、これを1あたり2MJのロケット燃料で行うと莫大な量が必要となり地表間の輸送は燃費が悪い(宇宙空間の離陸はエネルギー消費が少ない)離陸する惑星の大きさや船体ストレスで変化するが、一回の地表離陸で液体ロケット燃料を100000以上消費することも。

ここから詳しく個別に解説していきます

個別解説:デリバリーキャノン

送りたいものを設定する
カプセルと送りたい物を入れる
目的地をセットする
ペイロードをONにする、以上

設定は4行で以上です、このお手軽さがデリバリーキャノンの最大のメリットです。

設定は単純なのですが、受け取りチェストが満杯の場合はチェスト内に入らず解体マーク付きでばら撒かれ、しかも周囲の施設にダメージを与える爆発が発生します。

自動停止機能なんてものはない

そのため、チェストが溢れる前に射出を停止させるといった回路設計が必須です。

惑星間を超える長距離でも信号のやりとりを行える施設を利用する
なお、キャノンそのものには配線ができない
材料を投入するインサータを停止させることにより発射を制御する

ネットワーク設定例

鉄板をチェストに2000枚送ったら投入をストップさせる制御をしたい場合の設定例です。

おそらく多くの人が最初に思いつく方法
在庫数を確認し一定数を超えたらインサータを止める方式
これでも動くのだが実は問題がある

チェストの中身を通信機を介してキャノン側に知らせ、規定数を超えたら投入するインサーターを停止させることになります
しかし画像の条件設定は少し問題があり、通信装置は一瞬でも電力が不足すると信号が途切れる仕様となっており、現地が停電時や電力不足時に在庫の信号が一瞬喪失する=鉄板の在庫が0と判断され誤射されます。

電力不足を起こさなければ問題ないと言えばそうですが、隕石による電力網の寸断、発電所の燃料切れや排水遅れ、隕石防衛施設の充電による急な電力需要、工場フル稼働による一時的なオーバー等の様々な要因で万が一が起こると惨事となります。
なので、『在庫数を見て判断する』ではなく『在庫数で合図を出し、その合図で送ってもらう』方式を使うほうが安全です。

条件回路を使って合図を出す例
在庫数が2000以下ならA=1を送って送信指示を出し、それを条件に投入インサータを動作させる
仮に現地で停電がおきた場合はA=信号無しで0になるので発射されない

これでOKではあるのですが、種類毎に条件回路を置く必要があるため輸送する種類が増えてくると煩わしくなります。
そこでオススメなのが定数回路を使ったマイナス要求です

マイナス信号で欲しい数を送り、チェストに届く度に合算されていく
規定数を満たすと合計が0以上となりインサーターがストップする
この方式でも停電時は0となるため、『鉄板<0』は0だと動作しないのでストップする
これなら定数回路1個で20種類まで対応できる

『在庫数で合図を出し、その合図で送ってもらう』、これは貨物ロケットでも応用が利くので覚えておきましょう。

輸送するアイテムについてちょっとした補足

できるだけ1発あたりのアイテムの比重が多くなる物を打ち上げるほうが当たり前ですが効率的です。(砂200を直接打ち上げるより石50を打ち上げて、現地で砂加工だと砂375で結果的に多く運べる、)
また、液体はドラム缶で打ち上げるより原材料を送って現地加工のほうが空ドラム缶の処理を考えなくてよくなるのでオススメです(水における氷、硫酸における硫黄)
石油ガスの場合は以下の通りです


運送量が最終的なキャノン1発あたりの石油ガス輸送量
原油缶、コークス、石炭はそれぞれデリバリー1発で5回精錬可能
液化については重油(軽油)を液化ループに戻す分まで計算に入れてあります
生産性モジュール3による1.24倍がある場合、工程が多いほど最終的なガスの量は増える

また、SEの追加鉱石は板(抽出物)まで加工するとデリバリーキャノンで送れなくなります。特にスタック単位数が増えるビタミランジェ抽出物は加工後を送るほうが効率がいいと勘違いしやすいので注意。

個別解説:貨物ロケット

画像は緑基板をNauvisに送るロケットです

宇宙カプセル1、貨物セクション100、距離に応じた液体ロケット燃料を投入する
燃料の表記はk単位での表記となる、画像の34.34kの場合は液体ロケット燃料34,340が必要
最後に目的の星、着地先ランディングパッド、発射条件を入れて設定完了

貨物ロケットには最大500スロットまで自由にアイテムを搭載できます。
そして、着地点で荷物とは別に宇宙カプセル1(確定)、貨物セクション(初期値20、研究で増加)が回収できます。

貨物ロケットサイロに回路ケーブルを繋ぐと専用の信号がいくつか取得できます
細いロケットアイコンは重要なので覚えておきましょう、他は使えば応用でいろいろできるよってくらいに覚えとくといいかもしれません。

画像の緑基板送信便から出てる信号
  • E:ロケット内の残り空きスロット数。ついでにこれが250以上ある時に発射すると燃料の25%と貨物セクション25個(空荷だと50%と50個)が現地に残って実質的に現地の発射コストが減るボーナスがあります。なおセクションの返却は実際に打ち上げに使った数から返却のため無限増殖はできません、例えば50%の返却率で空荷(セクション50個現地残り)で打ち上げても着地点で返却されるセクションは25個です。

  • F:ロケット内で使用されているスロット数

  • L :目的地までに必要な液体ロケット燃料の量。

  • 細いロケットアイコン(重要):1でロケット組立完了の合図(セクション100,宇宙カプセル1を投入完了)となります、あくまでもロケットの組立のみで、燃料が充填済みかについては考慮されていません。

  • 残り:ロケット内部のアイテム数とロケット燃料の量が表示されています。組み立てに使われて消滅したカプセルやセクションも内部的に存在するものとして出力されます。(重要)

組み立てに使ったアイテム数が出力されるので、ロケット組み立てにおけるセクションの投入はインサーターに以下の設定を行うことで制御できます。

フィルターインサーターにこの条件を付けるだけで組み立てはOK、カプセルも同上

単一のアイテムを貨物満載を条件にNauvisから送る片道便

単純に1種類のアイテムをとにかく送り続ける場合は簡単であり、惑星間通信は不要です。
主に現地で加工する際に必要な素材を送る時に、デリバリーキャノンだと流量が間に合わない状況で使います。

目標のランディングパッドが満杯なら空になるまで発射待機する仕様がある
そのため、デリバリーのような惑星間通信は必要ない
返却されたカプセルとセクションをそのままロケットの組立に再利用してNauvisへ送り返すことで循環させる

ロケット燃料のみ現地で用意する必要がありますが、余剰セクションの返却便はユーティリティサイエンスパック時点の36%返却率でもおおよそ61便もの時間的猶予があります。コアマイニングから出た少量の原油や石炭を液化したもので間に合いますので燃料は現地確保で十分です。
鉄と水だけで作れるアンモニア経由のロケット燃料レシピもあるため、コアマイニングを行わない場合でも無水惑星でない限りは問題ないかと思われます。

製作時間32秒とかこのレシピ誰が使うん?って思ってる人は多い気がする
実際は水を電気分解して水素と酸素
空気凝縮器で窒素を作り水素と窒素でアンモニア
鉄はコアマイニングなり鉱床のを焼いて完成の超省資源レシピである
現地での用意が簡単で打ち上げ頻度の低い返却便に適任

注意点としては、送り返されたセクションを優先的に処理しないとセクションが延々と増えていき最終的に詰まります。
もっとも、梱包セクションを1発撃ち返す分が貯まるのに61発近いNauvisからの発射が必要となるに対し、返送便の内容はせいぜい20数発分です。
返却分の使用の優先度さえ間違えなければ問題なく循環します。

着陸失敗イベントについて

貨物ロケットはたまに着陸に失敗します、その時は不時着した時のようにランディングパッド周辺に貨物コンテナをばらまきます。
この時は通常と違い、以下のようなペナルティがあります。

  • そのへんにアイテムが散らばるためランディングパッドにアイテムが入らない、解体マークが自動で付くので建築ロボットと物流チェストを使ってラインへ復帰させる必要がある。

  • 貨物が着弾した施設にはダメージが入る。全快なら壊れることはない小ダメージだが、修理をしないといずれは壊れる。

  • セクションの返却がなくなる、代わりに大量のスクラップと少量の貨物コンテナが返却される。なお墜落でも宇宙カプセルは確定で返却される。

  • 貨物ロス補正値が2倍になる(らしい)、パッドに着陸成功するより消滅数が多くなるのは確かである

墜落した貨物は不時着時のように自動で解体マークされますので『建築ロボットで回収⇒貯蔵チェストや要求系チェスト⇒ランディングパッド⇒本来のライン』といった形で復帰可能です。
貨物コンテナに関しては再利用するか、面倒ならスクラップ化⇒鉱石化でも処理可能です。
後はリペアキットを用意しておけば、長時間放置して墜落で施設が壊れた、なんてことは起きないので大丈夫かと思います。

複数種類のアイテムを混載して送る片道便

アイテム一種類毎にロケットとパッドを用意するパワープレイでも解決はできますが、回路制御を行う事で1つのロケットに複数種のアイテムを要求数だけ入れるといったことができます。
流量を出したい場合は単一便でガンガン送るほうが安定するため、こちらは建築用資材やサイエンスパックやカタログ用の材料を送る時など、流量は必要ないが必要な種類が多い状況に適しています。

マイナスの要求数と現地在庫を合算させることで不足分=欲しい数をマイナスで出すことができる
これをマイナス1倍にして正数に戻すことで、要求チェストのリクエストで要求できる
あとは「現地の要求数マイナスとNauvisのロケットの内部数」を合算させて0以上で積み込み完了
実際にゲーム内で組むとこんな感じ(赤青基板要求での例)
現地の-2000要求が正負反転して要求チェストのリクエストへ登録
積み込まれる毎にプラス値が増えて合算されマイナスが減っていく(サイロを算術回路入力側に接続して中身を合算する)
最終的には要求数を超過してリクエストが消滅し、ロボットの搬送もストップされる
注意点としてロケットが完成してからサイロへ積み込むようにセットすること(理由は後述)

要求チェストのリクエストやフィルターインサーターに入れるために一回プラス値に戻すのがポイントです。要求チェストで欲しい物をロボットに運ばせることで積み込みがかなり楽できます。
原理として『貨物ロケットに積んだ分をマイナス値(算術回路入力側)と合算することで、マイナスの値が小さくなっていく⇒規定数積み込みでマイナスが0以上になるので、今度は要求側が反転しマイナスになる⇒フィルターが外れるのでそれでストップ』となっています

発射条件に関しては送り先の需要に合わせてセットしましょう。
現地の要求数がどれか1つでも規定数より大きなマイナス値になったタイミングなり、ロケットの詰め込みスペース(前述の説明通り、ロケットセクションからEの信号値で出ている)が規定数以上になったタイミングなり、条件はいろいろセットできます

条件回路を組み合わせることでいくらでも拡張できる、確認信号は個人の好みだが筆者はチェックマークを愛用している
画像の例は送り先からの要求数がどれか1つでも-500より大きくなり、かつロケットの積載量が250スロット以上ならチェック数が2となるため、緑シグナルで打ち上げとなる

デリバリーキャノンの項でも説明しましたが、万が一現地が停電した時に信号がこなくなることを考慮した設計にするのをオススメします(画像の場合は現地停電でマイナス信号がなくなるので、-500より要求が多くなる条件を満たせないから打ち上げない)

回路制御で投入数を制御する場合の注意点

ロケット発射から到着までに20秒ほど時間がかかります、つまり到着するまでの20秒間は送り先にも現地にもアイテムが存在しないため、送り先の在庫数が変動するまでの間に要求されて荷物を積まれてしまう可能性があります。
これに関しては次のロケットの完成を資材投入条件にすることで対策可能です、現地に届く時間よりロケットの完成にかかる時間のほうが大体長いので丁度よかったりします

完成前に物流チェストに放り込まれることまで阻止したい場合は、ロケット完成後にリクエスト信号が入るように調整して下さい

応用:Nauvisからロケット組立に必要な物を送り、現地に返送させる

カプセルはそのまま返送に使えるため、現地で返送に必要なのは回収分で足りなかった貨物セクションとロケット燃料となります。
ロケット燃料は現地でも確保できるため、貨物セクションだけNauvis側で用意して届けることで往復便を作ることができます。
上述した複数種類のアイテムを混載して送る方法で貨物ロケットセクションを必要分だけ送り、それらを使い現地でロケットを組み立てて送り返すことで往復便が成立します。

  1. (現地)前項の複数種の例で解説したように梱包セクションを-20(最低数)で要求する

  2. (Nauvis)梱包セクション20個入りのロケットを送る

  3. (現地)返却分のセクションを先に使用させ、足りない分を送られてきた梱包セクションから使ってロケットを完成させる

  4. (Nauvis)現地から返送された(カプセルが無くなった)のを合図に、次回以降は『-20+現地の残り』の使った差分だけの梱包セクションを積んで送る、以降3と4の繰り返し

おおまか流れとしては以下の通りになります。

返送されたかの確認はカプセルの-1信号をトリガーにする
カプセルの-1がある場合はカプセルがないので組立不可のため、現地にカプセルを送り返送便を作らせる
-1がない場合(現地にカプセルがある)場合は返送によりカプセルが消費されるのを待つ

現地で返送速度を上回るロケット燃料を作るのが面倒だったり、アステロイドベルト上でそもそも燃料が作れない等のケースは、Nauvis側で梱包セクションと一緒にロケット燃料を積んで送る手があります。
この場合もロケット燃料の必要数のマイナス信号を送り、ロケット燃料を必要数積んで打ち上げるだけです。


サイロ内部のLの信号値から必要なロケット燃料の数を正確に割り出すこともできるが、そこまでやるのも面倒なので2000で固定としている。
貨物ロケット冒頭で紹介した緑基板便がこのシステムを採用している
ビタミランジェの処理で出た木材をすべて緑基板にしてnauvisに送り返している
セクション、ロケット燃料、カプセルをマイナスで要求
6x6のバッファーチェスト内(墜落してセクションが飛び散ってもそこへ回収できるように要求している)で燃料の液化と梱包セクションの開封を行い、返送便を組み立てる
パッド、チェスト、サイロの中身を赤ケーブルで確認し、それで足りない(カプセル以外は使用して数が減る)数はマイナス信号でNauvisに飛んでいく


筆者の返送用部品の送信の構成はこんな感じ(見にくくて申し訳ない)
向こうからの要求信号は赤ケーブル
サイロ内の現在の数は緑ケーブルで管理している
iマーク部分はNauvisロケットの完成を条件にiマークを出力し、iマークが出力されたのを確認して赤ケーブルをマイナス要求信号をインサーターに流す設計である
これによってロケットの組み立て完了前に積載できないようにブロックしている
赤ケーブルは向こう側のサイロに繋いでいるため、向こう側のロケット完成信号も送られてくるため、混線しないようiマークに変換を挟んでいる

セクションだけだと最大20スロットしか使わず480もの空きスロットが出ます、250以内に抑えて低コスト発射を目指してもいいですし、燃料以外にも隕石防衛弾薬などの現地で使う消耗品を一緒に送るのも手です。

解説では往復便と銘打ってはいますが、返送側の目的地をNauvis以外にセットすることで片道便のリレー運送もできます。
この方式を採用する主な素材として、イリジウム加工に必要な『凝縮されたヴァルカナイト』が挙げられます
イリジウム加工以外ではヴァルカナイトキューブの製作にしか使い道がないので、Nauvisでイリジウムを加工しないなら『Nauvis⇒ヴァルカナイト星⇒イリジウム星⇔Nauvis』で運送リレーする感じです。

注意するべきは墜落時の貨物安全性に基づいたアイテム消滅です。ぴったり必要分配送すると墜落時に足りなくなるといったことが起こるので、ロケット燃料はL値から正確に割り出した分より多少余裕をもって搭載することをおすすめします。
一方、貨物セクションに関しては損失ペナルティの対象外のため、初回の運送さえ成功すれば後は連続で墜落しない限り途切れることはほぼないので梱包20個でも大丈夫かと思います、不安ならバッファ用に30~40個くらい積んどきましょう。

個別解説:宇宙船

自作の宇宙船で実際に星の海を渡って配送することができます。
宇宙船にチェストを搭載し、それに貨物を荷積み、荷卸しさせることで自動運搬が可能です
宇宙船のデザインが1からの作成になるのが手間ですが、一度作ってしまえば後は燃料を入れるだけで機能するのが利点です。(燃費については別)

宇宙船の設計に関しては下の記事にて解説しています、こちらでは自動運転についての解説のみ行います

Calidusアステロイドベルト1に不時着した宇宙船が確定で出現するため、1台お試しで使用可能です(船内のチェストに修理に必要な資材が揃ってるので、手ぶらで上陸しても修理してそのままnauvisに帰れます)
もっとも、このままでは他惑星軌道上に移動するタクシーくらいにしかならないので輸送機に使う場合は改良が必要です。
また、このお試し機は惑星地表からの離陸ができません。(地表離陸は天文SP3のロケット燃料タンクが必要)
万一地表に降りてしまった場合は一旦分解して宇宙で組みなおすしかないです。

2種類ある運行システムについて

2024/10/7のアップデートにて自動モードが追加されました

宇宙船は自動モードと手動モードの二種類で制御することが可能です。
手動とは書いてありますが、実際は『回路ネットワークを利用して宇宙船の全ての動作を自分で制御する』という意味であり、離陸から着地場所指定、行先指定までの全てを回路制御で行う上級者向けのモードとなっております。
対する自動モードはバニラ列車の運行スケジュールのような制御方式となっており、簡単に運行スケジュールを組むことができるようになっています。

高度な自動運行システムを組むなら手動モードのほうが有利ですが、単純に惑星を往復して物資を運びたいだけなら自動モードで簡単に設定可能です。

運行システムの作り方:自動モード編

基本的にはバニラの列車とほぼ同じ感覚で制御できます、出発条件を回路条件で指定する場合は宇宙船コンソールに信号を入れることで判定を行えます

宇宙船クランプが駅の役割となります、まずは設置して設定を行いましょう。
着地点とは別に船内にもクランプを置く必要があるので忘れないように

  • Name:列車でいう駅名にあたります

  • Spaceship limit:列車駅のように入庫制限をかけたい場合は変更可能です、回路制御したい場合はLの信号が対応します。
    詳細は後述しますが、例えば普段は制限を0にしておき、在庫が減ってきたら1に制限を変更する回路を組めば、必要な時に宇宙船を呼び出すような制御ができます。

  • 優先度:同名のクランプが複数空いている場合、着地を優先させたい地点があるなら数値を上げ下げすることで調整可能です。

  • networkID:自動モードでは使わないので割愛します。

クランプを設定したらコンソール左上から宇宙船のスケジュールを設定しましょう

設定はほぼバニラ列車と同じなので雰囲気でわかると思います
画像はテストでNauvis Orbitの着地点Aと着地点Bを2秒毎に離陸して往復させるだけの設定です。
実際に運行する場合は離陸条件をちゃんと設定しましょう

Schedule Group(画像だと物資輸送ルートAと書いてある場所)に名前を入れることでルート設定を記録することができます
これを他の宇宙船で読み込むことで運行ルートを共有することができます。

もし恒星間輸送を行いたい場合、Restict to starsystemで目的の星がある恒星へ切り替えましょう。

着地点の設定画面
船内のどのクランプを使うかを選択すれば、あとは右側に候補が出る

船内にあるどのクランプをどの惑星のどのクランプに接続するか、といった形式で駅を設定します。
着地する星を指定しない(Any)ことも可能です。その場合は指定した名前のクランプで一番近い場所が目的地となります。

Enable slingshotにチェックを入れた場合は、目的の星や軌道の上空に移動だけ行います(着地はしません)
単純に離陸が一番燃料を消費するため、暇な時は上空待機するようにスケジュールを組み込むことで燃費の節約が行えます。
例の場所を経由地にすることで超遠距離恒星間輸送を効率的に実現することも可能です。

入庫制限や目的地に先客がいる場合の動作について

宇宙船でも列車と処理は同じです。
入庫制限に引っかかる(例えば1台までに制限して既に1台いる場合など)、1つ前の駅で離陸をせず現地が空くまで待機します。
制限に引っかからない場合は現地上空まで移動して順番待ちを行い、先客が離陸次第着地します。
列車でいう駅の無効化にあたる機能がクランプにはないため、該当する駅がすべて無効化なので予定を飛ばすといったことはできないようです。

入庫制限を0にして普段は無効化することで平常時はNauvisに待機、宇宙船を呼び出したい時に入庫制限を1へ上げる回路を組むことで、隕石弾薬等が不足した時に輸送するような物資補給船を作ることができます。

割り込み機能(interrupts)について

燃料が残30000を割り込みの起動トリガーとし、70000まで補給したら復帰する

factorio2.0の割り込み機能にあたる部分が宇宙船にもあります。
特定の回路条件を満たした場合、次の目的地の前に設定したスケジュールが追加され先にそちらが処理されるようになります。

画像の場合、燃料が少なくなったら補給しにNauvis Orbitの燃料補給所へ向かい、燃料を70000まで補給したら平常運転へ復帰する、といった挙動となります。

他にも、現地の空いている適当なクランプで着地し待機、受け取ったアイテムを回路で判断してNauvisの個別の処理場へ宇宙船を向かわせる、みたいなちょっと複雑な制御も可能です。

運行システムの作り方:手動モード編(信号の解説、往復便の作り方)

宇宙船コンソールは分かりにくいですが右側モニター部から信号が出ている接続部が別にあり、左側のモニター部(自動モードでいう回路受付部)が操作指令信号受信口になってます

左側の入力部(緑線)と右側の出力部(赤線)がある

右側から出ている信号は以下の通りです。

nauvis軌道上で待機している船の出力例
  • コンソール:宇宙船のID番号、この場合はID54

  • 速度:現在の速度を出力するスピードメーター、停止で-1、停泊中は-2。

  • 距離計:目的値までの残りの距離を示す、目的地上空に到着で-1、停泊中は-2

  • 惑星アイコン:セットされた目的地がここに出る(重要)今回はNauvis軌道上なので軌道371

  • D:周囲の隕石の密度を出力する。小惑星帯移動中で200、深宇宙で300。隕石が多い時は減速みたいなことをしたい時に使えるが、基本最高速度で飛ばしても隕石に耐えれる設計にするので空気

  • A:着地した惑星のID値が出力される、目的地アイコンの値とAの値が同値なら、目標に着陸したと正確に判断できるので船内に制御回路を置く時に使える。今回はnauvis上空で待機中なので0


左側の操作部に以下の信号を入力すると宇宙船を操作できます。

  • 速度計:宇宙船の目標速度を指定する(入れないと離陸後自動で発進しない)、とりあえず999とか入れとけば常に最高速度を出してくれます。目的値上空にいる時は無効化されます(重要)

  • クランプID(黄)(青):黄色と青はセットであり、黄色のクランプIDを青のクランプIDにドッキングする指令と受け取ります、目的値上空にいる時のみ機能します(重要)画像の場合は船内10番右クランプを現地10番左クランプにつなげる挙動となります
    ついでにクランプのIDとは、クランプ設定画面のnetworkIDの値です

  • 惑星アイコン:入力すると目的地が変更されます、恒星や衛星や深宇宙等アイコンにあわせて入力しましょう。

  • 宇宙船離陸:地表にいる時に1以上を入力すると離陸します

惑星のIDはユニバーサル・エクスプローラーの『自動航行シグナル』で確認できます

惑星、衛星、恒星、深宇宙等でアイコンが違うので注意
アイコンと数値が両方一致して確定となる

重要と書いた3つの信号が宇宙船操作のキモとなる部分です。
ドッキング指令と速度計は便利なことに、定数回路で入れっぱなしにしても目的地の上空にいるかどうかでそれぞれが自動で無効化、有効化されます。
つまり、以下のサイクルが成立します。

  1. 目的地上空からクランプで着陸

  2. 着地中に次の目的地に書き換える

  3. 現地の要件を満たしたら離陸

  4. 目的地が変わったのでクランプが無効となり速度計が有効になり移動、次の目的地上空へ(到着したら1に戻る)

この次の目的地の設定も簡単な方法があり、クランプを経由して宇宙船内外で相互通信ができます。

クランプのお尻に接続すること(赤線の〇が正解)
本体に接続している緑線は船内と回路を相互通信できない

これで船外から次の目的地を定数回路で設定することが可能です。現地に来る度に次に行くべき目的地を教えるだけで済むため、宇宙船内の数値で目的地にいるかを確認する必要がなくなります。
同じように船内の貨物の数をクランプ経由で確認し、船外から離陸信号を送ることで離陸条件を目的地毎に別に設定するのも容易となります。
最終的な動作を画像にまとめるとこんな感じです

Nauvisと目的地の往復便の例
宇宙船内は速度と着陸先クランプを定数回路で渡すだけでOK
目的地の設定と離陸指令は船外から行うことで回路を単純化できる

ゲーム内の配線例は以下の通りです(原油輸送船の例)

筆者は船内からの出力を赤線、船内コンソールへの入力を緑線と分けて管理している
定数回路で目的地(原油星のID)をセット
電力用蒸気と燃料の反物質ストリームが往復できる分船内に積載されてるか確認
そして船内タンクの原油が20kより少なくなったら合計チェック数が3となり離陸
目的地が変更されているのでそのまま原油星へ回収に向かう


返送側の原油星は定数回路と条件回路1個だけ
船内の原油が200k以上になったら離陸指令を出す
着地中にNauvis(軌道371)に目的地を書き換えられているので、離陸したら自動で帰っていく
艦内のタンク(やチェスト)を全て赤ケーブルで接続しクランプから出力
緑ケーブルはコンソール左側と定数回路のみ接続して入力線とする
もしタンクに蒸気を入れて電力を確保する場合、移動中以外はポンプをOFFになるようコンソール右側の信号を使って制御すること(現地の電力需要に合わせて帰りの分の蒸気を使われないようにする)
そして軌道上でポンプを起動するための蓄電池かソーラーパネルは1枚だけでも積むこと

Nauvisから補給物資を運送する

基本はNauvisで出撃待機しており、現地の原発用核燃料棒やら隕石タレット弾やらの消耗品の補充要請を受け取ったら補充に向かうような物資補給船の手動バージョンです
やり方の原理は往復便と同じです(要請があるまでNauvisで待機⇔補充品を届けたらNauvisに戻る)。違いは、目的地が要求された星毎に変える必要がある点です。
これを実用化できれば全惑星で対隕石タレットや原発がNauvisで作る物だけで自動補充、運用できるようになり。惑星の資源が偏っていて弾薬や燃料の用意が安定しない状況でもメンテナンスがほぼ不要となります。

注意したいのは、補給要請が複数個所から同時に来ると合算されてしまう点です。
混線しないように一時的に他の種類の数値にして混線しないようにし、条件回路の『緑*』を利用して複数の信号から1つだけ抽出、これを惑星の値に変換することで設定します。

ヴァルカナイト星(惑星123)とクリオナイト星(衛星456)から同時に要請を受け取った場合の処理例
緑*の条件回路で1つの信号に絞り込む、あとはその数値を惑星(や衛星)に変換してクランプ経由で船内へ送る
筆者がゲーム内で実用している防衛弾薬配給艦の回路
エナジービームのある恒星軌道から深宇宙まで、どこでも要請が来たら速やかに補給へ飛んでいく
いろんなアイコンを使って行先をどこまでも増やすことができる

回路を利用し船内で操作する場合

ここまでは現地で次の目的地を教えるだけの巡回、往復方式でしたが船内に回路を置くことで更に高度な運航ルートを組むことができます。
宇宙船内に回路を置くのも手ですが、シグナル受信機を宇宙船内に置くことでも軌道上や移動中の宇宙船へ信号送信が可能となります。

詳しい解説は往復とかの応用になるため割愛します、注意点としては

  • 移動中にも目的地の変更操作が可能、燃料が減ったら補給しに行くような単純な回路だと目的地の目の前でUターンが発生してしまうことがあるので、目的地までの残り距離による条件も付けておくこと。

  • 目的地クランプは複数入れることができない、(信号が合算されて数値が変わる)ので着地点が複数ある場合はクランプ指令も緑*による抽出が必要

筆者のナクイウム輸送船の信号による着地先の操作例
現地の在庫が多い場所からクランプ番号をシグナル送信機で船内に送信し、着陸地点を誘導する
複数個所から同時に送られても大丈夫なように、仮の数値を通して緑*で単一にしてからクランプ目的地に変換
最後に移動先が深宇宙かどうかをチェックし、適合すればコンソールにクランプ信号が到達する
帰還時(目的地がnauvisの時)は深宇宙側の信号を遮断し、定数回路でnauvisのクランプ番号だけをセットする。
長々と書いてるが上で紹介した仮の数値を惑星へ置き換えるやつを、クランプの指定でやってるだけである。

手動制御の宇宙船についてまとめ

基本的に以下の点を抑えておけば応用で何でもできると思います。

  • 目的地クランプと速度は定数回路で操作部に出しっぱなしにしても機能する

  • 着陸中に次の目的地をセットすれば、離陸したら即座に移動開始する

  • 離陸条件を船外に置くことで、船内の制御回路を簡略化できる。

終わりに

本家factorioもSpaceAgeの実装によって星間輸送が実現しようとしていますので、思い立って今回のnoteを書いてみました
SpaceAgeがどんな輸送形式になるのかはさっぱりですが、今回のSEの星間輸送解説がもし参考になった場合は幸いです。

定数回路でマイナス要求を行い、アイテムが届いたらそれが加算されてマイナスの要求数が減っていく回路はかなり応用が効きます。SE以外でも回路ネットワークによるアイテム輸送の制御に悩んだときに活用してみてください。



おまけ

アルコリンクチェストを使った星間輸送方法もありますが、実行できるのがゲームクリア目前(深宇宙SP4)でチェストの製造コスト自体がアルコスフィア10個x2と重く、クリア前だと深宇宙のナクイウム輸送にしか出番がない方法ですが簡単に紹介します

  1. 深宇宙でアルコリンクチェストを地表に1個、深宇宙に停泊している宇宙船内部に1個置いてリンクさせる

  2. 宇宙船を離陸させNauvis地表に移動する

  3. Nauvis地表に降ろした宇宙船を解体する(※アルコリンクチェストを解体しないように注意)

  4. アルコリンクチェストは深宇宙とリンクしたままなので深宇宙でナクイウムを入れることでNauvis側で取り出せる

おしまい

この記事が気に入ったらサポートをしてみませんか?