鉄道経営系ゲーム製作スレッド Ver.5
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2008/08/26(火) 22:36:07ID:lMjn2kzC情報交換スレッドです。(sage推奨)
[前スレ]
鉄道経営系ゲーム製作スレッド Ver.4
http://pc11.2ch.net/test/read.cgi/gamedev/1138164797/
[このスレッドで主に話題となるゲーム]
FreeTrain
http://www.kohsuke.org/freetrain/
FreeTrainヘルプ
http://www.kohsuke.org/freetrain/wiki/pukiwiki.php (ID:*** PASS:***)
[関連サイト]
アートディンク
http://www.artdink.co.jp/
0049名前は開発中のものです。
2008/08/30(土) 10:32:53ID:gGJd0yLwhttp://exciteblog.w3721.okwit.com/d0808033566_5linmovesmm2.rar
0050名前は開発中のものです。
2008/08/30(土) 10:54:10ID:7j/6lrIg時間は1分単位で調整すればいいと思うけど
もし、速度をリアルに考えるならば
車両の種類、電車、ディーゼル、蒸気機関車、ディーゼル機関車、電車機関車で違うわけだし
もっというならば形式ごとに加速性能やブレーキ性能も考えるないといけなくなるんじゃないのかな
0051YZ
2008/08/30(土) 11:21:31ID:+9cY660K私が作りたいのはリアル指向の箱庭ゲームですね。
nanashiさんとは違うのかもしれないですが、1つ疑問なのは時間だけリアルにして
それで納得できるの?ということですよ。
こういう言い方は偏見があると思うのですが、鉄道オタの人は時間だけ正確なら
移動距離とか速さとかそんなのはどうでもいいの?
そういった疑問から時間だけリアルにして意味ないから距離(スケール)に関しても
リアルにする必要があるのではなかろうか?ということです。
人によってFreeTrainに求めるものは違うと思うので、そこは議論しないと駄目ですね。
>>50
うん、確かに細かすぎると思います。
>>50さんの言われるとおり、本当なら加速・減速、勾配とか、車両による違いとか
いろいろと要素はあると思います。
うーん、やはりリアル路線は無理そうですね。
単純にするのならゲーム内時間は1分単位、中速は1分で1ボクセル移動とこれで
いいのかなと思いますが。
他の方の意見もお聞きしたいです。
>>49
廉価版PCゲーム13
http://game13.2ch.net/test/read.cgi/game/1205739744/
にもカキコあったから、このrarはウイルスか?
0052名前は開発中のものです。
2008/08/30(土) 11:48:00ID:7j/6lrIg最大で6列車ぐらい設定できたらいな
速度は電車、ディーゼル、蒸気機関車と種別で区分して
蒸気から電車、ディーゼル車にしたら速度アップとか出来たら面白そうだけど
難しいかな
005339
2008/08/30(土) 11:57:16ID:2MrAHyx1何かのスクリプトですかね?
>>48
自分も考えとしては近いですね。
分を秒に変えるだけでもリアルに近づきますし、苦労すれば素晴らしいものが作れるようになります。
(ダイヤ設定コピペが可能になればそれほど苦労する事もなくなりますが)
問題はゲーム性との兼ね合いです。
ダイヤ作りや街作りが煩雑になりすぎれば、ゲーム性が低下してしまいます。
単純に考えて、1列車当たりのダイヤ作りの負担が60倍に増えるわけですから
本数が多い路線なんてダイヤヲタぐらいにしかついていけない世界になってしまいますw
また、2時間に1本なんていうローカル線を作ったときには
電車がなかなか来なくて絵にならないwという問題もあります。
だからYzさんはそのバランスを考えたタイムスケールというのを模索されてるのだと思います。
基本的に目指してる方向はnanashiさんと同じだと思いますよ。
0054名前は開発中のものです。
2008/08/30(土) 12:25:45ID:UOsQnFmA> 単純にするのならゲーム内時間は1分単位、中速は1分で1ボクセル移動とこれで
> いいのかなと思いますが。
自分もこれくらいでいいと思う
細かすぎるとかえってプレイが面倒になっちゃうこともあるし。
今の時間に対してのモヤモヤ感を抱いている人は
10分単位でしか操作指定できない部分に対してってのが多いんじゃないかな
駅に止まるだけで10分ずつ経過してるのを3分だとか5分だとかにしたいだけなんだよみたいな
全く話はズレるけど
今の勾配線路ってボクセル直角4方向しかないわけだが
これカーブとまでは言わないが45度方向ってのは増やせないかな
0055名前は開発中のものです。
2008/08/30(土) 12:44:28ID:jzbP3JTxゲーム内時間単位ってのは、超高速の列車が1ボクセル進む単位ではないのかな?
現状ではこれは1分。ただしダイヤ設定は10分単位でしかできない。
YZ氏の文で引っかかるのは、中速が1ボクセル1分でゲーム単位も1分だったら、
高速、超高速はどうなるのか?って話。
>>51で言ってるゲーム単位ってのが、ダイヤの設定単位だというなら、まあ話は理解できる。
で、本題に入ると、たぶんほとんどの人は、
現状の分単位を秒単位に置き換えるだけってのを考えてるわけでしょ?
つまり超高速で1ボクセルを1秒通過ってこと。ダイヤ設定は現状のまま置き換えれば10秒単位。
とりあえず、上記をベースに考えてみる。
すると、いままで60マス離れた駅は超高速で60分、中速だと180分かかって到着してた。
これが、超高速で60秒、中速でも180秒で到着することになる。
これはつまり、今まで駅間が電車で1〜3時間かかるという設定で街作りをしていた人にとって、
同じマップの駅間が1〜3分になってしまうということ。
リアルのダイヤと比較してイメージすれば、大阪−名古屋間くらいのイメージで作ってた街が山手線の一駅区間くらいになっちゃう。
YZ氏の言ってるリアルというのは、この違和感をどうするのかって話だと理解しているのだが・・・。
0056名前は開発中のものです。
2008/08/30(土) 12:47:50ID:jzbP3JTx自己レス。
まあ、さすがに60マスを大阪−名古屋間のスケール間で作ってる人はいないか。
ほとんどの人が、はじめっから山手線的スケールのイメージで作っていて、
時間単位がイメージに合っていないことに不満を持っていたのであるとすれば、
分単位→秒単位への単純置き換えだけでも、より理想に近いイメージになるから良し、ということかな。
005739
2008/08/30(土) 12:51:47ID:2MrAHyx1時間の最小単位とダイヤ設定の単位の比率は、5〜10倍程度が理想と思う。
10秒を最小単位として、ダイヤ設定を1分単位というのはどうだろう。
これなら巨大なマップを作っても楽しめるレベルかな。
600*2400のマップを作ったときには、マップの中央から端まで新幹線で16時間もかかっていましたが、10秒単位なら3時間弱です。
1秒単位だと16分ですから速すぎる所があります。
0058名前は開発中のものです。
2008/08/30(土) 13:10:12ID:jzbP3JTx・超高速が1ボクセルを1分→1秒で通過
・ダイヤ設定は10分→10秒(場合によっては1秒)
って仮定で話を進めてみる。
上記のような置き換えをするとして、一日24時間を→24分にとかは誰も望んでないよね?
だから、ゲーム時間の一日は今までの60倍のフレーム数になる。
日数経過が単純計算で60倍遅くなるってことか。
既に誰かが指摘してたけど、そうすると考えなきゃいけないのは、
日曜日とかの工事休みが異常に長く感じるとか、銀行や株式市場の開店時間待ちが異常に長く感じるとか・・・
一方で今のフレーム数でビル建設するなら、高層ビルでもほとんど一日で建っちゃうよね。
あと、発展アルゴリズムの進行速度を弄るべきか否か。
弄らなければ、一日←二ヶ月の変換だから、一日で従来の二ヶ月分の発展をしてしまう。
発展アルゴリズムの進行をつじつまが合うように遅らせると、街が発展するまでにかかるリアル時間がそれだけ増える。
どの程度で妥協するかが問題ですな。
あと他には、月ごとの収益計算とかか。
まあ財務関係はどのみちあんまりゲームバランスが調整されていないから、今後の課題でいいよね?
0059YZ
2008/08/30(土) 17:47:56ID:+9cY660Kいろいろ意見ありがとうございます。
私が言いたかったことは>>53さん、>>55さんがうまく代弁して頂けたみたい
でありがとうございます。
やはり、時間に関しては単純分->秒でもいいけどスケールに関してはいろいろと
問題ありそうですね。
>>52さん
>個人的には単線で交換出来る駅が2駅先とか、3駅先でも1時間に3列車ぐらい
>最大で6列車ぐらい設定できたらいな
すいません、この部分の意味がわからないので教えて頂けないでしょうか?
速度は蒸気->ディーゼル->電車にしていくと速度も速くなるというのは、列車
ゲームでは定番だと思います。
Freetrainだと蒸気:低速->ディーゼル:中速->電車:高速ぐらいのイメージでしょうか?
>>53さん
>ダイヤ作りや街作りが煩雑になりすぎれば、ゲーム性が低下してしまいます。
その通りです。
如何にバランスを崩さずに細かくなりすぎず、また大雑把にならないようにするか?
というその1点だけです。
>>54さん
時間だけ1分単位にすればそれでおkという人は実際どれぐらいいるのでしょうかね?
大多数ならば選択肢の1つになると思います。
勾配の件はいずれ調べてみます。
>>55さん
ダイヤ設定単位=ゲーム内時間単位です、高速・超高速の場合は更に早いため1分で
2ボクセル、3ボクセルの移動になると思います。
時間単位を変更するとスケールが短縮する結果になるので、その違和感をどうするか?と
というところ、55さんの言われる通りです。
0060YZ
2008/08/30(土) 18:03:38ID:+9cY660Kなるほど、つまり10秒単位でゲームは動くから10秒で1ボクセル移動であれば
ちょうどいい具合ということでしょうか?
違う?
>>58さん
そう、今のプロトタイプだと1日の経過が長すぎる、建設時間が長すぎる等の問題が
あります。
しかし、その部分は「ゆっくり」とか「高速」とかゲームスピードの設定で個人別に
設定はできるのではなかろうかと思います。
つまり、1ゲーム内最小時間単位を経過させるのに実時間の何秒とするか?の係数で
設定できると思います。(もしくはその逆で実時間の1秒で何ゲーム内時間単位とする
か)
見直すべきところは建設時間の持ち方です。
例えば建設時間が例えば1000ゲーム単位(分とか秒ではなくゲーム内時間の最小単位の
こと)かかるとします。
従来だと10分で1ゲーム単位が経過してたため、10000分=約7日かかっていた。
これがプロトタイプだと秒になったため、1000秒=約16分になったと。
上記のような持ち方をしていると時間単位に左右されることになります。
そうではなくこの建物は建てるのに10日かかるとすれば、ゲーム内の最小単位がどの
ように変化しても10日のままです。
今のプログラムは最小単位つまり10分を意識した作り方になっているため、全部修正
しないと駄目そうです。
006139
2008/08/30(土) 18:12:43ID:2MrAHyx1時間単位を1分→5秒or10秒として、ダイヤ設定を10分→1分とすれば良いと思うけど。
時間単位を10秒ごとにするなら、最高速車両は10秒で2ボクセル、高速は10秒で1ボクセル、中速は15秒で1ボクセル、低速は20秒で1ボクセルとなる。
0062名前は開発中のものです。
2008/08/30(土) 18:18:53ID:uSogUd7G>高速は10秒で1ボクセル、中速は15秒で1ボクセル、低速は20秒で1ボクセルとなる。
10秒単位で10秒で2ボクセルとか15秒で1ボクセルなんて半端な移動するなら5秒単位にすべきなのでは?
あるいは10秒単位でいくなら超高速10、高速20、中速30、低速40とか。
ダイヤは1分単位で十分と思う。リアルの時刻表でも1分より細かい表示はないし。
0063YZ
2008/08/30(土) 18:42:00ID:+9cY660KPrototype-Buils 2008.08.30-01の公開
これはプロトタイプビルドです。
あくまで実装サンプルであり、正式版ではありません。
なお、この版はプロトタイプ版の今までの変更を全て破棄して、beta.1.0.3161.40451に修正を施しています。
【変更内容】
駅一覧の追加
・表示 - 駅一覧を追加
・駅追加・破棄・名前変更に追随して駅名一覧が変わります
・駅名をダブルクリックするとマップ上で駅のある位置に移動します
既知の問題点
・駅名はソートされてません
・マップが複数開いている場合は全て表示が変更されます
・同一駅名の駅がある場合は動作が異常になります
>>61さん
>>62さんの言われるとおりで15秒で1ボクセル移動にするならばゲーム内の最小単位は
5秒にせざるを得ません。
5秒を1ゲーム時間単位(GU)とすると最高速車両は1GUで1ボクセル、高速は2GUで1ボクセル、
中速は3GUで1ボクセル、低速は4GUで1ボクセルとなります。
>>62
やはりダイヤは1分単位でいいですよね、私的には同じ意見です。
0064名前は開発中のものです。
2008/08/30(土) 19:23:02ID:7j/6lrIgその部分はあまり気にしないでください
簡単にいうと単線の1時間あたりの本数を多めにしたいって意味にとらえてください
速度関しては単純に言えばそんな感じなんですが
もっと細分化してもいい感じはしますね
中速とかと別に数値でも速度設定が出来るけど、何故か数字が大きくなると遅くなる仕様になってるんで
これを逆にして数字を大きくしたら速くなるにすれば
細かく設定できて良いと思うんですよ
一番の理想は最高速度だけ決めて閉塞で速度を決めるって方法なんですけどね…
0065YZ
2008/08/30(土) 20:55:10ID:+9cY660Kこれはプロトタイプビルドです。
あくまで実装サンプルであり、正式版ではありません。
なお、この版はプロトタイプ版の今までの変更を全て破棄して、beta.1.0.3161.40451に修正を施しています。
【変更内容】
駅一覧の修正
・現在アクティブなマップにのみ駅のある位置に移動します
・駅名がソートされて表示されます
・ファイル - プラグイン一覧で表示されるプラグイン一覧に名前とディレクトリを追加しました。
・プラグイン一覧の列クリックで、各列の値の昇順・降順にソートされて表示されます。
既知の問題点
・同一駅名の駅がある場合は動作が異常になります
0066nanashi
2008/08/30(土) 21:13:16ID:wn6X7z0bさようなら。
0067名前は開発中のものです。
2008/08/30(土) 22:59:14ID:QGdLg7Nm0068YZ
2008/08/31(日) 00:23:21ID:c5bKTn6I私が去りますので戻ってきてください。
全て私が悪いです。
みなさん、どうもお騒がせいたしました。
すいませんでした。
0069名前は開発中のものです。
2008/08/31(日) 00:23:28ID:tu5NOE9q007039
2008/08/31(日) 00:26:12ID:nkWYzaGPでは困るんだけど。
仕様についてたった数十レスも議論出来なくてどうすんのよw
0071YZ
2008/08/31(日) 00:39:24ID:c5bKTn6I多分私が勝手に議論進めたりするのが気に障ったのでしょうね。
sourceforgeで公開していたものやフォーラム等全て消去しました。
残念ながら自分がプロジェクト管理者の場合は脱退できないみたいなので
nanashiさんの方で私のIDをプロジェクトから外してください。
今後はROMに徹しますのでnanashiさんのやりたかったように進めてください。
本当にすいませんでした。
0073ホリタケ
2008/08/31(日) 00:51:21ID:lZ0xfNGdnanashiさんもYZさんも戻ってきてください!
すっごく楽しみにしていたんです…。
0074名前は開発中のものです。
2008/08/31(日) 01:09:58ID:iN50My3S散々期待だけさせといてよくやめるとか言えるよ
007539
2008/08/31(日) 01:14:21ID:nkWYzaGP気が向いたら戻ってくればいいさ。
0076名前は開発中のものです。
2008/08/31(日) 01:24:44ID:z/iE9Dje悪いと言うばかりで互いに話し合ってないし
0077名前は開発中のものです。
2008/08/31(日) 03:47:47ID:oxUGp3F40078名前は開発中のものです。
2008/08/31(日) 06:50:04ID:+M98s6Fu議論とケンカの区別がつかないっていう日本人特有の悪癖かしらん。
どうしても議論が煩わしいなら、別ブランチで平行して作業進めて、
ある程度完成したら「どうだっ」て見せ合ったっていいじゃない。
0079名前は開発中のものです。
2008/08/31(日) 07:44:47ID:5pQqPkCl期待させておいていきなり「さよなら」ってどういう事?
0080名前は開発中のものです。
2008/08/31(日) 13:01:53ID:b16OmJ97期待してたんだから。
戻ってくることを期待してます。
0081名前は開発中のものです。
2008/09/01(月) 10:07:21ID:ubuDzS2uいじれるようにして、テストプレイをしながら早い遅い調整していけばいいだけの
話じゃないのか?
なんかプログラムには直書きで書いてあるっぽいので変更箇所を洗い出すのが
大変そうだが。
0082名前は開発中のものです。
2008/09/01(月) 12:58:59ID:nqOUuI1fオプションとして設定・保存できるようになれば個人で調整できるから、そのほうがいいだろうね。
0083名前は開発中のものです。
2008/09/01(月) 19:56:13ID:7HFqe/BQしかも今回が始めてじゃないし
もうYZ氏が進めちゃってよ
0084白河どりぬ
2008/09/02(火) 16:03:00ID:/jEzWmz4建物などのプラグインを中心に開発していきたいと思います。
今後ちょくちょく現れるのでよろしくお願いします。
#リクエストがあれば出来る限り応えたいと思っています。時間かかるかもしれませんが。
0085白河どりぬ
2008/09/02(火) 16:06:54ID:/jEzWmz4・放送局社屋(在京、在阪など)
・大手店舗
・AM送信所
0086名前は開発中のものです。
2008/09/02(火) 16:09:14ID:w/oK2esV建物は今までないタイプの建物だとうれしいかも。
0087名前は開発中のものです。
2008/09/02(火) 16:26:11ID:YfmzMKvPいいねぇ。
AM送信所って結構大きいよね。高さ120mとか。
ゲーム内の時間単位の事だけど、とりあえずここで話し合って
仕様を仮決めしておきませんか?
そうすれば誰かがやるだろうという期待をこめて。。。
0088名前は開発中のものです。
2008/09/02(火) 19:38:03ID:TlPa1aApFreeTrainってどんどんプラグインで建物は増えるけど、.NETのグラフィック
性能ってどうなんだ?
ライブラリの性能かもしれないが、建物を建てたはいいが、重過ぎてヘイトカット
しないとどうしようもない現状では・・・。
0089YZ@orz
2008/09/02(火) 19:43:00ID:DzZzdyLQいつの間にかFreeTrainプロジェのメンバーも削除されているみたいだし。
で、一応言っておきますけど私はnanashiさんに遠慮して、私がくる前の状態に
戻しただけで別に怒ったりとかむかついたからいなくなったというわけじゃない
のですが...
とりあえず別プロで公開開始しました。
まだまだですけどね...
sourceforge.jp/projects/freetrain-exav/
0090名前は開発中のものです。
2008/09/02(火) 20:56:05ID:qee7iz6bなんだかんだで提案に反応して作業してくれてたのあんただけなんだから
これからもよろしく頼むよ
0091名前は開発中のものです。
2008/09/03(水) 11:42:17ID:+QqH9UEGなんでBMP使ってるんだろう。
PNGだと安定性が悪いのか?それとも処理が重いのか?
0092名前は開発中のものです。
2008/09/03(水) 12:29:47ID:BcnJt6Lf圧縮かかった画像だと読み込み速度が違うんじゃない?
0093名前は開発中のものです。
2008/09/03(水) 13:33:41ID:hyrw6WI8後透過色の扱いのが違うとか。
今ソースがないので不明だが。
0094名前は開発中のものです。
2008/09/03(水) 14:12:22ID:+QqH9UEGてことはPNGの方がBMPより重いということかな。
メモリ使用量はどうなんだろう。
0095名前は開発中のものです。
2008/09/03(水) 19:42:28ID:aTekxshi0096YZ@orz
2008/09/03(水) 20:22:21ID:qgnWvNVb内部ではSystem.Drawing.Bitmapクラスのインスタンスとして扱われる。
このクラスはGDI+をラッピングし、BMP・GIF・EXIG・JPG・PNG・TIFF形式をサポート
している。
従って、読み込む場合は上記の形式のファイルであれば読み込め、内部では展開した
イメージで保持するためどの形式でもメモリ占有率は変わらない。
読み込みはBMPが一番大きく、他の形式は圧縮されているためサイズが小さいので
ロード時間はBMP<他の形式であるが、他の形式の場合は圧縮されているので展開が必要
となるため、展開時間はBMP>他の形式。
つまりトータルで考えればBMP=他の形式だろう。
ただし、FreeTrainで使用しているグラフィックはサイズが元々小さいので微々たる差
であると思われる。
ま、結局はどの形式でも変わらないのじゃないのかというのが自分の意見です。
ちなみに透過については画像の左上のドット色を使用します。
これはPNGやGIF等の透過色をサポートする形式でも同じです。
逆に透過色が設定されているPNGだと正常に表示されません。
0097YZ@orz
2008/09/04(木) 00:23:02ID:yKEmA4wt前回のやつの
・同一駅名がある時に誤動作するバグを修正
だけ。
しょうもない修正ですいません。
0098名前は開発中のものです。
2008/09/04(木) 10:35:07ID:b2qj0T43説明サンクス。
どの形式でもあまり差はないんですね。
透過色の扱いが難しいから、圧縮によって色が変わる可能性のあるGIFやJPGは使いにくそう。
プラグイン配布時には圧縮するのが基本だし、結局は透過色トラブルが起こらないBMPが一番という事なのか。
使い道があるのかは不明だが、半透明のPNGをレイヤーのように重ねられれば面白いかと思ったけど。
0099YZ@orz
2008/09/04(木) 17:51:51ID:yKEmA4wtオーバーライドはあるけどレイヤーはないなぁ。
確かにその考えは面白いかもしれんけど、問題は使い道が思いつかない。
0100名前は開発中のものです。
2008/09/06(土) 11:04:53ID:/wgbJD9P0101ホリタケ
2008/09/06(土) 13:18:45ID:Ro3PPMGN…はいいけど、最近、プラグインやマップのアイデアが浮かばない…
0102名前は開発中のものです。
2008/09/06(土) 14:55:30ID:E0ErT7iZこちらには回送機能は実装されていないのでしょうか?
また、されているのでしたらどうやればできるのか教えていただけないでしょうか?
0103名前は開発中のものです。
2008/09/06(土) 15:02:29ID:E0ErT7iZ迷惑掛けて申し訳ありません。
0104YZ@orz
2008/09/06(土) 16:26:48ID:2hiahRC0すまねぇ、まだです。
今夜辺り実装してあげておきます。
FTメンテやろうとか思って作業しだすとリアル仕事が忙しくなるなんて
なんか俺に恨みでもあるのですか?w>会社
0105YZ@orz
2008/09/06(土) 22:48:01ID:2hiahRC0【変更箇所】
・VS2008移植時の警告発生箇所等の修正
・回送機能の追加
ダイヤ設定の詳細に「回送」と「折返回送」を追加
・駅一覧プラグインを表示したまま、データセーブすると例外が発生するバグを修正
【次回の予定】
・ダイヤ設定の詳細
列ヘッダクリックによる昇順・降順ソート
コピーしたい設定を選択後、コピーボタンで設定をコピー
リストビューに縦スクロールバー追加
>>17さんが報告してくれたバグですが、うちの環境は再現できませんでした。
とりあえず最新版でもう一度試して頂いて、再現したらそのまま保存してセーブデータ
を頂けたらと思いますので、できましたらよろしくお願いいたします。
0106名前は開発中のものです。
2008/09/06(土) 23:21:01ID:E0ErT7iZ9月4日版で制作したファイルが開けないです…。
0107YZ@orz
2008/09/07(日) 00:36:50ID:U0sNuFYJ本体が更新されているからだと思います。
FreeTrainはセーブ・ロードの仕組みに.Netのシリアライズ・デシリアライズという
機能を使っています。
この機能ですが、自動的にオブジェクトに含まれる変数とかのデータ部分を書き出し
てくれる、または書き出したファイルを読み込んでオブジェクトを再構成する機能
なのですが、1点困ったことが起こるのはオブジェクトに含まれる変数等のデータ
部分が変わった場合にオブジェクトの再構成ができないという問題点です。
つまり、今回のようなケースが発生するということです。
今回、駅一覧のバグ修正のために変更しているのですが、それが影響していると
思います。
なお、今後もそうですがデータの互換性は全く保証できません。
まだまだFreeTrain自体が改造があり、当然セーブデータもどんどん変わっていくと
思います。
この問題はFreeTrainの問題と認識しているので将来的にはなんとかしないと駄目
でしょう。
以前にも使用しているプラグインが違うと読み込めない、セーブデータの形式には
問題があると指摘されている方もいますので、将来は変更する必要があるでしょう。
0108名前は開発中のものです。
2008/09/07(日) 11:17:41ID:m8fxeAoWなるほど、そういった理由があるのですね。
よくわかってなくて申し訳ないです。
0109名前は開発中のものです。
2008/09/07(日) 17:34:21ID:HzcMXOsu0110名前は開発中のものです。
2008/09/07(日) 18:58:28ID:NRZQpIQfそんなひどいカラクリだったのか。早急に改善しないと、これじゃあまりに
頭が悪すぎる。
0111YZ@orz
2008/09/07(日) 22:14:57ID:U0sNuFYJえー、CPU変わっても駄目?
CPU以外は変わってないのですか?
別のPCで.Net自体が違うとか。
>>110
OSが変わっても駄目...
.Netは変わってないですか?
可能性があるのは.Net自体が変わっていることぐらいでしょうか。
CPUやOSが変わってもセーブデータが使えないとは思えないのですが。
あと調べてないので何とも言えないのですが、オブジェクトのアドレスを
セーブしていて、それを復旧しようとして駄目とか。
アドレスなんか毎回変わるから、そんなものセーブしても次回は使い物に
なりませんが、シリアライズ対象になっているとセーブされちゃうのですよね。
けど、これだと毎回セーブデータが使えないことになるので、恐らくこの
ケースはないと思いますが、それにしても挙動がぁゃιぃすぎますね。
0112名前は開発中のものです。
2008/09/08(月) 03:24:06ID:FbRz0a35同一PCでAthlon64 -> X2はOKだった。
Core2Quadの別のPCにFTのフォルダごとコピペして読み込ませたらNG
.NETは多分同じだと思うけど… 余力があったらスタックトレース貼り付けます。
0113名前は開発中のものです。
2008/09/08(月) 18:49:25ID:A2ba4GZN>>105
回送確認した
ちゃんと回送駅の次の駅で客乗ってるようだ
前のは秒単位だった影響なのかな
0114YZ@orz
2008/09/08(月) 19:32:13ID:A7yxn2Ol検証乙です!
秒単位の影響かもしれませんね。>バグ
確かに今回は1からソース修正し直してますので何か変わったのかも。
セーブデータのロードに融通をきかせるのであれば、セーブ時から
考えないと駄目なので難しいですね。
どちらにしてもプラグインの不足によるデータロードの不可とかもあるから
どうするか悩ましいところです。
ちなみに時間単位の変更とデータのロード・セーブの見直しとどっちを優先
したらいいでつか?
私スーパープログラマじゃないのでそんなに同時には無理。
0115名前は開発中のものです。
2008/09/08(月) 20:20:47ID:WotWQCEYデータ互換の方が優先度高いかと。
時間に関してはまだ仮仕様の議論も盛り上がってないし。。。
0116名前は開発中のものです。
2008/09/08(月) 20:57:11ID:x56vHMvlデータ互換是非してもらいたいです。
Exでダイヤ詳細がバグってバグらないExAvに期待してたもんで。
0117名前は開発中のものです。
2008/09/08(月) 21:31:16ID:A2ba4GZN今後、デバッグ検証用にセーブデータうpなんてこともありそうだし
作ってるうちに現行版の互換形式保存のデータから
ExAvへのコンバートが可能とかになるかもしれないし
今まで遊んでた町データが新版で読めるってのは結構大切なことかと
0118ホリタケ
2008/09/08(月) 21:41:58ID:cEcFPgZG0119YZ@orz
2008/09/08(月) 22:47:45ID:A7yxn2Ol今予定しているプロトタイプ速攻終わらせてデータ関連やります。
結構切実なんですね...
しかし.Netのシリアライズそんなに使い物にならんとは...
使い物にならんということは自力でシリアライズ・デシリアライズしないと
いけないということで、本体どころか全プラグインに手を入れないと駄目かも><
そうなるとかなり大変なのでもう少し実験して、どういうケースが駄目なのかを
検証した方がいいかもしれませんね。
もしかすると解決方法があるかもしれないし。
あとはプラグインの有無による問題ですね。
無理矢理読み込ませるのであれば、該当プラグインがない場合は該当オブジェクト
は再構成しない方針でいいと思うけど、それで全く問題がないのか?が疑問。
例えばレールとか道路のプラグインがないので、再構成しないようにしたらレール
が消えてその上を走っている車両がアッー!なことになったりとか。
全てのケースで問題が出ないのか、やってみないとわからない処もありますね。
もしくはプラグインが足りない場合はこのプラグインが足りませんと表示して
ロードしないか、どちらかでしょうね。
0120名前は開発中のものです。
2008/09/09(火) 09:01:59ID:r+nMyEUL0121名前は開発中のものです。
2008/09/09(火) 09:09:40ID:EixYsHSxもし建物にしても電車にしても、あるはずのプラグインがなければ、
無視して動作させてもその後はくちゃくちゃになるだろうし。
>>119
がんがれ!セーブデータ関連が完成すれば、もし問題が起こっても
セーブデータとプラグイン一式をもらえば済むから、検証がすごく楽に
なるハズ。
0122名前は開発中のものです。
2008/09/09(火) 16:17:37ID:292PyFKj一般の建物が無いくらいだったら空き地にしちゃえばいいんじゃないかな。
ってのはできないのか?
0123YZ@orz
2008/09/09(火) 22:32:19ID:KivbIta2【変更箇所】
・ダイヤ設定の詳細
コピーしたい設定を選択後、コピーボタンで設定をコピー
ダイヤ設定を全て消去するボタンを追加
リストビューに縦スクロールバー追加
ダイヤ設定の保存機能を追加
ダイヤ設定の読込機能を追加
【懸案事項】
・ダイヤ設定の詳細
列ヘッダクリックによる昇順・降順ソート
月、日、時等の細かい単位でのソートは必要なのか?
月・日・曜日・時・分・アクション全ての項目でのソートが必要なのではないのか?
というわけで意見求むです
【次回の予定】
・ダイヤ設定の詳細
列ヘッダクリックによる昇順・降順ソート
また、つまらん変更ですいません。
>>120
XmlSerializerってバイナリじゃなくてXMLで出力するやつですよね?
それってFreeTrainで元々出力できるようになっているやつですよね。
多分、今のセーブデータだとそれでも駄目そうな気がします。
0124YZ@orz
2008/09/09(火) 22:36:07ID:KivbIta2多分、ものによりけりでしょうね。
>>122さんが言われる通り、ないと( ゚Д゚)マズーなものはロード中止、それ以外は
空き地にして無理矢理ロードが妥当だと思います。
ただ、今私が知らないだけかもしれませんがデシリアライズする時に割り込んで
このオブジェクトは再構成する、これはしないとユーザー側で選択できるのか?
というとこが不明。
自分はできないと思っているので、それをやろうとするのならやはり自力でセーブ
ロードの処理書かないと駄目なんかなぁと思っています。
しばらく調査が必要ですねぇ。
0125c477@二両目
2008/09/09(火) 23:38:41ID:K1b5IlGGセーブデータの互換性維持については、私も過去に試みたことがありますので、
ご参考までに情報提供させていただきます。
このURLを参考に、C#に書き直してみることにしました。
http://www.codeproject.com/KB/vb/ObjectSchemaMigration.aspx
いくつかの潜在的問題を解決し、より使いやすくした(つもり)のソースがこれです。
http://www4.uploader.jp/dl/freetrain/freetrain_uljp00006.zip.html
パス:ft
基本コンセプトは、バージョン互換性が無くなったオブジェクトだけ、
互換性維持用のコードを書き足せばOK!みたいに考えていたのですが・・・
簡単なサンプルプログラムでは、問題なく動作するのですが、
FreeTrainのような複雑なデータ構造をデシリアライズしようとすると、
問題が次々に現れまして・・・
たとえば、ベースクラスと継承クラスで同じ名前のフィールドがあってnewキーワードで隠しているような場合、
デシリアライズでエラーになります。
そのような箇所を逐一修正していけば、あるいは使えるのかもしれませんが・・・
結局、半月ほど試行錯誤して、泥沼に嵌ってあきらめてしまいました。
それでも、何かのヒントになればと思いましたので、ご参考になればと思い書き込みました。
0126c477@二両目
2008/09/09(火) 23:48:28ID:K1b5IlGGご存じかもしれませんが、IObjectReferenceというインターフェースがあります。
FreeTrainでもfreetrain.framework.graphics.Pictureやfreetrain.framework.plugin.Contribution
などに使われていますが、要するにオブジェクトそのものをシリアライズするのではなく、
必要最低限の参照情報(たとえばID文字列)のみを記憶しておいて、
デシリアライズ時には、このIDを元にプログラム側で適切なオブジェクトを生成(もしくは使い回し)
するのに使用できます。
コントリビューションもこの仕組みで保存されていて、基本的にはIDのみが保存されています。
復元方法はContribution.cs内に書かれているので、IDに相当するコントリビューションが見つからない時の
代替処理を記述するのは、そんなに厄介な話ではなさそうに思われます。
あるいは、コントリビューションの全データを保存する、という選択も無いわけではないですが・・・
以上、ご参考まで。
0127YZ@orz
2008/09/09(火) 23:58:59ID:KivbIta2こんばんわっ!
情報サンクスです
とりあえず英文ページ読んでみますorz
IDというのはGUIDのことですか?
なるほど該当GUIDのプラグインを逐次生成しているということですか。
復元はコントリ内でやってたのですね、てっきりnetまかせだと思ってました。
とりあえずはどういうケースで問題が出るのかをはっきりさせないと駄目ですね。
話では、PCが変わったら駄目とかOSが変わったら駄目とかありますので、そこら
へんを調査・整理する必要があるかと思います。
0128c477@二両目
2008/09/10(水) 20:39:36ID:RpZoWrvpYZさん
>IDというのはGUIDのことですか?
そうです。
>なるほど該当GUIDのプラグインを逐次生成しているということですか。
厳密には逐次生成ではありません。使い回しです。
ソースをご覧になればすぐおわかりになると思いますが、
既に存在しているプラグインをPluginManagerから取得しています。
プラグインは理想的にはFreeTrainの起動時に全てインスタンス化されて登録されているはずなので、
ゲームデータのロード時に同じプラグインのメモリイメージを生成するのは不適切であり、
IDを頼りに登録済みのインスタンスを取得して使い回すというのは理にかなった設計と思います。
あと、デシリアライズのカスタマイズではパフォーマンスもよく問題になるそうです。老婆心ながらご注意を。
デシリアライズをカスタマイズすると、型の解決(クラスパス検索?)が極めて遅くなる事例があるそうです。
以前、FreeTrainにはロードが極端に遅い、という問題があったこと、記憶されている方もいるかと思います。
あれは、私の株式プラグインのコードに問題があるせいでしたが、おそらく根は良く似た問題ではないかと。
0129YZ@orz
2008/09/10(水) 21:32:40ID:aCUJ+j92やっぱり付け焼き刃ではアカンですね
オライリーのやつは英語なら3.5対応のやつがあるのですが日本語版は2.0
なんでこれ待ちなんですけどね...
とりあえずソース見てみます。
何を言われているのかちんぷんかんぷんですorz
0130c477@二両目
2008/09/11(木) 21:57:54ID:6NJYSpJs私は翔泳社の標準C#.NETプログラミング1、2巻を読みました。
(ちなみにISBNは4-7981-0111-7と4-7981-0112-5です)
まあ、NET1.1の頃ですから情報も古いでしょう。
でも、個人的には開発は2.0ベースで十分ではないかと思ってます。
3.0以降の拡張機能は、なくても困らないような物が多いので。
>何を言われているのかちんぷんかんぷんですorz
申し訳ないです。既にある程度ソースをご覧になられてるのかと思って、
だいぶ端折って話したので、わかりにくかったですかね。
まあ、実際ソースをご覧になれば、きっとご理解されることと思いますが、
もしご不明な点があればご質問くだされば、私に解る範囲でお答えしますよ。
ご遠慮なく。
0131名前は開発中のものです。
2008/09/13(土) 00:48:34ID:LMiMAl5Y場所 freetrain.framework.MainWindow..ctor(String[] args, Boolean constructionMode)
場所 Driver.Driver.run(String[] args) 場所 c:\project\freetrain\patch\freetrain\tools\driver\driver.cs:行 37
場所 Driver.Driver.Main(String[] args) 場所 c:\project\freetrain\patch\freetrain\tools\driver\driver.cs:行 26
'freetrain.framework.ResourceUtil' のタイプ初期化子が例外をスローしました。
場所 freetrain.framework.ResourceUtil.loadSystemPicture(String name)
場所 freetrain.framework.MainWindow..cctor() 場所 c:\project\freetrain\patch\freetrain\core\framework\mainwindow.cs:行 119
CLSID {E1211353-8E94-11D1-8808-00C04FC2C602} を含むコンポーネントの COM クラス ファクトリを取得中に、次のエラーが発生しました: 80040154。
場所 org.kohsuke.directdraw.DirectDraw..ctor() 場所 C:\Project\FreeTrain\Patch\FreeTrain\lib\DirectDraw.net\DirectDraw.cs:行 47
場所 freetrain.framework.ResourceUtil..cctor() 場所 C:\Project\FreeTrain\Patch\FreeTrain\core\framework\ResourceUtil.cs:行 93
0132名前は開発中のものです。
2008/09/13(土) 12:52:33ID:KhP8oqkK3.5のEnumerableクラスとかよく使いたいと思うんだけど。
0133YZ@orz
2008/09/13(土) 13:10:57ID:5zLxy61dじゃないと2000ユーザーもはずれてしまうし。
0134白河どりぬ
2008/09/13(土) 22:04:33ID:tMK7fkGd普通に動いてます。
#プラグインですが、現在モデル調査中です。いつ完成するか分かりません
0135あかさたな
2008/09/14(日) 10:07:33ID:EAwJJV23使おうとすると、エラーが出ます。
F\なんちゃらかんちゃらって出るんだがF\が問題なのかなぁ
0137あかさたな
2008/09/14(日) 18:07:51ID:EAwJJV23ありがとうございました
0138名前は開発中のものです。
2008/09/15(月) 00:06:33ID:0MDzbTE0vistaで起動しないのは仕様でしょうか…
XPのノーパソなら起動できたのですが。
それと、マニュアル等を読もうとしてもIDとPASSを入れろと言われて読むことができません、
なので何をしたらいいのかすらわかりません。
0139名前は開発中のものです。
2008/09/15(月) 00:39:42ID:wiSuMEO0そういえば、確かに最近内輪ゲーになりすぎてるな。
0140名前は開発中のものです。
2008/09/15(月) 01:10:36ID:Gpk7mvVUダイアログには「IDとPASSを入れろ」なんて書いてないはずだが。
中学生レベルの英語なら読めるだろ?
よく読んだら入力する文字わかるから
まあwiki形式でなくてもいいとは思うが
0142名前は開発中のものです。
2008/09/15(月) 01:52:19ID:KDQ/R9Zf0144116
2008/09/15(月) 08:26:31ID:sQFJYdSzなんでID変わってるんだろ
0145名前は開発中のものです。
2008/09/15(月) 08:29:25ID:1BfCRC+Ettp://freetrain.sourceforge.net/forum/viewtopic.php?f=19&t=39&sid=4c58f116573f5551fc9c6f6ca8f0c433
書いてある通り、コマンドプロンプトを"管理者として実行"しないと確かできない。
0146116
2008/09/16(火) 18:27:58ID:AtokCkNUがんばってはるのかな?
0147YZ@orz
2008/09/16(火) 20:16:04ID:gUqU3dcQ今SPOREに浮気しています...
もうすぐ帰ります...
0148名前は開発中のものです。
2008/09/17(水) 23:06:50ID:LzkC67pj■ このスレッドは過去ログ倉庫に格納されています