見出し画像

ノーチートPyanodon(Full pY) サイエンスパック5/11 (途中)


今回はfactorio全般の話(バニラ要素)が多めなので、初級者以上のすべてのfactorioプレイヤーにおすすめできる記事です。


 過去の記事はこちらからどうぞ。


進捗状況

 Pyanodon(Full pY)をノーチートでプレイしています。612時間経過しました。前回記事から213時間経過しています。5種目までのサイエンスパックでできる研究を進め、6種目のサイエンスパック(Chemical Science Pack)の研究に取りかかったところです。この後は、5種目までのサイエンスパックでの研究を継続しつつ、6種目のサイエンスパックの量産化環境整備施設更新などを行います。

全体像
stats
stats
milestones 1/2
milestones 2/2

モール構築

 前回記事以降、モールを構築しました。資材の管理(インベントリ管理がとても楽になりました
 この、インベントリ管理が楽になる、というのがとても重要で、私のfactorio大好きポイントの一つです。
 インベントリ管理がめんどくさくなってやらなくなったゲームはいくつもあります。初めからインベントリ容量無限で管理不要、というのは無粋で、ゲームが進み、プレイヤーが工夫することによってそれがなされる、というのが良いのです。わかりますかね?

mall
mall
mall

列車ネットワーク

バニラの列車システムは偉大である

 Pyanodonにはバニラにない様々な輸送手段があります。列車が使用可能になる前に、Caravansが使用可能になり、これが最初のまともな中長距離輸送手段になります。Caravansは列車に似た命令を実行することができますが、宛先は列車ネットワークでの駅名指定と異なり座標指定なので、システムの変更や拡張に弱いです。あくまで列車の前座でした。

caravans

 列車が使用可能になると、あっという間にお役御免になります。バニラの列車システムがあまりにも強力だからです。Train overviewで列車や駅が一覧でき、キーワード検索でき、ステータスを把握できる。積込み:積卸しをm:nとすることができる、駅の移設や追加削減が容易にできる。など。Pyanodonのようにどんどんアイテムの種類が増え、列車の本数が増えても、容易に対応できます。Pyanodonには列車のアップグレードが何段階かあることもあり、列車はきっと最後まで主力の輸送手段になることでしょう。

train overview

 そして経路探索等(優先度制御等)について、wikiの内容を理解しておけば、列車システムをかなり使いこなすことが可能になります。LTNその他は使ったことないなあ…


本プレイでの列車ネットワークと各処理エリアのデザイン

 複線を基本とし、各処理エリアに入るところは(それほど流量は必要ないだろうということで)単線にしています。将来、列車自体のアップグレードによる輸送力増加もあるので、おそらく最後までこのデザインで行けると思っています。線路に沿って電線を設置し、またそのほどよい間隔を活用して風力発電施設を設置しています。

 複線や交差点のデザインはとてもシンプルです。ラウンドアバウトも不要です(中級者以上の視点では無意味に探索経路が増える、列車自身との衝突が起きうる分害悪ですらある)。初級者がたびたび陥るデッドロック・渋滞問題とその解決方法として、複々線にしたり交差点を大規模複雑にすることは、殆どの場合適切でなく、機能的には大した意義がありません(機能とか効率とかはどうでもよく見た目が第一である、ということであれば話は別です)。列車ネットワークがうまく機能しない場合、大抵の場合解決方法はそこ以外にあります。これは、何万時間もfactorioを実行しつづけ、複数の大規模工場で高い生産力・UPSを両立させている私の見解です。

rails
wind turbine

 列車ネットワークにはいくつか待機所を配置しています。積込みもしくは積卸し駅は多くの場合列車ネットワーク内に分散して複数ありますので、そのいずれかがリクエストを出すまで待機する場所です。このやり方は運用・保守しやすいですが、後述のTrain Path Finder計算量が多くなるやり方です。ここに停車しているすべての列車が、ネットワーク全域に対して頻繁に経路探索を行っているからです。

stacker

 各処理エリアのデザインです。横軸で処理の種類を、縦軸で処理の量を増やすことを原則としています。つまり、メインバスと同様の考え方です。右が上流、左が下流になっています(大まかに右から左へ処理が進む)。横にタイルが敷かれているあたりはミニバスです。外部エリアとの入出力は列車ネットワークによって行います。
 例えば、もしここの中間成果物を列車ネットワークで運び出したい場合は、そこより右側を縦に増設することで容易に対応できます。
 将来の研究でより良いレシピが使用可能になった場合は、その部分だけ差し替えるなり、分割して別処理エリアにするなり、臨機応変に対応します。

 律儀に一処理一ラインで構築すると冗長なので、まとめられるものは処理をまとめます。ここでは最下流のOptical fiberのレシピを3秒に1回行うように規格化し、一つずつ上流でどれくらいの処理速度が必要か計算し、施設を配置していきます。ここではたまたますべて1つずつでちょうどよくなっているので、簡単にまとめることができました。
 こういうのはHelmodなど使えば自動で計算してくれてとても楽なのですが、難易度を高く保ちたいレシピの発見を楽しみたい等の理由で、少なくともクリアまでは全く使わないことに決めているので、手計算です。

 当面は十分な処理能力だと思いますが、もしOptical fiberの生産量を増やしたくなったらこんな感じに増やすでしょう。縦軸で処理の量を増やします。

Train Path Finderの計算量

 現在のPyanodonのプレイでは、列車ネットワークのUPS最適化(つまり同じ成果をより少ない計算量、PCリソースの使用で実現する)を行っていません。最適化と保守性はトレードオフなので、ゲームクリアまでは細かい変更に耐えられるよう保守性優先、クリア後の拡張は、リアル時間に対する生産効率を最大化するために最適化を優先するのが良いです。最適化が行われていないPyanodonと、最適化を行っているSpace-Exploration,Bobを比べると、PyanodonのTrain Path Finderの計算量(率)が多いのが分かるでしょう。

 列車ネットワークの考え方や最適化に関する大まかな説明は、以前以下のnoteの終わりのあたりにも書きました。

Pyanodon, trains 217, stations 1,897
Space-Exploration, trains 485, stations 2,080
Bob, trains 227, stations 2,814

factorioってすごいんだね

 今回の記事は振り返ると、バニラのシステムは複雑なPyanodonに十分対応できてすごい!って話になってしまったようです。バニラだとレシピが単純すぎてその良さを十分に理解できないかもしれませんが、Pyanodonのようにレシピが複雑なmodで遊べば、その良さ、ありがたみがより理解できるということなのでしょう。
 一方で、モールに列車と、factorioにおけるメインの要素は出切ってしまったので、この先のプレイはやや淡々としたものになるかもしれません。Pyanodonの固有の要素に期待です。Codexを眺める限り、いくつか面白そうなものはあります。

ツイートまとめ

 前回の記事から今回の記事までの間のツイートも並べておきます。

 Crawdadにより、マップの探索が多少楽になりました。障害物にぶつかってもダメージを受けないのがいい。


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