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

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

■ このスレッドは過去ログ倉庫に格納されています
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/
0236名前は開発中のものです。2009/05/24(日) 11:45:02ID:M00XH0td
まあ、こんなゲームにケチ付けてくるとは思えないけどカスラックが来たら
よろしくね。
0237名前は開発中のものです。2009/05/24(日) 15:42:33ID:P0rvqH5Z
ひょっとしたらnanashiさんも2ch規制にまきこまれてしまってるのかしら?

新アプロダ http://freetrain.ps.land.to/upload/upload.php のほうに、
FTEX Av向けと思われる閉塞信号・通過監視信号(いわゆる対向待ち・通過待ちかな)
のpluginがうpされてますよーー
うp時間は昨日の午前中みたいだから、うpはしたけど告知ができなかったという
ことじゃないかと思うので、告知しちゃっていいよね。

みなさんで動作のほう、いろいろテストして、希望・要望・バグレポなどなどお寄せください。



↓以下、実現可能性があるかないかわからない妄想をたれながしますがご容赦を
0238妄想2009/05/24(日) 16:03:54ID:P0rvqH5Z
FreeTrainでは、列車の画像データは12方向もしくは24方向に季節時間オーバーライドが
あるのみ。
列車の「『進行方向』によってグラフィックを変える」という機能、あるいは「夜間に車体グラフィック
と独立したヘッドライトやテールライトを点灯させる」という機能は存在していません。

このため、夜間のグラフィックとしては(8,0,0,)や(0,8,0)の夜間発光特殊色を使うのみで、
進行方向に関わらず常にヘッドライトが点灯していたりテールライトが点灯していたり。
つまり後ろ向きに走って行ってるのにヘッドライトがついたままだったり、前に向いて
走って行ってるのにテールライトがついてたり、鉄道ファンからすると「これちょっと
おかしいんじゃない?」とも思えるグラフィックで妥協をしいられてきていました。

常に前方のみにヘッドライト・後方のみにテールライトというグラフィックのpluginを
作成される方もなかにはおられましたが、そのグラフィックを生かすためにはマップでの
折り返しを、 ・マップ外に出る ・リバース線を回る ・デルタ線で折り返す のいずれかで
常に決まった先頭車両の方向に向いてのみ進行させる必要があり、普通に駅ホームに
到着してそのまま引き返すとやっぱり前にテールライト・後にヘッドライトとなってしまう
のでした。
これでは列車の運行が制限され、これもこれで楽しくありません。

ということで、A7,A8など本家のFT後発バージョンで採用されたような、進行方向に
あわせてヘッドライトとテールライトが点灯させられるといいのになーーという話が
生まれるわけです。
0239妄想2009/05/24(日) 16:06:00ID:P0rvqH5Z
まず妄想プラン1

(8,0,0)/(0,8,0)/(0,0,8)という夜間発光特殊色の仕様を活かし、従来との互換性も
たもちながらヘッドライト・テールライトを実現できないかというプラン。

車両の画像データを、3通り用意します。こちらのアーカイブを見てください。
http://freetrain.ps.land.to/upload/data/ftup0044.zip

一つは従来どおりの昼間の24方向ですが、ヘッドライト・テールライトは(0,0,0)で
つぶすか描きません。kuha80body.bmp。
次に進行方向先頭になったときのみの重ね画像を用意します。レイヤーを重ねて
新レイヤーに(0,8,0)や(0,0,8)でヘッドライト部分の点を描き、車体レイヤーを削除
して透明色マゼンタを塗るだけです。kuha80head.bmp。
最後に最後尾になったときのみの重ね画像を用意します。
同様にテールライト部分に(8,0,0)で点を描きます。kuha80tail.bmp。

FreeTrain側では、先頭車両のときのみkuha80body.bmpにkuha80head.bmpを
重ねて描画し、最後尾車両のときのみkuha80body.bmpにkuha80tail.bmpを
重ねて描画します。
これで、進行方向に沿ったヘッドライトとテールライトが表現されます。

このプランの欠点と課題として、plugin.xmlにおいて「1両の車両の画像データと
して複数のbmpを渡す手段がない」ということがあります。
plugin.xmlの書式そのものの構文改定が必要になるでしょう。
0240妄想2009/05/24(日) 16:09:24ID:P0rvqH5Z
そうそう、プラン1のメリットのひとつとして、グラフィックエディタのレイヤー機能を
使って簡単にヘッドライト・テールライト画像を用意できるというものがあります。



妄想プラン2

プラン1の3つの画像を、縦にそのままつなげて1枚のbmpにします。
FreeTrain内で画像データを3分割して1と同様の処理をします。
車両1両に対し画像1つしか渡せないというplugin.xmlの制限にひっかかりません。

このプラン2の大きな欠点として、手動で画像を3つつなげないといけない、その
つなげ方がずれたらライトもずれちゃうというものがあります。
フリーソフトで画像をつなげられるツールがあったかとは思いますが、いちいち
そういうのを通すのもめんどうな気がするといえばする?
0241妄想2009/05/24(日) 16:25:21ID:P0rvqH5Z
妄想プラン3

(8,0,0)/(0,8,0)/(0,0,8)のような夜間発光特殊色と同様の属性を持った特殊色を
6色追加します。
便宜上、RGB各値が4と2にするといいのではないかと考えました。

