投稿者 トピック: tiny timetable patch / 簡易タイムテーブルパッチ  (参照数 140372 回)

sima0222

  • 各駅停車
  • *
  • 投稿: 23
始発駅である編成が「積載0->0」と表示され長時間止まって後続編成が詰まるという現象が発生しました。
時刻表を見てみましたが、特におかしい点は見当たらないと思います。
曖昧な状況説明で申し訳ないです。
あと長時間駅に止まるときに「積載0->100」と同じように止まっている理由が出てくるとわかりやすいです。出来ればお願いします。

o_o

  • ゲスト
◆踏切ノリツッコミありがとうございまうす。
デフォルトの設定でやってたときは自分も気がつかなかったんですが、
Pak64、1875年スタートでプレイして気がつきました。
(Pak64のコンテストの輸送力不足での旅客運送が面白そうだったので。
コンテスト関連のSSあさってみたけれど、道路と線路の交差点が映ってなかった...
自分のプレイスタイル結構特殊なのかな ???)

信号は表示されていますが、経路予約上は無視されている(踏切地点の信号を撤去
した場合と同様の挙動)ようです。
自分の環境では、PAK64では1920年にならないと踏切は登場しませんね。
1920年以降でも、簡易線路だと踏切はできない様子です。ご確認ください。


◆旅客ターミナルでのTTTの導入:成功?
5路線35編成が集中する旅客ターミナルに導入。導入直後は混乱していたのですが、
夜通し試行錯誤すること数時間、編成数の軽減とホームの共有によって、
駅のスリム化に成功しました。
途中、低速列車と路線を共有している部分もありますが、運行周期だけの設定で
こちらはうまく流れている様子です。

◆貨物ターミナルでのTTTの導入:大失敗...
貨物搬出ターミナルは路線の始点の設定されている上、貨物列車が続々とやってくる
ので、導入にあたり、[ターミナル→...→周期調整駅]となっているスケジュールを
[周期調整駅→ターミナル→...]に組み替える作業が必要になりました。
運行周期の調整を終点にできるオプションがあったらなぁ〜とちょっと考えました ;D

...で、試験導入したところ早々につまづきました\(^o^)/
 <旧設定>ターミナル→消費地→調整駅(1/256停車)、2編成 → 最適な輸送量
 <新設定>調整駅→ターミナル→消費地、運行周期設定、2編成 → 輸送量が半減

スケジュール上一切数字を指定しない状態で、Recordが(0,46,1483,2954)、
Assistantで2970という運行周期が得られました。
停車分を適当に上積みし運行周期に3200を与えたところ、やたら停車してます。
Recordは(0,46,1478,3199)と表示されるのですが、ぱっと見では、6400の周期で
運行しているような感じです。どこで間違えたのでしょうか...
(試しに周期を1600にしてみたらうまく行ったような、ほぼノンストップなような...)
sima0222さんと状況としては同じなのかもしれません

...とまぁ、まだまだ中身全然理解できてない状態での雑感になりますが、

◆TTTの時間単位:現状のままでもよさそう、メーターがあると便利
列車ウインドウの駅間メーターのように、分母に計画時間(ないし全体周期)、分子に経過時間を
表示していただけると、「いつまで停車してるんやろー」がわかりやすくなるかと思います。

◆Timetable View:Assistant以外のタブの活用法がわからなかった、特に上半分
Conviy List、Line Settengのタブ上部は、将来的に何か機能が追加されるものなのか、
すでにうまい使い道があるのか、ちょっとつかみきれませんでした。
ウインドウの上部だけは枠外に押しやれないというsimutransの設計上の弱点 のため、
上部が嵩張っている小窓はノートの横長画面では扱いにくいので、時刻表を上に表示するか
グラフ表示ボタンみたいに上半分を非表示にできるといいですね。
« 最終編集: 2012/07/10 19:08 by o_o »

wackdone

  • 準急
  • ***
  • 投稿: 126
TTT-037 & 全部盛りバイナリ
« 返信 #32 on: 2012/07/10 19:53 »
TTTの最新版のパッチを添付します。
また、TTT-037, RRC-003, CWG-004で作ったWindows用バイナリを↓にアップしました。
http://ux.getuploader.com/wackdone_simutrans/download/12/simutrans-wackdone-20120710.zip
CWGの側もバグ修正と、それにともなう変更が入っていますのでご注意ください。(詳細は中のドキュメントかCWGのトピックで)
ja.tab はTTTだけのもの、r5788のものに追加したもの両方が入っています。README_ja.txtをごらんください。


