トップページgamedev
819コメント672KB

鉄道経営系ゲーム製作スレッド Ver.7

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2010/03/30(火) 22:05:34ID:62jSr8U0
鉄道および都市経営シミュレーションゲーム制作の
情報交換スレッドです。

[前スレ]
鉄道経営系ゲーム製作スレッド Ver.6
http://pc11.2ch.net/test/read.cgi/gamedev/1239023536/

[このスレッドで主に話題となるゲーム]
FreeTrain EX Another version
http://sourceforge.jp/projects/freetrain-exav/
FreeTrain EX Another version wiki
http://www19.atwiki.jp/freetrain-exav/
Tera Train
http://teratrain.la.coocan.jp/wiki/?FrontPage
FreeTrain
http://www.kohsuke.org/freetrain/
FreeTrainヘルプ
http://www.kohsuke.org/freetrain/wiki/pukiwiki.php  (IDとPASSはダイアログよく読んだら分かる)

[関連サイト]
アートディンク
http://www.artdink.co.jp/
0002名前は開発中のものです。2010/03/30(火) 22:12:22ID:62jSr8U0
[お約束]
・質問は各ヘルプ・wiki・スレ過去ログ・関連ガイドサイト・掲示板に目を通してから。
・エラー/バグ報告は、できるだけ行いましょう。エラーメッセージの内容は正確詳細に。
 FreeTrainの旧バージョン・EXバージョンは現在誰もメンテナンスしていませんので
 バグフィックスや機能追加は期待できません。
 FreeTrainについてはFreeTrainEX Avのみが現在メンテナンスされています。
 FreeTrainEX Avのバグ報告は、このスレかSourceForge.jp内のフォーラムどちらでも
 かまいませんので具体的に行いましょう。
 Tera Trainのバグ報告は、公式wiki内の掲示板にて行いましょう。

[FreeTrain]
・DirectX8以降9.0cまでと.NET2.0実行環境がインストールされていなければ、FreeTrainは動作しません。
  EXまでのFreeTrainは.NET Framework1.1必須でしたが、
  FreeTrainEX Avでは.NET Framework2.0必須に変わっています。
・Windows Vista/7では、FreeTrainEX Avのβ2以降もしくはプロトタイプ3のみ動作します。
 その際DirectX9.0cのランタイムが必要です。
・FreeTrain/EX/Avの正式版1.0以前はVista/7で動きません。
 BVEと同様のDLLインストールで動くようになる裏技はありますが、サポート外なので
 試みられる方は自力で調べてがんばってください。
・zipの解凍やpluginのインストールは関連サイトのヘルプに従えば簡単にできますので
 自力でおこなってください。配布pluginのインストールができないほどの人は誰も助けて
 くれません。
・フォーラムに書き込むか迷ったらとりあえずここで聞くのも吉かと。
・転んでも泣かない。
0003名前は開発中のものです。2010/03/30(火) 22:14:03ID:62jSr8U0
FreeTrainプラグイン&スクショうpろだ
http://www4.uploader.jp/home/freetrain/
(定期的に内容が消去されます。消えてもいい一時的な画像のうpなどに。)

FreeTrainアップローダ
http://freetrain.ps.land.to/upload/upload.php
(容量100MBですが、内容が消えないのでプラグイン公開などに)

SourceForge - FreeTrainプロジェクト
http://sourceforge.jp/projects/freetrain/

その他関連サイトなどは、>>1のwiki2箇所にあるリンク集からどうぞ。


このスレ発じゃないけど類似のもの

最強都市計画
http://www.free.netgamers.jp/
0004名前は開発中のものです。2010/03/30(火) 22:44:25ID:xribNGac
>>1
0005名前は開発中のものです。2010/03/31(水) 16:33:10ID:FpC+3O7N
通過監視信号動いたーー

ソースは前978さんのでよくて、
ver2.0のDLLに参照つけなおしたら
いきました。

プロジェクト・ソリューションファイルを書き換えたものを置きました。
http://u4.getuploader.com/freetrain/download/45/PassMonitorSignal_src.zip
DLpass: nanashi


あと、ver1向け・ver2向けそれぞれの通過監視信号をwikiに置きました。

