2014年12月6日土曜日

ゲーム小ネタ:A列車で行こう3Dで複数路線の相互乗り入れを設定してみる

 前回に引き続き、A列車で行こう3Dを使用してのダイヤ組み考察です。
今回は複数の路線が区間の一部を共用して運行する場合のダイヤの組み方を考えます。


<はじめに>

 鉄道経営シミュレーションで鉄道を敷設する場合、効率を考えて複雑なダイヤ設定を省くことがほとんどです。
たとえば同じ編成だけで回し続ける環状線や、終点以外にポイントを設けない複線などが代表的なところでしょうか。
その方が頭を使わないのでストレスも少なくて済みますし、子会社経営や財務再建などといった鉄道が絡まないシナリオ条件がある場合に余計な苦労が減ります。

しかし、現実の鉄道路線や市街地を再現しようとすると、特に大都市圏ではどうしても乗り入れ設定が必要になるところが出てきます。
現実に近づけようとすればするほど避けられない問題になる、ということですね。


<乗り入れ設定の難しさ>

 では、ゲームでの複数ダイヤの乗り入れは、普通のダイヤとどこがどう違い、どう難しいのでしょう。

 まずひとつに、駅区間によって列車の通過本数が異なる点が挙げられます。

すべての区間で車両が均等に走行する路線では、当然どの駅も車両の通過本数は均等になります。
もちろん営業時間によっては1、2本程度前後する可能性はありますが、それが直ちにダイヤに影響を与えることはまずありません。
(踏切があってバスやモブ車が多数往来しているような路線なら別ですが)

しかし、複数路線の乗り入れ設定を行った場合、乗り入れ区間の通過本数が多くなってダイヤが過密になります。
当然、全体のダイヤは「過密な区間基準」で組む必要があるので、駅ごとの収支や発展状況に偏りがおきます。
もしうっかり乗り入れを考慮せずにダイヤを組んでしまえば、過密区間で緊急停止などの運行障害が発生して最悪全線の運行停止に発展することもあります。
(この辺は首都圏の方なら実体験としてご存知かと思います)

 次に、乗り入れする路線のいずれかでダイヤ変更する場合、乗り入れるすべての路線に対してダイヤ調整が必要になることです。

これは考えてみれば当然ですね。
1つの路線でダイヤ変更を行い、乗り入れ区間を通過する時間帯が変わったとき、そこを併用する別の路線の通過時間帯がそのままなら編成の渋滞や正面衝突などが起きて大変なことになります。
そうならないようにするなら、全路線のダイヤを調整しなくてはなりません。

そのほか、各路線で車両の性能(特に速度と加速度)が異なる車両がある場合も注意が必要です。
速度の違う車両が同じ軌道にある場合、ダイヤ編成に「追突防止」の考慮も必要になるためです。
ただ、A列車3Dでは駅区間ごとの走行速度を制限できる設定があるので、乗り入れ区間だけ全編成の速度を同じにすれば防ぐことは出来ます。
(快速や急行などの再現がしにくくなりますが)
なおこの点は、全路線で同じ車両を使用するなら考慮の必要がありません。

このあたりは現実でも同様で、新型車両の導入や新区間開通、逆に路線の廃止などといった要因で1つの路線のダイヤ改正が入った場合、そこに接続するすべての路線も含めた大規模な改正が行われます。

 最後に、乗り入れ状況によっては分岐ポイントの設定が煩雑になることです。

実は、同じ区間を共用するとしても「複々線」という手法を使えばダイヤへの干渉を小さく抑えることが出来ます。
しかし、各軌道が同一階層にある場合、線路を余程うまく敷設しなければ2路線の軌道を交差させるようにポイントを敷設しなければなりません。

もちろん、勾配を使ってポイントを使わないようにする手もあります。
しかし、A列車3DではPC版などでできる「線路on線路」のような軌道は仕様上作れません(裏ワザ。。。というかバグ技除く)ので、勾配を設けるなら工夫が必要になります。
また、1つの駅で2つ以上の階層に停車ホームがある「複合駅」のようなものはありませんので、全路線を1つの駅に停車させるなら上り勾配と下り勾配をセットで使わなければなりません。
ちなみに複数の駅を1つの駅に見立てる手もあるのですが、処理的には別々の駅のため、合計の乗降車数が多くても発展状況は半分程度になります。