TTTはバグ修正と主に時刻表まわりの機能追加です。
詳細はzipの中の doc/CHANGELOG_TTT_ja.txtをごらんください。
項目だけはいっぱいあります。
TTTとしての今回の機能追加の最大のものは、時刻表ウィンドウでの「運行アシスタント」です。
「計画アシスタント」で一本の運行スケジュールを決めて、
「運行アシスタント」で複数の編成に時間をわりふる、という流れが出来ています。(いろいろ再整理は必要ですが)

また、仮に実験的にですが以下の三つの項目を元のTTTコアの方に追加しています。
  (1) 始点発時刻指定発車での到着遅延許容: 本来の出発時刻より運行周期の10%までの遅れで到着した場合には、遅れを記憶してそのまま出発させます。
  時刻指定になったことでの混乱が少し解消されるかもしれません。
  (2) 継続的Auto-Offset: Auto-Offsetで最初の一本に適用する計算を、全ての編成にしつこく(Persistent) 行い続けます。
  これで、スジのすっぽ抜けはあっても1運行周期分出発が遅延するということは無くなります。
  現状は、「運行アシスタント」の中のチェックボックスでしか設定できません。
  (3) 運行の時間関連情報を、列車の詳細情報ウィンドウに表示 (「詳細」ボタンを押すと出てくるもの)
  積算遅延量、最終実出発時刻、にくわえて
  「この駅を出発する予定時刻」と「現在の時刻」をTT単位で表示します。(ついでに差も見られる)
  これを見れば、なんとなく「ダイヤが無茶」なのか「段落ちしちまったぁ」なのか「プログラムがおかしそう」なのかの切り分けができるかもしれません。
  また、Simutransの動作の事情で、どう頑張ってもちょっとだけ遅れで出発していく様子も見られます。


README_TTT_ja.txtにできる限り新機能などなどの説明は書いたつも りです。
情報がまとまっていないのはごめんなさい。

とり急ぎ、暗くなってしまったのでまずはポストします。
(皆様へのお返事はのちほど書させてください)

wackdone

  • 準急
  • ***
  • 投稿: 126
sima0222さんwrote
>> 始発駅である編成が「積載0->0」と表示され長時間止まって後続編成が詰まるという現象が発生しました。
>> 時刻表を見てみましたが、特におかしい点は見当たらないと思います。

おそらくですが、前まえから問題になっている「強制段落ち」が発生していると思われます。
私の手元でも実はよく発生していたりしますが、個々の現象を詳細に分析できているわけではありません。

「強制段落ち」(段落ちという言葉がここで適切かはちょっと考えどこですが今は仮にこれでいきます。)

周期とオフセット(始点発時刻指定)を指定して運行している場合、始点での発車時刻は、到着した列車が
  go_on = N*cycle + offset
となる、now以上で最小のgo_onを計算して (整数Nを選んで) 、次の始点発車時刻とします。
この時、スケジュールを1周して戻ってきた時に(途中の遅延分も含んで) 微妙に cycle より長くかかってしまっていると
(というか、cyclce以下であっても、前回の始発時点で微妙に延発していると)、
ほんのわずかの遅れでも、最大で 1 cycle 待たされます。(つまり、Nが1個飛んでしまうわけです)

前の記事で書いた通り、新版には(1)10%ゆずる(2)とにかくpitchでパターン無視でいってしまえ
の二つの実験(後者は指定するもの)を入れていますので、お試しいただければと。
ただ、(2)の方は「強制段落ち」が発生する可能性があることをむしろ隠蔽してしまう恐れがあります。す。

またもちろん、プログラムのコアのロジックにバグがある可能性も多分にあります。
読みにくいかもしれませんが、一応、出発予定時刻と現在時刻を表示させる機能を入れましたので
雰囲気を探っていただけると助かります。

>> あと長時間駅に止まるときに「積載0->100」と同じように止まっている理由が出てくるとわかりやすいです。出来ればお願いします。
乗り物のtipを出している部分を見ていないのでまだなんとも言えないところですが、
簡単にできそうであれば、「発定時待ち(残りnnn)」という感じで表示してみようかと思います。
それまでは、面倒でしょうが詳細情報ウィンドウのほうをご覧いただければと。