過監視信号も時間を使ってるのでver3ではうまく動きませんね。
これは私の方で手を入れておきます。


それで、実行DLLを置くパスですが、「bin\Debug\xxx.dll」ではなく、「bin\xxx.dll」に
してくださるようお願いします。
通過監視信号は直してあります。
0006名前は開発中のものです。2010/03/31(水) 17:36:43ID:FpC+3O7N
>> nanashiさん
閉塞信号をPrototype3.0向けに移植しました

ソース
http://u4.getuploader.com/freetrain/download/46/BlockSystem_3_0_src.zip
DLpass: nanashi

とりあえず信号のチェックは60秒間隔にしてあります。
0007名前は開発中のものです。2010/03/31(水) 17:52:45ID:FpC+3O7N
>> nanashiさん
通過監視信号をProtortpe3.0向けに移植しました

ソース
http://u4.getuploader.com/freetrain/download/47/PassMonitorSignal_3_0_src.zip
DLpass: nanashi


バイナリはwikiに置きます。
0008名前は開発中のものです。2010/03/31(水) 18:20:34ID:ZTcZrobW
時間単位についてだけど、最小時間1秒だとやはり問題が多すぎるな。
単純に、1日あたりの列車の走行距離が従来の60倍になることで
ダイヤ作成に手間がかかりすぎてしまう。

1日のダイヤを作るのに、従来の2か月分のダイヤ設定操作が必要になる。
今のFTで1週間分の運用を書くだけで数時間かかるのに、60日分×7のダイヤ入力作業なんて誰ができるの?

ダイヤ重視派/実在路線再現派というが
たとえば山手線のダイヤを再現するには、50運用分のダイヤ入力作業が必要になる。
1周3時間として1日6周、180駅。これを50運用分入力できる人なんて存在するのか?
ただ列車が進む速度が本物っぽいという安易な理由でやると、後で大変なことになるよ。

表示だって1秒毎に更新だと、今の120倍の処理が必要になる。
1日が従来換算で4ヶ月になる計算だ。
CPUのシングルスレッド性能がこれ以上伸びない状況で、この処理量の増加は危険。


文句ばかりで申し訳ないが、ゲームバランスの根幹に当たる部分を安易に決めすぎていると思うので
敢えてきつい表現で書かせていただいた。
このような開発方針では、せっかく新機能を実装しても、遊びたくても手を出せない。
0009riorio ◆rio2xMQlrQ 2010/03/31(水) 20:07:30ID:FpC+3O7N
今夜は本体開発休んでマップ進めますかねー

> 1日のダイヤを作るのに、従来の2か月分のダイヤ設定操作が必要になる。
> 今のFTで1週間分の運用を書くだけで数時間かかるのに、60日分×7のダイヤ入力作業なんて誰ができるの?

そう単純に労力増加はしないとふんでる。

ver2まで従来では、ちょっと長距離走らせると列車が往復するのに4日かかったりしてたからね。
1運用サイクルを4日が必要だったところ、たとえばPrototype3では1/3日になって1日に
3往復できたりするようになるよね。
それに現実には「ラッシュアワーにはその路線の車両が全部出払うほど本数多いが、
昼間は半分ぐらい、真夜中は全部車庫に入っておやすみ」ということがあるわけだが。
従来FTでは車庫に入れる時間的余裕がなく駅で止めっぱなしとか、場合によっては
夜通し走りっぱなしにしないと運用できないことがあったわけで。
0時〜6時に車庫に入ってるだけで1日の1/4は休んでるわけだから、その間はダイヤ
組まなくていいわけだよ。
昼間休めばさらに減る。
いっちーさんがニコ動にあげてたモノレール動画はラッシュ時と閑散時をダイヤ変え
たり車庫入れしたりしててすげーーなぁと思ったけど。従来時間軸であれはかなり稀
な事例だと思う。

> たとえば山手線のダイヤを再現するには、50運用分のダイヤ入力作業が必要になる。
> 1周3時間として1日6周、180駅。これを50運用分入力できる人なんて存在するのか?

