トップページgamedev
1001コメント480KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001名前は開発中のものです。2009/04/06(月) 22:12:16ID:5LmTI8rQ
鉄道および都市経営シミュレーションゲーム制作の
情報交換スレッドです。(sage推奨)

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

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

[関連サイト]
アートディンク
http://www.artdink.co.jp/
0932名前は開発中のものです。2010/03/28(日) 07:12:17ID:unhpLNc0
>>931
おおー
こんな簡単にできるのか(汗)
取り込ませていただきます。

それが意外とというか、まったく問題なかったりするんですよ。
FreeTrainのコンポーネント&コントリビューション思想のなかでは。

たぶんpluginsから消してもなんの問題もなく動く。
ま、pluginといっても本体同梱配布なものですから、そこも心配しなくてもいいかと。


今朝は、Reflectorという逆コンパイルツールの存在を知って、PassMonitorSignalを
逆コンパイルしてみてました。
まったくそのままソースになるわけじゃないし参照関係などは自分で書かないと
いけないので、なかなか苦労してます。
なんかうまくいかないんですよー
もしもとのコードを書いたnanashiさんなら復旧しやすいということなら、自分が
書き戻した範囲のReflector結果をお渡ししますが……


あと今朝の動画
http://www.nicovideo.jp/watch/sm10188127
0933名前は開発中のものです。2010/03/28(日) 08:33:06ID:unhpLNc0
>>nanashiさん

Reflectionなんかうまく使いこなせないです。
先頭にusingがなにか足りないんだと思うんですが、なにが足りないのか分からないので
投げ返します。ごめんなさい。

http://u4.getuploader.com/freetrain/download/37/PassMonitorSignal_Reflection.zip

DLパスかけてあります。
nanashiと入れてください。

ビルドprojはβ2.0ベースの、DirectXWrapper利用になってます。
0934名前は開発中のものです。2010/03/28(日) 09:32:09ID:unhpLNc0
3.0.0.3で遊んでみて、やっぱし速度がまだ遅いなーと思ったので。
3.0.0.4で列車の速度2倍にします。
プロトタイプ3ですでにダイヤ組ん出る人ゴメンナサイ

で、3.0.0.4の速度が限界です。これ以上はかなり根本的にイジらないとダメになるので
さらにセーブデータの互換性が失われます。
0935名前は開発中のものです。2010/03/28(日) 09:51:11ID:eRw6IBeo
つうか、どれか1つを完成させて欲しいよ。
2と3とどっち優先でやってんの?
なんか振り回されている感じがする
0936名前は開発中のものです。2010/03/28(日) 10:03:47ID:unhpLNc0
完成形が欲しい人は1.01をどうぞ。
最もバグが少なく従来のプラグインも使えます。
こちらは基本的にそうそういじるつもりはありません。

Vista/7ネイティブで遊びたくて安定を求めるならβ2.0系統をどうぞ。
時間進行もいじりませんし0.1〜のセーブデータと相互に互換性もあります。

リアル時間進行を求めるならプロトタイプ3をどうぞ。
そのかわり自分でプレイして感じたことやこちらのスレの反応を反映して速度調節
が入ったり、またバグを作ってしまったり、いろいろする可能性はあります。
速度調節をいじるとダイヤ設定は狂いますし、場合によってはセーブデータ自体が
ロードできなくなります。

2と3どちらが優先ということはありません。
3をいじった上で、2に反映できるものは同時に2にも反映していますし、今後もβの
間はしていきます(昨夜の架線柱非表示など)。
仮に2でバグがみつかったら、そのバグはおそらく3にも存在するでしょうから、同時に
退治します。
2と3のコンポーネントは、時間進行・列車速度以外の部分はほぼ共通です。
0937riorio ◆rio2xMQlrQ 2010/03/28(日) 10:07:07ID:unhpLNc0
あ、コテつけんのわすれてた(汗)

もっとも、今自分自身がプレイして動画作ってるのは、プロトタイプ3で、ですけどね。
リアルダイヤ組みたいし。

繰り返しになりますが、3で遊んでて不具合があって処置したり、plugin追加して新機能
を実現したりしたときは、そのほとんどは同時に2にも収録可能であるはずのものです
から。
2がβの間は2にも同時に反映していきますよ。
0938名前は開発中のものです。2010/03/28(日) 11:23:51ID:0iXT/VoT
まあ、最優先はモチベーションの維持だよな
好きなようになってほしい
0939riorio ◆rio2xMQlrQ 2010/03/28(日) 12:40:31ID:unhpLNc0
モチベーションてゆーことだと、ぶっちゃけたら、自分が書いたコードで実現された
新機能なんかを使いこなしたスクリーンショットが公開されるとか動画になるとか
そういうのかなー

やっぱ、遊んでもらえてなんぼだと思うし。

