User:Fried biter/workspace: Difference between revisions
Fried biter (talk | contribs) m (→基本的な信号規則: fix typo) |
Fried biter (talk | contribs) m (→Deadlocks: translate) |
||
Line 109: | Line 109: | ||
{{clear}} | {{clear}} | ||
== | == デッドロック == | ||
デッドロック(Deadlock)、またはグリッドロック(Gridlock)は全ての列車が他の列車に妨害されることで生じる。ほとんどすべての場合、2つ以上の列車について全てのブロックに他の列車が(少なくとも)1編成いるため立ち往生となっている。 | |||
=== | === デッドロックの発生 === | ||
デッドロックは、2つ以上の列車が解決不能な信号の衝突によって交差を通り抜けられなくなったときに発生する。数少ないその他のパターンは以下。 | |||
# | # 一時的 - 経路上の一時的トラブル、たとえば邪魔な列車が積み下ろし中とか、[[circuit network/ja|回路ネットワーク]]で信号が閉じられた場合に生じる。たいてい勝手に解決する。 | ||
# | # 準永続的 - 経路確定時に生じた問題の帰結であり、列車の燃料不足やレールの破損でよく生じる。修復にはプレイヤーの行動が必要かもしれないし、(レールの破損なら)建設ロボットで自動的に直るかも知れない。 | ||
# | # 永続的 - 最悪のパターンで、自動では解決せず、プレイヤーがいくつかの列車を手動運転で交差から出してやらないといけないことが多い。大体の場合、誤った信号配置や到達不能な駅によって生じる。 | ||
デッドロックは偶然にもプレイヤーの失敗によっても引き起こされうることに注意。完璧に信号化された鉄道すらも、時たま問題を抱えることとなる。デッドロックの生じる確率は信号化の質と反比例してはいるのだが。 | |||
=== | === デッドロック率に影響を与える要素 === | ||
* | * 列車の長さ(同じレールや信号の配置なら、列車が短いほど低確率。その列車がレールに与える影響が小さいため) | ||
* | * ブロック長: 十分なスペースを持つブロックはデッドロック率が低い。 | ||
* | * 軌道のレイアウト: ある種の配置は他のものよりデッドロックに陥りやすい。 | ||
* | * 列車の量 - 交差点を利用する列車が多いほどデッドロックに陥りやすい。 | ||
* | * 頻繁にレールが交差するエリアで待たねばならないとき、デッドロック率は更に高くなる。 | ||
これらの要素から、どのようにデッドロック率を減らせるか? | |||
* | * 4方向の交差点やラウンドアバウト(円)を用いた交差点を使わない。 | ||
* | * よりよい3方向交差点を用いる。[http://www.factorioforums.com/forum/viewtopic.php?f=18&t=9044 列車用双方向三叉交差点の詳細はここ]を見よ。 | ||
* | * 列車の方向を変えるときのみラウンドアバウトを使うようにして、交通量の多い交差点には使わない。 | ||
* | * 交差点周辺にはより多くの軌道を整備する。ある交差点がある場所へ到達するための唯一の経路にならないよう、冗長性を持たせよ。これにより、小さな問題は小さな問題のままにしておける。 | ||
== Automated transport == | == Automated transport == |
Revision as of 03:46, 17 March 2018
作業場/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)
- 軌道の一部分(アイテム一個分)。
- セグメント(Segment)
- 分岐や交差を含まない連続した軌道の、単一のパス。信号を用いる場合に重要となる。セグメントをマウスオーバーするとその数字が確認できる。数字はワールド内でユニークだが、0や1から始まるわけではない。
- ブロック(Block) (訳注: 非公式には閉塞区間(block)の訳語、また鉄道における閉塞(block system)の概念を用いることも多い)
- 鉄道用信号で区切られるセグメントの集まり。デフォルトでは、任意の繋がっているセグメントは列車が走れるかや一方通行であるかにかかわらず1つのブロックを形成する(例: 分岐点で、分岐のどちら側のセグメントも同じブロックに属する)。ブロックはプレイヤーがレールや連動式信号を持っている間、線路上に色付きの線として確認できる。
信号は複数の列車を自動運行させるために用いられる。手動操縦の列車は後述する規則のほとんどすべてを無視することに注意。他の自動運行列車はプレイヤーの動きによって動的に変化する信号規則をも守るが、プレイヤーが赤/黄信号を無視した場合にはときたま衝突が不可避となる。常に自動運行列車に気を配り、通行権を与えよう。
ブロックについての素晴らしい説明はこのフォーラムポストを参照。
基本的な信号規則
- ブロック内にはいつでも1台の列車しかいられない。複数のブロックにまたがる列車はそれら全てを占有する。
- 赤信号は続くブロックが列車に占有されていることを示す。
- 黄信号は続くブロックへの進入をすでに認可されている列車が接近中であることを示す。
- 鉄道用信号は新たなブロックを分割し、その状態を示す。緑は空き、黄色は予約済み、赤は占有中。
- 連動式信号は新たなブロックを分割し、次の鉄道用信号(全て)の状態を示す。上記に加えて、青は全滅ではないものの1つ以上のパスが塞がれていることを示す。
- 列車は軌道の右側に設置された信号のみを通過でき、同じレールセグメントの両側に設置されていても良い。もちろん、手動操縦には関係ないが。
デッドロック
デッドロック(Deadlock)、またはグリッドロック(Gridlock)は全ての列車が他の列車に妨害されることで生じる。ほとんどすべての場合、2つ以上の列車について全てのブロックに他の列車が(少なくとも)1編成いるため立ち往生となっている。
デッドロックの発生
デッドロックは、2つ以上の列車が解決不能な信号の衝突によって交差を通り抜けられなくなったときに発生する。数少ないその他のパターンは以下。
- 一時的 - 経路上の一時的トラブル、たとえば邪魔な列車が積み下ろし中とか、回路ネットワークで信号が閉じられた場合に生じる。たいてい勝手に解決する。
- 準永続的 - 経路確定時に生じた問題の帰結であり、列車の燃料不足やレールの破損でよく生じる。修復にはプレイヤーの行動が必要かもしれないし、(レールの破損なら)建設ロボットで自動的に直るかも知れない。
- 永続的 - 最悪のパターンで、自動では解決せず、プレイヤーがいくつかの列車を手動運転で交差から出してやらないといけないことが多い。大体の場合、誤った信号配置や到達不能な駅によって生じる。
デッドロックは偶然にもプレイヤーの失敗によっても引き起こされうることに注意。完璧に信号化された鉄道すらも、時たま問題を抱えることとなる。デッドロックの生じる確率は信号化の質と反比例してはいるのだが。
デッドロック率に影響を与える要素
- 列車の長さ(同じレールや信号の配置なら、列車が短いほど低確率。その列車がレールに与える影響が小さいため)
- ブロック長: 十分なスペースを持つブロックはデッドロック率が低い。
- 軌道のレイアウト: ある種の配置は他のものよりデッドロックに陥りやすい。
- 列車の量 - 交差点を利用する列車が多いほどデッドロックに陥りやすい。
- 頻繁にレールが交差するエリアで待たねばならないとき、デッドロック率は更に高くなる。
これらの要素から、どのようにデッドロック率を減らせるか?
- 4方向の交差点やラウンドアバウト(円)を用いた交差点を使わない。
- よりよい3方向交差点を用いる。列車用双方向三叉交差点の詳細はここを見よ。
- 列車の方向を変えるときのみラウンドアバウトを使うようにして、交通量の多い交差点には使わない。
- 交差点周辺にはより多くの軌道を整備する。ある交差点がある場所へ到達するための唯一の経路にならないよう、冗長性を持たせよ。これにより、小さな問題は小さな問題のままにしておける。
Automated transport
Trains set on "Automatic" choose their destination stop and route on departure, and after waiting at a chain signal for five seconds, and when their destination stop disables itself by circuit condition. They choose the shortest route using a path finding algorithm/ja| that will get them to an enabled train stop with the right name, taking penalties for any apparent-at-the-time delays into account. If no such train stop exists they will skip the stop and go on to the next.
This section covers items used to make trains automatically transport items between stations. The player should be familiar with creating a rail system.
First, the player has to setup a rail system with at least two train stops, which are placed in the right-hand side of the expected train arrival direction. By hovering over the train stop with the mouse you see the positions of the vehicles for better setting up the train station (including (un)loading machinery, refueling/repair installations).
When you set up the train schedule (see below) and fuel the train, you can start the train on it's schedule by switching from manual to automatic driving mode.
Train schedule
The player can set up a list of train stations in the upper window. The train will route to stops in the given order, if it's at the end it will continue with the first. Currently, it's not possible to make a one-time schedule. Stations can be added by clicking button 2 (see picture). A pop-up appears with a list of all stop names. If you select one, another pop-up appears for you to select a wait condition.
Wait conditions are used to tell the train when to leave the station. There are 7 types of wait conditions:
- Time passed
- Inventory full - All inventories of the train are full.
- Inventory empty - Same as above, but empty.
- Item count - The train (all cargoes summed) contains a specific amount of a certain item.
- Circuit condition - The train stop is connectable to the Circuit network/ja, so the signals can used for wait conditions.
- Inactivity - No items were added or removed for the specified amount of seconds.
- Fluid count - The train (all fluid wagons summed) contains a specific amount of a certain fluid.
Hereafter the word "term" is used to describe one type of wait condition, and the words "wait condition" are used to describe the whole set of terms (it turns a bit into maths).
If you add more than one term, you can change the connection of those using the logical operators AND and OR (button 7). An AND condition will result in true if all terms are true. An OR condition will return true if at least one of the terms is true.
When mixing AND and OR terms, the logic is grouped by the OR terms. When evaluating the wait condition, the first term is evaluated along with all AND terms immediately following up to but excluding the next occurring OR term. If they all evaluate true, the wait condition evaluates true. Otherwise, evaluation continues with that next occurring OR term and all AND terms immediately following it, up to the next OR term. This continues until either an OR group evaluates true and the wait condition is satisfied, or all terms have been checked.
Examples
Expand for examples
Wait until full, up to 30 seconds:
Full cargo inventory OR 30 seconds passed
Wait until cargo full, or circuit condition Oil > 3000:
Full cargo inventory OR Circuit condition - Oil > 3000
Wait until empty, and 30 seconds passed, and 5 seconds of inactivity:
Empty cargo inventory AND 30 seconds passed AND 5 seconds of inactivity
Wait until iron ore is low, or copper ore is low and at least 30 seconds passed:
Cargo: Iron ore < 500 AND 30 seconds passed OR Cargo: Copper ore < 500 AND 30 seconds passed
Factorio's wait condition logic is read as disjunctive normal form (DNF), and so this last example is processed as (note the parenthesis):
((Cargo: Iron ore < 500 AND 30 seconds passed) OR (Cargo: Copper ore < 500 AND 30 seconds passed))
Which is the same as this:
((Cargo: Iron ore < 500 OR Cargo: Copper ore < 500) AND 30 seconds passed)
Unfortunately, there is no way to write that shorter form in the current UI.
Troubleshooting
Below are some things to verify if a rail system or train is not working.
- Is the train fueled? Ensure that the locomotive has fuel/ja of some kind.
- Misplaced or non-functional switches? Ensure that the train can plan a path through the switches.
- Another train on the same segment/ja| or block/ja|? Make sure the path of the train is unobstructed.
- Train stops placed correctly? Make sure that the yellow arrows when hovering on the stop point towards the end or exit of the stop.
- Is the train allowed to enter signals from the right direction? Are the signals set correctly?
- If a track is supposed to be two-way, the rail signals should be opposite each other. You can verify they match up by hovering the cursor over one. For a matched pair, it will show the other.
No path
When trains cannot reach the target, a "no path" symbol pops up over the locomotive. Check:
- Can the train reach its current destination by only driving forward? Build turning slopes or place a locomotive at both ends of a train!
- Are the train stops standing in the right direction? Train stops must be on the right hand side of the track.
- If you use rail signals, check that the signals are all allowing traffic in the correct direction.
- Check for interruptions in the train tracks, drive to the station manually to check there are no rail parts missing. Especially near junctions these can be hard to spot if missing.
If you are still having problems, consider:
- Driving the train manually, and as you pass each switch, try switching to automatic. When it works, you will know the rough area of the problem.
A pictorial summary of typical problems.
Achievements
Trans-Factorio express Have a train plan a path 1,000 tiles or longer. |
Connection to OpenTTD
Factorio's railway system works basically exactly like the block signals in Open Traffic Tycoon Deluxe. Players who have ever played that game will find some elements of it in Factorio. If not, they can learn from the OpenTTD documentation.