値4の色は、進行方向先頭になったときのみ値8と同じ色になり、値2の色は、
最後尾になったときのみ値8と同じ色になるようにFreeTrain本体を改良します。

実際どうなるかはこちらのアーカイブを見てください。
http://freetrain.ps.land.to/upload/data/ftup0045.zip

(0,4,0)で塗ったヘッドライトが先頭車両になったときだけ点灯し、(2,0,0)で
塗ったテールライトが最後尾のときだけ点灯します。

欠点は何があるかな。plugin作成するときに色の管理が難しくなる?
見た目全部黒だし。
0242名前は開発中のものです。2009/05/24(日) 16:40:49ID:+x/rMmqk
自演
0243妄想2009/05/24(日) 16:50:26ID:Dy+/+PV9
妄想プラン4

車両まるごと入れ替え法。

このように、ヘッドライトに(0,8,0)/(0,0,8)で塗った先頭車画像と、テールライトに(8,0,0)で
塗った最後尾車画像とを用意します。
http://freetrain.ps.land.to/upload/data/ftup0046.zip

plugin.xml内にて、2種類の画像それぞれでtrainCarとして記述し、単体の車両として
どちらも使えるようにします。

編成のインプリメントを改良し、進行方向によって編成が変えられるように、また
先頭〜中間〜末尾式の指定では進行方向に従うように、FreeTrain本体とplugin.xml
の構文を変更します。

ひょっとしたらこれが一番実現しやすいかなぁ……
wikiにYzさんが書いてたことにヒントを得て初めて思いついたことなのですが。

欠点としては、編成指定の場合は指定行数が2倍になるというところでしょうか。
1両から16両編成まで作ったとき、今まで16行で済んでたのが32行書かないと
いけなくなる。
でもそれぐらいか?
0244名前は開発中のものです。2009/05/24(日) 16:57:49ID:aPB/Zz15
>>238-241
いずれにしてもFT本体か車両プラグインの拡張が必要になりますね。
車両には先頭、最後尾という位置の概念はありますが、これは進行方向を表しているわけではありません。
よって、例えば駅での折り返し時には、貨物列車と同様、前後が逆になった状態で走ることになります。
0245名前は開発中のものです。2009/05/24(日) 18:16:56ID:P0rvqH5Z
新アップローダの39番に、「野球場pluginがうまくできないので誰か助けて」とあった
ので、見てみて直してみました。

47番がそれになります。

plugin.xmlの修正点としては……
・<picture ref="">で参照している画像のコントリビューションIDが、このGenericStructure
コントリビューション自身に誤っていたので、pictureコントリビューションのIDにつけかえた。
・スプライトのoffsetを45から47に微調整。
この2点だけです。

offsetについては、旧wikiの「スプライトタグ」ページをご覧ください。

なお、識別子(フォルダ名)がただのbaseballstadiumになってると他の人とかぶるかもしれ
ないので、勝手ながら頭にコントリビューションIDの頭をつけさせてもらいました。

なかなか雰囲気があっていいですね。

一点あえてあげるとすると、夜間の外壁がちょっと明るすぎるかな。
スタジアム内部はナイター設備であかあかとしてていいのですが、外壁は普通に暗いと
したものかな、と思いました。
0246名前は開発中のものです。2009/05/25(月) 07:50:14ID:33rHV4vO
wikiの運営雑談ページで、列車の進行方向について意見交換が始まってます。
「自分はこういうふうになるといい」というものがある方、ご意見書いてくださいませ。

また、2chが規制されてこのスレに書きたい事が書けない時、同じく運営雑談ページ
に代理投稿依頼コーナーがありますので、2chに告知したいことをここにコメント
しておけば誰かが転載なりしてくれると思います。

規制されていろいろ不便なことも多いですが、のりきっていきましょう。
0247名前は開発中のものです。2009/05/28(木) 00:41:40ID:ZWlkwzOl
ダイヤ設定でポイントの詳細を設定しようとしたとき、デフォルトの画面サイズだと
11以上の設定をしようとすると下の画像みたいに行があふれて11から下が表示
できなくならない?

http://u4.getuploader.com/freetrain/download/5/%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E8%A8%AD%E5%AE%9A%E7%94%BB%E9%9D%A2%E8%A6%81%E6%94%B9%E8%89%AF.PNG

もちろんウィンドウの端をひっぱってサイズを下に大きくしたら現れるんだけど。

ホームの時刻設定詳細では、行があふれると同時にスクロールバーが登場してくれて
あふれないようになってるので、ポイントも同じようにスクロールバーを登場させたげれば
いいと思うのだが。

デザイナでこのウィンドウの部分のプロパティをどうこうしてあげればいいのかしら?
0248名前は開発中のものです。2009/05/28(木) 02:13:15ID:UqCe5LDz
>>234のつづき
いろいろ考えてみたが、xmlの構造をどうするかで悩んでます。
まず、複数バージョンの競合が起こらないようにxmlを組む方法が良く分からんという壁にぶち当たりました。
方法としては2つ思いついたのですが、実現性は不明です。
・バッチファイルを使って、古いバージョンのplugin.xmlからGUIDを消す。
これだと、バッチファイルでうまく消せるのか、後バージョンとの互換性がとれるかという問題がある。