バグレポなんかもあがってきたら、あぁちゃんと最新ビルドを試してくれてるんだなー
って分かるのでうれしい。
0940名前は開発中のものです。2010/03/28(日) 15:46:37ID:6kbrZZeB
新機能なんかを使いこなしたスクリーンショットが公開されるとか動画を作る人のモチベションの維持も考えてくださいよ
0941riorio ◆rio2xMQlrQ 2010/03/28(日) 15:59:28ID:unhpLNc0
メインマップビューに列車追跡機能をつけたアルファ版のソース
http://u4.getuploader.com/freetrain/download/38/ALPHA3010MapView.zip

DLパスは「tracking」です。
バイナリはつけてません。

レールがひけなくなるとかいろいろバグ持ってるんですが、私ではどこどーしたら
直るのかどうもピンとこないので、とりあえず公開。
ngsさんに特にみてもらいたいかも。
0942名前は開発中のものです。2010/03/28(日) 16:55:39ID:eRw6IBeo
DirectXwrapperをビルドしようとするとソース足りないのだけど?
あとビルドできないならDirectXWrapper.DLLは添付しておいて欲しい。
0943名前は開発中のものです。2010/03/28(日) 17:22:27ID:unhpLNc0
すいませーん
あげなおしました
http://u4.getuploader.com/freetrain/download/39/ALPHA3010MapView.zip

足りないファイル群がTortoiseSVNで除外ファイルになってた。
追加したので大丈夫なはず。


実は3.0.0.4からDLL持ってきたらビルドできたと思うけどね
0944riorio ◆rio2xMQlrQ 2010/03/28(日) 23:34:09ID:unhpLNc0
プロトタイプ3.0.0.4の時間進行速度についてですが。

内部の時間最小単位を1秒にしてあります。
列車のスピードは、超高速・高速・中速・低速がそれぞれ1ボクセル進むのに
1,2,3,4秒かかるようになっています。
時速に換算すると、超高速で、36キロ〜72キロぐらいです。(ボクセルサイズを10m〜20mと仮定)
数字としては意外と遅いです。
それでも3.0.0.4実際に遊んでもらうと分かるんですが、かなりびゅんびゅんと
飛んでいく感じになると思います。数字の数倍の速度を感じます。
それでいて、時計の進みが遅くなってるので、見た目従来のFreeTrainの速度とあまり
変わらず違和感なくプレイできるんじゃないかと思います。

それらを総合して、この時間進行でいいんじゃないかと思いますが。
どうでしょうか。

もっと速くしろ、たとえば数値として時速200キロ出せないと納得しない、という方が
いれば、それはひとつのご意見をしてうかがいますので、こちらあるいはSourceForge.jpの
フォーラムに書き込んでください。
逆に、これでは速すぎるもっと遅い方がいいというご意見もアリです。
また、書き込まれた意見に対案あるいは感想などがあれば、それもある人が
あるなりに書き込んでもらって意見交換・議論を深めてもらえばと思います。
すべてのご意見に沿うことはできませんし、最終的には「私自身がプレイしたいと
思う速度」になるんですが。
過程は大切にしたいと思います。

ちなみにプロトタイプ3.0.0.3は1ボクセル2,4,6,8秒でした。
これでは自分は速度が遅いなーと感じました。
3.0.0.3もSourceForge.jpに置いてあるので、遊んで比べることは可能です。

なお、もし3.0.0.4より速度をはやめようとすると再度FreeTrain内部の数値をいじることに
なるので、3.0.0.3 , 3.0.0.4とセーブデータの互換性がなくなります。
まぁ、プロトタイプですんで、それは最終的にはあまり気にしなくていいと思うんですが。
0945名前は開発中のものです。2010/03/28(日) 23:52:09ID:00uSqmZQ
最小時間単位1秒は早すぎる気がする。
新幹線で1時間サイズのマップを考えてみると、恐ろしいサイズになるのが分かる。
列車速度だけを考えれば、新幹線では1秒に3〜4ボクセル、近郊電車でも1ボクセル以上の移動が必要になる。
この部分でのリアリティを追求してしまうと、マップ作成が煩雑になりすぎて、プレイヤーの負担が大きいでしょう。

マップ作成と列車速度のバランスをとって最小時間単位5秒という見解を示していますが、いかがでしょうか。
http://www.nicovideo.jp/watch/sm5064233
このマップサイズ(600*600)で、余暇を使って2年くらいやってますが
未だにマップの開発が終わってません。
0946名前は開発中のものです。2010/03/28(日) 23:55:12ID:unhpLNc0
SourceForge.jpのフォーラムに、昨年要望があがってたことへのレス


高松駅や洛西口駅というと、どんなホームなのでしょうか。
駅舎・駅ビルとは切り離して、あくまでも「ホーム」として考えてください。

ひとつ私が思いついたことに、現在のスリムホームにおける屋根の位置、というのはあるかと思います。
今は屋根なしはすべて屋根なし。屋根ありは中央部だけ屋根で両端に屋根なし、となっています。
高松駅などの頭端駅では、この端が屋根なしというのが違和感を生む事になるかとは思います。

