NeoFT構想/外部仕様案
時間の設定・ゲーム時間の流れ †
- 投稿者: c477
- 優先順位: 重要
- 状態: 投票
- カテゴリー: ダイヤ運行・車両管理
- 投稿日: 2008-05-06 (火) 11:13:00
メッセージ †
見づらくなったので、新たに書き直しました。
過去のページはこちら。
妥協点の模索 †
街の発展を鑑賞しつつ、ある程度リアルなダイヤを再現するための妥協点を探りたいと思います。
街育成モード(詳細はページ下部)では、ゲーム時間をどのように短縮するかが大きな課題です。
時間のデフォルメの仕方について二通りの案を提示しますので、ご意見をお寄せください。
【アンケートにご回答ください。】
目標スペック †
- 20fpsでちょっと早回しに見えるが高速モードの基準とする
- 最高速モードではゲーム時間1ヶ月はリアルで30分以内を目指す
- 1マスは6mで計算。標準倍率では1マスは一辺8pixel。
※ジェット旅客機の巡航速度は800〜900km/h以上。空港に近づくと500km/h程度に減速。離着陸時は300km/h程度。ゲームでは空港付近でしか表示しないので500km/hが最大。
甲案:1ヶ月=6日間 †
- 一ヶ月を6日間とし年間日数を5分の1にすることで時間短縮。
- 小さな祝日は無視。正月、GW、お盆、などを1〜2日の休日で表現する。曜日は7日で循環。
- 速度スケールギャップ※は10倍以下とする。
(※建物スケールと列車の時速とのずれ)
試算
- スケールギャップ1倍の時、100km/hの列車が10マス進む間に2.16ゲーム秒経過する
- スケールギャップ10倍の時、100km/hの列車が10マス進む間に21.6ゲーム秒経過する
- スケールギャップ10倍の時、100km/hの列車はゲーム時間一日で40,000マス進める。
- 早回し無し(=通常モード)では、ゲーム時間の1日はリアルで2.4時間(144分)かかる。ゲーム時間の1ヶ月はリアルで14.4時間かかる
- ゲーム時間1ヶ月を30分で処理する場合、ゲーム時間1日はリアル5分
- ゲーム時間1日をリアル5分にする場合、100km/hの列車はリアル毎秒で133マス進めなくてはならない
- 最高速モードを20fpsで描画するなら100km/hの列車は6.7マス(54pixel)/フレームで移動する
- 最高速モードを20fpsで描画するなら500km/hの飛行機は33.5マス(268pixel)/フレームで移動する
メリット・デメリット
- 比較的リアルな距離感でダイヤグラムが組める。回送運転なども表現しやすい。
- よりリアルに近い駅停車時間を表現できる。超過密ダイヤも実現可能。
- 停車前後の加減速を表現しても異常な時間経過にならない。
- 月日の進みに違和感。日曜を含む月と含まない月で旅客差が大きい。
- 列車の1フレーム当たりの移動量が大きいので動きが荒くなる。
- 上記設定だと、高速モードでのゲーム時間進行は乙案の倍遅い。
乙案:スケールギャップ100倍 †
- 月の日数は暦通り。
- 速度スケールギャップを100倍以上とする。
試算
- スケールギャップ1倍の時、100km/hの列車が10マス進む間に2.16ゲーム秒経過する
- スケールギャップ100倍の時、100km/hの列車が10マス進む間に216ゲーム秒経過する
- スケールギャップ100倍の時、100km/hの列車はゲーム時間一日で4,000マス進める。
- 早回し無し(=通常モード)では、ゲーム時間の1日はリアルで14.4分かかる。ゲーム時間の1ヶ月はリアルで7.2時間かかる
- ゲーム時間1ヶ月を30分で処理する場合、ゲーム時間1日はリアル1分
- ゲーム時間1日をリアル1分にする場合、100km/hの列車はリアル毎秒で67マス進めなくてはならない
- 最高速モードを20fpsで描画するなら100km/hの列車は3.4マス(27pixel)/フレームで移動する
- 最高速モードを20fpsで描画するなら500km/hの飛行機は17.0マス(136pixel)/フレームで移動する
メリット・デメリット
- わずかな距離の運行ですぐに日が暮れる。回送してるうちに夜が明ける。
- 駅での停車時間は非現実的な時間になる(時速100km/hでも駅通過に数分かかる)。
- リアルな暦の運行
- 列車の1フレーム当たりの移動量が小さめなのでなめらかに動く。
問題点のまとめ †
時間の流れについて、FreeTrainでは主に二つの要望(もしくは不満)がありました。
- 列車がわずかな距離を走行する間に日が暮れてしまう(リアルなダイヤを再現しにくい)。
- ダイヤの時間をもっと細かく(分刻みで)設定したい。
その1:列車の速度 スケールギャップ †
すぐに日数が経ってしまうように感じるのは、画面上の列車の速度と建物などのスケール感が合っていないためです。
※ここではスケールギャップと呼びます。
列車が一ボクセルを通過するのに要する時間が遅いため、あっという間に日数が経ってしまうのです。
例えば、列車の速度をリアルに設定すると、一ボクセル=15mを通過する時間は、
時速200kmの列車で約0.3秒かかります。
一方FreeTrainでは「超高速」で一ボクセルをゲーム時間1分で通過します。
建物のスケールから逆算すれば、時速数km程度しか出ていないことになります。
スケールギャップで表せば200〜300倍となります。
もし、現状のFreeTrainと同じフレームレートで建物などのスケールに合った時間経過を適用するなら
ゲーム時間が経過するのが単純計算で200倍遅くなります。
これはある意味仕方のないことです。街の発展を同時に鑑賞したいのに、ゲーム時間の経過が今の200倍遅くなってはたまりません。
その2:ダイヤ管理の単位 †
FreeTrainでは、内部的には1分単位で列車が動いていますが、ダイヤ設定は10分単位でした。
主な理由は、発展アルゴリズムや、駅の利用客数の計算回数をむやみに増やさないためです。
NeoFTでは、少なくとも現状のFreeTrainよりは複雑な発展アルゴリズム、
駅利用客の計算、子会社の売上/経費計算、列車の売上/経費計算などなど、
大量の計算が必要になることは間違いないので、むやみに計算回数を増やすとゲームの進行速度が十分にでない恐れがあります。
また、[その1]で述べたように、列車の速度がFreeTrainのような扱いだと、
最高でも一ボクセルをゲーム時間の1分かけて通過しますので、列車がホームに進入して、
停車するまでにも、5両編成ならゲーム時間で5分以上かかるわけです。
そのような状況で5分より細かい時刻単位を設定できても、たいして効果的なダイヤにならないと思うのです。
解決案 †
街育成派とダイヤ再現派、それぞれの要求に折り合いが付かないから問題なのであって、
これを、一つのゲームにまとめ上げるのは、ほとんど不可能ではないかと思われます。
そこで解決策として、両派がそれぞれ楽しめるような、2つのモードを用意することを考えます。
ただし、開発の優先度としては「街育成モード」>「ダイヤ再現モード」とします。
街育成モード †
現FreeTrainやA列車で行こうに近いモードです。
- スケールギャップ大。列車が移動するるのに見た目より時間がかかり、月日が早く過ぎます。
※列車の速度の上限はFreeTrain(1ボクセル/分)よりも遅くなる(例:0.1ボクセル/分)でしょう。
- 列車の売上/経費が、リアルの何倍かになります。
ボクセルの通過時間がリアルの100倍なら、売上/経費も100倍。
- ダイヤなどのゲーム内での時間管理は基本的に10分単位とします。
- 街が発展していきます。
- マイカー利用率の概念を使用しません。
ダイヤ再現モード †
マニア向けモードですが、ゲーム性を持たせるためTraffic Giantの要素を導入します。
- スケールギャップ極小。列車の移動速度はリアルタイムに近いものです。
- 列車の売上/経費が、リアルに近いものになります。
- ダイヤなどのゲーム内での時間管理は基本的に1分単位とします。
- 街は発展しません。子会社を建てたり、売買したりできません。
(ゲームの進行に必要な計算を簡略化するため)
- 従って、マップ上に既に街がある状態でプレイを開始します。
- よいダイヤを組んで、マイカー利用率を下げるのをゲーム目標にします。
ご意見募集
- 場違いかもしれませんが、思い切って、毎年数回 ダイヤ改正日 と言うのを設定して、ダイヤの設定はあらかじめ通常モードのときにやっておき、改正日にそれが適用される。 っていうのはどうでしょう? -- A-4艦上攻撃機?
- それとダイヤ再現モードでも町の発展は日がたつごとに工事の様子が少しずつ変わっていく っていうのはどうでしょう -- A-4艦上攻撃機?
- ダイヤ改正日を導入する意図とかメリットがよくわからないので、説明していただけると助かります。あと、ダイヤ再現モードでは凝ったダイヤを作ることになると思うので、ゆっくりだろうと街の人口分布が変わったりしない方がゲームとしては面白そうだ、というのがTraffic Giantをプレイしてみての感想です。 -- c477?