・新バージョンのplugin.xmlで、古いバージョンのplugin.xml(をold.xmlにでも名前を変えたもの)から
必要なGUID(新しいバージョンと重複しないGUIDすべて)を抽出するような構文を作る。
こういう構文ができるのかがわからない。

新しいバージョンのxmlは
plugin.xml
├(index_old.xml)
│ └(old.xml)
└index.xml
  ├jr_e/kanto1.xml
  ├jr_e/kanto2.xml
  ├t_metro/fukutoshin.xml
  ├keihan/melody1.xml
  ・
  ・
  ・

みたいな階層構造にして、訂正・バージョンアップ・追加を容易にしたいと考えてます。
この中に古いバージョンをうまく混ぜられれば良いのですが
作業が煩雑になりそうなので、旧バージョンは捨ててしまうかもしれません。
0249名前は開発中のものです。2009/05/28(木) 02:37:34ID:ZWlkwzOl
FreeTrainとしてplugin.xmlの入れ子はできないんじゃないかなぁ……

だから階層構造もそもそも無理で、フラット構造にせざるをえないのではないかと。

データのwavをplugin.xmlのあるフォルダの子フォルダや別階層のフォルダに置くことは
可能ですけど。xmlが階層にできない現状だとwavだけ階層にしてもダメってことですよね。

配布アーカイブに、古い部分を消したplugin.xmlをHatumelo\plugin.xmlとして入れておいて
上書きしてもらう以外に、新バージョンで一部旧バージョンと同じGUIDを
使いまわすことはできなさそうに思います。

それか既存発メロは既存ので全部そのまま置いておいて、新バージョンではまったく
重複しないように新規にしてしまうのがスマートな気もします。
旧バージョンを入れてない人は入れてない人で、新バージョンだけ入れてもいいですし。


P.S.
新あぷろだにnanashiさんがあげてある閉塞信号類、反応がないですが使ってみて
いろいろバグ出ししたげてくださいねーー
2ch規制中の方でお気づきの点があったが書けないって方は、wikiの雑談ページに
コメントできますので。そちらにて報告を。
0250名前は開発中のものです。2009/05/28(木) 03:23:13ID:8ChalLoJ
というより、旧バージョンのベルをセーブデータで使用している場合はそのGUIDつまりコントリビューションが
ないと例外が発生する。
使用している人もいるし、してない人もいるかもしれないが、ここは使用されていることを前提にした方がいい
と思う。

そうなると、>>249さんの
>それか既存発メロは既存ので全部そのまま置いておいて、新バージョンではまったく
>重複しないように新規にしてしまうのがスマートな気もします。
>旧バージョンを入れてない人は入れてない人で、新バージョンだけ入れてもいいですし。

これが一番シンプル且つ問題ないんじゃないかなと思う。
新は当然GUIDも全て変更しておかないと駄目だけどね。
0251名前は開発中のものです。2009/05/28(木) 04:41:12ID:ZWlkwzOl
>>247
は該当の窓のスクロール許可がfalseになってたのでtrueにしてみました。
次のβに同梱します。

高度なダイヤ設定まわりではほかにも気になる点があるというか。
ホームの発車設定では、「追加」で既にあるのと同じダイヤを入れようとすると
「同じダイヤは追加できません」だったか警告が出てはねられるのだが、別の
時刻で追加しておいた項目を時刻や内容変えて既に存在するのとまったく同じ
のにして「置換」すると、これは置き換えできちゃう。
同じ内容の項目が2つ存在できちゃう。

ポイントのほうはそもそも追加でも同じ内容を追加できる。
はねられない。
実行順序が番号付けられてるから、同じ内容があったからといって問題には
ならないはずだけども。

はねるならはねるで、置換であってもチェックするようにすべきなような、
ポイントでもチェックすべきなような、そんな気もする。
気にしすぎかもしれないけど。


>>250
その問題はこの場合ないんじゃないかな。
旧発メロpluginのコントリビューションを引き継いで新発メロpluginになるんだから。
セーブデータも大丈夫だと思う。
建物なんかでもグラフィックをリファインして上書きしても大丈夫だし。

ちなみに自分は発メロを積極的に設定してます。
0252名前は開発中のものです。2009/05/28(木) 04:46:58ID:UqCe5LDz
>>250
それが一番手っ取り早いかもしれないですね。
plugin.xmlを自由に作れるので。

>>249
>FreeTrainとしてplugin.xmlの入れ子はできないんじゃないかなぁ……

車両プラグインを改造して試してみました。結果から言うと、可能なようです。
いくつかコツがあったので、ソースを見てください。ファイルをうpします。
http://freetrain.ps.land.to/upload/data/ftup0048.zip

このファイルをPluginフォルダに入れると
鉄道車両に「Southeastern - Class 395 "Javerin"」が追加されます。

プラグインの構造は
plugin.xml
 └class395.xml
という感じになってます。
0253 ◆rio2xMQlrQ 2009/05/29(金) 03:54:47ID:MOJ8qZBY
ちかぢかFreeTrainEX Av β0.8を出します。

変更点
・跨線橋のカラーバリエーション化
・スリムホームに屋根なし選択可
・ダイヤ設定の丸ごとコピー対応
・列車情報表示部の表示サイズ微調整