ご提案、ありがとうございます。
今後とも宜しくお願いいたします。
« 最終編集: 2012/07/10 21:05 by wackdone »

wackdone

  • 準急
  • ***
  • 投稿: 126
o_oさん、いやいや本当に「まだ」という言葉で悩んでしまったのですよ、少しだけ;-)
私、最初のころ(0.82とかの頃?) 64やって、しばらく128やって、ここしばらくはpak128.japanの人になってしまったので、
時代や線路種別で踏切の有無や姿が変わるなんて知りませんでした;
バグとり含めてプログラミングが少し落ち着いてきたら、せっかくですから原点回帰で 64 でも少しプレーしてみようかとも。
教えてくださってありがとうございました。


>>信号は表示されていますが、経路予約上は無視されている(踏切地点の信号を撤去
>>した場合と同様の挙動)ようです。

こちらは、私の手元でも即席路線を作ったら現象が発生('b'のブロックツールで見るとよくわかりますね)
しましたので、修正いたしました。CWG-004の方です。(今回の全部盛りにも取り込みずみ)
私の手元の実験線では治ったし問題の原因ははっきりしているので、おそらく大丈夫だと思います。
お試しください。ご報告、ありがとうございました。


>> ◆旅客ターミナルでのTTTの導入:成功?
素晴らしい! 私が挑戦したかったことを見事に実現されていますね。
遊び方の一つとして、最小設備で最大輸送を目指すというのもあっていいと思っていました。
複数路線でのホームの共用などは、上手くいくと気持ちいいと思うんですよね。
分かりにくさや使いにくさのせいで、だいぶお手間をとらせてしまったようですみません。
これからさらに改善していければと考えています。

>> 途中、低速列車と路線を共有している部分もありますが、運行周期だけの設定で
こちらはうまく流れている様子です。

本来は運行周期(というか各駅間の計画時間を全て埋めれば一定周期になる)だけで、かなり安定した運行になるはずです。
アルゴリズムもものすごくシンプルですので。
なお、それだけでよければ「運行周期」欄は設定しないでください。0を入れておいてください。

問題は「運行周期」と「オフセット」を個々の列車に入れたり、さらに「自動間隔設定」なんてしてしまった場合でして、
こうなると「絶対時刻」の概念を入れざるを得なくなるので、いろいろと「分かりにくさ」「動きの馴染みにくさ」が出てきてしまいます。
ただ、優等の退避とかさせるにはやっぱり欲しいかなと。

>>◆貨物ターミナルでのTTTの導入:大失敗...
ああ……やっぱり難しかったですか。実は貨物の方はあまり考えていなかったんですよ、最初作っているうちは。
(「貨タは大きくてあたり前!」「ありったけの編成並べて100%待ちでいけいけ」なんてやってしまう性格なもので)

ただ本質的には旅客と変わらずできるはずなので、(100%待ちをあきらめれば)、違いといえば
  積載量の違いによる加速の差が旅客より大きい → 実績時間や距離/速度での見積りはあまりあてにならないかも
というあたりですかね。

>> 運行周期の調整を終点にできるオプションがあったらなぁ〜とちょっと考えました ;D
これは最初、考えたんです。ですが、(少なくとも今の段階で)ユーザインターフェースがこれ以上ややこしくなるのはまずいと思い、踏み止まっていました。
ちなみに、私が良く理解できていないのかもしれませんが、終点への計画時間を長めに設定して、
ここで全ての遅延を吸収させるというわけにはいきませんか?
(始点だけ特殊な発時決定をしていると言っても、基本的には駅間計画を足していった各駅の時刻もほぼ同じ特性になる、
というかそういう特性が出るように組まないと上手く機能しない仕組みになってしまっ ているかもしれません。)

なお、前回までのバージョンのアシスタントはこまごまとバグを持っていたかもしれません。
ドキュメントにまだ書けていないのですが、ときどき「周期時間表示」(WrappedTime)をオフにして、
実際に入っている値(剰余でない値)を見てみてください。予想を越えた時間が入ってしまっている恐れがあります。
(offsetから足していっていますので、最も大きくて cycleの2倍の値未満まではなるはずですが、
 それを越えているようだと、これまで想定されている通常の使い方では出てこない値です)

