ホーム - 作成余話

5.作成余話

WebDIAの作成に関するコメントなどを適当につづっていきます。

2004.08.14 4ヶ月以上
要望をいただいたのがもう4ヶ月以上も前でしたか。
ようやく、列車・駅の一部を隠す機能をつけることができました。
仕様や、設定の書式、コーディングにいろいろと悩んだ末、現在の形になりましたが、もう少し拡張の余地はあるかなあと思っています。

最近、更新するたびに何か問題が残っていて激しく鬱なのですが、今回はないことを祈るばかりです。今回はいつもより多くのデータを使ってテストしたので、大丈夫だと信じたいのですが……。

今回修正した「当駅始発表示が機能しない駅がある」という問題は、最初にコーディングしたときに、列車データの読み込み部分を、見えないところでいい加減にしたまま放置したのが原因でした。それ以来手を付けてなかった部分を今回いじったので、最初は、コードを理解し直すところから始めないといけなかったという……。
しかし、今回手を加えたおかげで、今後の拡張が少し容易になったように思います。

2004.08.09 やっぱりあった類似CGI
WinDIAデータを活用するCGIというのは、それほど奇抜な案でもないので、実は、他にもきっとあるんじゃないかなあと思っていました。
それでもなかなか見なかったので、ちょっと不思議に感じていたのですが、今日、たまたま見つけました。
.dia4webというCGIです。すでに、2年前からあったのですね。
.dia4webは、現在の日時に合わせて駅ごとに列車データを表示するもので、WebDIAとはコンセプトは似ていますが、出力の方法が違っています。WebDIAと比べて、携帯対応という特長もあるので、目的によって使い分けることができるかもしれません。

WebDIA ver.2.11リリース。今回も、駅時刻表関係が中心です。白抜き文字を可能にしたことで、特急列車などを強調表示できるようになりました。