予定。
0254名前は開発中のものです。2009/05/29(金) 13:23:30ID:3HeA9Ceh
おお、誰かと違って早いアップデートだ。
今後も期待する。
0255名前は開発中のものです。2009/05/29(金) 20:26:41ID:8O+0bWGN
毎回変な奴が沸くよな
0256名前は開発中のものです。2009/05/29(金) 20:28:34ID:bGJ0X3l4
>>255
某氏お疲れッスwwwww

屋根は無し選択というより、ホームのどこからどこまで設置するか決められたら嬉しいかも
0257名前は開発中のものです。2009/05/29(金) 20:34:46ID:ScbiHGk1
>>254=256
お前は消えろよ。
0258名前は開発中のものです。2009/05/29(金) 20:48:12ID:nXAO33Ah
触れるからそうなる
構うやつも同類

スリムホームを1本の線路両側に設置できれば
広いホームとおさらばできそうなんだが、無理だろうか?
0259名前は開発中のものです。2009/05/29(金) 21:13:15ID:bGJ0X3l4
>>255=>>257=某逃亡者?
0260名前は開発中のものです。2009/05/29(金) 21:18:45ID:ScbiHGk1
>>259
粘着荒らし乙
0261名前は開発中のものです。2009/05/29(金) 21:33:59ID:bGJ0X3l4
怒らないでください
ついでにいえばこれ以上このスレに関わらないでください。
0262名前は開発中のものです。2009/05/29(金) 23:13:27ID:ScbiHGk1
>>261
そう言って、また製作者を追い出すのですね。
お前が出て行け。
0263名前は開発中のものです。2009/05/29(金) 23:32:15ID:kXW6NO45
つうかYzを擁護するやつは全て本人だと思われてるんだろ。
擁護しなきゃいい。
0264名前は開発中のものです。2009/05/29(金) 23:38:06ID:kXW6NO45
というか、前から思っていたことだけど言わせてもらおう。

****Yzの話題は荒れるため禁止****

今度からこれをテンプレに入れておけ。
0265名前は開発中のものです。2009/05/30(土) 00:12:51ID:kpDTMhBF
>>263-264
荒してるのはお前だけだろ。
「他人の批判を禁止する」とテンプレに入れたらどうだ?
0266名前は開発中のものです。2009/05/30(土) 01:26:13ID:M6dkFNv7
>>265
そんなこと書くから本人乙とか言われるんだろ。
俺は>>254-262と違うぞ。
ただ、毎回この話題で荒れるからそれなら禁止にすればいいじゃないかと
言ってるんだよ。
0267名前は開発中のものです。2009/05/30(土) 04:30:29ID:WsZ6ITQv
>>258
架線柱プラグインで反対向きのホームを作れば、見た目は両側にホームが
あるように見えるわけで。
ゲームの客は反対側に降りられねーじゃねーかと文句を言わないし。
0268名前は開発中のものです。2009/05/30(土) 06:17:01ID:kpDTMhBF
>>267
それでは本来必要な架線柱を作れない。
特に屋根なしの場合、ガラス屋根等を追加することが出来ないし。
0269名前は開発中のものです。2009/05/30(土) 06:59:30ID:D38sHmhp
ホーム付架線柱を描いていけば…
ってさすがに手間だわなw

ホームや線路も駅舎や建物のように
プラグインで画像部分を置き換えできればなあ
0270名前は開発中のものです。2009/05/30(土) 08:00:58ID:sNZbvM2V
そこはりおりお氏に期待ということで。
0271 ◆rio2xMQlrQ 2009/05/30(土) 22:27:26ID:hKc6CRMj
FreeTrainEX Av β0.8公開しました。

変更点は>>253


次のバージョンアップは、構想はあるものの、すぐ実現できそうにないので
しばらく時間かかるかと思います。

スケールスピードの変更などもやりたいのですが、ソースの解読からやらないと
なので、これはさらに先のことになろうかと。
あんまり期待はしないでください。
0272名前は開発中のものです。2009/05/31(日) 19:32:38ID:BsTFBnQh
反応ねぇ...
とりあえず、りおりおさん乙です!
0273名前は開発中のものです。2009/05/31(日) 22:12:34ID:LpBOigK4
やっと解除…

0.7.1からのpluginフォルダ更新差分とかあげてくれたら嬉しいんですけど…
0274名前は開発中のものです。2009/06/01(月) 19:21:58ID:D/kSkBr+
りおりおさん乙です〜
0275名前は開発中のものです。2009/06/01(月) 20:05:46ID:x+nngoXb
乙!
0276名前は開発中のものです。2009/06/02(火) 00:56:23ID:aWsAV8Ys
むっ、ブログ発見。
しばらくウォッチしてみよう...
0277名前は開発中のものです。2009/06/02(火) 04:51:16ID:oN5lmcb8
>>271
どこに公開してあるのか書けよ
0278名前は開発中のものです。2009/06/02(火) 04:58:52ID:oN5lmcb8
GPLなのに0.8のソースが手に入らない
0279名前は開発中のものです。2009/06/02(火) 07:52:37ID:HJ+vYxgp
またいつもの奴か。
0280名前は開発中のものです。2009/06/02(火) 09:00:29ID:cj8RajsS
GPL?
LGPLだろ?
0281名前は開発中のものです。2009/06/02(火) 09:55:24ID:oqjnVpgw
関係ないが
誰か発展アルゴリズムの中身を教えてくれ
どんなにがんばっても発展しないんだが・・・
0282名前は開発中のものです。2009/06/02(火) 10:26:47ID:jbCTssrH
駅前に民家・農家数軒建てるだけでそれが起爆剤になる気がする。