自分自身が今、Prototype3使って山手線再現に取り組んでるからw
線路がつながって電車実際に入れてみてどうなるか体験してみますわ。
3.0.0.4で1秒単位にしたのは、仮走行してみて遅いと感じたからなんですけどね。
ちなみにリアルは1周1時間だから50運用必要なわけで、1周3時間だったら17運用
しかいらないと思う。というか電車区に土地なくて22編成しか置けなかったw
0010riorio ◆rio2xMQlrQ 2010/03/31(水) 20:15:06ID:FpC+3O7N
> 表示だって1秒毎に更新だと、今の120倍の処理が必要になる。
> 1日が従来換算で4ヶ月になる計算だ。
> CPUのシングルスレッド性能がこれ以上伸びない状況で、この処理量の増加は危険。

FreeTrain開発開始当初からはCPUも飛躍的に高速になってるし。
従来速度でCPUがフルに演算しなきゃいけないのは最高速と高速のときぐらい。
普通進行だとウェイト=「待ちぼうけ」で時間つぶしてたようなもんなんだよね。

3.0.0.6でも、列車追跡すると流石に重いが、追跡さえせず新規描画が発生しなければ
最高速でもかなり軽いですよ。

なんにしても、こっちで一方的に決めてるのではなくて、Prototypeとして公開して
実際にプレイしてどうだったか意見交換できる場を作ってるわけなので。
そこは意見があるなら積極的にPrototypeを遊んでもらって。
脳内で架空の思考をするのではなく。
実物で遊んだその結果としての感想を書いてもらったら非常に有用。
3.0.0.7では速度軸も固定じゃなくオプションで可変にしてありますから。その中で
いろいろ選んでどの値だとどうなるか体験してもらって。体験した結果からこの
値がよかったと思うとか、この値は絶対不要誰も遊びたがらないから消してよし
とか言ってもらえたらいいなー
0011名前は開発中のものです。2010/03/31(水) 20:22:54ID:vh9aIPmW
とりあえずさらにアホみたいに電車を線路に乗っけられるのは良い事だ。
0012名前は開発中のものです。2010/03/31(水) 20:40:20ID:4fPHi5Ew
環状作ろうとしたときは8両ホームとかにしたせいで
1駅がでかくなっちゃって1周1日で終われなかったことならw
画像縮尺と時間単位が今までのだと微妙に合ってないなとは思ってたんだけどね

リアル1分=ゲーム内*分みたいな内部設計は、さすがにこういうゲームじゃ無理っぽいかな
0013名前は開発中のものです。2010/03/31(水) 20:43:11ID:aY2r9XXS
やる気次第で
0014名前は開発中のものです。2010/03/31(水) 21:19:19ID:ZTcZrobW
>>9
>1運用サイクルを4日が必要だったところ、たとえばPrototype3では1/3日になって1日に
>3往復できたりするようになるよね。

逆に言うと
「3往復分のダイヤを(コピペでもなんでも)書かないと、朝から晩まで列車を動かす事さえできない」
「間を持たすために必要以上に労力がかかる」
という事です。

現在の時間軸でもある程度ラッシュと昼間、夜間の表情は出せるし
http://ranobe.sakura.ne.jp/src/up51845.zip

確かに今の数分の一程度の最小時間なら、もっと時間帯ごとにガラッと列車本数が変える事もできて嬉しいんだけど

あまりに細かすぎると
・「5分間隔の頻発運転」なのに画面内はガラガラで、見た目が悪い とか
・針の穴に糸を通すような複雑なダイヤを組むと、1分間隔、数十秒間隔という超人ダイヤになる とか
・間を持たすために、1〜2時間単位でのパターンダイヤを作って、それを繰り返すだけの手抜きダイヤになる とか

あまり良くない気がするんだよな。
0015名前は開発中のものです。2010/03/31(水) 21:31:20ID:FpC+3O7N
画面内がガラガラだと見た目が悪いっていうのも、なんか変な考え方だなぁーって
思うんだけど。
どっち向いても電車が来てるなんてのは朝ラッシュの新宿とか下北沢とかだけで。
閑散時間帯は6分に1回しか電車が見えないのがふつーなわけだし。

そのふつーの状況を作れたら悪いって言われたら困っちゃう。