特に:
.>>Recordは(0,46,1478,3199)と表示されるのですが、ぱっと見では、6400の周期で
>> 運行しているような感じです。どこで間違えたのでしょうか...

とおっしゃっているところは、sima0222さんへの返答にも書きました「強制段落ち」、あるいは
アシスタントが異常な値を入れてしまっている、のどちらかの可能性があります。


>> ◆TTTの時間単位:現状のままでもよさそう、メーターがあると便利
おお、メーター! それは思いつかなかった!
sima0222さんから頂いたtipの件と合わせて実装調査してみますね。
UIまわりは特に、作っている本人にはなかなか思いつかなかったりもするので、本当に助かります。


>>◆Timetable View:Assistant以外のタブの活用法がわからなかった、特に上半分
Convoi List は、とりあえず編成のフルネームも見えるようにしておかなきゃいけないだろうと作りました。
スプレッドシートの列ラベルだけだと、狭すぎるもので。

Line Setting は、今回導入した「運行アシスタント」の一部の機能を入れるつもりで先に準備したのですが、
今のところアシスタントに仕事を横取りされまくって、役がまわってこない状態です。
元のデータから考えると、「路線」と「編成」でそれぞれの管理や把握が必要なので、何らか整理はしないければいけないのですが。

ウィンドウのレイアウト、小型化などは、これから検討してみます。
やはりメインで見て操作するのは (アシスタントが済んだら) 時刻表そのもの、という感じでしょうか?

であれば例えば、ご提案のように
  - リストなどはシェード (上に閉じられる、または下にぶら下がる) にしてしまって
  - アシスタントはポップアップ、または左か右に出てくる
という感じがいいですかね。
アシスタントと時刻表ペインは同時に見たくなると思うのですが、この二つはどちらも大きさが必要で、少々悩ましくあります。
(アシスタントの出来が非常に優秀であれば、時刻表を見せなくてもいいのかもしれませんが)
現状、Convoy List が無駄に高さがあるのは、アシスタントの画面が大きくなってしまったからだったりします。

新版はさらに高さが増してしまい、いっそうご苦労をおかけすることになるかもしれません。
まずは機能をご確認いただきつつ、こちらではレイアウトの再検討を進めてみます。

実際の導入事例のご紹介や、機能改善についてのご提案、ありがとうございました。
今後とも宜しくお願いいたします。

wackdone

  • 準急
  • ***
  • 投稿: 126
本スレPart54 751さんの件
« 返信 #35 on: 2012/07/12 04:41 »
(本スレとこちらで行き来してしまっていてすみません。問題などの情報交換は極力こちらでお願いいたします。)

本スレ(Part54)より転載
From: [751] 名無しさん@お腹いっぱい。 <sage>
Date: 2012/07/12(木) 01:06:09.50 ID:2e0+5qw0
>> 旧データーをTTTでロードしようと思いましたが・・
>> Unknown object type '48'を喰らってしまいました

アップしてもらったログを読みつつ調べましたが、
いまのところは「RRCのhackyなファイル識別が悪い」という可能性しか
思いあたっていません。

現状最新の TTT だけ (RRCもCWGもなし)のバイナリを置きますので、
これでロード可能か否か確かめてみて頂けませんでしょうか?
  http://ux.getuploader.com/wackdone_simutrans/download/13/simuwin-ttt-120712.zip


exeを差し替えたら、settings.xmlを削除する必要があるかもしれません。


原因の推定
object type '48' は、オリジナルのSimutransでも、TTT/CWG/RRCでも使用していない値です。
よって (751さんが特別なバージョンのSimutransを使われているという事でなけれ ば)
原因は、プログラムで検出できないファイルフォーマットの変更がされており、
object type では無い場所をobject typeだと思って読んでしまっている、ということが考えられます。

可能性検討(1)
RRC(RouteCost再実装)では、新しいファイルフォーマットバージョンを使用せずに
「max_transferの値が通常範囲より大きな値であったらRRC用のパラメータが
  入っていると判断して読みこむ」という反則的な処置をしています。
この判断が間違っていた場合、この先のデータの読み出される位置が全てずれてしまい
本来は object type ではなかった場所を object type だと思って読み込み
エラーになる可能性があります。
RRCのファイルフォーマットバージョン