そこで、ごく簡単に実現可能なスリムホームのバージョンアップとして、屋根を「屋根なし」「従来どおり
中央部屋根あり」「ホーム長すべて屋根でおおう」「前端までおおう」「後端までおおう」の5タイプを用意
するというものです。
高松駅であれば、前端までおおうと後端までおおうとたがいちがいに配置することで頭端ホームの表現ができると思います。
もしこれでよければ、β2&プロトタイプ3で実現しますが、どうしましょう?
0947名前は開発中のものです。2010/03/29(月) 00:06:35ID:wK8rdvUN
最小時間単位についてつづき

このマップのモノレールですが、最も本数が多い区間では概ね30分間隔で運行しています。
http://www.nicovideo.jp/watch/sm6240189

最小時間単位1秒になると、これが30秒間隔となり、現実にありえない本数の列車を運行している事になってしまいます。
現実の鉄道だと2〜3分に1本程度の列車間隔が限界かと思われますが、この動画でそれに合わせると
列車が全然走っていないように見えて、寂しくなってしまいます。

ゲーム的な面白さの面からも、最小時間単位1秒ではダイヤ設定がつまらなくなってしまうと思います。
0948riorio ◆rio2xMQlrQ 2010/03/29(月) 00:07:58ID:sby51uWk
とりあえず上は速度について書きましたが、速度以外についてもプロトタイプ3に対して
ご意見あればおっしゃってください。

繰り返しになりますが、現時点ではプロトタイプ3では速度を除き、β→将来正式版ver 2と
違いをつくるつもりはありません。もしなんらかの新機能を採用しようとするなら、それが
セーブデータの互換性を損なわない限りにおいてver 2にも入れます。
FreeTrainEX Avに採用して欲しい機能やなんかがありましたら、それがβ2に採用して
欲しいのかプロトタイプ3で採用して欲しいのか明確にお願いします。
0949名前は開発中のものです。2010/03/29(月) 00:23:12ID:51nkO2MO
とりあえずトラッキングを動くように直してみた
ttp://u4.getuploader.com/freetrain/download/40/%E7%9B%B4%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F.zip

なんかツールバーが一緒にスクロールするのはなぜなの?w
0950名前は開発中のものです。2010/03/29(月) 00:31:57ID:sby51uWk
あ、あれ?
昨日昼おいたソース版てツールバーが動かないよう固定されてなかったっけ??


1年近く前にバイナリでおいたのはツールバーがスクロールしていなくなっちゃったが。。
ソースのはその後でツールバー固定されてるはずなんだけど……

と、とりあえずそれ見てみます>949



あと、プロト3.0.0.4で、勾配線路をブルドーザでこわしたときに4ボクセル全体で消えないと
いけないはずが、1ボクセルしか消えない現象が見られます。
4ボクセル全体消えるときは消えるし、消えないときは消えません。
条件がよく分かりません。
地下に配置した勾配線路をヘイトカットしてブルドーザで壊したときにエラーが出たという
報告も上がってきてますが、そこまでは確認できてません。
私が確認したのは1ボクセルだけ消滅ただしエラーはまったくなし、列車が差し掛かったら
普通に折り返していった、というものです。
エラーの詳細がわかったらご報告ください。
0951riorio ◆rio2xMQlrQ 2010/03/29(月) 00:37:38ID:sby51uWk
勾配線路とブルドーザの関係だけど。

もとから下2ボクセルを消したときは全体消えずにそこだけ消えてたっけ?
というかブルドーザと勾配線路両方の動作の前提というか 設計上 は、
どう動作させたいとしたもんなんだっけ。

どこでも1ボクセルにかかったら勾配線路全体が消えるとしたものじゃないのかな。

もし1ボクセルだけ消えてもそれはFTとして正常な動作だよということであれば
これ以上は追求しませんが。
0952名前は開発中のものです。2010/03/29(月) 00:37:44ID:51nkO2MO
直しすぎたのかorz
なんかパネルがどうも変になってる原因っぽかったので、さっくり消して動くようにしたのだけど
それがまずかった???
0953名前は開発中のものです。2010/03/29(月) 00:43:43ID:sby51uWk
あははw
もっかい別フォルダででも昼にはったのリビルドしてみて、動作とソースくらべてみてください。

私はまだそこまで調査できてないです orz
バージョン管理が煩雑になっちゃって……
手元でちょっとでもイジったもの全部ちくいちSourceForgeにあげてたら楽なんだろうけど
さすがにそうもいかんだろうということでプロトタイプ3はローカル管理してるもんで。
0954名前は開発中のものです。2010/03/29(月) 00:46:59ID:51nkO2MO
>>950の内容だと、パネルでツールバーをスクロールしないようにしてたの?
0955名前は開発中のものです。2010/03/29(月) 01:09:09ID:sby51uWk
>>954
私自身がコーディングしたわけじゃないのであいまいなことしか言えないのですが
そのはず。

