大通りは反対車線に移れないため街路のほうが使い勝手がいい、ということにここ数日でやっと気づき始めた。そしたらタイムリーに交通の詳細を説明する公式ブログのエントリーが来た。いつもどおり逐語訳ではなく冗長な部分は訳し落としたり意味が通じるように大きく表現を変えているところもある。バリューのあたりは自分でもよくわからん訳になっているので後で直すかも。原文はここ。
意外と奥深いかもなー。でも最初からもっと説明が必要なところだったと思う。
——
交通システム担当のAlexander Harknessより。
交通システムがどのように動き、そしてみんながどうそれを活用できるかについて説明したい。
車両の挙動
基本
ゲーム内のすべての乗り物はトップスピードや加速性や減速性といった基本的な特徴を持っている。設定されている値は乗り物のタイプごとに異なっている(スクーター、乗用車、トラックなど)。乗り物の資産的価値、配送が終わったあとの重量の変化したところなどもだ。
車線の変更
乗り物は常に、次にしなければならないことに応じて適切な車線に入ろうとする。だから、右折するときには右側の車線に移動しようとする。左折するときは左の車線に入ろうとする。直進はどの車線でも可能だ。前の車両がゆっくり進んでいて、追い越すスペースがあるときは、左車線を使って追い越す。緊急車両はどの車線でも使って追い越しができる。車両が現在の道路区域にあるビルに入ろうとしている時、常に右車線に位置どろうとし、停止中の消防車のような障害物があるときに限りその車線から移動する。
制限
車両にどこでも好きな場所でUターンさせると多数の交通問題を引き起こすことにかなり早くから気づいていた。そのため交差点でのみUターン可能にせざるを得なかった。他の回避できなかった制限は、大通りではビルに入るために中央分離帯を超えられないことと、緊急公共車両だけが建物の外で停車できることだ。ということは車両の目的地が車線の反対側に存在すると、Uターンするために次の交差点まで行かねばならないから、移動距離が増えるということだ。当然この点から、交通問題を解消するために街路をすぐに大通りにアップグレードするのは、必ずしも賢明な措置ではないということがわかる。
緊急車両
現場までの走行
すべての緊急車両は行く手の信号を緑に変えることができる。車両が信号につくまでには信号は緑に変わっており、信号機のすべての交通は動き始めているはずということになる。だが深刻な渋滞の時には、緊急車両が信号を緑に変えたあとでも車が動かないということもありうる。これは潜在的に交通麻痺の原因となるとがあるため、緑信号のロックが解除される。
建物外での停車
すべての緊急車両は事態に対処中のときは目的地の建物のそばで停車する。これは一時的に建物そばの車線で障害物となり、どれだけの期間そうなるかは事態の内容によってことなる。2車線道では事態が解決するまで完全に道が塞がれるという交通問題の原因となる。4車線や6車線道では事態が起きている建物に入ろうとする車両以外は、横をすり抜けていく。
最近の変更
最新のアップデートで緊急車両を他のすべての車両より優先させる新しい機能を追加した。一つ目の変更はすみやかにガレージを出られるようにしたこと。以前は渋滞していると、出動するための隙間があくかどうかわからない中で、その隙間があくのを待たねばならなかった。もう一つの変更は、どの車線からでも自由に右折、左折できるようにしたことだ。
交差点
一時停止交差点
このタイプの交差点では、車両は最初に到達したものが最初に動くというルールに従う。このルールは2つのケースで破られる。一つ目は、同時に動いても互いの進行方向が交差しない複数の車両があるとき。2つ目は道がふさがっていて車両が動けない時だ。この場合、次の車両が車列の先頭となり、先頭の車両は後ろへ下がる。
信号機
信号機は一時停止交差点よりもずっとうまく交通の流れを改善することができる。テスト時には交差点の交通量を4-5倍まで増加させた。信号機は待っているのが車か歩行者かを判別できる。待っているか、近づいている車がないとき、別の側の信号機が緑になる。そしてその信号機は交差方向から車両が近づいてくるまで緑のままになる。交差方向の両方から車が来ている時、信号機はカウントダウンを始める。このカウントダウンは交差点に接続している道路の組み合わせしだいで異なる長さになる。広くて高密度の道のほうが緑でいる時間が長い。
側道のストップ
これは停止標識や信号によって妨げられることのない自由な交通フローを可能にする、街を通り抜ける通路を作るのに非常に役立つことがある。これは四車線道よりも広い道に、二車線道か未舗装道を側道としてつなげることで作れる。
交差点の生成
より良い交通フローを生み出すために、十字路よりもT字路のほうが役立つ。これはT字路のほうが対向車と交差する車両が少ないという単純な理由による。車の流れを横切って左折しようと待つ車列をよく見かけるのではないだろうか。他に避けたほうが良いのは、交差点を近くに作りすぎることだ。これはある交差点が緑の間の交通フローが次の交差点に向かい、そこで待ち車列をつくるための領域が非常に短かくなることで緑信号の時間にほとんど車が通行できなくなり無駄になってしまうためだ。
ルーティング
ルーティングシステムがどのようなものか理解するために、まず道がどのように作られ、道の魅力(バリュー)がどのように広まり、そしてプレイヤはそのバリューにどう影響を与えられるか話そう。
道路
道路は多くのパスによって構成され、パスは一つかそれ以上のセグメントによって構成される。パスとは2つの交差点の間の道路のことだ。各パスはひとつ以上のセグメントからなり、その数はカーブの形状やパスが通っている地形によって変化する。
重み付け
キャパシティがあるセグメントにはそのキャパシティに基づいてバリューが与えられる。以下の例では職場(下の黄色いマス)に10の求人があり、セグメント4の両端に10の基本バリューを与える。このバリューは車両が通らなければならないセグメントの長さに追加されながらネットワークを通して広がる。この例ではセグメント2と3はそれぞれ50メートルで、セグメント1は200メートルだ。
これに継続的に再計算されつづける渋滞バリューが加算される。これは道路のキャパシティが25%、50%、75%の閾値に達したときにネットワークに加算される。完全なパスネットワークの再計算が継続的に行われているので、オーバーヘッドを避けるためにそうしている。知っておくべきことは、無数のネットワークが存在し、そこで車両が持つ多数の異なる目的地をカバーするための再計算が絶えず行われているということだ。例えばセグメント2が50%を超えたとする。するとそのセグメントの長さは予め定められた量、たとえば10倍に増加される。したがってバリューは10,10,510,560,760となる。
バリューに影響を与える
次のYoutubeビデオの中のシナリオを取り上げてみよう。上でやったように、各セグメントとセグメント端のバリューをマークした。このレイアウトでは、車両はまず家(下の緑)を出て、セグメント5,6,2、1を使って職場(左の黄色)へ向かう。セグメント6が混雑してバリューが変動すると、車両はセグメント4,3を使って迂回するようになる。しかしこの場合セグメント6が存在するパス上には、セグメントはその6ひとつだけしかないので、セグメント2,3,6の間にある末端のバリューは同じである。バリューは現在の値の60から変更されない。セグメント3から2への距離は50メーター長いだけであり、最低値が常に適用されるからだ。
だがパスを複数のセグメントに分割すればネットワークに干渉できる。一番簡単なのはパスの中間に未舗装道を敷いて、それからブルドーザーでそのパスを壊す。するとバリューの適用量が変化し、車両に遠回りだが渋滞していない道を選ばせることができる。
言うまでもなくこれはプレイヤーにとって理想的な解決法ではない。プレイヤーにはパスがどこで分割されているか見えないのだから。我々はルーティングを改善するために努力している。
最後に
公共交通機関
一般的に言って、交通量はシフトの変化がはじまる午前6時と午後6時のおよそ1時間前には最低まで落ち込んでいなければならない。混雑が積み重なってこのポイントが近づいてくるのがわかったら(再び交通量が増大する6時に近づいても交通量が最低まで落ちないなら)、私は公共交通機関の準備を考え始めることにしている。バス停の設置をするときの緑のオーバーレイはシムがバス停まで歩ける距離を表している。バスは定められたルートを通らないため、同じ車線にバス停を詰めて設置し同じ車線の次のバス停に向かわせるのはいいアイディアだ。そうすれば次のバス停へ向かうためにUターンする必要がなくなる。
バスに加え、大通りをアップグレードして路面電車を走らせるのもいいだろう。路面電車はバスと同じく交通渋滞で詰まることがないので私の好みだ。だがそれは余分なトラフィックを生じさせることがあり、多数の大通りで事態を悪化させてはならない。最も人口密度の高い住居と職場をカバーするルートにそって配置し、シムズが車に乗る代わりに歩いていけるような場所に停留所を設置すること。
覚えておいて欲しいのは、大通りはすべての交通問題の解法ではないということ。そして君の道路網がもはや現在の交通量に対処できなくなっているという明らかな兆候を見逃さないでほしい。