![見出し画像](https://assets.st-note.com/production/uploads/images/47518022/rectangle_large_type_2_310614b1ce72585e3500731187f60f87.png?width=1200)
Oxygen Not Included 無限個体倉庫の作り方
Oxygen Not Included で無限個体倉庫というと、だいたい以下のようなものが紹介されていることが多い。
ディスペンサーに「掃除のみ」のチェックを入れ、かつ全項目に対してチェックを入れておくことで、掃除指示をしたアイテムの格納先が存在しない問題を回避できる仕組みだ。ガレキが落ちる場所が水没しているのは、オキシライトや漂白石といったものが揮発してしまわないようにするためのものである。ディスペンサー自体も水に漬けることで、ディスペンサーに格納されてから落下するわずかな時間でも揮発しないように工夫する人もいるらしい。
実のところ無限個体倉庫はこれに類する仕組みで十分なことが殆どだ。しかし若干気になるのは、いちいち掃除指示をプレイヤーが出さねば片付けてくれない点にある。どうにかいちいち指示を出さなくてもよしなに片付けてくれる仕組みにはできないものだろうか?
「掃除のみ」を外せない理由
最もシンプルに思える解決案はディスペンサーの「掃除のみ」チェックを外すことだ。しかしこれは当然、ディスペンサーから吐き出された目の前のガレキをディスペンサーに格納し、またすぐにディスペンサーから吐き出されるという悲しいループに陥る。こんなことをさせておくくらいならまだ人力発電機で走ってもらっていた方が遥かに生産的である。
ガレキにさわれないようにする
集めたガレキを拾ってループしてしまうのが問題なら、複製人間の手が届かない場所にガレキを落とすようにするのはどうだろう。
ドア制限により、ディスペンサーにはアクセスできるが吐き出されるガレキにはアクセスできない、という状態を作り出している。
なるほどこれでループは解決した。一方で集めたアイテムは本当の意味でガレキと化し、資源として活用することができなくなってしまう。全く使わないものであれば構わないが、それでは倉庫ではなくただのゴミ箱である。
資源を回収する
ガレキの位置が複製人間から届かないのは意図的なものなので崩せない。しかし複製人間からは届かなくてもアイテムを移動させる手段はある。自動掃除機だ。
この掃除機、複製人間たちが使っている便利な謎掃除機のスゴイ版であるらしく、有効範囲が携帯用のものよりも広い。一方で位置を固定する必要があり、自由に移動することができない。でも今回の目的においてはどちらの性質も有効活用できる。複製人間には届かない位置からも回収することができ、なおかつ勝手に移動してディスペンサーに戻してしまう心配もない。
というわけで、この仕組みであれば格納庫に移動された物は複製人間から資源としてアクセスでき、格納庫の中身が減ったらガレキの中から掃除機が補充してくれる。よしよし、これで目的は達成だ。
とだいたいの人は思うだろう。残念ながらそうはいかない。複製人間たちはなぜか格納庫からわざわざ資源を取り出してディスペンサーに運んでしまうのだ。
これは格納庫の優先度をディスペンサーより高くしていても発生することがある。サンドボックスで試したりすると発生しないこともあるので条件はよく分からないのだが、個人的な経験では通常プレイの範疇では毎回発生している。
ちなみに、このディスペンサーを手動操作可能にしたコンベアローダーとコンベアシューターの組み合わせに変えても同じことが起こる。
困った。
ディスペンサーにもさわらせない
ガレキにさわれるとループしてしまうのでガレキにはさわらせないようにした。であれば同じように、ディスペンサーにさわれるとループしてしまうのなら、ディスペンサーにもさわらせないようにすればよい。
おっと、そんなことをしたらそもそもの最初の目的である片付けが行われなくなってしまうのでは?
そこで同じく自動掃除機の出番だ。ディスペンサーには自動掃除機からしか届かないようにする。しかし自動掃除機は動けないので世界中のガレキを集めてくることはできず、そこはやはり複製人間が担当せねばならない。ではどうするのかというと、ディスペンサーではなく格納庫を設置するのだ。こうしておけば、掃除機は格納庫に物が入り次第ディスペンサーへと移動する。これで格納庫はほぼ常に空の状態が維持されることになり、片付け指示をしなくても常に世界中のガレキを集めることができるわけだ。
例では右の格納庫に世界中からガレキが集められ、それを掃除機がディスペンサーに移動し、その前にガレキとして吐き出される。そのうち 20t だけを掃除機が左の格納庫へ移動し、複製人間たちはここから資源として利用する。入りきらない分はディスペンサーの前にガレキとして溜まり、左の格納庫に空きができ次第掃除機が補充してくれるというわけだ。
注意すべき点は、ガレキから資源として回収する格納庫の優先度を、世界中からガレキを集めてくる格納庫の優先度以上にしておくことだ。あとはディスペンサーやガレキに対して、「複製人間からは届かないが自動掃除機からは届く」を維持してさえいれば実装方法は問われない。
実装例
ガレキから資源として取り出す格納庫については、できれば複数のアイテムを同時にチェックしたくはない。というのも、例えば火成岩と堆積岩を同時にチェックを入れておいた場合、火成岩だけで 20t 埋まってしまうと、堆積岩はガレキ部分には残るにも関わらず資源としてはアクセスできないことになるからだ。となるとアイテムの種類ごとに格納庫が欲しいわけで、かくして多数の格納庫を掃除機の範囲に詰め込むパズルが発生する。
例えばこんな感じになるだろうか。
ただスーツエリアに作らない場合は足が濡れるのが気になるし、この倉庫では揮発性物質は扱わないということなら水エリアを減らすなりなくすなりしてもいいだろう。格納庫は足場が必要なのでどうしても空きができてしまうが、コンベアローダーなら足場が不要なので、空いてる場所にコンベアローダーを置き、各地で使う工業資源をコンベア輸送する、とかは合理的な有効活用方法だろう。単に装飾品で埋めてしまっても良い。
なおこの倉庫は世界中のガレキを見境なく集めてしまうので、どの資源を対象にするのかは検討した方が良い。そして本ゲーム共通して言えることだが、温度には注意することだ。うっかりしていると揮発防止水が蒸発だの氷結だのして汚染酸素やら塩素やらが倉庫から溢れている、なんてことにもなりかねない。
最終的な実装については各コロニーの需要に合わせて工夫してみて欲しい。