そうしないと毎日800人が下車する駅を1年放置してもなんにも建たないことがある。
毎日10人しか下車しない駅の周辺が農家だらけになったのに。

あとなぜかウチのマップでは全列車停車駅よりも通過列車のある駅の周辺が
速く発展するw
0283名前は開発中のものです。2009/06/02(火) 12:54:07ID:HJ+vYxgp
>>281-282
ハテーンパラメータ調整してみれば
0284名前は開発中のものです。2009/06/02(火) 16:25:29ID:y6QF+1rQ
ハッテン場パラメーター?
0285名前は開発中のものです。2009/06/02(火) 16:55:20ID:jbCTssrH
>>284
ツマンネ

罰として公衆トイレのある2ボクセルサイズの児童公園plugin作ることw
0286名前は開発中のものです。2009/06/02(火) 18:52:44ID:+9RLd/bu
>>282
あるあるw
ターミナル駅は特に発展しない…

町並みとか揃えてたら急に農家とかが周りに出来たりするw


>>284-285
(児童公園plugin製作を)や ら な い か

でもそういう公園欲しいかも…
0287名前は開発中のものです。2009/06/02(火) 19:58:04ID:pbzkF8j6
案外公園のPluginは需要があってそれはそれでよかったのでは?
0288名前は開発中のものです。2009/06/02(火) 20:23:14ID:+9RLd/bu
マジでハッテン場にするやつがいそうで怖いw
0289名前は開発中のものです。2009/06/02(火) 22:02:29ID:aWsAV8Ys
なんかスレが進んでいると思いきやw
調べてみたぞ。

発展アルゴリズム

建築に使われるコントリビューションはコンピュータが建築可能であること。
内部的に可変建築物と固定及び地形建築物の2種類に分かれる。
ゲーム内1時間につき1回だけ、下記のルーチンが呼ばれる。

ルーチンA
ゲーム内0時に内部の更新処理が行われる
更新では
・対象の駅での先週の乗客数合計=Aとする
・対象の駅での先週の列車の発着回数合計=Bとする
が内部で使用されるパラメータとして退避される。

ゲーム内0時以外の時は内部の発展計画を進める。

発展計画とは、1つの駅につき1発展計画として内部で管理している。
つまり、一度に複数の建物が建築されることはない。
また発展計画は
・開始状態
・建築物選定1
・建築物選定2
・用地確保と建築
・計画終了
の5段階に分かれており、1段階ずつ進むため、最低でも4時間は必要となる。
0290名前は開発中のものです。2009/06/02(火) 22:10:03ID:aWsAV8Ys
続き

・開始状態
ここでは建築物の候補となる土地の選定を行う。
ここで重要なのが上で退避した
・対象の駅での先週の列車の発着回数合計=B
である。
発展計画のチェックする都度、この数値は-1される。
そして、現在の時がこの数値Bより小さい時のみ土地の検索が行われる。
つまり、1週間に1回しか列車が止まらない駅はBの値が2であるため、最初のチェック時に−1されてBの値は1、現在の時が0時の時のみ土地の検索がされることになる。
しかしながら、ゲーム内時間が0時の場合は内部の更新処理のみが処理されるため、実質発展計画は進まないことになる。
これは発着回数が多くなればなるほど、計画は順調に進められることを意味する。

なお、ここから先の処理はかなりややこしいため、説明は難しい。

・土地の検索
対象の駅の位置を基点として検索する。
対象の位置は下記の式で決定している。
・位置=基点(駅の位置)+(0〜C未満の乱数−0〜C未満の乱数)

Cの値は下記の式で決定している。
・C=10+(駅の地価と駅影響範囲・対地価指数(発展パラメータ、通常1)のべき乗)×駅影響範囲・対地価乗数(発展パラメータ、通常0.1)
つまり、既定値通りであれば、駅の位置から0〜地価の1/10の位置+10までの範囲で土地の検索が行われる。
当然ながら、現在の世界外の位置やそのボクセルに置換不可能な建築物(プレイヤー所有の建築物や鉄道等)がある場合は無効となる。
なお、土地の検索は見つかるまで最大4回試行される。
ここで注意する点は、地価が高すぎる場合は現在の世界外の位置ばかりが検索されてしまい、一向に発展が進まないということである。
最初にゲームを始めた頃は地価がほぼ0である。
0291名前は開発中のものです。2009/06/02(火) 22:12:51ID:aWsAV8Ys
で調査結果からすると
・駅への列車発着回数を増やす
・最初は地価が0で、かなり狭い範囲内しか開発対象とならないため、何件か建築物を建てて地価を上げてやる。
ということだろうか。
正直発展アルゴリズムはよくわからんwww
何の回答にもなっていないかもしれんのですまない。
0292名前は開発中のものです。2009/06/02(火) 22:54:10ID:jbCTssrH
>>289-291
ふむふむ。
ということで地価を調べてみた。