可能性検討(2)
ほかには何も思いついていないのですが、
  - 私のプログラムのバグ (これが一番可能性が高い)
  - 本当にファイルが壊れている (元のSimutransでは読み込めていますよね?)
  - Simutrans 102から、本家でもどこか大きな変更が入っている
といったところでしょうか。

ログファイルを見る限りは、他のところでも細かいエラーは起きているようです。
"Too many steps" と出ているところ (intern_calc_route()) は、かなり臭いです。
ですが、これも上の原因によるロード失敗のせいかもしれません。

« 最終編集: 2012/07/12 04:47 by wackdone »

gonyo

  • 各駅停車
  • *
  • 投稿: 16
TTT-037 & 全部盛りバイナリ使ってTTT導入してみました。  simutransを新しく本体からSimutrans 111.2.2をダウンロードしてバイナリ追加という形でやってみました
 鉄道運行させてみましたがTTTの設定画面が英語でぜんぜんわかりませんorz とりあえずセーブデータ置いてあるのでこのマップでいろいろ検証してみてはどうでしょうかセーブデータは   
Simutrans 111.2.2 pak64 をダウンロードしてTTT-037 & 全部盛りバイナリで作ったものです。 他のアドオンとか入れてないマップで憲章してみてはどうでしょうか。

wackdone

  • 準急
  • ***
  • 投稿: 126
gonyoさん、サンプルセーブデータのアップ、ありがとうございます。
言語の表示ですが、zipファイルの中の
  simutrans-wackdone-日付/simutrans/text/ja.tab
は、TTT対応したものが追加されています。

バイナリ(exe)をコピーするのと一緒に、このja.tabも該当する場所にコピーすれば、日本語で表示できます。
(もしかしれ、それでも上手くいってませんか? 私の手元は大丈夫なのですが。)
なお、gonyoさんのされたように既存のSimutransの環境に差し替える場合は、ja.tabのバックアップもとっておくことをお勧めします。


wackdone

  • 準急
  • ***
  • 投稿: 126
本スレで「激しく高機能化してついていけない」とおっしゃってる方がいらっしゃいました。
頻繁なバージョンアップを繰り返してすみません。

TTTの本来の機能は最初から変わっていません。
  「前の駅を出発してからこの駅を出発するまで、時間 N tt で運行してね!」
とスケジュール編集画面で入れるだけです。
列車はこれに合わせようと頑張ります。これだけです。
(この動作にバグらしき現象があったら、すぐに教えてください。根幹ですので)

また、計画時間や運行周期を設定しなければ普通のSimutransの動作です。
全部盛りはただの「RouteCostのついたNightly」として使えます。

新しい機能(時刻表ウィンドウなど)は、最終的には利便性を高めることにつながると思いますが、
今の段階ではかえって利用者を惑わすだけかもしれません。どうか、振り回されないようお願い申し上げます。
機能を使いきって緻密なダイヤを組まなければという脅迫からゲームが面白くなくなっ てしまったら元もこもありません。

加えて、もう一つ試験利用をされている方(特にバイナリ配布を利用している方) に質問です。
RRCまわりなどが原因かと思われるロードの失敗が報告されています。また今後もRRC付きでセーブした
データが問題を起こすかもしれません。
しばらくは全部盛りでは
  「RRCは有効だけど、設定したパラメータは保存されない」
というバイナリを作成しようかとも考えています。(既にRRC付きでセーブしたデータをお持ちの方への対応策も加えます。)
それでは使いにくくなってしょうがないという方がいらっしゃいましたら、お知らせください。
(RRC付きデータからの移行策が完成するまでは、これまで通りの「全部盛り」でいきます。)

以上です。

o_o

  • ゲスト
Re:TTTなどお試しの皆様へ
« 返信 #39 on: 2012/07/13 08:19 »
こちらの環境では、
TTT.ja.tabの方を導入したところ、TTT関連で文字化けがあったので、
「TTT.ja.tab」を「ja1.tab」の名前でUTF-8、LF改行で再保存し、
pak内のtext(simutrans/text内だと読み込まないはず)に追加しました。

ボタンやアシスタントは日本語で表示されていますが、ツールチップは英語
だったかと思います。

