2024年2月20日火曜日

路線の「各駅待機状況表示」の改良について考える #その4

 フォーラムに新たに報告されたバグに対応したり
色々平行作業したり躓いたりあったけど、とりあえず進捗状況(´・ω・`)

本当はExtendedに提出しないでおこうと思っていた機能を、ある程度は提出することにした。
理由は
(1) Extended バージョン15.0のために、UIコードの特にテーブル関係で綺麗にデザインできるようになんとか書き換えたくて、そうすると色んな部分で競合発生しまくるので面倒。
しばらくぶりにSimutransのUIを見ると古臭ささと見にくさが非常に気になったのと、Ex15と私家版との差で14.0には実装されてない変更点がかなり多く、これがコードの競合の原因になっている。
例えば編成詳細、車庫画面、工場系ダイアログ。
Simutrans GLでのUIの機能拡張が進んでて、それをExtendedへの取り込めるなら取り込みたいとか難しい問題も出てきている。

(2) ひめしに(先輩方の忠言を無視して)コードをOTRP/MTICBの実験台にされ、スパゲティ化されて、プロジェクトのメンテもバグ修正も大変な状態にされたExtendedがあまりに可哀そうで不憫すぎる。
バグ修正投稿したら普通にすぐに対応されたのでそういう気持ちがより強くなった。

(3) 休止してる数か月とここ最近の海外の人達からの応援メッセージに励まされた


なのでこれらの変更点は、Extendedに組み込まれる
というか結構な進捗があって既にいくつか組み込まれました。


  1. 貨物をクラス別に分ける表示オプションを追加
  2. 表示待機数をその路線を待っている貨物だけに絞り込む
この2つは既に1年半くらい前に私家版のほうでほぼ同様の機能が実装されていたのを
忘れていたみたい(´・ω・`)
そこから必要な関数を引っ張ってきて、あとはUIにオプション追加ですぐに実装完了。

2. はかなり有用なオプションで、私家版はむしろこれに固定されてたのを忘れた(´・ω・`)
Ex15対応が忙しくなったタイミングだったみたい

例えば、これまではどの路線のデータからこの情報にアクセスしても
(a)「大阪駅で電車を待っている乗客は何人ですか?」というのを表示していた。
つまりあるカテゴリのその駅の待機量全部を拾っている。
実際にその路線に乗るかは関係ない。
それを(b)「大阪駅で"新快速"を待っている乗客は何人ですか?」というもうちょっと便利に使える値を拾うオプションが追加された。

しかし新快速は東西を往復しているので、2回大阪駅を通り、東へ向かう客と西へ向かう客が居る。
同じ路線でもどっち向きに走っている編成に乗りたいかが異なる。
(c)「大阪駅で(上り/下り)方面の"新快速"を待っている乗客は何人ですか?」
これを区別できて満点(´・ω・`)
とは言え、現状が(a)なのだから、それが(b)にアップデートされるだけでも
前進していることは間違いないよね。


このあたりの改良はまだまだ続くよ(´・ω・`)

2024年2月4日日曜日

路線の「各駅待機状況表示」の改良について考える #その3

じゃあ機能拡張をやっていこうかしら(´・ω・`)


思いついている改良案

  1. 貨物をクラス別に分ける表示オプションを追加
  2. 表示待機数をその路線を待っている貨物だけに絞り込む
  3. その路線の駅間に何編成が移動中かのリアルタイム表示を追加する
これ以外でちょっと微妙かなと思っているアイデアが、
待機量に応じた横棒を表示して待機量の多さを見た目で補完できるようなもの。
路線の最大積み込み可能量を100%にすると編成が多すぎるとバーが全体的に短くなるし
駅の最大容量の場合でも駅によって容量も違えば、
貨物は各カテゴリで共用だし、クラス含めても同じカテゴリ内に複数の貨物種類があるので
どのようにバーを表示させるか、というところでいい実装案がない(´・ω・`)

それとこの表示の既存の問題として同じ駅を何度も経由する場合に
同じ駅が何度も表示されてリストが混乱している、という問題があるのだけど
上記3の機能を実装するなら、この問題は相反する。
加えて乗客の行きたい方向によっても区別される必要もあると思っている。
シミュトランス(≠ジムトランス)のコード知識から言えば、路線絞り込みは間違いなくできるのだけど
同じ駅で路線内の運行の向きを考慮して待機数を出すのは、ちょっと手間がかかりすぎるかもしれない。


とりま、この3つは上から簡単そうな順に並べたので、
次回以降それを掘り下げていきますか。  (´・ω・`)つづく

路線の「各駅待機状況表示」の改良について考える #その2

 前回の続きで進捗状況...


弄っているとバグが見つかって、表示がオーバーラップする場合があった。