まったく何もない状態から、ほっといたら勝手に農家や古い民家などが立ちはじめて
くれやがった駅の地価は、30,40,60など。
列車の発着数は日に4本〜8本ぐらい。
おもしろいことに降車客数は0人。完全に0。到着列車の前の停車駅周辺が何もなく乗客
0の状態で到着するため。
それでもばんばん民家が建つ。
おもしろい。

一方、やはり日に8本ほど列車が停車するくせに、まったく発展しない駅がいくつか。
そういった駅の地価は80,70,20。
降車客数は日に400,450,100,980人もいるのに。
どこも2面4線とか3面6線とか大き目の駅だから、土地を探索したときに線路の下に
なってしまって4回の試行すべて失敗するため発展してないということなのだろうか?

発展してるのは、2面2線の小駅のまわりなんだわ。
0293名前は開発中のものです。2009/06/02(火) 23:23:40ID:aWsAV8Ys
結局乗客の数は発展には何も影響していないみたい。
>一方、やはり日に8本ほど列車が停車するくせに、まったく発展しない駅がいくつか。
>そういった駅の地価は80,70,20。

地価80とすると、駅の位置から(0 - 18)の乱数 - (0 - 18)の乱数 -> 駅の位置を中心に最大で-18 - +18の範囲
となる。
で、C#のランダム関数は精度が悪く、似たような乱数ばかりになるらしい。
なので算出される値は範囲が狭いのかもしれない。

デバッグウインドゥを表示すると、このアルゴリズム関連もメッセージが表示されるのだけど、それみたら
何かわかるかも。
0294名前は開発中のものです。2009/06/02(火) 23:34:40ID:jbCTssrH
今、発展アルゴリズムパラメータの設定画面をあけたのだが。
左側の地価の下二つ、地価上昇補正係数と最終地価補正指数のところに書いてある
「少ない輸送で」の『輸送』ってどういう意味じゃろね。

発着本数のことなのか、降車客数のことなのか。

この『輸送』が降車客数のことであれば、地価を上昇させるという間接的な効果でもって
降車客の数が発展に影響はするかもしれない。
どうだろうか?


ちなみに「乗車客」の数が発展に影響しないのはA列車が4も7も8もそうだから、クローンと
してはそれで正しい実装だと思う。:-)
0295名前は開発中のものです。2009/06/03(水) 00:39:23ID:ZbYk0Q0K
ごめん、嘘ついてた。
乗客数は関係あった。
乗客数が0の場合はそもそも計画が進まない。
なので、乗客数は1以上必要。
0296名前は開発中のものです。2009/06/03(水) 01:40:20ID:IjAEFDVM
セキュリティ用のランダム関数使うのが通例
0297名前は開発中のものです。2009/06/03(水) 01:43:16ID:ZbYk0Q0K
FreeTrainは普通にC#のRandom使ってるお。
乱数の質がよくないから、変えた方がいいんでしょうね。
0298名前は開発中のものです。2009/06/04(木) 00:12:24ID:ihUGP6pb
nanashiさんの閉塞信号と通過監視信号を使ってみたお。
地形のあるマップにうまく設置できなかったので、新規まっさらに簡単な往復線路を
引いて設置してみただけだけど。


・閉塞信号

なかなかおもしろいね。
うまく使えば単線の行き違いにも使えなくはない。
「自分はこういう使いかたしてみた」という他の人の使用例を見てみたい。
動作におかしなところは見当たらなかった。

自分で単線に使ってみたら、ほんのたまに、両方から同時に閉塞区間に進入できて
しまうことがあった。こればっかりはどうしようもないかな。


・通過監視信号

うーーん、これは対向待ちなどに使うとしたものなのだろうけど。
ちょっと使いどころが難しいと思った。
この信号を設置してあると、とにかく絶対一度止まっちゃうよね。
対向列車か追い越し列車か、とにかく検知点を通過してくれる列車がないかぎり
いつまでもずーーっと待ちっぱなしなので、単線で一番列車が前方なにもいない
のに止まりっぱなしになるのがちょっとなぁと思ったのさ。
ダイヤに組み込んで、この列車は信号に従う、この列車は従わず通過するって
決められると一番いいんだろうけど。ダイヤまでいじることになると難しいかなぁ。
これもうまい使いこない事例を見せてもらいたいと思った。
0299名前は開発中のものです。2009/06/04(木) 00:21:09ID:mGhwjW5Z
>>298
レビュー乙乙
まだまだnanashiさんには改良して欲しいね!
ダイヤまでいじるということは、本体側にも何かしら影響があるということかな?
0300名前は開発中のものです。2009/06/04(木) 01:08:43ID:iGgKVVH5
>>295
乗客数0でも発展するからそれもなんか違うみたい。

ま、自然発展だと民家ばかりになったり景色が単調になるので
自分で店建てるのがいいのかな。
0301名前は開発中のものです。2009/06/04(木) 01:14:31ID:Zl0tQaBo
自然発展だとビルばかりになるから微妙
0302名前は開発中のものです。2009/06/04(木) 02:11:34ID:mGhwjW5Z
>>300
ありぇ〜?
おかしいなぁ...
もう100万回ぐらい調べてくるよ。
0303名前は開発中のものです。2009/06/04(木) 19:06:43ID:ihUGP6pb
>>296
そーなの?