個人的には列車のステータスを表示するウィンドウがすでにあるので、それに
トラッキング機能を追加することで昨日はったののツールストリップを廃止できると
いいのかもしれないけど。
ただ列車のステータスウィンドウは今複数開けるようになってて、ただそれが1つの
マップビューにしか連動しないのよね。
マップビューを複数あけたときに2つめ以降は無視される。
で、ステータスウインドウを複数あけててもそのすべてが1つのマップビューを
追いかけてしまう。

ここをなんとか、マップビュー6つとステータスウィンドウ6つを個別管理できたらと
思って、そこまでやれてない。
0956名前は開発中のものです。2010/03/29(月) 01:28:38ID:PGHqF96I
ソース読めないんでわかんないんだけど
時間加算のタイミングってどういう感じになってんだろうか
0957名前は開発中のものです。2010/03/29(月) 01:29:46ID:51nkO2MO
いろいろ見てたけど、やっぱりパネルが悪さというか、完全にパネルに対応できてない気がする。
元々フォームに描画してたのを無理矢理?パネルに変えてるみたいで、その中途半端な改造が
原因かなぁ。
ネットでいろいろ調べたけど、どうもToolstripはスクロールする仕様っぽいので、やはりパネルを置いて
パネル内でスクロールさせるのが定番らしい。
なので中途半端になってるパネルをちゃんと使えるようにすればいけるのかも。

ところでマップビュー6つって多すぎない?www
0958名前は開発中のものです。2010/03/29(月) 02:55:08ID:sby51uWk
いや、多いと思うけどw
ステータスウィンドウがたしか6つまで出せると思うので、対にすっかな
程度であんま6という数字に深い意味ないです。
0959名前は開発中のものです。2010/03/29(月) 06:58:22ID:sby51uWk
最新、新宿駅作りました
http://www.nicovideo.jp/watch/sm10197385

その手前はさかのぼっていってください。
wikiにも登録してあります。
0960名前は開発中のものです。2010/03/29(月) 08:00:29ID:sby51uWk
列車追跡で、なんとなく思いついたことを列記。
実現可能かどうかは未検証。

現在も列車情報を表示する
TrainTrackingWindow.cs
というのがある。frameworkの子クラスかな。マップビューとは独立したウィンドウ。
いくつでも表示を増やせる。
「移動」ボタンを押すと、アクティブなマップビューのみがその列車に移動。

これを中身全くいじらず
TrainInfomationWindow.cs
と名前変更。列車情報の表示機能はこちらに移す。


あらたに、追跡用の「新」TrainTrackingWindow.csを用意。
ベースは現TrainTrackingWindow.csだが、MapViewの子クラスにする。
MapViewが1つにつき、「新」TrainTrackingWindowは1つのみしか作れない。
ヘイトカットウインドウを同じ考え方。
で、ここに「追跡」ボタンを装備。

どうでしょう、うまくいきそうでしょうか?
0961名前は開発中のものです。2010/03/29(月) 08:29:16ID:sby51uWk
>>947
まず、言葉の定義で、「最小時間単位」ですが、これは内部的な時間単位の最小で
「これ以上細かな時間は絶対扱えませんよ」というものです。

ver2までのFTでは、これが1分でした。
列車の進行速度は、1分で1/2/3/4ボクセルでしたね。
ただ駅のダイヤ設定などは10分単位でした。

この最小時間単位をプロトタイプ3では1秒にしています。
なお駅のダイヤ設定は1分単位にしています。
画面右下の時刻表示も1分単位です。
やろうと思えば5秒単位ダイヤとかもできなかないですけど、そこまでいります?
1分で組めれば十分だと思うので今はやってないです。煩雑になりすぎるし。
もし分割併合運転するために必要となればしてもいいです。

それで、最小時間単位が1秒だと列車の移動速度も1秒1ボクセルとなるわけでは
ありません。これは勘違いしないで欲しい。
ループで待つことはいくらでもできるので、3.0.0.4の1ボクセル1/2/3/4秒のほか、
3.0.0.3時点でやっていた2/4/6/8秒にすることももちろん可能ですし、もっと遅く
4/8/12/16秒にすることだってもちろん可能です。
これはちょちょいと変数の初期代入値をいじって変更可能に再設計してあります。
もっと言えばオプション画面で選択可能にすることもできます。
できますが、これが実用的かというと疑問なので実装していません。
ゲーム途中で値を変更するとダイヤは全部狂ってしまいますし、最悪2→3のとき
のようにタイマーイベントが全部爆発してしまうこともないとは言えません。
「このセーブデータはどの値で作ってセーブしたんだっけ」ということを失念すると
ロードできないセーブデータを持ってしまうことになって、プレイヤーとして悲しい
ことになると思うんです。なので、値の開放はしないほうがいいんじゃね?というのが
今の考えです。
0962名前は開発中のものです。2010/03/29(月) 10:11:58ID:A+yBqXeg
現実のダイヤは10秒区切りのとこもありますが
よほど使わないでしょう
一般の時刻表見る限り1分単位ですから

自分はダイヤが1分ごとにいじれて中速でもうまく走れりゃいいっていう人間です
でもその適正な速度が自分にはワケワカメなので皆様にお任せします
0963riorio ◆rio2xMQlrQ 2010/03/29(月) 17:45:59ID:sby51uWk
列車の追跡、2.0.1.4ベースでいろいろいじってみたけど、あと一歩でうまくいかねーw