それに、Prototype3が進行したからといってβ2の完成を止めるわけじゃないですから。
従来時間軸にのっかってできる改良点はβ2系統にもやっていきますから、従来時間軸
のほうが見た目好きだとか簡単だって人は2を遊んでもらえばいいわけです。

とりあえず今朝、3.0.0.7で5通りの時間進行をいつでも切り替えて選べるバージョン出して
ますので。それやってみてくださいよ。
0016名前は開発中のものです。2010/03/31(水) 22:36:48ID:AkbPJ+Hv
両者の意見を見てみたけど、これってリアル派と箱庭派の違いかなぁという気もする。
リアル派は細かいほどいい、箱庭派は細かくなくてもいいからチマチマと動く画面を見て
満足したい、自分勝手にこう想像してみたのだけど。
もし、そうであるならばどこかで妥協点を探らないと駄目かなと思う。

ちなみに自分としてはそんなに綿密にダイヤ組みたいわけじゃないので、ある程度簡易的
でいいかなと。
どっちにしても開発はりおりおさんまかせなので、舵取りはお願いします!><
0017名前は開発中のものです。2010/03/31(水) 22:49:56ID:aY2r9XXS
amazonの最新作のレビューで時間がリアルと違うって批判ばかりだったな
0018riorio ◆rio2xMQlrQ 2010/04/01(木) 00:37:21ID:YhJFv1pK
アイディアメモ:

列車・ダイヤはすべて無視して。
マップの端から端まで四角形(直方体)にずーっと走査していって。
各ボクセル上にあるものをコントリビューションIDかなにか使ってテキストファイルに
書き出していくことってできないだろうか。

そして、書き出したものをまた再現するツールを用意する。

そうしたら、EX/Av1,2/Av3のバージョンの垣根を超えて、マップデータの変換が
できないだろうか。

中間のテキストファイルのサイズがめっちゃでかくなりそうだけど。

誰かやってみない?
0019名前は開発中のものです。2010/04/01(木) 05:47:19ID:7pzFvUyB
>>18
それは少し興味あるかも。
必ずやります! とは宣言できないけれども、
とりあえず試みてみたいです。

現在複数のバージョンがあるようですが、
どれをベースに開発すべきですか?
0020nanashi2010/04/01(木) 06:05:22ID:2TiAP2tV
>>riorioさん

>>5-7
恐縮ですが、あまり使われてないプラグインの面倒を見て下さって大変ありがとうございました。
0021名前は開発中のものです。2010/04/01(木) 06:25:17ID:YhJFv1pK
>>19
書き出しはEXが一番需要あるんじゃないでしょうか。

取り込みはAvの1,2(この間は互換性高し)でどうでしょう。
0022名前は開発中のものです。2010/04/01(木) 06:37:15ID:7pzFvUyB
>>21
なるほど。ではとりあえずEX用に読み書きできるようにして、
その後、Avでも取り込めるよう調整する、といった手順が良さそうですね。

教えて君で申し訳ないのですが、EXの最終バージョンというか、
みなさんが多く遊んでいるバージョンはどれなのでしょうか?

この機能の目的って、EXを使い続けている人々にAvへ移行してもらう
のが主目的?なんですよね? その対象バージョンが知りたいです。
0023名前は開発中のものです。2010/04/01(木) 06:59:53ID:YhJFv1pK
FreeTrainEXといったばあいは、こちらで配布されてる20050903版のみを指します。
EXはこの1バージョンしかないはずです。
http://sourceforge.jp/projects/freetrain/releases/

これも含め、AvになるまえのFreeTrainでは本体がわずかでもバージョンアップ
するとセーブデータの互換性がまったくなくなっていたそうです。

主目的としてはそうなります。
0024名前は開発中のものです。2010/04/01(木) 07:17:15ID:7pzFvUyB
>>23
了解しました。

Avのほうは、とりあえず1.0.1を対象にしてみたいと思います。
0025riorio ◆rio2xMQlrQ 2010/04/01(木) 07:20:39ID:YhJFv1pK
>>16
あんまり舵取りって得意じゃないのでねぇ〜
あと自分がいちばんのプレイヤーであって、自分の好みが出るっていうのもあるし。

どうしても1つに絞らなきゃいけない理由がなければ、3.0.0.7みたいにオプション画面
で好きに選べる状態でリリースしてもいい気もしてます。