適切にseed与えてたら通常のrandomでいいような気もするけどな。
FreeTrainの建物の建つ場所決め程度の用途なら。
0304nanashi2009/06/04(木) 19:45:53ID:x4h6NvYA
>>298

レビューありがとうございました。

>ほんのたまに、両方から同時に閉塞区間に進入できてしまうことがあった。
うーんこれ問題ですね。自分の環境で再現するか試してみたいと思います。

通過監視信号は特定の人向けに作ったので気にしないでくださいw
0305名前は開発中のものです。2009/06/04(木) 20:39:24ID:mGhwjW5Z
>>303
適切にシート与えてないw
駅1個につき開発プランが1個できるのだけど、乱数の元をその開発プラン全て共有しているし、
その乱数の元もゲーム起動時に生成している。
後はその生成した乱数の元から、必要な乱数を取り出しているのでシードはずっと変わらない。

0306名前は開発中のものです。2009/06/04(木) 21:26:12ID:ihUGP6pb
>>305
開発プランが必要とする乱数としてはそれで問題ないように思えるのだけど
0307名前は開発中のものです。2009/06/04(木) 21:43:59ID:3fSCiis9
だいぶ前に閉塞公開してくれたときは
うちのへっぽこ環境じゃ辛いものがあったが
今度のは監視軽くなってるのかな
何もない更地マップで試したからだけかもしれんがw
そろそろPC買い替えようかなあ
0308名前は開発中のものです。2009/06/05(金) 00:08:35ID:M1tp70w0
ぐぐってでてきたところのメモ
http://www.atmarkit.co.jp/fdotnet/dotnettips/035random/random.html

>Randomクラスで既定のコンストラクタ(パラメータのないコンストラクタ)を
>使用してインスタンスを作成した場合、そのシード値にはEnvironmentクラス
>(System名前空間)のTickCountプロパティが使用される。このプロパティは、
>PCを最後に起動してからの経過時間を返すのだが、その値はミリ秒単位である。

なのでC#の場合Random();でほっといてもゲームで必要とする乱数程度では
seedはこの状態でも適当にバラけてくれて同じ乱数列の発生にはならない
可能性が高い。
が、気になる人も多いと思うのでRandom( (int)(DateTime.Now.Ticks) );に
置き換えてみることにする。


ちなみにこの変更では駅周辺の発展の様子はまったく変わらず、最高速で
半年放置してみたがあいかわらず発展しない駅は無発展、発展し始めた駅
のまわりはどんどん建物が建つ状態だったので、発展しない駅については
乱数とはまったく別の理由があるのであろう。
0309名前は開発中のものです。2009/06/05(金) 00:46:47ID:iZBFpqcI
>>308
確かにパラメータなしのコンストラクタを呼び出すとそうなのだが、ゲームが起動して1回のみ
Randomオブジェクトを生成しているため、意味がない。(つまりシードは生成時のやつで固定)
乱数生成の都度、もしくはなにかのタイミングで生成し直していれば意味があるのですが。
0310名前は開発中のものです。2009/06/05(金) 00:54:20ID:I7wAxgpn
乱数の実装と挙動と初期化に誤解があるような。

ゲームレベルでは初期化は起動時1回するもの。
それで実際問題なかったでしょ。
建物建設で形色ランダムにしてたてまくったりしても。

もっとこだわるなら、使うたび初期化してもいいけど。
0311名前は開発中のものです。2009/06/05(金) 01:09:04ID:DF+LxanC
順番的には後回しになってもいい感じはする
他に拘りたいところが無ければ
0312名前は開発中のものです。2009/06/05(金) 19:56:41ID:lipeHXhA
ttp://www19.atwiki.jp/freetrain-exav/m/pages/44.html?guid=on#id_6c1de2e3
ここのプラグインが落とせないんだけど、みんなは落とせる?
0313名前は開発中のものです。2009/06/05(金) 19:57:53ID:gX/Ir4Ua
>>312
特段問題はないんだけど
0314名前は開発中のものです。2009/06/05(金) 20:05:17ID:lipeHXhA
>>313
すまん><
こちらの問題だった
再読み込みしたら落とせた。

スレ汚しスマソ
0315名前は開発中のものです。2009/06/05(金) 20:06:10ID:e3ScgHgz
>>312
それ携帯用のページ?

こっちならおk
http://www19.atwiki.jp/freetrain-exav/pages/44.html?guid=on#id_6c1de2e3
0316名前は開発中のものです。2009/06/06(土) 08:37:18ID:JIMsB5f/
CCI動画第19話できました
http://www.nicovideo.jp/watch/sm7259695
0317nanashi2009/06/06(土) 10:03:42ID:t8GDbHCe
>>298

こちらでテストしたのですが、残念ながらうまく再現できませんでした。
ですのですぐに修正できませんでした。すいません。
またなにかありましたらよろしくお願いします。
0318名前は開発中のものです。2009/06/06(土) 12:13:15ID:TbT0KkXV
初代ビスタカー作ろうとしたが挫折orz
こりゃ無理だ
0319名前は開発中のものです。2009/06/06(土) 13:59:12ID:UGTIjJB+
欲しいと思ったので花菱烈火さんのバラストに綾瀬さんの駅車止めを載せてみた。
感想とか待ってます。