一番手間が少ないのはポイントを設けて横切らせることですが、その設定を乗り入れ区間を通るすべての編成に適用しないといけないので、油断すると分岐に失敗して大惨事、ということもあります。
特に複線では、乗り入れ区間に入る・離脱するのに分岐ポイントを2つ作らないといけないことが多いので、より危険度が増します。


ちなみにゲームではあまり関係ありませんが、現実ではここに「乗り継ぎ」という要素が加わるため、もっと複雑で緻密なダイヤ設計が行われることになります。
トコトンまでこだわりたいならそこまでつきつめてもかまいませんが、かなりハードな作業になる、ということは断っておきます。


<乗り入れ区間を設定する>

 乗り入れ区間のダイヤを組む場合、アプローチの仕方はいくつかあります。


 ひとつは、それぞれのダイヤ構成は極力変えず、始発時間などを調整して「合間を縫う」ような車両運行設定をすることです。

これはすれ違い設定できる駅の数や空きホームに余裕があったり、各路線の運行間隔に比較的余裕がある場合に有効となります。
もちろん過密気味なダイヤでも運行本数を減らせば対応できなくありませんが、そういった場合はもうひとつの方法を使ったほうがうまくいきます。

 この手法には難しい手順がほとんど要りません。
それぞれの路線で組まれたダイヤの、発車時間が固定されている箇所(営業開始時間や固定発車時刻など)を同じ幅でずらして設定しなおすだけです。

ただし、路線ごとに違う速度の車両を使用している場合は、速度の速い車両を先行させるようなダイヤ調整が必要になることもあります。
このとき、A3Dで新規追加された「駅間の運行速度を制限する」設定を利用すれば、比較的簡単に調整できるかもしれません。
ただし本来よりも低速で運行することで発着時刻がずれることになるため、時刻固定の箇所では問題なく発着できているかを十分に確認しましょう。

また、「同じ発着タイミングが繰り返されるような運行状況」になっているかも重要なポイントです。

時間が経過するごとに発着タイミングがずれるようだと、不確定要素(踏切や分岐点付近でのスローダウンなど)が起こった際に簡単にダイヤが狂ってしまいます。
また、高速モード時にダイヤ運行がまれにずれが生じる仕様になっていた場合、知らない間にダイヤが狂っていることもあります。
なるべく同じ発着タイミングになるようにしておくと、こういった不測の事態が起こってもある程度までなら吸収できます。


 もうひとつは、複数の路線をワンパッケージにしてダイヤ組みしてしまう方法です。

この方法だと、その区間を走行するすべての車両を考慮したダイヤになるため、上の方法より狂いにくくなります。
また、不確定要素の発生に対する脆弱性もある程度解消できます。

問題点は、ダイヤ設計が乗り入れ区間を中心としたものになるため、運行本数や所要時間が理想状態よりも劣るものになりやすいことです。
特に路線ごとに速度や加速度が異なる車両を使用している場合、その傾向はより顕著になります。
このあたりはある程度割り切り、より発展させたい路線に車両が集中するような編成にしましょう。

また、多数の路線が乗り入れているような場合は、それぞれのダイヤが干渉しあって収まりがつかなくなることもあります。
もし待ち合わせなどを調整してもどうにもならない場合は、乗り入れそのものをあきらめて折り返し運転などの路線設定に切り替えたほうが良いかもしれません。

ちなみに、ダイヤの組み方はおおむねこういった感じになります。
  1. 共用区間を同時間帯に走る車両をすべて抽出し、その時間帯の仮ダイヤを発車時刻固定で組む。
  2. そのダイヤを核にして、すべての路線の仮ダイヤを時間固定で組む。
  3. 各車両を実際に走らせ、緊急停止などの問題が発生しないことを確認する。
  4. 不要な固定発車設定を変更していく。
  5. 再度車両を走らせてダイヤに狂いがないか確認する。
  6. 発車時間固定の駅で「一定時間ごとに発車」の設定を追加し、全営業時間帯のダイヤを編成する。
  7. この状態で1日走らせ、すべての時間帯で問題なく運行できているかを確認する。
なお、すべて発車時間固定のダイヤを組めば確実に狂わなくなります。
しかしダイヤ調整を行う際にすべての発車時間を調整しなくてはならないため、どこかの設定を変更し忘れてしまうとあっという間に全線が止まってしまいます。
できるかぎり時間調整が不要な「OO分停車」などを使うようにしましょう。