あ。あと列車の1ボクセルすすむ秒数ばかり議論してきましたが。
左上のゲーム進行速度が「ゆっくり」「普通」「高速」などのときにどのぐらいの時間進行
になるといいのかも、3.0.0.7で遊んだら希望を聞かせてください。
今は適当なInterval数値を設定してますが。
自分もまだ線路建設中で、実際に列車走らせて眺める段階にきてないので。
街を眺めるときや、街の発展を待つときにどのぐらいのInterval値が適当なのかわから
ないのです。

もし列車の速度をオプション可変にしたら、このInterval値もそれに連動して調整した
ほうが快適なプレイになるかもしれませんので。
それならそのようにプログラムしますし。
どの速度モードでプレイしたときこれこれのゲーム速度のIntervalはこれがいいと
思ったって教えてくださいね。
0026名前は開発中のものです。2010/04/01(木) 08:35:43ID:YhJFv1pK
>>20
前スレ978さんにもお礼いっておいてー

どこを修正してもらったのかまだ見てない(汗
0027名前は開発中のものです。2010/04/01(木) 14:01:50ID:YhJFv1pK
Visual Studioでデバッグしようとすると、
駅舎を建てた瞬間に
'System.IndexOutOfRangeException' の初回例外が FreeTrain.Core.dll で発生しました。
'System.IndexOutOfRangeException' の初回例外が FreeTrain.Core.dll で発生しました。
がぶわわーーーーーーっと出まくるんだけど。
これなんぞ?
0028名前は開発中のものです。2010/04/01(木) 18:17:42ID:YhJFv1pK
山手線再現動画14,15,16

http://www.nicovideo.jp/watch/sm10231998
http://www.nicovideo.jp/watch/sm10236546
http://www.nicovideo.jp/watch/sm10240869


15の上野駅はマジで死にそうになった。
配線図サイトとwikipediaの「上野駅」に乗ってる配線図と首っ引きで。
もちろんFreeTrainにはシングルスリップ・ダブルスリップがないので、そこは
通常ポイントを背中合わせにして距離を使うけどわたれる方向としては同じ
というやりかたをしてます。
0029riorio ◆rio2xMQlrQ 2010/04/01(木) 18:57:52ID:YhJFv1pK
FreeTrain EX Av Beta2.0.1.5公開
http://sourceforge.jp/projects/freetrain-exav/news/

foobarbazerさんがEX向けに公開していた反転折返機能追加ダイヤ設定pluginを
Av 2.0向けに移植したものです。

ソースもコミットしてあるので読めます。
今回改良した部分は/plugins/org.kohsuke.freetrain.tc.tatです。

【既知の問題点】
・列車情報・列車追跡ウィンドウに反転回送時に回送表示が出ない
・反転時に、1割ぐらいの確率(発生条件不明)で列車長ぶんワープする

これが分からんのですよ。
回送運転はちゃんとされてて乗客載せないようになってるのに、表示だけに回送が
出てくれない。おかしい。
あと列車ワープも条件がわかりません。9割は問題ないんですけど。
あとワープしても線路を外れたり行方不明になったりはしないみたいです。
分かる方いたらおしえてください。
0030192010/04/01(木) 19:50:21ID:7pzFvUyB
EXとAv1を対象に中間ファイル出力を試すと言ったけど、
旧バージョンはVistaで動かないのをすっかり忘れてたw

というわけで、とりあえずAv2.0.1.4で色々実験して
最低限の内容把握と動作は出来たので、明日は実際に
作り込みたいのですが、このバージョンで動く適当な
サンプルデータをお持ちの方は居ないですかね?
頂けると非常に助かります。


それにしても、今回初めてFreeTrainのソースを読んだけれども……
よくこんな「正しいコーディング」でゲームを作ったものなぁと思った。
普通、ゲームプログラムなんてもっと汚いものでしょ?

まあ、その正しいコーディングのおかげで、C#を知らない私でも
すんなり読むことができた訳だけど、このソースをいじりたいとかは
正直全く思わなかった。汚したくないです。コメント英語だし……。
■ このスレッドは過去ログ倉庫に格納されています