http://niconiwa.wiki.fc2.com/?page=%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E7%BD%AE%E3%81%8D%E5%A0%B4

TAKUROUさんのバラストとか、大不況さんのバラストとかにも載せてみたので
気が向いたら載せます。




というか、大不況さんの滑らかなバラストを作ってくれる猛者は…
作ろうと思ったけど絵がうまくいかなくて…
0320名前は開発中のものです。2009/06/07(日) 04:08:56ID:EzrNeGe8
EX Av だとぜんぜん発展しないのはなぜ
0321名前は開発中のものです。2009/06/07(日) 11:47:15ID:NIjCFMqU
>>320
発展パラメーター弄くればいいのに…

まあ弄くらなくても適当に道とか整備して建物をおいたら自然にはってんするんだけど。
0322名前は開発中のものです。2009/06/07(日) 12:55:11ID:6dTN2uCv
駅前に建物を建てておけば、それが呼び水になって建物が増えていくけどな。
大体は自分で建物を置いて街並みを作るけど。
0323名前は開発中のものです。2009/06/09(火) 01:30:16ID:sTVRzc9h
できるだけ手間かけずに、見栄えのいい生活感のある街づくりノウハウってないかな。

全部自分で建物たてたら思い通りになるけど、それもなんか違う感じ。

いろんな人のプレイをSSや動画で見たい。
旧のあぷろだ、だんだんSSあげていいと思う。
0324名前は開発中のものです。2009/06/09(火) 07:13:45ID:KY9MD51D
そういえば、やたらと建物を建てると「インデックスが境界の範囲外です」
ってエラーが出て画面が白の中に赤い×が入った画面になるんだけど…
0325名前は開発中のものです。2009/06/09(火) 08:40:34ID:7jtzYGRM
>>324
俺もだ
そこから時間が完全にストップしちゃう
0326名前は開発中のものです。2009/06/09(火) 18:58:17ID:jqZyFy1p
0327名前は開発中のものです。2009/06/09(火) 21:32:04ID:kYEU6oOY
>>324-325
それは痛いな

なにが原因なんだろう……
0328名前は開発中のものです。2009/06/10(水) 01:00:05ID:0erh2ckW
我らのりおりお氏が直してくれるさ!
0329名前は開発中のものです。2009/06/10(水) 13:52:44ID:79TMAH1f
>>327
ちなみに、設定をビデオメモリ、システムメモリどちらに設定してもなるんだよ…
メモリは3G積んでるからメモリ不足ではないと思うんだけど
0330名前は開発中のものです。2009/06/10(水) 19:06:19ID:g3Dwf5+H
その挙動、初代からあったからなあ
どのタイミングでおきるかがまちまちで
これだというのが見つけにくいみたい

裏で逐次実行ログでも吐くような機能があるといいかも
0331名前は開発中のものです。2009/06/11(木) 00:36:44ID:OQ1gQu6D
>>329
インデックス云々は、配列の添字が範囲外になると出る。
メモリ容量と直接関係はないよ。
今までの経験だと、マップ外領域に建物か列車が飛び出したとか。
0332名前は開発中のものです。2009/06/11(木) 00:43:40ID:N3URtjjR
ふむー
ということは建物を建てる(自然発展で建つ)ときの座標を決めたときに
マップ外にはみだしてないかの事前判定が甘いということになるのかな?
0333名前は開発中のものです。2009/06/11(木) 01:02:29ID:OQ1gQu6D
>>332
ただまあ、先に挙げた例は、まだまだ不安定だった頃の話で、
バグ報告にも挙がって、その都度修正されてた記憶があるから、
そんな単純なミスがまだ残っているかどうか、というとちょっと疑問ではあります。
配列というだけならば、マップのグリッド以外にもあるだろうし。

ともあれ、
エラー時の詳細メッセージ報告しておけば、対策してもらえるかもね。
0334名前は開発中のものです。2009/06/11(木) 02:19:48ID:ZtY/tgZt
トンネル撤去や雛壇などの裏技を使うと、ありえない所に建物が建てられるから
(たとえば地下にかかったり、他の建物と重なったりできる)エラーが出やすい。
こういう場合は、製作者の意図しない裏技によって起きているので、対応のしようが無い。

あとは、ブルドーザーで鉄道関係のものを撤去するとエラーが出やすいね。
0335名前は開発中のものです。2009/06/11(木) 18:27:52ID:nnehBJe6
変数の範囲を超えたりした時に出るエラーだよね
単純に言うと0〜10まで入れとくとこに-1が入ったり11までいっちゃったり
0336名前は開発中のものです。2009/06/11(木) 20:24:09ID:EKAoIwyQ
つうか、なんか急に静かになったなw

>トンネル撤去や雛壇などの裏技を使うと
これって以前某所で話ししてたやつだよね?
やっぱり、不安定な要因になるのならできないようにした方がいいんじゃないか?

>ブルドーザーで鉄道関係のものを撤去するとエラーが出やすい
これは以前の修正で直ったんじゃないの?

インデックスエラーについては>>335の通りだけど、ログをりおりお氏にでも渡した方が
いいんじゃないの?>>324
■ このスレッドは過去ログ倉庫に格納されています