今回、バージョンアップ自体は小手先の修正で済み、比較的簡単だったんですけど、いつも、関連ドキュメントを書き替えたり、画像を入れ替えたりするのが、意外と面倒ですね……(汗

2004.07.28 駅時刻表の機能を強化していこう
たまに、クレジット部分のリンクをクリックして、WebDIAからリファラを飛ばしてくれる方がいて、連絡をいただかなくても、WebDIAを使って下さっていることがわかる場合があります。

ただ、URLの引数部分(?f=設定ファイル名…の部分)まではわからないので、そのURLからいろいろいじって、ホームページに飛んだりしてあたりをつけることになります。

そうしてみていると、いろいろな使い方をしてくださっているなあ、と刺激を受けることもたびたびあります。
よく、鉄道会社のサイトで、ある駅を選択すると、その駅の出発時刻表が表示されるというのがありますよね。それと同じような仕組みを、南西急行電鉄研究会さん、架空鉄道松村電鉄さんがWebDIAで構築しておられます。
いずれも、各駅の紹介のところから、駅の出発時刻表へリンクする形になっています。

見ていて、こういう場合は路線時刻表へのリンクは付けない方がいいんだろうなあ、と思いました。そこで、このような使い方を想定して、別ウィンドウに適した画面表示にする機能をつけてみました。

駅時刻表は、「WinDIAの時刻表画面をWebで再現する」という当初の目的から言えば、正直副産物のようなものでした。ルーチンを考えてみたらそれらしくできてしまったので入れてみたという感じで、ただ列車が出発時刻順にソートされ、種別と行き先が出るだけ。駅時刻表本来の姿からはほど遠かったと思います。

そこで、しばらくは駅時刻表機能の強化に力をいれようと思っています。
今回、「当駅始発」機能をつけてみました。行先表示のルーチンを応用すれば簡単に作れるのですが、絶対に欠かせない行先表示よりは必要性が低く、これまで手を付けていなかった部分です。行き止まり駅では全列車が当駅始発になりますから、それに対応するための設定項目を付加しています。

次にやってみたいのは、特定の駅までどの列車が先着するかという表示です。
「■……高砂には後の特急が先着」のような。
ただ、これは各駅ごと(といっても優等停車駅に限られますが)、上下線ごとに設定が必要だし、優等列車の種別が多い場合にはいろんなパターンが必要になることも考えられるので、設定が相当めんどくさくなると思います。
本当はこれ以上ファイルを増やしたくはないのですが、先着設定ファイルという新ファイルを作って、そこでざくざく設定してもらう形にしないといけないかもしれません。

2004.07.25 WinDIA→WebDIA→Excel!?
南西急行電鉄研究会」さんでこんな一文を発見してびっくり。

 なお、WedDIAの出現で、WINDIAデータの時刻表を表示しそれをEXCELにコピペすることでWINDIAデータを比較的簡単にEXCELデータに変換できるようになりました。これを活用すれば、全列車の時刻表をあたかも本のように造ることもできると思います。

私はExcelを使っていないので思いもよらなかったのですが、まさかそんなことができるとは……!
作者が予想だにしなかったことが出てくるのは、決してバグだけじゃなかったんだなあ、とびっくりしてます。

変換ということでいえば、スジを引く段階で、秒単位で計算ができるExcelを使う人も多いでしょうね。
Excel→WinDIAのコンバータがあれば便利かなあと思うこの頃。
もっとも、私は作る気は(少なくとも今のところ)ないですけどね(笑)

2004.07.14 4ヶ月ぶり更新
いつの間にか、4ヶ月近くたってしまいました。
ようやく、下に書いたデザインファイルの追加を核とするバージョン2.00をリリースしました。
あとは、時刻表ブラウズの利便性を向上させるための改善をいくつか行っています。
要望のある、列車・駅の一部を隠す機能についても考慮中なのですが、読み込み自体を行わないのか、読み込みを行って表示だけしないようにした方がいいのか、少し決めかねているところです。もう少しお待ちくださいm(_ _)m

2004.04.21 デザインファイル
DQ5はまだ終わりませんが、前から気になっていたことがあったので、片づけてしまおうと思っています。

いろいろと機能を追加してきたのはいいのですが、それにつれて設定ファイルが大きくなってきているのが気になっているのです。
そこで、これから先、まだまだ機能追加の予定があるのですが、その前に設定ファイルを2つにわけることにしました。

設定ファイルは、WinDIAデータに対する設定を記述することにします。
文字色、背景など、ページデザインに関する部分は、「デザインファイル」として独立させ、別途読み込むことにします。

この方法には別のメリットがあって、1つのデザインファイルを、複数の設定ファイルで使いまわすことができるのです。
ただし、デザイン部分を設定ファイルに記述しても大丈夫なようにし、これまでとの互換性は維持するつもりです。

スタイルシートの設定が、HTML中に書き込めたり、別ファイルとして読み込めたりするのと同じだと考えていただければわかりやすいかもしれません。

2004.04.21 「WebDIA」をgoogle検索すると…
予想される検索キーワード: Webda

とか出るんです。
つまり、「その綴り間違ってるんじゃないの?」と言われるわけです。

_| ̄|○

もっとたくさんの人が使ってくれたら、出なくなるかなあ……。
そのためには、使ってもらえるように、もっと進化させないとだめですかね。やっぱり。

2004.04.06 値の固有性
あいかわらずDQ5です。

下で誉めたものの、いろいろとボロがあるようで、特に、イベント発生のタイミングや、やはり会話システムの不備などが目立つようです。

その中で、こんなのがありました。
主人公は馬車に乗って移動するのですが、他のキャラクターや仲間になるモンスターを含め定員は8人。それ以上は、モンスターの場合「モンスターじいさん」のところに送ることになります。
で、仲間モンスターにもそれぞれ名前があって、スライムなら「スラりん」、スライムナイトなら「ピエール」という具合なのですが、もし、主人公の名前と同じ名前のモンスターがいた場合、「モンスターじいさん」のところへ送るモンスターを選ぶところで、そのモンスターを選ぶと、なんと主人公がいなくなってしまうらしいのです。
これは、名前という値が必ずしも各キャラクター固有のものではないために、主人公とモンスターをごっちゃにしてしまったためのバグだと思うのですが。

実はこれ、WebDIAでも枝線表示の時に同じミスをやりかけたんです。
最初、枝線設定は駅名で指定するようにするつもりでした。
例えば、「安中榛名-長野/#FFDDFF」という風に指定できると見やすいですしね。
でも途中で、WinDIAの駅名入力は駅名の重複をチェックしていないことに気付きました。
忸怩たるものがなくはないのですが、泣く泣く番号指定に切り替え。
「番号をいちいち調べるのが面倒」とか言われそうですが、何とぞご容赦ください。

2004.03.30 デバッグ
リメイク版DQ5。面白いですねえ。
7から加わった会話システムが、もっとも活きているのがこの5だと思う。このゲームでは、主人公がいろんな人と出会っては別れ、孤独に旅をする(ただし仲間モンスターはいる)場面が多いのですが、会話システムが充実しているだけに、仲間を失ったときは本当に淋しくなるんです。そしてそれが、このゲームの折り返し点にあたる一大イベントの意味をより大きなものにしているんじゃないかと思います。

閑話休題。

WebDIAを公開するとき、大きなバグはないだろうと結構自信があったんです。
ところが、すぐにいろんな問題が出てきて、対応に追われるハメに。
自分のは単なるテスト不足なのですが、それでも、よくいわれる「デバッグの苦労」を、わずかながらも味わったような気がします。

上で書いたDQ5の会話システムですが、これまでと比べても格段に台詞の種類が多いと感じます。ストーリーから脇道にそれても、それにあわせた台詞を喋ってくれますし。
仲間の台詞が場違いなものにならないように、いろんな条件分岐を追って、テストを重ねたんだろうなあと推測。
大変だっただろうなあ。

2004.03.25 数字の意味
このCGIを作る時に苦労したことの1つは、時刻表の数字の解釈でした。
一般の駅の時刻は、通常は発車時刻を意味しますが、その駅が終着の場合は到着時刻の意味になる。
では、次駅のデータがなければ、その数字を到着時刻とし、発車時刻はなしでいいかというと、その駅から他線に分岐する場合には、発車時刻もなくてはいけない。
……これは一例ですが、そんなことがいろいろあって、思ったように時刻表を表示するという段階でいろいろと試行錯誤しています。

自分で時刻表を読むときには、その数字の意味を周囲の状況から見てすぐに判断できるのですが、プログラムで同じことをやろうとすると意外と面倒ですね。

そのうち、WebDIAが各場面でどういう処理をしているか、について書いたテキストを、例えば「テクニカル・ノート」という感じで、ファイル一式に付け加えようと思っています。
不審な動作をしたときに確認しやすいかも知れないですから。

今日はリメイク版ドラクエ5の発売日。
WebDIAの更新もいろいろアイディアがあるのですが、しばらく更新は止まるものと思われます。

2004.03.22 作成の経緯
Ver.1.10まで作成。
枝線表示が思ったより簡単に実装できたのが収穫でした。

WebDIAは、主に、自分で鉄道路線を思い描き、架空の鉄道を作る、一般に「架空鉄道」と呼ばれている方面での利用を念頭に作成しました。
架空鉄道サイトでは、詳細なダイヤを作成しているサイトも少なくありませんが、時刻表をWebで公開する際、これまではパッとした方法がありませんでした。
大きくわけて3つの方法があったのですが、

こうした問題点を解決する方法として考えたのが、WinDIAのデータを読み込んでCGIで表示するという方法でした。幸い、WinDIAデータはテキストデータですので、非常に扱いやすいといえます。
ただし、HTMLの仕様の限界もあって、一般的な時刻表の書式を再現しきれないのが少し残念なところです。

現在のところ、私が参加している「関西電鉄」をはじめ、「本庄鉄道」(「埼玉の架空鉄道」内)、「栃木急行電鉄」、「南西急行電鉄研究会」の各サイトで採用していただいています(他に、公開はしていないけれどテスト設置しているサイトがいくつかあります)。特に南西急行電鉄のPanzerfalconさんには、更新のたびに試してくださり、本当に感謝しています。

とりあえずある程度の形にはなったので、更新はしばらくお休みかなあ…。
これからは、「WinDIAデータをブラウザで再現する」という当初のコンセプトを超えて、例えば記事欄に特定の文字列を埋め込むことで、その列車について特殊な扱いをするとか(例えば分割併合の表現など)、そういった形になっていくのかもしれません。

ホームへもどる