http://www.hiyohiyo.info/~riorio/freetrain/tracking2014.zip

TrainTrackingWindow.csとMapView.csで、変数trackingTrainModeが共有できれば
終わりだと思うんだがー
static変数使っちゃうと全部のマップビューに影響するからダメ……

うーん。
なんか考え方がおかしいかな。

というか、一部MapView.csに移したところがあるんだけど(moveToとか)、追跡じゃなくて
「移動」であれば、TrainTrackingWindow.csでマップビュー窓ごとに違う列車を追いかけ
させることはさっきできてたんだけど。
それを追跡となると、むーーん。
0964riorio ◆rio2xMQlrQ 2010/03/29(月) 17:54:33ID:sby51uWk
まてよ……

>「移動」であれば、TrainTrackingWindow.csでマップビュー窓ごとに違う列車を追いかけ
>させることはさっきできてたん

で、

一定微小時間ごとにMapVewがTrainTrackingWindowを呼び出してくれれば全部解決
じゃね?

でそれってどうすりゃいいんじゃろ。
なんかFTみたいなそういうのの固まりをいじくってるわりにそのへんが理解できてない。
0965名前は開発中のものです。2010/03/29(月) 19:10:18ID:gogdboHd
一定時間毎に処理するんならtimerがあるけど
それよりdelegateやeventを使って登録者全てに変更を通知する形の方が良くないかな
0966名前は開発中のものです。2010/03/29(月) 19:48:34ID:sby51uWk
ごめん
963はあまりにあまりな内容だったので、とりあえずビルドできたの置き直した。
0967riorio ◆rio2xMQlrQ 2010/03/29(月) 19:51:27ID:sby51uWk
うお、途中で書き込んじゃった。
名前いっしょ
http://www.hiyohiyo.info/~riorio/freetrain/tracking2014.zip

まだ追跡できてないけどビルドはできて、複数のマップビューで異なる列車を
持つところまでは実装してある。

で、MapView.csの194行目で、
// TrainTrackingWindow.trackingtoTrain();
とコメントアウトしてるけど、これをコメントアウトせずに実行できたら完成ーーと
思いきや、
「オブジェクト参照が必要です」
って言われてビルドできないんで。
コメントアウトしてあるわけで。

なんでかな。trackingtoTrainはちゃんとpublicにしてあるんだけど。

なんかすんげー初歩的なところで引っかかってそうで恥ずかしいんだけど。
0968名前は開発中のものです。2010/03/29(月) 20:38:42ID:gogdboHd
どういう流れで動いているのか良く分からないけど定義を見るに
×TrainTrackingWindow.trackingtoTrain();
○trainTrackingWindow.trackingtoTrain();
じゃないかな
テストもしてないので正しく動くかは不明
0969名前は開発中のものです。2010/03/29(月) 23:36:02ID:sby51uWk
>>968
うーん、惜しい、のかな?

ビルドは通った。
実行すると該当部分で「オブジェクトのインスタンスが存在しません」エラーになる。

あっれー??

ますますなにが悪いのか分からなくなってきました。


あと、TrainTracking.csの中で、もとからある「移動」ボタンはEnabled属性をいじって
列車がちゃんと選択されて線路上にある時だけボタンが有効になるようになってて
カッコイイんだけど。
それを「追跡」ボタンでも真似ようとしたけどうまくいかない……
Enabled=falseにしたらずっとグレーアウトしたままだし。
util/commandのなかにあるcommandって独自クラスを利用してるくさいが追求不足。
0970名前は開発中のものです。2010/03/29(月) 23:48:35ID:sby51uWk
プロトタイプ3での時間進行のはなし

>>945
ふむふむ

私も、自分の好みで言えば200キロ/hをスケールする気はさらさらありません。
ただそういう声があがっても不思議ではないなということと、もしやれと言われれば
技術的に不可能ではないからやれなくはないぞというだけの話。

ただ超高速が1ボクセル5秒は私は遅すぎると思います。
箱庭にはいいかもしれませんけど、ダイヤ命派・実在路線再現派には納得できない
んじゃないかな。

ためしに私がプロトタイプ3で再現しよーとしてるのが山手線なんですが。
http://www.nicovideo.jp/watch/sm10189258
プロトタイプ3.0.0.4の中速=1ボクセル3秒で、東京→品川ノンストップ17分です。
これは結構いい感じだと思う。
プロトタイプ3.0.0.3の中速=1ボクセル6秒では35分かかって、かかりすぎぃ遅すぎぃ
と感じました。
0971名前は開発中のものです。2010/03/30(火) 00:24:17ID:62jSr8U0
>>956
時間加算のタイミング、か。どう説明したらいいんだろう。