どうしてこういうことが起こるかというと、
例えば「0」という表示が「旅客 10」という表示になると表示サイズが変化するわけで
その際に(エクセルで言うところの)セルの最小サイズがちゃんと切り替わっていなくて、
表全体の最小サイズも正しく処理されない
みたいな感じで、こういうところも考えながら、正しくプログラム組んでいかないといけないし
そういうバグが見つかったら、正しく書き直さなければならないわけ(´・ω・`)




とりあえず何が原因か手探りで色々弄って
結局、ほぼほぼコード書き直すことに(´・ω・`)
直っただけ良かった。
ついでだから枠組デザインに変わってちょびっと見やすくなったと思う。

アプデを繰り返していくゲームでは、日々のメンテナンスが重要なんす(´・ω・`)

そういうのを全部丸投げして、
『バグが見つかっても自分じゃなおしません(だって取り込んだ人の責任でしょ)
ってスタンスなのがひめしというクズ日本人。しかも小さなバグどころのレベルではない。
奴らの尻拭いにらんらんや海外のコーダー達がこれまで一体何十時間費やしたか。
それでも問題はほとんど除去されていない。
もちろんらんらんだってじぇーむ寿司や他の人たちに一杯助けてもらっているけど、
シムトラ学会などというイベント開いてそこで堂々とコードメンテナンスを海外の人らに丸投げ宣言して、有言実行してるのがひめしという奴。まさに反面教師の鑑。

しかもそのクズ行為を参加者に薦めている・・・。
シムトラ学会とやらは、
やってはいけないことを拡散する勉強会なの?(´・ω・`)

そういう自分が起こした問題の責任を一切取る気が無いニンゲンは、
他人様のプロジェクトにパッチなんか提出するな、と教えるべき(´・ω・`)

今後そこらへんの事実を分かりやすくまとめていくので。
それがらんらんに与えられた役目(´・ω・`)

とにかく機能を拡張する前段階で、コードの修正をしたよ(´・ω・`)
次はこれをどう味付けしていくか考えよう。 つづく

2024年2月2日金曜日

路線の「各駅待機状況表示」の改良について考える #その1

いつもはパッチが完成してから、フォーラムに投稿するという工程を踏んでいたけど、
今回はアイデアを練って実装作業を進めるところからやっていく。

Simutrans Extendedでは路線一覧にStandardには無いタブが追加されてて
そこから路線管理に便利な情報にアクセスできる。

その中でこの「待機状況」タブは、
路線の各駅にどれだけ乗客や貨物が溜まっているかを一目でチェックできる。

これはらんらんが以前に追加したものだけど、正直詳細を忘れてしまっている(´・ω・`)
まぁたくさんUI改変したものね。
久しぶりに見てみると便利ではあるけど正直イマイチで、
(最近力を入れているテーブル表示形式がいいとかそういう話ではなくて)
明らかに表示機能や内容的にまだまだ改善の余地がある(´・ω・`)

Extended ver15が進むかどうか分からないけど、
それについてはじぇーむ寿司次第なので今はそっち側はあまりやれることがないし、
今の段階でExpert(仮)向けの追加機能を作っても、Ex15の進捗があった場合にまた競合の解消に苦しむことになるので、影響の少ないUIの改良を進めることにする。

だって久しぶりにUIを見たら本当にSimutransのUIは古臭いというか、
特に枠線だのテーブルだの背景だのがあまり無くてので、
テキストが浮いたように配置されてることが多くて
一般的なUIと比べて全体的に情報の見やすさに対する工夫がされていないと感じる(´・ω・`)

その一例がこの各駅待機状況表示なのだけど、まだヘッダとメインデータの間に線が引いてあるだけでもSimutransの中ではマシな部類(´・ω・`)
もっと言えば駅番号貨物の種類を表すの色の箱が配置されてるだけでもかなりグラフィカルになっている部類...

とにかくSimutransは昔からウィンドウの見やすさが酷い。
ほんまにゴミレベル(´・ω・`)
「フォントのサイズ」とか「文字の太さ」とか「斜字」とか
そういう根本的な部分を弄るのは現実的ではなく無理なので、
できることをやっていくしかないのだけど。

そりゃあ前世紀から続いていて、その開発も非常にゆっくりだから仕方ない。
世界的に見ても超ドマイナーなので貢献者も少ない。


とにかく今回はこの「各駅待機状況表示」を改造できるかどうか分からないけど
(Ex15の作業と並行して)進めてみようと思う。 つづく


追記
このUIテストしてたら文字が重なって表示される場合がある等、現状でも色々問題があることが判明(´・ω・`)
ほんとバグ報告してくれる人ってレアよね...(´・ω・`)

路線の「各駅待機状況表示」の改良について考える #その4

 フォーラムに新たに報告されたバグに対応したり 色々平行作業したり躓いたりあったけど、とりあえず進捗状況(´・ω・`) 本当はExtendedに提出しないでおこうと思っていた機能を、ある程度は提出することにした。 理由は (1) Extended バージョン15.0のために、UI...