User:Fried biter/workspace
作業場/workspace 日本語話者の方、マサカリ投げてくださると助かります
- テクノロジーに関しては鉄道技術(研究)をご覧ください。
鉄道(Railway)はFactorioにおける主要輸送手段の一種。導入は複雑になりえるし大量の資源と場所を食うが、特に長距離輸送に於いてはベルトやロボット物流より速くて効率的である。
しかしながら、鉄道の建築は即座に理解できるようなものではない。自動輸送のような基本を学ぶのにもそれなりの時間がかかる。大規模な鉄道ネットワークを運営し維持してゆくことを習得するには時間と経験が必要となる。
インフラ
鉄道を建設するには、列車を乗せるための軌道(track。線路(rail)とも)を敷かねばならない。典型的にはレールプランナーで行われるが、手動でも可能。線路は2タイル単位で設置され、1タイルだけ動かすことは出来ないことに留意せよ。
最小限の手動運行鉄道
最小限の手動運行鉄道は以下から成る。
機関車のそばに立ってENTERを押下すれば乗り込んで手動運行できる。
分岐
- 分岐の作動状況は視覚的に表現されないが、レールは合流できる。レールプランナーを使えば、レールを既存レールに重ねて置くことで分岐を形成できる。分岐は路線上の枝分かれであり、列車に2方向の選択肢を与える。
- 列車は旋回角に制限があるため、2つの直線軌道が交差する点は分岐とはならない。信号ブロックを形成して衝突を防ぐことはできる。
- 並列軌道は相互に干渉しない。しかし、近すぎる場合は一方からもう一方への分岐が余計な資源を必要とする。軌道を一旦遠ざかる向きに伸ばし、そのあとで戻す必要があるため。これは信号ネットワークを複雑化する原因になるので、一般的には十分な間隔を開けずに並列軌道を敷くべきではない(ふつう軌道2本分の間隔で上手くいく)。
軌道の横断
軌道の横断には注意!列車はゲーム中で最も与ダメージが大きいものの一つであり、接触時にほとんどのプレイヤーを瞬殺する。
軌道を横断する際の適切な流儀チェックリスト。
- ズームアウトして列車が来るか見えるようにする。
- 左を見て、次に右を見る。
- 近傍の信号を確認。列車用信号が突然青から赤や黄色に変わったら、列車が来るので横断してはいけない。
- 完全には軌道上にいなくとも轢かれうるので、軌道付近を歩いてはいけない。
- 動いている列車に飛び乗ったり飛び降りたりもできるが、失敗の対価は命である。列車の側面もダメージ判定が有り、2台の列車の間で轢き潰されうる。
- 大量のシールドはダメージを軽減しうる。極端な場合には、体一つで列車を止めることすらできる。このためには瞬殺されないように複数のエネルギーシールドモジュールが必要で、スーツのエネルギーを大量に消費する。
- 体力を持つものなら列車に轢かれるとダメージを受けるので、自動車や戦車を軌道に放置しないように。この対象には敵勢力をも含むのだが。
- 駅から遠く離れた列車は(ほぼ)最高速で運行するので、横断の際はより警戒しズームアウトしておこう。駅や信号付近では止まるために減速しており、低速で運行する。設定が違っても早かったり遅かったりする。
図に示すような安全な路線横断が建設できる。これは接近中の列車がレールを予約したとき、軌道へのアクセスを制限する。プレイヤーがレール上に居る時は、回路ネットワークを介して信号は予約され、列車はプレイヤーが軌道を離れるまで停まって待たねばならない。プレイヤーが内部にいて軌道を横断しているとき、列車のゲートは閉じているので横断部以外の軌道にプレイヤーが踏み入ることは出来ない。これは完全に安全な横断を保証するので、サーバーでよく用いられる。
列車
列車は以下から成る。
機関車 | 貨物車両 | タンク貨車 | 曲射砲車両 |
- 列車は少なくとも1台の機関車を持つ。
- 列車は1台以上の機関車に加え、任意の数の貨車を持てる。
- 機関車は手動では前後に操縦できるが、一般には後ろ向きは遅い。左右キーは分岐で進行方向を変えるのに用いられる。
- 列車は自動操縦時には前にしか進めない。2台の機関車が逆向きに接続されていれば、自動化された列車も前にも後ろにも進める。
- 列車は運行に燃料が必要。燃料は列車が手動モード、または駅に停まっている場合にインサータで補充可能で、自動モードで信号前に停まっていたり運行中だったりする場合には補充不可能。
機関車のインベントリは燃料専用。貨物車両やタンク貨車にアイテムや流体を積み込むには、列車に接続されていなければならない。車両を接続するには、貨車にせよ機関車にせよ、既存列車に対し緑の接続予測が出るような近くの場所に設置するか、遠くで設置した場合にはプレイヤーが手動で接続(connect)キーを押すことで接続する。同様に切断(disconnect)キーで切断できる。貨物車両は手動、または最大12箇所の隣接するインサータ(片側6箇所)で、タンク貨車は最大3箇所のポンプで積み下ろしできる。ポンプは頂点にあるニップルと自動的に接続される。
列車駅
列車駅は以下から成る。
駅 | レール | インサータかポンプ |
列車駅(train station)は少なくとも1つの駅と、貨物車両やタンク貨車を積み下ろししたり機関車に燃料を積み込んだり曲射砲車両に弾薬を積み込んだり列車を修復したりするためのストレージや分配システムからなる。
列車駅(train stations)と駅(train stops)とを混同しないように。 列車駅は概念で、駅はアイテムである。
列車軌道に隣接してインサータを置くことで駅での積み下ろしができる。貨物車両や曲射砲車両にアイテムを自動で積み下ろしするにはインサータが唯一の手段である。タンク貨車の場合はポンプ。
信号
Factorioには2種の信号(Signal)がある。
列車用信号 | 連動式列車用信号 |
信号を理解するのは困難かもしれない。以下に示すいくつかの概念の理解は重要である。
- レールセグメント(Rail segment)
- 軌道の一部分(アイテム1個分)。
- セグメント(Segment)
- 分岐や交差を含まない連続した軌道の、単一のパス。信号を用いる場合に重要となる。セグメントにマウスオーバーするとその数字が確認できる。数字はワールド内でユニークだが、0や1から始まるわけではない。
- ブロック(Block) (訳注: 非公式には閉塞区間(block)とも)
- 列車用信号で区切られるセグメントの集まり。デフォルトでは、任意の繋がっているセグメントは列車が走れるかや一方通行であるかにかかわらず1つのブロックを形成する(例: 分岐点で、分岐のどちら側のセグメントも同じブロックに属する)。ブロックはプレイヤーがレールや連動式列車用信号を持っている間、線路上に色付きの線として確認できる。
信号は複数の列車を自動運行させるために用いられる。手動操縦の列車は後述する規則のほとんどすべてを無視することに注意。他の自動運行列車はプレイヤーの動きによって動的に変化する信号規則をも守るが、プレイヤーが赤/黄信号を無視した場合にはときたま衝突が不可避となる。常に自動運行列車に気を配り、通行権を与えよう。
ブロックについての素晴らしい説明はこのフォーラムポストを参照。
基本的な信号規則
- ブロック内にはいつでも1台の列車しかいられない。複数のブロックにまたがる列車はそれら全てを専有する。
- 赤信号は続くブロックが列車に専有されていることを示す。
- 黄信号は続くブロックへの進入をすでに認可されている列車が接近中であることを示す。
- 列車用信号は新たなブロックを分割し、その状態を示す。緑は空き、黄色は予約済み、赤は占有中。
- 連動式列車用信号は新たなブロックを分割し、次の列車用信号(全て)の状態を示す。上記に加えて、青は全滅ではないものの1つ以上のパスが塞がれていることを示す。
- 列車は軌道の右側に設置された信号のみを通過でき、同じレールセグメントの両側に設置されていても良い。もちろん、手動操縦には関係ないが。
デッドロック
デッドロック(Deadlock)、またはグリッドロック(Gridlock)は全ての列車が他の列車に妨害されることで生じる。ほとんどすべての場合、2つ以上の列車について全てのブロックに他の列車が(少なくとも)1編成いるため立ち往生となっている。
デッドロックの発生
デッドロックは、2つ以上の列車が解決不能な信号の衝突によって交差を通り抜けられなくなったときに発生する。数少ないその他のパターンは以下。
- 一時的 - 経路上の一時的トラブル、たとえば邪魔な列車が積み下ろし中とか、回路ネットワークで信号が閉じられた場合に生じる。たいてい勝手に解決する。
- 準永続的 - 経路確定時に生じた問題の帰結であり、列車の燃料不足やレールの破損でよく生じる。修復にはプレイヤーの行動が必要かもしれないし、(レールの破損なら)建設ロボットで自動的に直るかも知れない。
- 永続的 - 最悪のパターンで、自動では解決せず、プレイヤーがいくつかの列車を手動運転で交差から出してやらないといけないことが多い。大体の場合、誤った信号配置や到達不能な駅によって生じる。
デッドロックは偶然にもプレイヤーの失敗によっても引き起こされうることに注意。完璧に信号配置された鉄道すらも、時たま問題を抱えることとなる。デッドロックの生じる確率は信号配置の質と反比例してはいるのだが。
デッドロック率に影響を与える要素
- 列車の長さ(同じレールや信号の配置なら、列車が短いほど低確率。その列車がレールに与える影響が小さいため)
- ブロック長: 十分な空間を持つブロックではデッドロック率が低い。
- 軌道のレイアウト: ある種の配置は他のものよりデッドロックに陥りやすい。
- 列車の量 - 交差点を利用する列車が多いほどデッドロックに陥りやすい。
- 頻繁にレールが交差するエリアで待たねばならないとき、デッドロック率は更に高くなる。
以上から、どのようにすればデッドロック率を減らせるか?
- 4方向の交差点やラウンドアバウト(円)を用いた交差点を使わない。
- よりよい3方向交差点を用いる。列車用双方向三叉交差点の詳細はここを見よ。
- 列車の方向を変えるときのみラウンドアバウトを使うようにして、交通量の多い交差点には使わない。
- 交差点周辺にはより多くの軌道を整備する。ある交差点がある場所へ到達するための唯一の経路にならないよう、冗長性を持たせよ。これにより、小さな問題は小さな問題のままにしておける。
輸送自動化
列車は出発時、連動式列車用信号で5秒待った場合、目的地が回路条件によって自身を無効化した場合に「自動的に」停まる目的地と経路を選択する。経路選択アルゴリズムに基づき、その時点で明らかな遅延を考慮に入れつつ有効な当該名称駅への最短経路を選ぶ。条件を満たす駅がない場合、その駅を飛ばして次に行く。
この節は列車駅間のアイテム自動輸送のために必要なアイテムもカバーする。プレイヤーは鉄道システム(rail system)の作成に慣れ親しまなくてはならない。
まず、少なくとも2つの駅を到着時の向きから見て右側に設置した鉄道システムを作成せよ。駅にマウスをホバーすると乗り物の位置が見られ、列車駅を上手に設計(積み卸し用機械、燃料補充/修復設備の取り付けを含む)する上での助けとなる。
列車時刻表(以下を参照)を設定し列車に燃料を補充すれば、運行モードを手動から自動に切り替えることで列車をその時刻表どおりに走らせることができる。
列車時刻表(train schedule)
プレイヤーは上側のウィンドウで列車駅のリストを設定できる。列車はその順で駅を巡るよう運行し、最後までたどり着いたら最初に戻る。現在のところ、1回きりの時刻表を作ることは出来ない。列車駅はボタン2(画像を参照)をクリックすることで追加できる。全駅名一覧のポップアップが出るのでどれかを選ぶと、発車条件(waiting condition)を選択する別のポップアップが出る。
発車条件は列車がいつ列車駅を出発するかを決める。7種の発車条件がある。
- 経過した時間
- インベントリが満杯 - 列車の全インベントリが満杯。
- インベントリが空 - 空なことを除けば上に同じ。
- 貨物アイテム数 - 特定のアイテムを一定量保持している(全車両について合算される)。
- 回路による - 駅が回路ネットワークに繋がっていれば、シグナルが発車条件に使える。
- 積み卸し終了 - 指定した秒数の間、アイテムが積み卸しされない。
- 流体量 - 特定の流体を一定量保持している(全タンク貨車について合算される)。
以後、「条件(term)」は1種類の発車条件について表現し、「発車条件(wait condition)」は条件全体の集合について表現する(ちょっと数学っぽい話になってきた)。
1つ以上の条件を追加した場合、論理演算子ANDとORを用いてそれらの関係を変更できる(ボタン7)。AND条件は全ての条件が真であるときに真となる。またOR条件は少なくとも1つの条件が真である時に真を返す。
AND条件とOR条件を混ぜると、OR条件でまとめられる。発車条件を評価する際、最初の条件は次にOR条件が現れるまでの続く全てのAND条件と同時に評価される。それら全てが真と評価されれば、発車条件も真と評価される。さもなくば評価は継続し、そのOR条件とそこから次にOR条件が現れるまでの続く全てのAND条件が同時に評価される。ORでまとめられたグループが真と評価され発車条件が満たされるか、全ての条件がチェックされ終わるまでこれが繰り返される。
例
例を展開
30秒の間、満杯になるのを待つ:
貨物車両のインベントリが満杯 OR 30秒経過
貨物が満杯になるのを待つ、 または 回路条件 Oil > 3000:
貨物車両のインベントリが満杯 OR 回路: 原油 > 3000
空になるのを待ち かつ 30秒が経過して かつ なにもせず5秒経過:
貨物車両のインベントリが空 AND 30秒経過 AND 最後の積み卸しから5秒経過
鉄鉱石が少なくなるまで待つ または 銅鉱石が少ない かつ 少なくとも30秒経過:
貨物: 鉄鉱石 < 500 AND 30秒経過 OR 貨物: 銅鉱石 < 500 AND 30秒経過
Factorioの発車条件ロジックは選言標準形(disjunctive normal form) (DNF)として読まれ、よって最後の例は以下のように実行される(カッコに注意)。
((貨物: 鉄鉱石 < 500 AND 30秒経過) OR (貨物: 銅鉱石 < 500 AND 30秒経過))
これは以下と同義。
((貨物: 鉄鉱石 < 500 OR 貨物: 銅鉱石 < 500) AND 30秒経過)
残念ながら、現在のUIではこのような短い記法はない。
トラブルシューティング
鉄道システムや列車が動かない場合、以下のいくつかのことを確認せよ。
- 列車に燃料が供給されているか?機関車になにか燃料があることを確認せよ。
- 交差点が配置ミスや機能しない状態にないか?列車が交差点を通った経路を計画できることを確認せよ。
- 同一セグメントやブロックに他の列車がいないか?列車の経路が閉塞されていないことを確かめよ。
- 駅は正しく設置されているか?駅にホバーしたとき、黄色い矢印が駅の終端または出口へ伸びていることを確かめよ。
- 列車は正しい向きで信号に突入できているか?信号は正しく設置されているか?
- 軌道を双方通行にしたい場合、鉄道用信号が互いに向き合っていなければならない。どれかにカーソルをホバーすれば一致しているか検証できる。一致したペアについては、もう一方が見える。
到達経路なし
列車が目標にたどり着けない場合、「到達経路がありません」シンボルが機関車の上に表示される。以下を確認。
- 列車は現在の目的地に前方に進むだけで到達できるか?方向転換場を作るか、列車の両側に機関車を付けよ!
- 駅は正しい方向に設置されているか?駅は軌道の右側に存在しなければならない。
- 信号を使っているなら、全ての信号が正しい向きの通行を許可しているか確認せよ。
- 列車軌道上の妨害を確認せよ。手動で駅まで運転して欠けているレール片がないか確かめよ。とくに交差点付近は無くなっていることに気づきにくい。
まだ問題があるなら以下を考慮。
- 手動で運転して、交差点を越えるごとに自動に切り替える。うまくすれば、だいたいどのあたりに問題があるか知ることができる。
実績
Trans-Factorio express Have a train plan a path 1,000 tiles or longer. |
OpenTTDとの関わり
Factorioの鉄道システムは基本、まさにOpen Traffic Tycoon DeluxeのBlock signalsのように働く。このゲームをプレイしたことがあるプレイヤーは、いくらかの要素をFactorioにも見出すだろう。ないプレイヤーも OpenTTDのドキュメントから学ぶことができる。