開発 > プログラム

tiny timetable patch / 簡易タイムテーブルパッチ

(1/41) > >>

wackdone:
本スレ(Part54)の503です。
Nightlyに簡単なタイムテーブル機能を追加しているので、こちらをお借りして話を進めさせていただきます。

現在の実装の概要は:

* スケジュール編集画面で駅と駅の間に計画所要時間を設定できる
* 乗り物は(計画所要時間が設定されている場合は)その時間に合わせて運行するよう努力する
* 早着の場合は停車時間をのばす。遅延の場合は発車を早めて先の運行での調整にまかせる。
というような感じです。
積載率などに関係なく動作します。(オリジナルにある積載率指定、停車時間設定とは独立です。)

最新版のパッチやバイナリは、このトピックの最新のレスからどうぞ。
(現在は 返信#12 です。)

また、

* Windows用などにバイナリビルドしてくださる方
* 試用してみてくださる方
* (あるいかないかわからない)将来、本家へ提案するかもしれない時にご協力いただける方などなど募集しております。お気軽にお声がけください。

wackdone:
簡単な路線を一晩走らせてみて大きな問題はなかったので、現状のパッチをここにアップします。
(Forumの使い方にまだ慣れていないため、添付など問題ありましたらご指摘をお願いいたします。)

simr5787-tip002.zip
タイムテーブル周期を指定しての、指定時刻出発機能まで実装して試しました。
機能の詳細は同梱の TIMETABLE_ja.txt をごらんください。
パッチのあて方、使い方は最初にロダにあげたものと同じです。まだその他の「いろいろ」な機能が一緒のままですが、
落ち着いたところで「簡易タイムテーブル機能」のみに分離する予定です。

また、本スレの方でスクリーンショットのご要望がありましたので、簡単な実験線ですがアップします。
(今は余裕なくフルスクリーンのままです。すみません)
timetable-ss01.png
(pak128.japanだったり、配線ぐだぐだだったり、どこから来たのかというようなオブジェクトが入っていたりしますがスルーしてください)

左上と右下に情報ウィンドウを開いた二つの編成が4駅+引き上げ線の複線区間を往復運行しています。
(引き上げ線や車両基地を使ってダイヤ調整をするテクニックは使っていません。)
全ての駅間を計画所要時間 160ttt に設定。(駅間距離にはばらつきがあるが発時を揃えてみている)
路線では運行周期を1280に設定し、それぞれの編成はoffset 0 と 640 で走らせています。
まだいまいち揃ってないところでの絵ですが、繰り返し往復させても、この中央の門真駅ですれ違い出発します。
二つの編成に性能の差があっても、このように安定した運行になります。
時間ができたら優等や途中折り返しもダイヤに組み込んで実験してみます。(あと環状線かな)

いろいろと説明や質問をしたいところですが、まずは現状報告まで。
ご意見、お待ちしております。

wackdone:
言葉や静止画を並べるよりも、簡単でも動いている様子を見てもらった方が感覚をつかみやすいと思うので、
ごく単純な例ですが、設定をして走らせるまでの様子をキャプチャしてYoutubeにアップしました。

キャプチャしてそのままのもの:(比較的高画質)
 Simutrans Tiny Timetable Patch DEMO
 http://youtu.be/XtmyXlTxvM4

日本語での説明テロップを入れたもの:(画質は劣る)
 Simutrans 簡易タイムテーブルパッチのデモ (再エンコード版)
 http://youtu.be/1qY7uJKrscI
   (再エンコードしてアップしなおしました。古い方は消します)


4駅+引き上げの複線往復運用で、性能の異なる二つの編成が続行運転になってしまっていたものが、
タイムテーブル設定をおこなうことで、安定して等間隔運行する様子を見せています。
(ラストにおまけで、市内循環バスが等間隔運行を続けている様子もちょろっと)


次は中間点の2面4線駅で緩急接続、その先の2面3線駅で途中折り返しでもやってみようかと考え中。
信号機にスケジュールを持たせる案についても実装できるか調査してみていますが、これはまた別のトピックでするのがいいですかね。ご意見やご誘導を募集。

wackdone:
簡易タイムテーブルパッチの最新版です。
この版から、他の機能のパッチとは分離してTTTだけでの配布にします。
(他の機能のパッチ(STSKK、MIP) はまた別にアップします。)

対象バージョンは Nightly r5788 ですが、111.3 にもちょっとした手修正だけであたること、動作することを確認しています。

ChangeLog:
   FIX: delayがセーブできていなかった
   ADD: 実績時間表示をトグルできるように ("Show RecTime" ボタン)
   ADD: 全ての列車の遅延をリセット: 路線管理ウィンドウに追加
   ADD: 自動オフセット設定機能を路線管理ウィンドウに追加
   ADD: pitchフィールドを路線管理ウィンドウに追加
   CHANGE: セーブゲームバージョンが 0.811.5に
   ADD: 列車詳細ダイアログにlast_departureを表示 (デバッグ用?)

既知の問題点:
  路線管理ウィンドウで pitch が 0 のまま、AutoOffsetを押すと、プログラムがフリーズします。
  (次のバージョンで修正されます)

上記のようにセーブバージョンが上がっていますが、前のバージョンのセーブも読み込めます。
また、古いバージョン(111.xなど)のゲームをロードして、タイムテーブル関連の設定をして保存すると、
新しいセーブバージョンになり、タイムテーブル関連の設定も保存されます。
(当然ですが、オリジナルのSimutransではロードできなくなります。)

ほか使用方法など詳細は、同梱の README_TTT_ja.txt (UTF8、CR+LF) をごらんください。

2012.06.29追記:
Windows用のバイナリも作ってみました。
  http://ux.getuploader.com/wackdone_simutrans/download/2/simuwin-r5788-ttt-030.zip
簡単に動作確認はしていますが、あまり作り慣れていないものなので不具合があったらすみません。


ご意見、ご感想をお寄せいただけますと幸いです。

gonyo:
ダウンロードさせて使わせていただきました どうも使い方がよくわかりません 設定するところが英語になってるようなのでできるなら日本語でお願いします。 技術的に日本語入力が難しいのであればローマ字表記 (taikijikan)みたいに・・・
使い方よくわからないまま路線編集→Auto Offset と押すとフリーズしました。 バグなのかもしれないので検証お願いします

結構難しいプログラム組んでいるようですが そこまでしなくてもダイヤ組めると思いますよ


このパッチを使わなくとも強引に踏み切りに長さ2マスの自動車を停車させる方法で鉄 道の定時運行が可能ですので 何からの役に立つはずだと思うのでその方法を紹介します。
http://gyazo.com/a96cd1c65d19c54b94c6f8afe047aff0.png?1340958447
http://gyazo.com/cb43a0d0a138c8c6bed32cff3b64ac8e

南北+東西=60秒 つまり現実時間で60秒間隔運行   60秒に一回青になる信号を作ったわけです。。
オフセット値は他の場所にもう1つあるほかのこの装置より信号が変わるタイミングが 34秒早い という意味です 2つ目のオフセットが8なので26秒調整していることになります。 この方法で同時入線同時発車ができました。
同時入線の様子です。  退避等も問題なくできると思います
http://gyazo.com/10168512f6b05c9608af5741fea10b5b

問題点
非常に見た目が悪いこと 
調整(オフセット値の調整)が非常に面倒   (駅間の移動時間の計測などが非常に大変)
1秒でも遅延すれば次の筋まで待つことになる
踏み切りで列車を妨害している場所以外では調整ができない
バグ利用のため更新で使えなくなる恐れ※1
※1踏み切り手前で自動車は踏み切りの次の1マスに障害物がないかを確認して進む 1マスの自動車ならそれで問題ないが連結された長い自動車で 踏み切りの2マス先に障害物(ここでは交差点の赤信号)があった場合 踏み切りを渡りきれず列車の運行を妨害してしまう。 これを利用して鉄道のダイヤを組んでみたものだということ

以前ここに要望として書き込んでみました 道路の交差点用信号をうまく使えないかということです。

http://forum.japanese.simutrans.com/index.php?topic=477.0 

このとおり道路の交差点用信号を鉄道に置き換えていただくと スムーズに動くかと思います。 要するに一定の時間ごとに一編成の電車を通過させる装置を作るというわけです そしてオフセット値で調整
他の種別の列車がそこを通ると困る、 1秒でも遅延は許されない という問題点があります。

ナビゲーション

[0] メッセージ一覧

[#]

フルブラウザ表示にする