<実例>

 今回も、A列車で行こう3Dの自作シナリオプレイデータを使います。
まずは路線図から。

路線図

(2022/9/21追加:駅名入り *サイズ注意)
駅名入り路線図

相変わらずわかりにくい路線図ですね。

簡単に説明すると、旅客路線が重なっているのは以下のとおりとなります。
  1. 画面中央付近の「青」(しまブルーライン)と「黄」(霜白本線)の一部
  2. 画面右側の「橙」・「赤」・「緑」(亜遊鉄の各線)

1が、時刻ずらしで乗り入れ調整したところです。

この区間は比較的駅数が少ないうえ、たまたますれちがいに利用できる駅があるため、ずらし調整で難なく収める事が可能でした。


時刻表・霜白本線 時刻表・しまブルーライン

色付きの部分が乗り入れしている区間で、互いの路線は北霜白駅ですれ違うようになっています。
さらによく見ると、各路線はともに2時間半という同じ間隔で発着を繰り返す設定になっているのがわかるかと思います。
これにより、どの時間帯でもずれることなく運行されるようになっています。


 2が、全路線をパッケージ化してダイヤ組みしたものです。

時刻表・亜遊鉄全線

この「亜遊鉄」は、ほとんどの区間が乗り入れになっています。
特に本線は、全区間を他の路線と共用しています。

これを眺めていても難しさは伝わりにくいと思いますが、どちらも時間を高速で進めるといつの間にか緊急停止で全線停止してしまうこともある、かなりきわどいバランスになっていたと言っておきます。
(もちろん時間さえかければどうにでもなるのですが、応募時はそこまでの余裕がなかったので)

ここまでくると、単純に時間をずらしてやる程度ではまずうまくいきません。
2つの路線まではほぼうまくいくのですが、3つ目の路線を入れ込もうとするとかなりシビアな設定が必要になります。
このケースでは、本線をメインダイヤとして他の路線の設定をすり合わせていく方法でダイヤを調整しています。

やりかたそのものは通常の単線ダイヤ設定と同じですが、一度にすべての乗り入れ路線(上の例だと3路線分)のダイヤを組んでいかないといけません。
ちょっとでも時間設定を誤れば正面衝突や駅停車渋滞が頻発してしまいますので、運用開始してもしばらくは監視が必要になります。

「それだと難しい!手間い!」という人は、まず乗り入れ区間の多い路線を「最適な発着時間、編成」で組みましょう。
その後に編成を「間引き」し、空いたところに編成が入ってくるように他の路線のダイヤを組めば、若干難易度は低くなる、と思います。(若干ですが)

 ちなみに霜白旭町と藁葺町の間で「正面衝突」している箇所がありますが、これはこの区間が複線の地下鉄路線になっているためです。
これは、城址公園の山をくり貫かないで中心街に鉄道を通すためにした措置です。
(マップ想定では、単線なら海や川沿いを通せるようにしたんですけどね。。。)


<最後に>

 これまでのシリーズでは経理面の仕様がかなり甘かったため、色々と現実離れした路線設計をしても子会社利益などでまかなえるため、比較的問題ありませんでした。

しかしA列車で行こう3Dでは減価償却費などの現実に近いコストを請求されるため、線路を造りすぎると思いのほか支出が増えて利益が減ってしまう可能性もあります。
出来る限り貨物列車を旅客路線に乗り入れさせたり、複数の路線で同じ軌道を共用させたりする方法は、コストカットの面でも割と役立つのではないかと思います。

 ちなみに、「24時間フル稼働・停車時間10分の環状線」ばかりを造ってきた人がいきなりこういった路線を組むと、勝手が違いすぎるのでかなり混乱すると思います。
まずは環状線や複線といったダイヤが狂いにくい路線でダイヤ組みのコツをつかんだ後、単線や乗り入れなどの複雑なダイヤに手を出すようにしましょう。


以下おまけ。


 自身がA列車で行こう3Dのコンテスト入賞シナリオ「企業倒産のつめあと」で組んだ単線中心のダイヤは、すべて実際にダイヤグラム(もどき)を描きながら調整していました。
本来なら実際に書いたダイヤグラム(手描き)を掲載したいところなんですが、描いたものがとても人様にお見せできない「なんじゃこりゃ」な代物になっているのでちょっと掲載は控えさせていただきます。

 。。。とか言うと「実際はやってないんだろwwうぇwww」と言う方もいるかと思うので、乗り入れ箇所の一時間帯について軽く清書したものをさらしてみます。

