鉄道経営系ゲーム製作スレッド 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/
017819
2010/04/11(日) 08:06:09ID:nFKc4etnC#知らないって言いましたね。
まあ知らないんですけど、ごく簡単なコーディングなら出来ます。
簡単な処理なら Java や C++/CLI とそんなに違わないですからね。
それに、FreeTrainから呼び出してもらっているDLLはC#ですけど、
そこから更に別のDLLを呼び出していて、それはC++で記述しました。
まあつまり、C#側のDLLはただのラッパーです。
.NET は 3.5 でコンパイルしてました。
3.5 でコンパイルしたら(3.5専用のライブラリを
使用していなくても)2.0では動かないんですかね?
.NET 事情は全く知らないのでよく分かりません。
もし動かないという報告があれば、2.0 でコンパイルしなおします。
0179riorio ◆rio2xMQlrQ
2010/04/11(日) 09:35:19ID:++YAHBfo日計関係なおってるはずです。
ただし、3.0.1.2以前に建てた駅は一度撤去して建て直していただく必要があります。
建て直さずに続行すると集計が狂ったままになります。
中身の話すると、駅を建てたときに日を繰り越す処理のイベントハンドラがレジスト
されるので、イベント周期がその時点で決められてしまうため。
3.0.1.3で読み込んでもイベントが3.0.1.2時点の周期で起こってしまうから。
>>178
サブPCから.NET3.5/3.0をアンインストールしてみて動かしたところ、plugin動いた
ので、大丈夫なようです。
もし他の人から動かなかったーって話が出てきたら2.0でお願いします。
表面的なことをいうと、ファイルメニューのなかで「終了」と並びになってますけど、
ここよりもマップキャプチャなどと並びになったほうが美しい感じですね。
メニューの--仕切りの間のどこにはさみこむか指定書式があったような……
018019
2010/04/11(日) 11:26:20ID:nFKc4etn.NET2.0でのご確認ありがとうございます!
環境をいじれるマシンが手元に無かったので助かりました。
メニューの位置ですけど、確かにそれは感じたんですが、
変更方法が良く分からなかったので諦めましたw
ググレカスというやつですね。
でもあえて聞きます。
ググらなくてもC#が頭に入っているというすばらしい方、
いらっしゃいましたら是非お教え下さいませ。
018119
2010/04/11(日) 12:04:16ID:nFKc4etn何故かマップと線路の位置がズレてしまうんです。
で、その検証用にセーブデータが欲しいのですが、
どなたかご提供頂けないでしょうか?
欲しいデータは、
・Avの2系又は3系
・地形がある(平面のみのマップではない)
・四方が海に囲まれていない
・レールが敷いてある
です。よろしくお願い致します。
0182名前は開発中のものです。
2010/04/11(日) 12:08:48ID:KPP7l2ps0184名前は開発中のものです。
2010/04/11(日) 13:52:58ID:hT+cjjpGすいません
menuitemを任意の場所に挿入するにはキーが提供されていれば楽なのですが
できるだけ本体のソースを書き変えないなら少しだけ面倒になります
単に挿入位置を探してinsertというだけなのですが
将来仕様変更でitemの並び順が変わらないと仮定できるのであればindexプロパティを変更するだけです
018519
2010/04/11(日) 16:03:45ID:nFKc4etnただ、残念ながらまだ地表の線路のみですが。
http://www.free.netgamers.jp/freetrain/
マップとズレる件は、単に私の勘違いからでした。
りおりおさんのチョココロネマップのサイズは
てっきり 400x600x16 だと思っていたのですが、
実際は 400x568x16 で作成されたものなんですね。
それにしても、英語力の無さがこんなに深刻だとは思いませんでした。
分岐レールのクラス名が「JunctionRailRoad」だったとは。
「ジャンクション」とか言われると、高速道路のものしか
思い浮かばない私。分岐はてっきり「ポイント」だと思ってた。
0186名前は開発中のものです。
2010/04/11(日) 16:38:59ID:A7koO+23道路はただのRoad
018719
2010/04/11(日) 17:13:36ID:nFKc4etnでも分岐レールはどれだろう〜って流し読みしてる状態だと、
Junctionが目に入った時点で読み飛ばしちゃうんだよー
0188名前は開発中のものです。
2010/04/11(日) 17:14:07ID:/FrGhX6gそこで日本語変数名ですよ。VC#は通るかわからんけど。
最近はなんか一部で日本語変数名ありじゃね?とか言われちゃってるんで微妙
ですが。
018919
2010/04/11(日) 17:24:50ID:nFKc4etn英語が苦手な人間にとっては早く普及してもらいたいデス。
っていうかせめて変数名は和製英語使って欲しいです。
分岐器はふつー「ポイント」でしょ?
まあPointだと座標と間違えそうで紛らわしいですが。
ちなみに、私の愚作「最強都市計画」では、
分岐器のクラス名はズバリ「Bunki」ですww
0190名前は開発中のものです。
2010/04/11(日) 17:41:15ID:54jFaVCu0191名前は開発中のものです。
2010/04/11(日) 17:58:50ID:/FrGhX6g誰だ変数名をフルスペルで書かなきゃいけないなんて流れを作ったやつは。
俺が言っても仕方ないけど。
019219
2010/04/11(日) 18:14:22ID:nFKc4etnYahoo!翻訳する身にもなって欲しいものです。
0193名前は開発中のものです。
2010/04/11(日) 18:47:54ID:wzSsbrIrアンインストールしてない人大丈夫?
0194名前は開発中のものです。
2010/04/11(日) 19:06:39ID:A7koO+23そんな糞コメントなんか読み飛ばしてしまえばおK。
無視するがよろし。
>>193
俺普通に1.1/2.0/3.5と入れてるけど?
なんか不味いことあるのかな。
0195名前は開発中のものです。
2010/04/11(日) 19:14:11ID:wzSsbrIr0196名前は開発中のものです。
2010/04/11(日) 20:12:00ID:KPP7l2ps鉄道用語は適当な英語がそのまま使われている。
0197名前は開発中のものです。
2010/04/11(日) 20:12:11ID:1JGrDmBKむしろ問題になるのはwin7でサポートされていないことかな
019819
2010/04/11(日) 20:32:58ID:nFKc4etn>768 名前: 川口耕介 投稿日: 02/08/14 10:38 ID:wRbtNI+r
>
>>>737
>カーブやポイント(ところで英語ではpointって言わないよね)通過中
英語ではpointと言わなくても日本語ではポイントと言うのだから
せめてコメントにカタカナで「ポイント」と記述しておいて欲しい、
と過去ログの中の人に言ってもムダだけど。
鉄道用語の日本語と英語の対応表は欲しいですね。
0199名前は開発中のものです。
2010/04/11(日) 20:39:58ID:l0bCnF3R0200名前は開発中のものです。
2010/04/11(日) 20:41:39ID:Ps30bsOo0201名前は開発中のものです。
2010/04/11(日) 20:54:38ID:A7koO+23どこまで遡って、食いついとんねん!w
0202riorio ◆rio2xMQlrQ
2010/04/11(日) 22:09:43ID:++YAHBfo>りおりおさんのチョココロネマップのサイズは
>てっきり 400x600x16 だと思っていたのですが、
>実際は 400x568x16 で作成されたものなんですね。
え゛
自分も400x600x16のつもりだった……
568みたいなはんぱな数字にするとは思えないのだがなぁ。
なんだろう???
というか今のFreeTrain EX Avって、そうなる前のEXもなんだけど、
開始後のマップの広さや水面高をプレイヤーが確認する手段が
ないんですよね。
だから今のままだと書き出ししたxmlを読み込むための新規マップの
サイズをどうするかって困る人が多いと思う。
だから書き出しxmlの先頭付近にマップサイズを記録して、読み出し
時にはもう新規マップを確保することまで含めて動作するようにして
いいかもしれない。
あとは「表示」メニューのなかに「マップ基本情報」みたいな項目を
追加して、マップのXYZ広さ・水面高・陸地広さ・線路長などを表示
してくれるpluginがあるとうれしいかもねー
0203名前は開発中のものです。
2010/04/11(日) 22:27:29ID:Ps30bsOo高さx2の分じゃないかな。
なぜ差し引かれてるのかは知らないが。
0204名前は開発中のものです。
2010/04/12(月) 00:17:31ID:+OLIIHse表示位置の座標移動ができるといいかも
あとからサイズ変更できないからと大きめのマップにして作り出すと
開発前の部分の移動とかアバウトにしかできないし
どこを基点に0,0にしてx,yなのかよくわかってないけどw
0205riorio ◆rio2xMQlrQ
2010/04/12(月) 00:50:55ID:AG10ysx3欲しいけど自分の手には余るな……
あと関係ないんだかあるんだかな事で、開始時のマップサイズで
縦横数値打ち込むんだけど、できてきたものが横長につぶれたものに
なるのなんでなんだっけ。
いまだ全貌を理解してなくてスマン。
XYZ座標系は、左上すみ最下層が(0,0,0)で、
左下向けてX軸増加
右下向けてY軸増加
だったと思う。
右手系っていえばいいのかな。
親指X・人差し指Y・中指Z。
0206名前は開発中のものです。
2010/04/12(月) 01:53:12ID:muyeyKNmnanasiさんがマップキャプチャ作ってたよね。
あれで1ボクセルを1ピクセルで表示すればサテライト擬きできない?
0207名前は開発中のものです。
2010/04/12(月) 02:05:16ID:7cy/+6JA020819
2010/04/12(月) 06:18:40ID:RJb+RX/wより正確に言うと、
「新規作成」の空マップで 400x568x16 と入力すると、
400x600x16 のマップが生成されるということです。
たぶん >>203 さんの言うとおり、高さとの整合性のために、
こんな仕様になっているのかなと思う。
まあとにかく、「568」なんていう数字をユーザーに
入力させないと使い物にならないというのは不便だし、
「マップ基本情報」の表示機能を追加したところで、
新規作成で入力した値ではなく、生成後の値がと表示
されてしまうので、何かしらの対策が必要ですね。
0209riorio ◆rio2xMQlrQ
2010/04/12(月) 07:35:10ID:AG10ysx3なので(動画参照)、地形ローダーpluginのソース見るとなにか分かる
かもしれません。
もし「マップ基本情報」表示pluginを作成するとしたら、生成後の値でいいと
思います。
地形ローダーのほうになにがしかの制約があって数値がずれることがあっても
それはしょうがないというか。
021019
2010/04/12(月) 09:21:10ID:RJb+RX/wが、残念ながら高架線路に橋脚が表示されません。
高架は SingleRailRoad じゃないのかな?
それとも何か付け加える必要がある??
ちなみに、チョココロネマップで試したら、
途中で「資金不足」と言われてしまいましたw
この機能では資金を消費しないようにしたいけど、
もうソース読むの疲れた。英語(ry
地形のほうの読み込みはどうにかしないとね……。
021119
2010/04/12(月) 20:45:53ID:RJb+RX/w読み込んでもズレなくなりました。
0212riorio ◆rio2xMQlrQ
2010/04/12(月) 21:23:39ID:AG10ysx3保存した時より右下にずれた位置に再現されるっぽい。
高架の橋脚は、んーと、チョココロネでは元から生えてないのでサンプルとして
不適当かも。
下に何もなければ自動で橋脚が生えて、もし鉄道アクセサリプラグイン・建物プラグイン
などがすでに地表に存在する上のボクセルに線路をしいたときは橋脚は生えないという
仕様だったと思うので。
そのおかげで、コンクリート橋脚とか盛土高架とか、鉄道アクセサリや建物でリアルな
高架をデザインできることになってまして。
チョココロネの高架はそういう、別プラグインを下に置いた高架になってるのです。
空マップから、レールだけひきまわしたら橋脚がはえたデータができると思うので。
それを書き出してみてどうか、というところですね。
その自動の橋脚はレールと一体の取り扱いになってたような。
橋脚をブルドーザでぶちこわすと上のレールも消えちゃうので。
あとどうでもいいところですが、読み込みのときだけでなく書き出しの時も、拡張子
.dxfとか.xmlが自動で補完されると便利かなと思いました。
021319
2010/04/12(月) 22:03:20ID:RJb+RX/w本来の位置からはズレても、地形と線路が同じだけ
ズレるようにしたつもりなので、少なくともチョココロネ
のような島のマップであれば問題ないかなと思ったんですが、
もしズレるようであれば、そのデータも頂けませんか?
高架の橋脚は空マップで試してダメだったので、
SingleRailRoad を生成するだけじゃ足りないようです。
必ず橋脚があるのであれば SingleRailRoad と一体
なのかもしれませんが、地表になにかあると生えない
ということは、個別に何か生成しているのかな?
でもブルドーザーで一緒に消えるということは、
何かしらの関連付けはされているんでしょうね。
ちなみに、保存のときは一応拡張子は自動で付与されます。
画面には表示されないですけどね。
0214名前は開発中のものです。
2010/04/12(月) 22:27:56ID:AG10ysx3http://www.hiyohiyo.info/~riorio/freetrain/yamanote2099.zip
地形のない、「空マップ」で開始して線路だけひいたものです。
鉄道アクセサリプラグインの高架なんかはあります。
サイズはすみません、作った本人が忘れてます。
左上まで詰めて線路ひいてあるのですが、
線路書き出しして読み込みすると右下にズレます。
それで右も下もぎっちぎちに詰まってるので、はみ出ます。(汗)
0215名前は開発中のものです。
2010/04/13(火) 01:48:50ID:3dyhfU2Khttp://www.nicovideo.jp/watch/sm10374364
021619
2010/04/13(火) 06:57:53ID:Cwx/ymMX頂きました。
>>215
一昔前なら無謀とも思えるリアルな山手再現が実現できた感じですね。
それにしてもFreeTrainは、Vistaにも対応したし、A21を超える
時間軸も手に入れたのにあまり盛り上がらないのは何故?
021719
2010/04/13(火) 11:07:52ID:Cwx/ymMX0218名前は開発中のものです。
2010/04/13(火) 12:42:08ID:TT2EhWKnまだ川口さんが開発してた頃に私も参加しておりましたが、
その頃のイメージとして、いろんな人のプラグインをまとめて導入出来ず「めんどくさい」というものがありました。
今は、間口を広めるために敷居は低くなってるでしょうか。
現状を知らずに書いておりますので、変化があったのならスマンコ
あと、この板内で勢いTOPなんだから盛り上がってる方じゃネーノ?
0219名前は開発中のものです。
2010/04/13(火) 12:51:35ID:TGGZCZqv何日もレスつかないこととかザラだったんだからw
022019
2010/04/13(火) 13:22:46ID:Cwx/ymMX今は一般的だし、それにプラグインセットも配布されてます。
ニコニコの総統閣下動画じゃないけど、少なくともA7なんか
いまだにやってるような人は、よく分からない。
0221218
2010/04/13(火) 13:53:52ID:TT2EhWKnとかって感じなら激熱なんだけど、そこんとこどーなの?
022219
2010/04/13(火) 14:16:16ID:Cwx/ymMX同じ場所で配布されているから面倒ではないと思う。
0223riorio ◆rio2xMQlrQ
2010/04/13(火) 22:07:46ID:3dyhfU2K----
そろそろ、プラグインのまとめパックも更新するべきなんですかねぇ・・・
-- モガミ (2010-04-13 19:50:50)
----
どうなんでしょう。需要あるんでしょうか。
やるならEX時のPlugin Setとの差分にするんじゃなく、「これ1ついれればOK」な
単体完全版にしたほうがいいのかな。
需要あるならちまちま作業します。
本体に同梱はする予定ありません。
本体が頻繁にバージョンアップする際にpluginsがくっついてくるのはサイズの
肥大になるし無駄が多いです。
あとは、実行ファイルなものは本体バージョン依存になるので、除外。
発車メロディもサイズの問題で別梱包かな。
0224名前は開発中のものです。
2010/04/13(火) 22:11:42ID:5oPrQ85b0225名前は開発中のものです。
2010/04/13(火) 22:37:25ID:eRQAIvQeいつになるか分からんがrev.2が完成するまで待ってね。
0226riorio ◆rio2xMQlrQ
2010/04/13(火) 23:03:41ID:3dyhfU2K拡張子wavのくせに中身フォーマットmp3問題があるので
既存の公開済発メロについてはかまわなければパッチ後の
ものを置こうかと思ってますが。
rev2はrev2で楽しみにしておくとして。
0227名前は開発中のものです。
2010/04/13(火) 23:29:33ID:VHQ5KJ5Y待ってる人数の割りに実際の乗車率が低いと思う。
0228riorio ◆rio2xMQlrQ
2010/04/13(火) 23:39:02ID:3dyhfU2Kええとバグ報告なのかな??
バグ報告でしたら。
特定バージョンで起こるのか、すべてのバージョンで起こるのか、
そのたもろもろ詳細に教えていただきたいのですが。
っていうかFreeTrainて、駅で待ってる人がいたら根こそぎ拉致って
しまわなかったっけ……
0229名前は開発中のものです。
2010/04/13(火) 23:46:24ID:eRQAIvQeそういう感じではなかったような。なかなか乗ってくれない。
乗客が目的地を持っているわけでは無いとは思うが。
0230名前は開発中のものです。
2010/04/14(水) 00:14:17ID:r8Hkv0Jk3.0.1.3だけど、バグというわけじゃなく駅の乗車待ち人数の割りに
乗車率が低いと感じたもので
FTは駅では総入れ替えだけど、列車に乗っている方は全部降りるけど
乗る方は乗車待ちの人数がたとえ列車の店員より低くても、全員乗るわけじゃないですね
0231名前は開発中のものです。
2010/04/14(水) 00:18:54ID:nT7zqhap山奥ノンストップだろうがかまわず乗ります。
ただ、Prptotype3ではなんか乗り方が少ないかもしれないですね。
今、大崎駅前に急遽マンション建てまくって様子見てますが。
81人の乗車待ちに対して乗客3人。
まったく乗らないわけではないらしい。
乗客数えるときに待ち客数を発着本数でlogとってたよぉーな気もするので、
ソース見直してみます。
A4では根こそぎ拉致っちゃうんだよねー、たしか。
それはおかしいということで、川口さんほかスレ判断で拉致らないよう数式入れて演算してて、
それが時間経過か1日の発着本数か利用してたかなぁぁぁ……
でー、おそらく1日の乗車人数が平均化するように演算してるんだと思いますが、
どうしますかこれ。
当初の意図とすれば、1日の発着本数が100本なら1/100に平均化されるのが意図通りという
ことになりますが。
FreeTrain原型を壊してでもじゃんじゃん乗ってくれたほうがうれしいって意見が多かったら
そう変更するかも。
0232名前は開発中のものです。
2010/04/14(水) 00:22:06ID:3d+/yeeI変える前に仕様をよく確認してからにしましょ。
0233名前は開発中のものです。
2010/04/14(水) 00:58:10ID:dhX9BRNIもしかすると何かしらのバグかもしれんし。
0234riorio ◆rio2xMQlrQ
2010/04/14(水) 01:12:31ID:nT7zqhap駅の乗降客関係は、
core\world\rail\Station.cs
の250行目あたりにあるんだけど。
/// <summary>
/// Factor that we apply to averageLoaded/UnloadedPassengers every hour.
/// </summary>
const float AVERAGE_PASSENGER_RATIO = 0.9996f;
/// <summary>
/// Factor that we need to apply to obtain average passengers per day.
/// obtained by 24*(1-RATIO)
///
/// Justification of the above equation is that if you always carry 1 passenger
/// for every hour, thie accumulated value should converge to C
/// where C = C*RATIO + 1. Such C = \frac{1}{1-RATIO}
/// </summary>
const float AVERAGE_PASSENGER_PER_DAY_FACTOR = 24.0f*(1.0f-AVERAGE_PASSENGER_RATIO);
この定数の定義、これがもうわからん。
なにが0.9996なのよ?ってところから。
次のAVERAGE_PASSENGER_PER_DAY_FACTORの式は意味は分からなくもないんだけど。
0235riorio ◆rio2xMQlrQ
2010/04/14(水) 01:15:46ID:nT7zqhappublic void unloadPassengers( Train tr ) {
// TODO: do something with unloaded passengers
int r = tr.unloadPassengers();
import.AddAmount(r);
trains.AddAmount(1);
Debug.WriteLine(string.Format("devQ on unload v={0} for {1} passengers.",import.LastWeek/24,r));
World.world.landValue.addQ( location, Math.Min((float)(import.LastWeek/24),r) );
accumulatedUnloadedPassengers += r;
GlobalTrafficMonitor.TheInstance.NotifyPassengerTransport(this,r);
}
っていうのが降車客なんだけども、
Math.Min((float)(import.LastWeek/24),r)
のimport.LastWeek/24がまたわからん。
24で割るってことは1日あたりを1時間平均にしてるっぽく見えるけど、import.LastWeekって
「前週の降車客数」だと思われるそれを(7*24)で割るのではなくただの24で割ってるのはなぜ?
landValue.addQの中身も分かってないからまとはずれなこと言ってるかもしれんが。
0236riorio ◆rio2xMQlrQ
2010/04/14(水) 02:02:53ID:nT7zqhap377行目あたり。
ってことで/24でその1時間あたりということになるのだが。
ゴメン。これ降車客だから今問題の乗客ではなかったね。
まぁ駅の発展もなんかおかしいので、降車客の考え方も追求したいんだが。
281行目のコメントがあって282行目にあるとおり、駅がもつ乗りたい人=population
全員が乗るわけはないという仮定のもと、乗りたいのはそのうちの30%であるとして、
0.3fをかけてる。
あと既に乗って行った人は差し引くようになってる。
int avail = Math.Max(0, total - gonePassengers);
export.AddAmount(tr.passengerCapacity-pass);
ってのはなんかおかしい気がするな。
export.AddAmount(pass);
じゃないんだろうか。
もっともこれで計算してるのは「駅の乗車人数」であって、列車の乗客じゃないから
列車の乗客には影響ないはずだし。
んー。
チラ裏がすぎるみたいなんで。あとはblogにて。
0237名前は開発中のものです。
2010/04/14(水) 02:17:17ID:nT7zqhap大崎駅の一日
http://www.nicovideo.jp/watch/sm10384793
0238riorio ◆rio2xMQlrQ
2010/04/14(水) 02:33:40ID:nT7zqhap川口さんがスレに顔出して作ってた頃のログか、
本家フォーラムかwikiかで、
乗客計算方法についての議論があったりした??
もしぎろんべーすがあるなら読んでおかないとと思って。
じゃあまた布団に戻る ノシ
0239名前は開発中のものです。
2010/04/14(水) 03:01:07ID:02/BwQwnとプログラミングだめな俺がつぶやく
0240名前は開発中のものです。
2010/04/14(水) 04:11:49ID:nT7zqhap画像がリンク切れとかいうレベルのものではなくまったく見れないんだけど。
復活できるのかな……
どなたかデータ持ってます?
0241名前は開発中のものです。
2010/04/14(水) 06:20:31ID:3d+/yeeIこれダイヤ作成のイメージとしてはどんな感じ?
1.列車(1本または数本のグループ)ごとに1日分の全ダイヤを作成(車両運用固定)
2.全ての列車が同じダイヤを共有していて、採時駅(大崎駅)の発車時刻と、ポイント・信号の制御だけで列車を誘導(車両運用は変動)
という2パターンが考えられるけど。
今までの時間軸だと前者、この時間軸であれば後者が有効だと思う。
それ以外にも
・15秒単位の発車時刻設定を効果的に使う事が出来ているか(本当に必要なのか)
・1秒単位では列車間隔が広い、時間の進み方が遅いため退屈にならないか
この辺を改めて問いたい。
0243名前は開発中のものです。
2010/04/14(水) 07:23:21ID:dhX9BRNIおい、また以前のこと繰り返すのか?
荒れるだけだぞ?
それと最新版動いたのなら自分で確認できるだろうし、自分でプレイして確認しろって
前と同じ事言われるだけだぜ?
0244名前は開発中のものです。
2010/04/14(水) 09:16:18ID:o6X4Ga15既に出来てるダイヤの使用感を聞くぐらいいいだろう。
リリースするたびに、こんなダイヤを組んで自分で試せっていうのか?
嫌ならやら安定版が出るまでやらなきゃいいだけだが、
テストプレイってのもプロジェクトの貢献方法の一つってこと忘れるな。
貢献する気がないなら、無視してROMってればいい。
0245名前は開発中のものです。
2010/04/14(水) 20:42:44ID:02/BwQwn何で退屈とか書くんだよ
お前さんの勝手な思い込みだろうが
0246riorio ◆rio2xMQlrQ
2010/04/14(水) 21:08:44ID:nT7zqhap一プレイヤーと書いたことの重みが違うような気がする。
まだ建物も建ててないし。列車を入れただけなので。
特段のことは。
驚いたのは「すぐ破産する」ってことかな。
客も乗ってないのにガンガン11両編成運転してるからそらそうなんだが。
1日に100本超だかんねー。運行経費めっちゃかかってるわ。
10日に1回ぐらい破産する。
そのせいで放置できない。放置して発展待とうとしても「破産しました OK」
でボタン押されるの待ってしまってる。
メッセージボックス出さずに勝手に資金足して勝手に続けるモードこっそり
入れるかなぁ。
0247名前は開発中のものです。
2010/04/14(水) 21:58:11ID:dhX9BRNIメッセージ出さないようにだけしておけばいいのでは?
>>244
感想はいいが、>>241の1行目以外は蛇足だ。
あれではまた文句言ってるのかと思われてもしょうがない。
あと>>244の文章おかしいだろが。
>嫌ならやら安定版が出るまでやらなきゃいいだけだが、
>テストプレイってのもプロジェクトの貢献方法の一つってこと忘れるな。
>貢献する気がないなら、無視してROMってればいい。
おまえ自身がテストプレイしてないだろ。
していれば>>241の
>それ以外にも
>・15秒単位の発車時刻設定を効果的に使う事が出来ているか(本当に必要なのか)
>・1秒単位では列車間隔が広い、時間の進み方が遅いため退屈にならないか
>この辺を改めて問いたい。
こんなこと聞かなくてもわかるはず。
それで他の人にテストプレイするのも貢献だ、貢献しないならROMれとか言ってること
矛盾していることに気がついてないのか?
0248名前は開発中のものです。
2010/04/14(水) 22:12:56ID:nT7zqhap今後の課題ですね。
今現在の構造では、Trainクラスに「購入に要した金額」の情報がないと思う。
なので払い戻しができるわけもない。
まずかTrainクラスに「購入額」変数を追加し、
車両購入時にそこに購入額を代入し、
しかるのちに売却したとき50%なり30%なり適当な額が払戻されるよう実装
するということになるかと思われる。
ちなみに「売却」そのものは
core\controllers\rail\TrainPlacementController.cs
のなかのsellってところ。
コメントで「お金が戻ってくるようにしないとなー」てなことが英語で書かれてるw
---- ----
「車両の配置」メニューで車両を売却したら、購入費用の何%かは払い戻しが
あるのでしょうか…? -- OPB (2010-04-14 21:56:08)
ごめんなさい。現状、売却益は実装されていません。お金はまったく戻ってきません。
単に列車が消えてなくなるというだけです。
将来的には払い戻しがあるよう実装したいですが、かなり先のことになるかと思います。
-- りおりお (2010-04-14 22:05:07)
0249名前は開発中のものです。
2010/04/14(水) 22:55:54ID:dhX9BRNIしかも経営ゲームとして成立させるためにはバランス取りが結構難しいかと。
0250名前は開発中のものです。
2010/04/14(水) 23:42:23ID:3d+/yeeI俺は何もやってないあなたに質問してるわけではないのだが。
0251名前は開発中のものです。
2010/04/14(水) 23:49:09ID:3d+/yeeI>感想っていっても、プロジェクトリーダーがうかつなこと書けなくね?w
>一プレイヤーと書いたことの重みが違うような気がする。
そういう事であれば仕方が無いです。
>>137のマップ、ただ3分毎に列車を走らせてるだけで車庫を利用したダイヤが完成してないが
それが完成したら一応動画うpしてみます。
0252riorio ◆rio2xMQlrQ
2010/04/15(木) 00:48:32ID:zqiuVh7Oバージョンはα3.0.1.4です。
◎既知の不具合
・時間進行軸の値がセーブデータに保存されない
○3.0.1.3からの変更点
・破産時のメッセージボックス有無・追加資金額をオプションで選択可とした
・時間進行軸の値をオプションとしてはセーブするようにした
変更点にからむあたりは動作テストはしてますが、見落としがあるかもしれないので
なにかおかしな点があったらお問い合わせください。
今後の予定ですが、フォーラムに
車両配置メニューの情報充実
という要望があがってますので、これをβ2とPrototype3に取り入れたいと思います。
同じくフォーラムに要望のあった
列車プロパティ
については実現可能性が低いと思います。
そのあたりの事情についてはフォーラムのチケット参照。
ご意見があったらこちらでもwikiでもフォーラムでもお願いします。
「いやいや、簡単にできるよ」みたいなの歓迎w
0253riorio ◆rio2xMQlrQ
2010/04/15(木) 01:29:41ID:zqiuVh7O今回から、セーブデータの拡張子が.ftgd3になってます。
末尾に3がつきます。
中身が変わってるわけじゃないので、3.0.1.3までのPrototype3でセーブした
データは末尾に3を付け足すだけで読めます。
お手数かけますが、2以前系統と3系統とセーブデータ両方作ってたら
拡張子変えないとどっちがどっちかわからんなってきたので。
0254名前は開発中のものです。
2010/04/15(木) 03:31:47ID:zqiuVh7Ocore\world\development\DevelopmentAlgorithm.cs
の187行目あたり。update()内がおかしい気がする。
strength *= F_StrDiffuse;
strength = target.ScoreExported;
このScoreExportedっていうのは駅から出発していった人数の前週平均値なので。
これだと出発人数の多い、既に栄えてる駅でさらに発展させようとなって。
出発人数が0のまったく栄えてない駅では、降車客がいーーっぱいいてもまったく
発展しないことになりはしないか。
ここは
strength = target.ScoreImported;
として降車客で判断すべきではないのか。
ということで次のリリースではImportedに変えます。
さらに。上の行で*= F_StrDiffuseで値をかけてるのが、次の行で=で代入では
まったくなにもしていないことになりはしないか。ここ行が逆じゃない?
ってことで
strength = target.ScoreImported;
strength *= F_StrDiffuse;
にしてみます。
0255riorio ◆rio2xMQlrQ
2010/04/15(木) 04:17:00ID:zqiuVh7Oだだだーーっとやったので、zip作成ミスなどなんか細かなケアレスミスがありそうで
こわい!!
β2とPrototype3と両方出して、直したところは>>254
これで五反田と品川が栄えるはず!
あとPrototype3のほうは集客範囲を10から25に広げました。
列車の進行速度が相対的に速くなったことで駅間を広くとるであろうことを
想定しました。
0256名前は開発中のものです。
2010/04/15(木) 07:44:05ID:zqiuVh7Oなんじゃーーって調べたら。
39番さんから依頼されて作った野球場の価格が1だったために建っちゃったものだった。
価格5000に修正したものを第2うpロダにあげましたのでさしかえお願いします。
ほかにも価格がおかしいpluginあるかも。
あと、hermsさんの旧家シリーズに含まれる道祖神とか水車小屋が、初期にぽこぽこ
できまくって水車小屋が川ぞいじゃなしにあるのは見た目おかしいので、computercannotbuild
付け加えました。
人口のimplもうちょっと種類増やしてもいいかもなぁー
0257名前は開発中のものです。
2010/04/15(木) 10:49:53ID:zqiuVh7Oせっかくなので、ノーマルな建物pluginではなく、サッカースタジアムの機能がついた
従来のサッカースタジアムのグラフィック違いにしてみませんか。
テストしてみたら、plugin.xmlをこう書いたらグラフィック違いを <> で選べました。
<?xml version="1.0" encoding="Shift_JIS" ?>
<plug-in>
<title>サッカースタジアムtest</title>
<author>riorio</author>
<homepage>http://www.kohsuke.org/freetrain/</homepage>
<contribution type="anonymous" id="{riorio-test-43c8-941F-896EAF9396AF}">
<class name="freetrain.world.soccerstadium.StructureContributionImpl"
codebase="../org.kohsuke.freetrain.soccerStadium/bin/FreeTrain.SoccerStadium.dll" />
<name>サッカースタジアム</name>
<price>2000000</price><!--680*4-->
<size>10,6</size>
<height>2</height>
<sprite origin="0,0" offset="78">
<picture src="stadium.bmp">
<override when="night" src="stadium_n.bmp"/>
</picture>
</sprite>
<population>
<!-- スタジアムの集客性は特別なので特別な人口特性を実装 -->
<class name="freetrain.world.soccerstadium.PopulationImpl"
codebase="../org.kohsuke.freetrain.soccerStadium/bin/FreeTrain.SoccerStadium.dll"/>
</population>
</contribution>
</plug-in>
0258名前は開発中のものです。
2010/04/15(木) 15:06:14ID:30rT6269ついでに鉄道ゲームなんだから、試合開催日は人気に応じて乗降客が増えたり。
まあこれは帰りはともかく行きは難しそうだし、実際の鉄道も甲子園とか所沢は
臨時電車が出る(所沢は普段はローカル線な事もあるが)けど、水道橋みたいに
停車時間余分に取るだけだったり、だいたいは何にもしてないから微妙と言えば
そうなのだが。
0259名前は開発中のものです。
2010/04/15(木) 15:21:47ID:fc9c23Uv0260名前は開発中のものです。
2010/04/15(木) 16:04:18ID:zqiuVh7Oあーw
考えてたこと先回りされちゃったww
まぁ、そのためには今あるサッカースタジアムがなにやってるのか正確に把握して
それから真似ないとね。
今のサッカースタジアムも駅への影響を時間で激しくだすようにしてるようなコードに
見えるんだけど。
駅、真横にスタジアム、それだけにしてみて(Beta2で)そのコードに書かれてる時間に
駅発車させてみても乗車人数に変化が見られない。
なんか川口さんが意図したように動いてない感じがしてる。
0261名前は開発中のものです。
2010/04/15(木) 17:10:44ID:zqiuVh7Ocore\world\accountingの下にある
accountingしてるコードって働いてる???
ここで計算した損益が表に出てきてるところがないような気がするんだけど。
0262名前は開発中のものです。
2010/04/15(木) 17:23:47ID:zqiuVh7O表示 〜 売上レポート
で売上レポートだすと、初期状態では鉄道・子会社・バスしか表示がないけど、
ここで表で右クリックすると「表示項目の編集」っていう拡張メニューが登場する
ので、選ぶと中に「サッカーチーム」っていうのが出てくるのね!
で、表示するほうに移すと、サッカーチームの運営経費がレポートされると!!
なるなる〜〜
0263名前は開発中のものです。
2010/04/15(木) 20:32:42ID:gemiL8s5自分です。
ありがとうございます。
サッカーは基本土日の昼か夜なんでどれかにどどっとくるといいかも(個人的には夜のライト表示あるから土曜の夜あたり)
というよりサッカー場のグラフィックを春〜秋の土日だけ夜も点灯にしたりしたいのですが
画像オーバーライドって曜日も指定できますか?
お客さんの分散は後回しでいいんで画像オーバーライドの質問に答えていただけると嬉しいです。
当の自分はまだグラフィックに一苦労・・・というより割く時間が・・・
0264名前は開発中のものです。
2010/04/15(木) 20:58:58ID:zqiuVh7O四季×昼夜の8通りだけです。
なので、冬夜は真っ暗、その他3季節は曜日問わずあかあか、ということまでが
可能な範囲かと思います。
私もスタジアムの中身いじっててJリーグの熱心なファンの知人に確認したのですが。
シーズン開始は3月なんですってね。
終了が12月と。
3月は春だからいいとして、12月が冬なんでどうしますかねぇ。
季節気にせず、年中夜明るくてもいいんじゃないかと。
0265名前は開発中のものです。
2010/04/15(木) 21:04:48ID:gemiL8s5改めて考えると一種のイルミネーションとしてそのままでもよさそうですね。
わざわざありがとうございます。
0266riorio ◆rio2xMQlrQ
2010/04/16(金) 00:48:21ID:VCFNi/Wyだけだと思うんだけど解決できなくて困ってるので広げてみる。
http://u4.getuploader.com/freetrain/download/55/BETAsrc.soccerStadium.zip
パスはBETA
pluginsの下にあるサッカースタジアムpluginの実行部分ソース。
試合するところのブラッシュアップは完成してます。
今詰まってるのは、試合のある日・ある時間帯から3時間だけ、観客動員の1/2が
駅を利用しようとするという部分です。
PopulationImpl.csが駅の利用客にカウントされる部分のはずで、ここの
PopulationImplクラスの_populsに試合のある3時間だけ観客数を代入して
OneShotTimerしかけて3時間後に1に戻そうとしています。
代入とタイマーはGame.csのonGameDate()メソッドの中に書いてあります。
ビルドしようとすると、Game.csの前のほうの
public readonly PopulationImpl ppl;
で、「pplには常にnullが割り当てられました」となってしまい、それは警告だけなので
ビルドは通るのですが、もちろんそれでは実行したとき
onGameDate()メソッド内で代入しようとすると当然null pointerに代入しようと
することになってエラーになります。
なんでnullが常に割り当てられちゃうのだろう???と分からなくて困ってます。
pplがからむ行をコメントアウトしてビルドしたら、試合はできると思います。
おたすけください。
0267名前は開発中のものです。
2010/04/16(金) 01:10:08ID:/xSXiaOg0268名前は開発中のものです。
2010/04/16(金) 01:11:43ID:/xSXiaOg0269riorio ◆rio2xMQlrQ
2010/04/16(金) 01:19:17ID:VCFNi/Wyreadonlyにする必然性はなくて、もともとつけてなかったんだけどつけてなくてうまくいかな
かったかたつけたのがそのままになってたね。
readonlyにせず
public PopulationImpl ppl;
にしてもまったく同じ警告が出て使えません。
あれ? ppt = new PopulationImpl();っているんだっけ??
コンストラクタで思い出したけど。
このGame.csもなんだけど、
StadiumStructure.cs
なんかでも全然new()せずに使い回ってて動いてるけど
こりゃなんぞ??
ゴメン。本当に分かってなしにイジってるから。申し訳ない。
0270名前は開発中のものです。
2010/04/16(金) 01:29:47ID:9hVh1gPJStadiumStructure stadium も参照型だが Game のコンストラクタ内で
代入による初期化が行われているため null 参照にならない
っていうか C# の基本的な内容じゃないか
0271riorio ◆rio2xMQlrQ
2010/04/16(金) 01:40:29ID:VCFNi/WyそのGameはコンストラクタ内で……ゆえnull参照にならないというあたりが分かってない。
FreeTrainいじるようになって、既にあるものをちょこちょこっといじってみるってことから
始めて、自分でゼロからイチからコード書いたことないもので、なんかねー、クラスと
インスタンスとコンストラクタあたりがあやふやっていうか。
既にそのへんに書かれてるそれっぽいものこぴぺしたらできるんじゃん的なーー
てへ
いや、それでよ、重要なのはそんなことじゃなくて。
PopulationImplって、実装を形作ってるだけで実行されなくね?
今のままだと。
ここ、私がこうしたわけじゃなくて最初っからこうなってたの。ほぼこのまま。
ちゃんと実行されれば、駅のstation listnerに捕捉されてpopulationが駅の待ち客に
加わるはずなんだけど、私がいじる前、川口さんが書いたであろうコードのそのとき
から、動かして様子見てると駅の待ち客に反映されてなかったの。
これじゃあ意味が無いから、ちゃんと実行されて駅のstation listnerに捕捉される
ようにするにはどうしたらいいんだろう??
0272名前は開発中のものです。
2010/04/16(金) 02:42:33ID:9hVh1gPJ動作に反映されてなくて当然だろう・・・
たぶん作者の意図としては StadiumStructure の StructureContributionImpl 経由で
Population として PopulationImpl を扱うつもりだったんじゃないかな
ざっと見ただけだし全体の構成も全然知らないからそれでいいのかどうかわかんないけど
0273riorio ◆rio2xMQlrQ
2010/04/16(金) 03:18:51ID:VCFNi/Wy「書かれただけで使われてなかった」
ということが事実として確定できたのが収穫です。
Station listenerに登録するのと、removeしたときに解除するのとを書く必要が
あるということですね。
なんとかやってみましょう。
うーーん、でもそうなるとPopulationImplにせっかく書いたreturnはどう使えば
いいのかなぁ。いまいちImplの使い方が分かってません。
そこ、すべてが分かってないとか言うな。自覚してるんだからw
しかし川口さんほかもここまで凝りまくったサッカースタジアムpluginを作って
おきながら、あとほんのちょっとの駅に結びつけるところだけやり残してた、
そのままで今まで来てたというのが若干不思議ではあります。
あと、誰も駅利用客が増えないことを疑問持たなかったんかとも。
0274riorio ◆rio2xMQlrQ
2010/04/16(金) 03:21:32ID:VCFNi/Wy従来FreeTrainでは、駅で実際に列車に乗った乗客数の影響が、その後の駅に
1時間あたり0.8倍されて斬減しながら残っていくというアルゴリズムになっています。
乗りたい客が500人いて、今到着した列車に400人乗り込んだら、その次の列車に
乗る人は100人しかいませんよと。
それが1時間後になったら(乗り込んだ影響が0.8倍の320人に減って)列車に実際に
乗りたい人は180人まで回復しますよ、となってます。2時間後だと244人まで回復。
ただこれ、今までの時間軸だといいんですけど、ALPHA3系統では回復がゆっくり
すぎると思います。
1時間で0.5倍・半減まで効果の減る速度を速めたいと思います。
ほんとは15分ごとに0.8倍とかゆるやかに影響した方がいいんでしょうけど、
「1時間後に」(0.8倍)ってなってるリピートタイマーの仕掛けられるのが駅建設時
なんで、もし間隔をいじろうとするとまた駅全部建て直しになっちゃうんです。
それでもゆるやかで自然な増減したほうがいい、という意見があればそうします。
駅建て直しめんどくさーーいって意見が多ければ1時間単位維持でパラメータいじります。
0275名前は開発中のものです。
2010/04/16(金) 03:45:32ID:/xSXiaOgなのでgame生成時にそいつを渡すなり参照するなりすればいいと思う
0276名前は開発中のものです。
2010/04/16(金) 08:59:58ID:dXJM5xRH0.8がけしてるってのはStation.csのgonePassengersのこと?
だとすると、400人乗ったのが一時間後に320人になるのはその通りですが、
その減った80人が待ち人数に差し戻されるような風にはなってないかと。
ざっとみた感じですが。
待ち人数はpopulationですが、どうやら毎回周囲の建物から集計しなおしてるようなので、
そもそも積み残しの乗客を次の時間に引き継ぐような処理がなさそう。
gonePassengersの使われ方を見ると、積み込んで減ったはずの乗客が
別の列車の乗客に加算されないようにしているっぽいですね。
それがないと、ある時間帯において、周囲の建物の人口から
待ち乗客数が400人と計算されると、その時間帯に何本列車が発車しても
最大400人までは積み込めてしまうことになってしまうから。
一時間ごとに0.8がけしてるのは・・・明確な理由は不明だけど、
推測するなら、建物人口からの乗客数は、一時間前と後では、
80%は同じ人とみなす…ということかな。
上で、積み残しを引き継がないと書いたけど、
80%が積み残しで20%が新規増加分というイメージかな。
で、積み残し分である80%に対しては
一時間前にgonePassengersで既に運んだ人数を減らす
・・・そんなコードのように思えます。
0277名前は開発中のものです。
2010/04/16(金) 09:09:43ID:dXJM5xRHその1
毎回populationを集計しなおしているので、列車数と周囲の建物が増えるとすごく処理が重くなりそう。
一時間毎に一回集計すれば十分。
その2
集計したpopulationが一時間前に比べて大幅に減った場合、
gonePassengersを0.8がけした値が上回ってしまう場合があり、
直前の一時間に大量輸送していると、次の一時間は
乗せるべき乗客が居ないことに。
仮に新規増加分は20%と考えるならせめて、次のようにすべき
total = Math.max(0,population*0.8f-gonePassengers)+population*0.2f
※上の式、populationは毎回集計しない前提で
■ このスレッドは過去ログ倉庫に格納されています