ここではOpenTTD内でどのような計算が行われているかの情報を得ることができる。
駅の評価がどう算出されているか、商品がどのように分配されているか知りたいだろう?ここにはその全てがある。
Contents |
企業の格付
企業の格付に関するそれぞれの項目は線形に影響する。つまり、ある項目の50%を達成していたら、その項目に割り当てられている点数の50%を得ることができる。金額が含まれている項目では、ゲームで利用している通貨に換算される。ゲーム内では通貨はポンドで計算されている。
項目 | 目標 | 点数(最低) | 点数(最大) | 割合(%) |
---|---|---|---|---|
前年に収益を上げた社有の車両の台数 | >=120 | 0台の場合0点 | 120台以上で100点 | 0 から 10% |
最近利用した社有の駅の数(駅タイル数?) | >=80 | 0の場合0点 | 80以上で100点 | 0 から 10% |
2年以上経過した車両の最低収益 | >=£10,000 | 赤字か£0の場合0点 | £10,000以上で100点 | 0 から 10% |
過去3年以内の各四半期における最低収益 | >=£50k | £0の場合0点 | £50k以上で50点 | 0 から 5% |
過去3年以内の各四半期における最高収益 | >=£100k | £0の場合0点 | £100k以上で100点 | 0 から 10% |
前年に輸送した貨物の量 | >=40,000 | 0の場合0点 | 40,000単位以上で400点 | 0 から 40% |
全四半期に輸送した貨物の種類 | >=8 | 0種類で0点 | 8種類以上で50点 | 0 から 5% |
現在の所持金 | >=£10m | £0の場合0点 | £10m以上で50点 | 0 から 5% |
現在の銀行からの借金 | £0 | £250kより大きいと0点 | £0で50点 | 0 から 5% |
合計 | 0点 | 1000点 | 0 から 100% |
|
|
駅の評価
この章では駅の評価に影響する要因について示している。それぞれの要素は貨物の種類ごとに独立して計算される。
要因 | 条件 | 点数 | 寄与率(%) |
---|---|---|---|
貨物を積載するために利用した最後の車両の最高速度(最大255km/h) 道路車両の場合は条件の速度を半分にする。 |
85km/h(52mph)以上 | (速度 (km/h) - 85) / 4 | 0% から 17% |
積載に訪れた最後の車両の使用年数 | 2 | 10 | 4% |
1 | 20 | 8% | |
0 | 33 | 13% | |
最後の貨物が積載されてからの経過日数 最後の車両が船舶の場合、条件の日数を4倍する。 (注意:車両が積載するために駅に到着したが積載する貨物が存在しない場合、またはその車両が満載の場合も積載したと考慮される。おそらくバグ.) |
30 から 52.5 | 25 | 10% |
15 to 30 | 50 | 20% | |
7.5 to 15 | 95 | 37% | |
7.5未満 | 130 | 51% | |
駅で積載待ちの貨物量 注意:転送により貨物が他の駅に運ばれてその駅で積載待ちされている場合、その駅で積載待ちしている最大量が元々の駅で積載待ちしているものとして考慮されているようだ(参考:TruncateCargo())。これは以下の条件を満たしたときに駅が貨物を廃棄すること(waiting_changed = true)をトリガーとしている。 |
1500以上 | -90 | -35% |
1001 から 1500 | -35 | -14% | |
601 から 1000 | 0 | 0% | |
301 から 600 | 10 | 4% | |
101 から 300 | 30 | 12% | |
100以下 | 40 | 16% | |
社長の彫像が駅のある街にある | ある | 26 | 10% |
イベント | 条件 | レーティング変化(点数) | レーティング(%の値)変化 |
小規模広告キャンペーンを実施 | 街の中心から10タイル以内の駅 | +64 | +25pp |
中規模広告キャンペーンを実施 | 街の中心から15タイル以内の駅 | +112 | +44pp |
大規模広告キャンペーンを実施 | 街の中心から20タイル以内の駅 | +160 | +63pp |
道路車両の事故 | 事故地点から22タイル以内の駅 | -160 | -63pp |
列車事故 | 事故地点から30タイル以内の駅 | -160 | -63pp |
賄賂の発覚 | 街の影響範囲内の駅 | -255 | -100pp |
点数の合計値を255で割ると、パーセント表記のレーティングとなる。レーティングの最大値は100%である。 駅の評価は2.5日ごと(185 ticks)に計算される。イベント内の項目が発生した場合を除き、駅の評価は2.5日のサイクルごとに2点(0.78%)以上は変化しない。イベントは近隣の駅に対して即座に一時的な評価の上昇(または悪化)を起こす。評価は緩やかに(2.5日に2点ずつ)元の値に戻っていく。
産業からどれだけの量の貨物が輸送されたかに駅の評価はかかっている。これは、ある産業に対して駅が一つしか存在しなかった場合、駅の業過の%の値がそのまま産業の生産量に掛け算されて供給されることを意味する。つまり、産業から算出される貨物の量が少ないということは、駅の評価が低いということを意味する。
注意: 正確な計算式はstation_cmd.cppの"UpdateStationRating()"に記載されている。この計算式にはeconomy.cppの"LoadUnloadVehicle()"にある値が使用されている。
注意: 駅の評価が50%未満になると、駅は貨物を廃棄し始める。
注意: 積載待ちの貨物が4,096以上(または4,096,000リットル以上)になると、駅は同様に貨物を廃棄し始める。さらに、駅に待機できる貨物は32,768単位が上限である。これ以上の貨物は2,3日ごとに消滅する。[5]
駅への貨物配分
商品は駅の評価に応じて分配される。
駅が一つしか存在しない場合、2.5日ごとに駅の評価のパーセンテージを掛け合わせた量の商品を供給する。
複数の駅が存在する場合、商品は評価を基準に分配される。複数の企業の駅が存在する場合、商品はまずそれぞれの企業で最も良い評価の駅を持つ企業に分配される。企業Cに分配される商品の量は、すべての会社の最も良い評価の駅の合計に対する、企業Cの最も良い評価の駅の割合に等しくなる。その後、各企業に割り当てられた数量に応じて各駅に商品が分配される。企業Cの所有する駅Sは全ての企業Cの駅の評価の合計に対する駅Sの評価の割合を基準としていくらかのばらつきをもって受け取る。
地方自治体の評判
評判はプレイヤーが街の周辺で可能な行動を制限する。街の評判は+500からスタートし、プレイヤーの行動によって変化する。
街の影響範囲内で200本の木を植林することで街の評判を上げることができる。場合によっては植林するために土地に存在する何かを除去する必要があるが、木を200本植林すると、評判が最低値の-1000だったとしても、220まで上げることができる。評判が平凡以下の場合、30本の木を植えることは駅を建設したことによる評判の低下を挽回するのに十分である。評判が良い以上の場合、木を植えることによる評判への影響はない。
|
** デフォルトの建物の場合。NewGRFはこの値を0から1000以上まで設定できる。大きな値にすると建物を破壊できなくなる。 |
毎月プレイヤーの評判が自動的に変化する。
- 評判が200以下の時、5増える。
- 過去50日以内にそれぞれの駅が貨物を輸送していれば、12増える。
- 過去50日以内にそれぞれの駅が貨物を輸送していなければ、15減る。
例
あるプレイヤーの評判が-300(とても悪い)だったとして、2つの利用されている駅と1つの利用されていない駅が街の中にあったとする。
5pts + 2 * 12pts - 15pts = 14ptsとなり、毎月14点得ることができる。
よって、(-200 - (-300))pts / 14pts/mo = 8となり、8か月後にもう一つの駅が建設可能になる。
街の評判についてのコードは town.h, town_cmd.c, tree_cmd.c, road_cmd.cに記載されている。
乗客と郵便物の生成
街と企業の本社ビルは乗客と郵便物を生成する。一方、海上油田は乗客のみ生成する。
街による乗客の生成
周期的に(256 tickごとに)、各家タイルごとに乱数X(0-255)が生成される。その乱数Xが家の人口より小さかった場合、その家は乗客を生成しない。乱数Xが家の人口より大きかった場合は、X/8+1の乗客を生成する(小数点以下切り捨て)。景気後退時には、生成された乗客の人数が半分になるが、小数点以下は切り上げられる。郵便物もほぼ同様の計算で産出されるが、新しい乱数を生成し、人口ではなく郵便物の生成量と比較する。各家の生成量やデフォルト値についての詳細は[6]を参照のこと。
本社ビル
本社ビルには企業の格付に応じたレベルがあり、乗客や郵便物を生成する特殊な建物である。本社ビルのレベルが高ければより多くの乗客や郵便物を生み出し、その生成量は本社ビルの4タイルそれぞれに均等に分配される、タイルごとの生成量は以下の式で求めることができる。
乗客: 256 / 4 タイル / (6 - 本社ビルレベル (1から5) )
郵便物 : 196 / 4 タイル / (6 - 本社ビルレベル (1から5) )
産業の生産量
ここでは各産業が毎月の生産量をどのように決定しているかを解説する。資源の生産は毎月8回または9回発生する。(正確には256 tickごとに発生する。1日は74 tickで1か月は28日から31日である(date_type.h)。このことから、2月の28日間には9%の産業が9回生産を行うが、3月などの31日ある月には96%の産業が9回生産を行うことが分かる)。生産量は月内に生産量の変動がなければ、常に8か9の倍数である。
以下の表はなだらかな経済変動の設定でゲームを始めた際の生産量の初期値である。すべての数字は8の倍数である。ゲームが新しくマップを生成したとき、ゲーム開始直前の12月にすべての産業が8回生産を行い、生産変動が発生しないためである。
一次産業 | 供給貨物 | 初期の生産量範囲 | ||
---|---|---|---|---|
鉱山 | 石炭 | 56 から 176 | ||
森林 | 原木 | 48 から 152 | ||
海上油田 | 石油 | 56 から 176 | ||
農場 | 穀物と家畜 | 40 から 112 | ||
銅鉱山 | 銅鉱石 | 56から to 112 | ||
油田 | 石油 | 48 から 152 | ||
鉄鉱山 | 鉄鉱石 | 40 から 112 | ||
銀行 (温帯) | 貴重品 | 24 から 64 | ||
金山 | 金 | 24 から 80 | ||
ダイヤモンド鉱山 | ダイヤモンド | 24 から 80 | ||
果物農園 | 果物 | 40 から 112 | ||
ゴム園 | ゴム | 40 から 112 | ||
水源施設 | 水 | 48 から 152 | ||
農場 | コーン | 40 から 128 | ||
製材所 | 原木 | 180 または 225 (木がある場合) | ||
綿菓子の森 | 綿菓子 | 48 から 152 | ||
電池農園 | 電池 | 40 から 128 | ||
コーラ井戸 | コーラ | 48 から 136 | ||
プラスチック泉 | プラスチック | 56 から 160 | ||
発砲所 | 泡 | 48 から 152 | ||
タフィー鉱山 | タフィー | 40 から 112 | ||
砂糖鉱山 | 砂糖 | 40 から 128 |
(この表の産業と貨物について計算したい場合は、_origin_industry_specsにあるbuild_industry.hを参照のこと。例えば砂糖鉱山はCT_SUGAR, 11
となっているため、11から始まる。そこで、industry_cmd.cppのDoCreateNewIndustry()にある計算式を使用すると、上記の数字に128から383のランダムに生成された整数を掛け算して、256で割り、小数点以下を切り捨てる。すると、11を入力すると5から16になる。最終的にこれに8をかけることで、40から128となる)
生産量の変動
毎月いくつかの産業の生産量がランダムに変化する。
オリジナル(TTD風の経済ルール)
256x256タイルのマップでは、毎月1つの産業の生産量が変動する可能性がある。この数字はマップサイズに比例しており、"Daily production changes"という関数に記載されている(r14332)。
- なだらかな経済では、産業は毎月8回か9回生産を行う。
しかし、生産量自体は6つのレベルに制限されている。最低、低い、普通(新規ゲーム開始時か産業を新設した場合はこのレベル)、多い、2倍多い、最多の6つである。 生産量の変動はこのレベルの間で行われ、半分になるか2倍になるかである。
-
例
- 炭鉱の場合:最低(毎月32tまたは40t)、低い(64または72)、普通(120または135)、多い(240または270)、2倍多い(480または540)、最多(960または1080)
- 森林の場合:最低(毎月32tまたは64)、低い(35または70)、普通(78または117)、多い(208または260)、2倍多い(416または468)、最多(832または936)
- 金山の場合:最低(毎月12袋または18袋)、低い(32または40)、普通(56または63)、多い(112または126)、2倍多い(224または252)、最多(448または504)
簡単に考えるため、256x256のマップで最大でも毎月1つの産業の生産量が変動する場合を考える。
-
毎月の生産変動の可能性は、
-
50%は
only_decrease
(減少のみ)の産業で生産量が減少する(現在は温帯マップの油田のみ)、または -
50%は1/3の確率(つまり、16.7%)でその他の産業(
only_decrease
ではない産業)の生産量が変動する。
-
50%は
-
生産量の変動が発生した場合(毎月16.7%の確率で発生する)
- 産業の評価が悪い、または輸送サービスがない場合(輸送済みの貨物量が60%未満の場合): 33%の確率で生産量が増え、67%の確率で生産量が減少する。
- 産業の評価が良い(60%以上)の場合: 67%の確率で生産量が増え、33%の確率で生産量が減少する。
- デフォルトの経済環境ではすばらしいになっていても追加の変動はない。
-
ある特定の変化が起きる確率は以下の通りである。(つまり、ベースは50% * 1/3 * 33% = 5.56%である):
- 評価が悪いの場合:毎月5.56%の確率で生産量が増加し、毎月11.12%の確率で生産量が減少する。
- 評価が良いの場合:毎月11.12%の確率で生産量が増加し、毎月5.56%の確率で生産量が減少する。
なだらかな経済変化の場合
This article or section is outdated. Some of its content may no longer be accurate due to changes in the latest release. Please update this article.
難易度設定とAdvanced settingは設定に置き換えられている
過去の設定では、Advanced SettingにはSmooth economy、難易度設定にはSteady economyがあり、別の設定だった
- 毎月の生産量変動の可能性は4.5%である。つまり、産業リストにある産業の4.5%が生産量を変動させる。
-
生産量の変動が発生した場合:
-
only_decrease
(減少のみ)の産業(現在は温帯マップの油田のみ):0%の確率で生産量が増え、100%の確率で生産量が減少する。 - 産業の評価が悪い、または輸送サービスがない場合(輸送済みの貨物量が60%未満の場合): 33%の確率で生産量が増え、67%の確率で生産量が減少する。
- 産業の評価が良い(60%以上)の場合: 67%の確率で生産量が増え、33%の確率で生産量が減少する。
- 産業の評価がすばらしい(80%以上)の場合: 83%の確率で生産量が増え、17%の確率で生産量が減少する。
-
-
以下の数字は互いに掛け算される(たとえば、4.5% * 33% = 1.5%)
-
only_decrease
(減少のみ)の産業:0%の確率で生産量増加、4.5%の確率で生産量減少。 - 産業の評価が悪い場合:1.5%の確率で生産量増加、3.0%の確率で生産量減少。
- 産業の評価が良い場合:3.0%の確率で生産量増加、1.5%の確率で生産量減少。
- 産業の評価がすばらしい場合:3.75%の確率で生産量増加、0.75%の確率で生産量減少。
-
-
エコノミータイプをなだらかに設定している場合、毎月の生産量変動は3%から23%の間である。
- 生産量が非常に少ない産業(毎月12から40トン)は、より大きく変動する。
- 一次産業は毎月8回か9回生産する。毎月の生産量は各産業の'基本値'を8倍または9倍して算出されている。例えば、炭鉱の基本値が15トンの場合、毎月の生産量は120または135トンになる。この基本値の上限は255なので、すべての産業の最大生産量は2040または2295である。参考
特殊な場合
- 海上油田の乗客生成は生成ごとに16が上限であり、毎月128または144の乗客が上限である。[7]
- 製材所は資源を算出しない二次産業としてコードには記述されている。しかし、月に4,5回製材所は自身を中心に40x40タイルを渦巻き状に最大値まで成長している木を探して伐採する。もしそのような木が見つかった場合、そのタイルは更地となり、45トンの原木を生成する。つまり、木の存在に依存するが、製材所が225か180トンの原木を生産することになる。[8]
- 温帯マップの銀行は生産を変動させない(月に8回か9回生産することによる変動は除く)。
例
炭鉱から石炭が70%輸送されている場合、生産量が3-23%上昇する確率が3%(4.5% * 67%)あり、3-23%(平均13%)減少する確率が1.5%(4.5% * 33%)ある。
よって、 (1 + (0.03 - 0.015) * 0.13) ^ 12 - 1 = 0.0237 or 2.37%
つまり、炭鉱は2年目以降平均2.37%ずつ生産量を増加させる。
(1.0237 ^ 20) - 1 = 59.6% : 20年後には平均して59.6%増加させる。
(1.0237 ^ 50) - 1 = 321.8% : 20年後には平均して321.8%または3.22倍となる。
(1.0237 ^ 100) - 1 = 10.35x : 100年後には10.35倍となる。
産業の評価が80%以上の場合、生産量を増価させる確率は3.75%であり、減少させる確率は0.75%である。
(1 + (0.0375 - 0.0075) * 0.13) ^ 12 - 1 = 0.0478 または 4.78%
つまり、2年目以降平均して4.78%生産量が増加する。
(1.0478 ^ 20) - 1 = 2.54x : 20年後には2.54倍になる。
(1.0478 ^ 50) - 1 = 10.32x : 50年後には10.32倍になる。
(1.0478 ^ 100) - 1 = 106.62x : 100年後には100.62倍になる。
only_decrease
の設定になっている産業(温帯マップの油田)は、4.5%の確率で減少する
(1 + (0 - 0.045) * 0.13) ^ 12 - 1 = (0.99415) ^ 12 -1 = -0.068 または -6.8%
つまり、2年目以降平均して6.8ずつ生産量を減少させる。
(0.9320 ^ 20) = 24.46% : 20年後には初期の生産量の24.46%になる。
(0.9320 ^ 50) = 2.96% : 50年後には初期の生産量の2.96%になる。s
ln(0.5) / ln(0.99415) = 118.1か月、または9.84年がonly_decrease
の産業の半減期である。
ln(8 / 48) / ln(0.99415) = 305.9か月、または25.4年は48単位/月で開始した油田の平均寿命である。
ln(8 / 152) / ln(0.99415) = 501.8か月、または41.8年は152単位/月で開始した油田の平均寿命である。
"良い"評価の産業では、平均して29.6年で生産量が2倍になり、"すばらしい"評価では14.8年で2倍`になる。ゲーム中の1日が2.36秒の場合、生産量が2倍になる時間は"良い"評価で7.1時間であり、"すばらしい評価"では3.6時間である。ほぼ最低値の100程度の生産量の産業が最大値の2040または2295になるには"良い"評価で130年、"すばらしい"評価で65年かかる。
しかし、実際のゲーム中での生産量変動の割合はランダムである。上記の確率はただの参考であって、長い目で見た時の確率であると理解しないとストレスになるだろう。各々の産業は上記の平均から大きく逸脱することもある。統計的に言えば、6/10の産業は最高の評価を65年続けても100から2040-2295の生産量まで成長しない。1/9の産業は60-80%の評価を50年続けても、生産量を減少させる。
より産業の評価を高めるためには、産業の生産量に適した貨車の数(最低レベルの生産量の産業では2台の貨車で十分だろう)を利用することだ。[満載]の指示は通常そのような貨物列車に利用する。
注意:正確な計算式はindustry_cmd.cppの"ChangeIndustryProduction()"に記載されている。
運送報酬の相場
貨物を輸送した際の収益は4つの要因から計算される。その4つの要因は、輸送した貨物量、貨物の価値、輸送した距離、どれだけ時間通りだったか、である。
貨物 | 単位 |
早着時間 (日数) |
遅延時間 (日数) |
初期の貨物価格 (ポンド) |
---|---|---|---|---|
旅客 | 即時 | 24 | £39 | |
貴重品 | 袋 | 1 | 32 | £91 |
家畜 | 頭 | 4 | 18 | £53 |
穀物 | トン | 4 | 40 | £58 |
商品 | 箱 | 5 | 28 | £75 |
石炭 | トン | 7 | なし | £72 |
鋼鉄 | トン | 7 | なし | £69 |
鉄鉱石 | トン | 9 | なし | £62 |
原木 | トン | 15 | なし | £61 |
石油 | キロリットル | 25 | なし | £54 |
郵便物 | 袋 | 20 | 90 | £55 |
亜寒帯マップ | ||||
Wheat (en) | Tons | 4 | 40 | £58 |
Paper (en) | Tons | 7 | 60 | £66 |
Gold (en) | Bags | 10 | 40 | £71 |
Food (en) | Tons | Immediate | 30 | £69 |
亜熱帯マップ | ||||
Rubber (en) | Kiloliters | 2 | 20 | £54 |
Fruit (en) | Tons | Immediate | 15 | £51 |
Maize (en) | Tons | 4 | 40 | £53 |
Tropical Wood (en) | Tons | 15 | None | £97 |
Copper Ore (en) | Tons | 12 | None | £59 |
Water (en) | Kiloliters | 20 | 80 | £57 |
Diamonds (en) | Bags | 10 | None | £71 |
おもちゃの国 | ||||
Sugar (en) | Tons | 20 | None | £54 |
Toys (en) | 25 | None | £68 | |
Batteries (en) | 2 | 30 | £53 | |
Sweets (en) | Tons | 8 | 40 | £75 |
Toffee (en) | Tons | 14 | 60 | £58 |
Cola (en) | Kiloliters | 5 | 75 | £59 |
Candyfloss (en) | Tons | 10 | 25 | £61 |
Bubbles (en) | 20 | 80 | £62 | |
Plastic (en) | Kiloliters | 30 | None | £54 |
Fizzy Drinks (en) | 30 | 50 | £76 |
初期の貨物価格は貨物100単位を1タイル輸送した場合の収益である。収益はゲームの進行に伴ってインフレする。
遅延配送によるペナルティは以下である。
- 早着時間以降、1日につき0.4%のペナルティ
- 遅延時間以降、1日につき追加で0.4%のペナルティ
- 最大ペナルティは88%
例(インフレがない場合):
200,000リットルの石油を10日で20タイル輸送した場合:
2 * £54 * 20タイル * 100% = £2160
100袋の郵便物を100日で100タイル輸送した場合
£55 * 100タイル * (1 - 0.80*0.4 - 0.10*0.4) = £3520
計算を簡単にするヒント:
収益 = 貨物量 * 貨物の単価 * 0.4
貨物の単価はゲーム中の運送報酬の相場グラフから実際に輸送した日数をX軸に取って読み取る。
これにより、5%刻みで大体の収益を予想することができる。
- 経験則として輸送距離は輸送速度の1-2倍にするとよい。つまり、200km/hの列車は300タイル前後の距離の輸送が理想的である。よく考えられた鉄道網では若干遠くへ輸送できるが、予期しない遅延により価値のある長距離輸送を破綻させてしまう。巨大なマップでは12%の最低値を利用することも一つの手段である。商品が超長距離を輸送される場合、とにかく遠くへ運べばよい。
- 正式な計算式は複雑であるが、大きな離散値の丸め誤差が発生してしまうため、より正確である。詳細についてはeconomy.cpp(GetTransportedGoodsIncome())と貨物による収益を参照のこと。
- 距離は駅の名前が記載されているタイルから計測し、産業からの距離や、車両が実際に走行した距離ではない。距離はタイル数のxとyそれぞれの差を合計することで計算(manhattan distance)されていて、直線距離ではない。
- それぞれの貨物には収益が最大化される日数が設定されている。その数値は算出された駅から一定の速度で常に輸送を続けることで推測することができる。"遅延時間"のペナルティを受ける貨物は大体70日であり、そうでない貨物は大体130日である。
車両の速度
OpenTTDの内部では"km-ish/h"(時速っぽい速度)で演算されている(km-ish/h = mph*1.6である)。 km-ish/hからkm/hへの変換は1.00584をかければよい。
1タイルは車両速度から664.(216) km-ishであり、668kmまたは415マイルである。これは以下の事実より導き出される。
- 1タイルはX/Y軸にそれぞれ16分割されている
- 車両はsubspeedと呼ばれるメモリに1 byte分の移動したタイルの履歴を記録しているため、256個の異なる値が格納されている。
- 車両の(実際の)速度がsubspeedに加えられる。結果を256で割ることで、subspeedと車両はその割り算の省の分だけ移動する。列車と航空機の実際の速度は km-ish/hであり、道路車両と船舶は0.5 km-ish/hである。列車と航空機では1tickに2回この計算を実施し、航空機と道路車両は1tickに1回計算する。
- 1日は74tickなので、24時間に換算する。
よって、1km-ish/hの車両は:(1 * 16 * 256) / (74 * 2) * 24 = 664.(216) km-ish移動する。
結果的に100km/hの車両は1日に3.6タイル移動する。
航空機
- 初期設定では航空機は記載されている速度の1/4の速度で飛行する(設定で変更可能である)。
- 航空機の加速度は航空機ごとに異なり、144 km-ish/h/日から400 km-ish/h/日である。
- 故障した飛行機は320 km-ish/hで飛行する。
- 空港内での移動速度は150 km-ish/hである。
道路車両
- 道路車両の加速度は37 km-ish/h/日である。
- 道路車両が交差点を曲がる速度は最高速度の半分である。
- 道路車両は下り坂で74 km-ish/h/日の追加の加速度を得る。
- 上り坂では1タイル当たり4回、速度を10%低下させる。これは全ての道路車両について34km-ish/hの速度の車両とバランスをとっている。
(注意:これらの数値は道路車両の加減速モデルがリアルの場合は適用されない)
船舶
- 船舶の加速度は37 km-ish/h/日である。
- "停止"している船舶は元々の速度に即復帰する。
列車
列車の加減速モデルがリアルの場合
- 機関車が十分にパワフルならば、上り坂と下り坂の影響を受けない。
- 列車庫の出入りと、90度に曲がる際には速度が61km/hに制限される。
- 45度に1回曲がるのと、45度に2回逆方向に(つまりS字に)曲がる場合は減速しない。
- 45度に2回以上同じ方向に曲がる場合、最高速度は下記のように制限される。
|
|
"曲率"は曲がり角の間の列車の平均貨車数である。非常に鋭いカーブ(曲率が0と1)の場合、長い編成の列車には平均の長さは無効である。
- 新しい線路種は3つのデフォルトの線路主と同様の方法でカーブの最高速度を設定することができる。
- チルト(傾斜)可能な列車は最高速度を制限速度から20%増加可能である。
- 列車の加速度と最高速度は出力、最大牽引力(連結されているすべての機関車とエンジン付き貨車を合計する)、現在の速度、空気抵抗、列車の合計重量、斜面上にあるかどうか、で決まる。
- tt-forumsにマグレブ以外の列車の加速に関するスプレッドシートがある。tt-forums
- 減速時は列車庫に入るときや駅で停車するときを除き、加速度の2倍である。
参考 : Realistic acceleration (en)とCorners (en)
より詳細なコードはground_vehicle.cpp, aircraft_cmd.cpp, roadveh_cmd.cpp, ship_cmd.cpp, train_cmd.cpp, vechicle.cppを参照のこと。
OpenTTD 1.6.1では出力はhp、最大けん引力はkN、列車の合計重量はトン、列車の連結数(機関車と貨車)、先頭車両の空気抵抗(NewGRF設定ではデフォルトはmin(192,max(1,floor(2048/max_speed)))
であり、速い列車ほどより流線形にできていると設定されている)、上り坂にある列車の連結重量(機関車と貨車)、下り坂にある列車の連結重量(機関車と貨車)、斜面の角度(設定により1-10の間の値になる、デフォルトは3)、そして列車の現在速度のkm/hを利用し、マグレブでない列車の加速度は下記のように計算される。
force = min((max_te * 1000), floor((power * 746) / (current_speed * 5/18))) [N]
slope_force = weight_on_upslope * slope_steepness * 100 - weight_on_downslope * slope_steepness * 100 [N]
axle_friction = total_weight * 10 [N]
rolling_friction = floor((current_speed + 512) * 15 / 512) * total_weight [N]
air_drag_coefficient = 14 * floor(air_drag_value * (1 + number_of_parts * 3/20)) / 1000
air_drag = floor(air_drag_coefficient * current_speed^2) [N]
acceleration = (force - (slope_force + axle_friction + rolling_friction + air_drag)) / (total_weight * 4) [256th of a km/h per half-tick]
注意:空気抵抗係数は列車の一部分でもトンネル内にある場合は2倍の値になる。
同じ値を利用して平衡速度も算出可能である。平衡速度とは同じ状態が続いたときに出せる列車の速度であり、下記の計算式で算出する。(定数としてrolling_friction
(つまり、速度は512km/h以下である)と仮定し、浮動小数点値のforce
とair_drag
を無視して整数として扱う。)
p = (slope_force + axle_friction + rolling_friction) / air_drag_coefficient
q = (-power * 746 * 18/5) / air_drag_coefficient
C = (27/2*q + ((27/2*q)^2 + 27*p^3)^(1/2))^(1/3)
equilibrium = min(max_speed, p/C - C/3, max(0, max_te * 1000 / air_drag_coefficient - p)^(1/2))
街の成長
街を参照のこと。