最小時間単位をまず決めるんだけど。
初代FreeTrain〜EX〜Av ver2は、これが1分なわけ。
1年1月1日0時0分を0として、現在時刻はそこから現在までの累積分数を
long型整数currentTime変数にぶちこんでる。
currentTimeは、core/world/Clocl.csの最後にあるtick()というメソッドに内で
+1 される。これがFT世界の時間の進みそのもの。

プロトタイプ3では、これを1秒にしてみただけ。
currentTimeには1年1月1日0時0分からの累積秒数が入ってる。

tick()が呼ばれるのは、core/framework/MainWindowの1330行目あたりにある
timerHandler()から。

ゲームの進行速度が最高速とか通常とかゆっくりとかっていうのはウェイトループ
させてタイミングとってて。そのウェイトの数があるのが
core/framework/MainWindowの1375行目あたりからのclockMenuUpdater()とか
menuItem_ClockGo1_Clickあたり。変数名はtimer.Interval

で、このウェイトが……あれ、どこで待ってるんだろ。
それっぽい変数名があったからこれ幸いといじったものの、ウェイト実際に入れてる
のが分からん (をひ


まぁこんな感じなんだけど。説明へただよね。どこが分からない?
0972名前は開発中のものです。2010/03/30(火) 02:21:15ID:eeAu1t7h
コードだせばいいじゃん
0973名前は開発中のものです。2010/03/30(火) 02:47:02ID:GmPbSYIX
つうか、独り言ばっかり...またネタもないからいいか。
0974riorio ◆rio2xMQlrQ 2010/03/30(火) 16:22:56ID:62jSr8U0
もろもろファイルの配布元があっちこっちしてると新規に始めようとした人が混乱
するかと思ったので。

Additional Plugin Set 20050904版をFreeTrainEX AvのSourceForge.jpダウンロード
コーナーでも配布するようにしました。

収録内容はEXのコーナーで配布されていた20050904版ほぼそのままです。
ただし綾瀬ヒロさんの橋脚が、現在のAv本体収録バージョンと逆転してしまって
いてセーブデータの不整合を起しかねない状態だったので、そこのみAv本体収録
バージョンに入れ替えてあります。
0975名前は開発中のものです。2010/03/30(火) 17:52:56ID:62jSr8U0
列車追跡機能、実装できました。

Beta2.0.1.4とプロトタイプ3.0.0.5に収録してSourceForge.jpに置いてあります。
SourceForge.jpには2.0.1.4の最新ソースもコミットしてありますので、ソース
欲しい方はどうぞ。

これを入れるときは、plugins\system\plugin.xmlも忘れず上書きコピーしてください。
配布パッケージすべて上書きすればOKですが。
0976名前は開発中のものです。2010/03/30(火) 19:09:36ID:62jSr8U0
>>nanashiさん

通過監視信号の件
Reflectorでの復元ソースをファイルに分割し直してみました。

http://u4.getuploader.com/freetrain/download/41/PassMonitorSignal_Reflector.zip
pass: nanashi

なんかウチでうまくビルドできないんですよねー
本体への参照が不足している感じ。
Locationとか本体の定義や関数が呼べてないです。
0977名前は開発中のものです。2010/03/30(火) 20:10:14ID:62jSr8U0
>>976
nanashiさん以外でも、これDLLにビルドできるかたおられましたら。
ビルドしてみて、修正点を含めたソースをまた返してもらえるとありがたいです。

ver2.0系列のDirectXWrapper利用になっております。
0978名前は開発中のものです。2010/03/30(火) 21:45:29ID:aK1jZF3m
>>977
ttp://u4.getuploader.com/freetrain/download/42/PassMonitorSignal.zip
pass: nanashi
0979名前は開発中のものです。2010/03/30(火) 21:52:08ID:f5yrOWGK
>>970
>ただ超高速が1ボクセル5秒は私は遅すぎると思います。
>箱庭にはいいかもしれませんけど、ダイヤ命派・実在路線再現派には納得できない
>んじゃないかな。

確かに「中速、15両編成の通勤列車を3分間隔で運行」なんて芸当は
最小時間単位5秒では明らかに無理ですね。これが出来ないのは確かにつまらない。
かと言って1秒ではあまりにも速過ぎる。ダイヤ設定を60秒ごとにすると
今のFTの感覚で言うと「1時間単位でしかダイヤを設定できない」というお寒い状況になってしまいます。

間をとって、最小時間3秒とか?
その辺は、様々なゲーム性、プログラムの組みやすさを考慮して考えなければいけないと思います。
0980名前は開発中のものです。2010/03/30(火) 22:00:59ID:eeAu1t7h
1分でいいじゃん
0981名前は開発中のものです。2010/03/30(火) 22:18:32ID:62jSr8U0
次スレたてたお
http://pc11.2ch.net/test/read.cgi/gamedev/1269954334/l50


>979
>ダイヤ設定を60秒ごとにすると

>というお寒い状況になってしまいます。

ふむ。

1. 時間速度は数種類から選択制にする
2. ダイヤは15秒単位

これ実装しましょう。
0982名前は開発中のものです。2010/03/30(火) 22:26:58ID:f5yrOWGK
>>981
>1. 時間速度は数種類から選択制にする

実験的に取り入れるのならいいとは思いますが
この機能を恒久化するのは危険ではないでしょうか。
他人と様々なデータを共有できるというAvの最大の利点が死んでしまいます。

>2. ダイヤは15秒単位
奇数だと画面表示と整合性が取れなくなります。
10、20、30秒あたりで良いのではないでしょうか。
0983名前は開発中のものです。2010/03/30(火) 22:39:24ID:eeAu1t7h
もちろんセーブファイルの方に記録するんだろうし何言ってんだ?
0984名前は開発中のものです。2010/03/30(火) 22:39:28ID:62jSr8U0
>>978
さんくす、

と思ったけど、ほどいたものをVisual C# 2008 Express Editionでリビルドかけたら
やっぱり失敗するお (´;ω;`)

さらに同梱DLLをPrototype3.0.0.5のpluginsにつっこんだらエラーになるお?


>>982
時間速度の設定値をSerialize対象にしておけば、セーブした時の時間速度が
ロード時に復元されて大丈夫だと思われる。
やってみないと分からないけど。

>奇数だと画面表示と整合性が取れなくなります。

なんか奇数がまずい画面上の問題ありましたっけ。ないと思うんだけど。
3.0.0.5でも秒数は時計で表示してないしね。

>10、20、30秒あたりで良いのではないでしょうか。

とりあえず日本の鉄道は15秒単位なんですよーー
電車でかぶりつく機会があったら、運転士用の時刻表見てみるといいです。
0985名前は開発中のものです。2010/03/30(火) 22:47:18ID:GmPbSYIX
>>984
>時間速度の設定値をSerialize対象にしておけば、セーブした時の時間速度が
>ロード時に復元されて大丈夫だと思われる。
確か前の人がそんなこと言ってた気がする
できる算段があったんじゃないかな。

ダイヤ設定の最小単位は1秒単位でもいいと思うけど、ネックは電車の速度が
1ボクセル動くのに何分かかるかになってることなんでしょ?
今と同じように1ボクセル1分なら、1分経過したら移動すればいいのでは?
>>979の内容が理解できないボンクラ頭乙orz

0986名前は開発中のものです。2010/03/30(火) 22:50:12ID:62jSr8U0
>>985
プロトタイプ3.0.0.5やってみそー
画面右下の時計に注意してな


あと同じことをβ2.0以前でやってみて、ヒマならプロトタイプ3.0.0.3も試してみれ
0987名前は開発中のものです。2010/03/30(火) 22:54:34ID:GmPbSYIX
言葉じゃ説明できないの?
そんなにややこしいことなの?
だったら、話に入ってもしょうがないので遠慮するわ。
続けてどうぞ。
0988名前は開発中のものです。2010/03/30(火) 22:59:43ID:62jSr8U0
なんで「やってみれば分かる」と言われたら、やることを拒否するんだろう。
10分もあればできることなのに。

説明できないのかってのは単なる逆ギレじゃん?
キレるまえにやってみようぜ。
0989名前は開発中のものです。2010/03/30(火) 23:17:26ID:62jSr8U0
今、プロトタイプ3.0.0.6作ってるところなんだけど。

いやーー、3.0.0.3〜5の駅の詳細ダイヤ、バグってるね(汗)
たぶん時・分の設定が壊れてたと思う。
クレームついてないってことは誰も試した人いなかったのかな。

3.0.0.6で直しますね。
3.0.0.6はとりあえず時間軸変更はナシで、駅詳細ダイヤ設定のみの変更にします。
0990名前は開発中のものです。2010/03/30(火) 23:25:20ID:f5yrOWGK
>>984
実際の鉄道が15秒単位なのは知っているけれど、必ずしもそれを再現する必要はないと思う。

FTの画面は2分ごとに描写。だから新幹線は1度に2ボクセル進んでいるように見える。
これが1秒単位になると、画面は2秒ごとに描写する事になると思う。

プログラムの内部で、奇数秒に電車が動くような構成になっていると、画面の動きと実際の電車の動きがズレてしまう。
画面合わせでダイヤ設定する上で、このタイムラグは非常に厄介なので止めて欲しい。
特に「10分停車」に当たるであろう「15秒停車」の扱いが非常に難しく、ダイヤ作成時に不必要にイライラするだけなので。
0991名前は開発中のものです。2010/03/30(火) 23:33:00ID:62jSr8U0
>FTの画面は2分ごとに描写。だから新幹線は1度に2ボクセル進んでいるように見える。

あ、やっぱそうだったのね。

メインループでtick()が一度に2回連続して呼ばれてるから、あれー?なんだろ、
おっかしーなーーと思ってたんだわ。昨日。ここに時計の進みの解説文書いてて。

tick()を1回しか呼ばないことでなにか不具合が生じるのであれば、また考えなきゃ
いけないけど。
特にそういうことがないのであれば、メインループでtick()を2回続けて呼んでるところ
1回だけ呼ぶように変えるだけで問題なくなるとおもう。
0992名前は開発中のものです。2010/03/31(水) 00:23:05ID:EoS/793G
Prototype(ALPHA)3.0.0..6をSourceForge.jpに置きました。

tick()は1回ずつ呼ぶようになりました。
駅の発車時刻は15秒単位で設定できます。

ポイントの切り替えは、同じポイントに1時間以内に2回通過することはまずなかろう
ということで1時間単位になっています。
もしまずければ1分単位にしますのでご相談ください。


あと今までPrototypeのソースを公開してませんでしたので、今回ソースファイルも
まとめました。参考にしたい方、ごらんになってください。
http://u4.getuploader.com/freetrain/download/43/FTEXAvALPHA3006src.ZIP
DLpass: ALPHA
0993名前は開発中のものです。2010/03/31(水) 00:35:17ID:ZTcZrobW
>>992
>ポイントの切り替えは、同じポイントに1時間以内に2回通過することはまずなかろう
路線の距離によっては十分に有り得るかと。
今のFTでいう60時間=2日半ですよ。
毎分がちょうどいいですね。

このように、最小時間単位1秒だと色々と不都合が出るので、もう少し長い方が良いと強く思います。
0994名前は開発中のものです。2010/03/31(水) 00:51:30ID:EoS/793G
>>993
通過することはあっても、異なる進路をとらせたくなるわけではなく
同じ進路をとっていいのなら困らないかと思ったのですが。
はっはっは、やっぱ手抜きはダメですかw
じゃあまたこんどポイントを分単位実装します。
そんなに手間かからないと思う。
もとの川口さんの設計が綺麗だから。


あ、それで。
ほかのことやってて途中になってしまってますが。

>>984 >>978が未解決です (´;ω;`)
978さんが(ビルド環境不明ですが)どうやって解消したのかも
ソースの違いから発見しようと思ってたけどもうねみゅい……
補足できるかたおられたらヨロです
0995名前は開発中のものです。2010/03/31(水) 05:49:08ID:FpC+3O7N
早朝に目がさめたので出しました。バージョンはα3.0.0.7です。

◎既知の不具合
・時間進行軸の値がセーブデータに保存されない

○3.0.0.6からの変更点
・ポイント切り替え設定を1分単位で行えるように細かくした
・時間進行軸を6種類から選べるようにした

うーーーん。なんだろ。Serializeされてないみたい。
とりあえず、セーブした時の値をおぼえててセットしてからロードしたら大丈夫なはずw


ソースも置いてあるので、Serializeされるようにする方法がわかった方は直してみてください。
http://u4.getuploader.com/freetrain/download/44/FTEXAvALPHA3007src.ZIP
0996名前は開発中のものです。2010/03/31(水) 05:52:02ID:FpC+3O7N
>>995
すみません、DLpassはspeedです
0997名前は開発中のものです。2010/03/31(水) 09:24:31ID:FpC+3O7N
そうそう古い話だけど。
実は0.1〜0.8のFreeTrainEX Av同梱Readmeには、対応OSとしてバッチリVistaが
書かれていた。
嫁嫁と書いてる本人が一番読んでないっていう恥ずかしい事例でしたってヤツだね。



755 名前:名前は開発中のものです。 投稿日:2010/02/24(水) 23:36:05 442060O7
だからFreeTrainはVistaに対応してないって。
Readmeぐらい嫁よ。

うpロダに一応Vista対応してみたというテスト版があるから、それ試してみれば。
人柱だけど。


759 名前:名前は開発中のものです。 投稿日:2010/02/25(木) 23:43:18 +j2qcvqG
だから、VISTAに対応してるとどこに書いてるのと言ってんだよ。
おまえのとこで動くから、みんな動くとか勝手なこと言ってんじゃねーよ。


761 名前:名前は開発中のものです。 投稿日:2010/02/26(金) 00:20:07 Dd72mMBD
Readmeに対応OSは2000とXPってあるだろうが。
どこにVISTAは対応してますと書いてんだよ。
VISTAで動く動くと言うのはいいが、それを見て動かないと言ってきた奴には全部
おまえが対応しろよ。
0998名前は開発中のものです。2010/03/31(水) 10:08:35ID:ivSVD6Tc
全部おまえが対応しろよ。
は酷かったな。小学生かってね。
0999名前は開発中のものです。2010/03/31(水) 15:48:44ID:iEHrg+la
>>975
列車追跡機能に感動した乙!
A7だと一つしか表示できなかったんだよなあ。
一応要望として下記2点。難しくなければ検討してみてください。

 ・列車の追跡に使用するマップウィンドウを複数並べて表示することを考えた場合、
  どのマップウィンドウを使用するかを列車の追跡ウィンドウから指定したい

 ・列車追跡中のマップウィンドウはスクロールバーを消去したい

1000名前は開発中のものです。2010/03/31(水) 16:00:31ID:iEHrg+la
ああ失礼
任意のマップウィンドウをアクティブにしてから
列車追跡ウィンドウを呼び出せば指定できるのか
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。