--2012/07/12 08:38 追記--
気になったので、試しに、全部盛りを展開したものに
pakだけを移して起動したら、起動中に停止しました^^;
従来のsimutransフォルダにexeを移動させたものなら起動してます。

--2012/07/12 19:58 追記----
度々すみません、simutrans-wackdone-20120710.zipを再度展開し、
同様にpakを入れて起動したところ、今度は正常に起動しました。
これは、前回は解凍に失敗していたのでしょうか  ???

RouteCost関連のtxt、エンコードがUTC?になっています。
直接影響しているとは思えませんが、何かの参考になれば~
« 最終編集: 2012/07/13 20:02 by o_o »

sima0222

  • 各駅停車
  • *
  • 投稿: 23
運行周期が10000を超える路線で「路線を編集」(停車駅とかを指定する画面の方です)を押すと、運行周期が9999に変更されてしまいます。修正お願いします。

gonyo

  • 各駅停車
  • *
  • 投稿: 16

wackdone さんja.tab r5788ファイルを入れましたが日本語になりません。 それとは別に日本語化ファイルらしきものがありました。
\simutrans-wackdone-20120710\text-add\TTT.ja というファイルです。 中を見ると英語と日本語でTTTの説明がいろいろ書かれてます。 これをどこかに入れたらいいのでしょうか? あと英語表記についてですが「走行距離」だけ日本語になってます。

下のような様子です。 これで導入成功してるんでしょうか。
http://gyazo.com/44deda0aca2d95873766389886ef5abb

wackdone

  • 準急
  • ***
  • 投稿: 126
日本語化の問題、そして TTT-039準備中
« 返信 #42 on: 2012/07/13 20:09 »
みなさまご報告ありがとうございます。
どうも、Windows側のzipがいろいろと変換してくれてしまうという、よくある問題にぶつかっているようです。
(というか私がUNIX系環境でzipしているのがいけないのですが、すっかり忘れていました)
お手をわずらわせてしまってすみませんでした。

zipのソフトウェア次第では対応はできるはずなのですが、とり急ぎは、試しにここに圧縮せずに貼ってみます。
私の手元では表示に成功している ja.tabです。

ただし一部の翻訳は、これから出す TTT-039 用になっています。
次の投稿でパッチを、しばらくしてバイナリを上げます。

wackdone

  • 準急
  • ***
  • 投稿: 126
TTT-039
« 返信 #43 on: 2012/07/13 20:16 »
というわけでTTT-039のパッチです。
皆様からご報告頂いたバグへの対応と、ユーザインターフェース上のアイディアを実装してみました。
いただいている直近の投稿では、
  - 数値入力: 値は入っているけど入力部分の動作が悪いという本家の隠れたバグを見つけました。対応しました。
    周期とオフセットは暫定的に 2^24-1 まで入力できます。駅間時間は2^16-1までのままです。(これも入力の問題があったはず)
  - ツールチップ、やってみました。「常に表示」にすると凄く賑やかです:-)
  - バー表示、はじめました (といっても季節ものではありません)
  - 時刻表ウィンドウ、小くできるようにしてみました
まだまだインターフェースとしては問題だらけですが、週末がやってきましたので、とり急ぎリリースを。

wackdone

  • 準急
  • ***
  • 投稿: 126
o_oさん、いろいろお試しいただいてしまってすみません。
一部のファイルは、EUC-JP(Extended Unix Code) になってしまっていますね。
ja.tabだけは、行末LFのUTF-8で扱っているので、展開に問題がなければ大丈夫なはずなのですが。
と、o_oさんのコメント見て気がつきました。
TTT.ja.tabをそのままではなくて、catなりCPなりで、オリジナルの ja.tabの後にくっつけてやってください。
でないと、TTT.ja.tabの頭にはUTF-8おやくそくの例の文字を入れていませんので、こけると思います。
説明不足ですみませんでした。

もう一点、パッチをダウンロードしてくださっている方の中で、
やはりzip展開まわりのトラブルをかかえている方、いらっしゃいませんか?
(一般的なLinuxや Macで扱ってもらっている分には問題ないと思います。)
もし、「パッチひっぱってpatchコマンドであてようとしたら、rejectされまくりで嫌になったよ」という方おられましたら、お伝えください。
tar.gz なり場合によっては lzh なりにします。

# バイナリ、ビルド中です。