ダイアグラム(霜白<>三ツ丘)

本当にこんなカンジでチラ裏に書いてます。

図では駅の停車・発車時刻部分にはわかりやすいよう枠囲みをつけていますが、実際のものにはありません。
時刻と線が重なっていて見づらいところも多々あったりします。
実物見るとホントにチラ裏ですよ^ー^;


 あと本文に載せた時刻表の四方山。

一番乗り入れ状況がヤバいのが南部から東北方向に伸びる亜遊鉄路線なのですが、実は路線が未完成の状態でゲームクリアしてしまったので、かなり残念な感じになっています。
コンテスト応募締め切りのギリギリまでやってたせいですね、はい。

本来ならもっと支線を延ばしてマップ右側の発展につなげる予定でした。
そうなるともっと複雑な路線になっていたはずなので、正直どうなったことやら。

もし時間があればダウンロードコンテンツ版「企業倒産のつめあと」の半公式ライバル会社として理想に近いクリアデータになったものを公開させていただきたいところなのですが、正直もう一回単線区間縛りプレイをしてクリアできる自信がありません。
(やり直しを含めて数日徹夜しているので)

難易度ふつう、ならいけそうですが、本当なら「スタジアム」とかも作る予定だったのでどこまでやれることやら。。。

あまり期待はしないでくださいね ^ー^;

6 件のコメント:

ひだじ さんのコメント...

作者様がどのように開発したのか非常に興味があるので
企業倒産のつめあとのライバルデータを配布して頂けないでしょうか…
またできればで良いのですが、マップの細かな場所の地名を知りたいです…

十木獅音 さんのコメント...

作者です。

まずライバルデータですが、
この投稿に使用しているコンテスト応募用データは
公式追加されたシナリオデータと別もの扱いなので、
コンテスト応募用データのライバルを公開しても
一般ユーザーはインポートできません。
(シナリオデータも公開するというのは、
コンテスト受賞規約に引っ掛かるかもなのでやらない)

ライバルデータを配布するなら公式追加シナリオで
同じようなプレイをしたデータを作るしかありませんが、
「やや非効率的な開発でもクリアできるか?」という
チェック方針で60時間以上かけプレイしたデータなので
正直再現できる自信はありません。
(実際、3DSneo発売直後に何度か再現を試みているが、
なぜか途中でうまくいかなくなり断念している)

マップの細かな場所の地名ですが、
「鉄道駅の場所」でよければ駅名を書き込んだ路線図画像を
追加したのでご確認ください。
*サイズが大きいのでスマートフォン等では見づらいかも?

ひだじ さんのコメント...

ありがとうございますm(_ _)m

ひだじ さんのコメント...

同じような開発を試みましたがやはり難しいですね
クリアはしたものの鉄道をカバーするために道路が増えるせいで公共交通利用率がガタオチに…

十木獅音 さんのコメント...

作者です。

あくまでも「いばらで少し間違ってもクリアできる」の検証用ですので、これにチャレンジして成功される方はかなりの腕前だと思います。(私でもそっくりそのままはクリアできません>_<)
皆さんの推奨は、マップ南側に東西をつなぐ幹線鉄道を作って、そこで公共交通の利用率を上げつつ資材や子会社等で資産を稼いでクリアする、という感じになっているようです。(ぼちぼちやって最後は銀行に借りてクリア、って方もいましたが^^;)

https://siong-note.blogspot.com/2014/12/blog-post_6.html

こちらに、3Dneo版で追加された公式版シナリオ用のライバルデータのアドレスを張ってますので、もし3Dneoを持っているなら利用してみてください。ちなみにこのデータでは、クリア時点で公共交通利用率50%以上(だったかな?)をたたき出しています。

ひだじ さんのコメント...

同じように地下鉄以外完全単線縛りながらそこそこ善戦できたのではないかと思います。
A3D収録マップの中で個人的に最も好きなマップでしたから作者様とこうして多少なりともやりとりできたことを光栄に思います。
ところでさきほどこのページでライバルデータを配布なされているのを拝見し、即ダウンロードさせていただきました。
http://tukasa.sakura.ne.jp/a-train3d/joyful.cgi?res=4583
お返しに換えて私のライバルデータもこのページに添付させていただきたいと思います。