vrm4-comVignette用スクロール開発計画
有志が集まるか否かは別にして、とりあえずココを討議の場として使うことを思い立ちました。本案件に関心のある諸兄の積極的な参加に期待します。 by ghost
〜は面倒だ、や、もっと〜が欲しい、のような意見をください。
http://silver.ap.teacup.com/ghost/1271.html
- “技術的な背景”の節は、肥大化し過ぎたのでこちらに移しました。
ルール
- 本文(この部分)のメンテナンスは、原則としてボク(ghost)がやります。本文には、目下検討中のテーマと、その前提となる知識をまとめます。誤謬の訂正などは歓迎しますが、まとめはボクが背負い込んだ方が話が早いと思いますので、とりあえず任せてください。
- 検討中のテーマに関するご意見は、このページのコメント欄に書くか、各自のWeblogに書いてトラックバックしてください。
- 「〜な機能が欲しい」というご意見は、たとえそれがどんなに無茶なものであっても歓迎します。ただし、VRM4の仕様上、原理的に実装が不可能なものについては「それは無理です」とお返事することがあります。これは、VRM4がヘボなためであって、あなたのアイデアが悪いせいではない、ということを心得ておいてください。
vrm4cv用スクロールは誰が使うのか
以下は、現時点でghostがイメージしているもの、まだ確定したものではありません。何が起きるかはvrm4cvレイアウトのそれぞれの作者が決める
自動運転機能を有するvrm4cvレイアウトを作りたい人は、自分のレイアウトに配置したポイント、センサー、踏切、信号機などにスクロールを組み込みます。その状態でレイアウトファイルを公開します。自動運転機能を利用するか否かは遊び手が決める
vrm4cvレイアウトをいくつかダウンロードし、連結して遊ぶVRM4ユーザーは、以下のいずれかを選ぶことが出来ます。- 編成を配置し、走らせて遊ぶ。自動運転機能は発現しません。
- 編成を配置し、その編成に自分で“vrm4cv自動運転エンジン”を組み込みます。これで、それぞれのvrm4cvレイアウト作者が用意した自動運転機能を楽しむことが出来るようになります。
この考え方の問題点
- 複数のvrm4cvレイアウト作者が、スクロールを使い始めて、初めて意味が生まれる。誰か一人が1つだけスクロール組み込み済みvrm4cvレイアウトを公開したとしても、あまり意味がない。
- vrm4cvの現行規格上、センサーの配置が禁じられている場合がある。このルールは、部品の名前の唯一性が保障できないために定められたものと解しており、ここで議論しているスクロールは名前の唯一性を必要としないので、ルールを変更することは不可能ではないと思います。が、これが拡大解釈されて、不適切なセンサーの使い方をするつくり手が現れる可能性もまた否定できません。
- vrm4cvレイアウト作者自身が、自分が作りスクロールを組み込んだレイアウトの動作テストをおこなう方法が不明確。アイデアはあるけれども、とりあえず現時点では後日の検討課題として棚上げ。
vrm4cv用スクロールはどんな風に使うのか
vrm4cvレイアウトの作り手、遊び手から見て、スクロールをどのように使うことになるのかをまとめてみます。これも、現時点でghostがイメージしていることに過ぎず、あくまでも一例と読んでください。vrm4cvレイアウトを作る人からみた機能
レイアウトの作り手の立場から見た作業の流れと、それによって実現されることは以下の通りです。〜は面倒だ、や、もっと〜が欲しい、のような意見をください。
作る人がやること(最小構成)
仮に「VRM4ユーザーが、それをいくつかダウンロードして連結すれば、対応した編成を組むだけですぐに自動運転を楽しめる」ことを目標にするとした場合、vrm4cvのそれぞれの作者には、レイアウト作りに加えて以下のスクロールの組み込みをお願いすることになります。- レイアウト上のすべてのポイントに対し“vrm4cvポイントエンジン”を組み込む。
作る人がやること(最大構成)
vrm4cvの作者は、更に以下のスクロールをお好みに応じて組み込んでいきます。- ポイントの正位/反位がそれぞれどういう線路なのか遊び手に知らせた上で選択させたい場合
- “vrm4cvポイントエンジン”を組み込んだポイントのスクリプトエディタを開きます。
- コメントで「ここをこういう風に書き換えてね」と説明があるので、それに従って書き換えます。
- 駅全体を含むモジュールで、遊び手に駅自動停車・再発車を体験させたい場合
- 線路上の原則開始位置にセンサーを2つ並べて配置します。
- このセンサーに対し“vrm4cv駅停車センサー”を組み込みます。
- このとき、停車位置までの距離(Nゲージmm)と停車時間(秒)はモジュールの作者が決めて入力します。
- 閉じた踏切を作りたい場合
- “踏切閉じろ”をモジュール上のすべての踏切部品に組み込みます(“踏切閉じろ”は、組み込みの手間を減らすために、部品1つ用、2つ用、4つ用、8つ用がリリースされると思っください)。
- 灯火がランダムに切り替わる信号機を作りたい場合
- “青時々赤のち黄または青信号”を、灯火させたい信号部品に組み込みます。
- このとき、信号機のタイプ(灯火の数、または腕木式)や、灯火が変化していく間隔などを、必要に応じて数値で指定します。
- もっと他の何か面白いことがしたい場合
- とりあえずスクロールを作ってくれそうな暇人に「〜な機能をくれ」と言います。
- 1週間くらいで手に入るか、あるいは「それは無理だから勘弁してね」との泣き言が聞けます。
作る人から見たメリット
- レイアウト上の部品の名前の重複を気にする必要は一切ありません。
- 遊び手に、列車がポイントでふん詰まって止まってしまうことのないvrm4cvモジュールを提供できます。
- 踏切や信号機のアクションを簡単に追加できます。
vrm4cvレイアウトを遊ぶ人から見た機能
前節と同様に、レイアウトの遊び手(ここでは、vrm4cvレイアウトをダウンロードし、連結して編成を走行させる人の意)の立場からみた、自動運転を楽しむまでの作業の流れと実現機能を以下にまとめます。遊ぶ人がやること
スクロール組み込み済みのvrm4cvレイアウトをダウンロードした人は、以下の手順を踏むことで、vrm4cvレイアウト上を自動運転する編成を楽しむことが出来ます。- vrm4cvレイアウトを連結する。
- 編成を配置し編成エディタで組成する(あるいはポータブル編成を読み込む)。
- “vrm4cv自動運転エンジン”を編成に組み込む。
- 必要な場合、詳細Wizardを使って追加の設定をおこなう。
遊び方
- ビュワーを起動すると、スクロールを組み込んだ編成が勝手に走りまわっています。
- アクティブな編成がポイントに近づくと、ログウィンドウにメッセージが表示され、そのポイントを切り替えることが出来ます。
- 駅に着くと自動的に停車し、一定時間後に発車します。
- 前方に先行列車がいた場合、自動的に停車して距離が十分に空いたら再出発します。
- 自動停車はキー操作で有効/無効を切り替えることが出来ます。
- 他の編成を選ぶと、アクティブでなくなった編成は自動的に自動運転モードになります。
検討中の機能
以下の節立ては、それぞれ1つのスクロールに対応すると考えてください。それぞれの機能がどうあれば使いやすいか、面白いか、について意見をお願いします。もちろん、ここに名前の挙がっていないものについても要望を歓迎します。この場合、新たな節を建てるか、あるいは既存の節に統合していきます。編成用スクロール(仮称:vrm4cv自動運転エンジン)
vrm4cvを走行させる編成に組み込むことで、レイアウト側に用意された各種の自動運転用の仕掛けに呼応して、編成の速度制御とポイント操作機能を提供するスクロールです。実装したい機能
- 進行方向一定距離にポイントが見つかったら、そのポイントの位の切替機能がキーに設定される。ポイントを通過すると解除される。
- 駅停車センサー(後述)を踏むと、センサーから受け取った距離だけ走って停車し、一定時間後に出発する。
- 駅停車センサーに従って停車するか否かは、キー操作て切り替える(自動/手動運転モード)ことが出来る。編成が非アクティブになった(他の編成が選択された)場合、このモードは勝手に自動運転モードになる。
実装すべきか?な機能
- 進行方向のポイントを適当に切り換え、必要に応じて一瞬バックして強引に通過する機能。http://silver.ap.teacup.com/ghost/1266.htmlを参照。vrm4cvレイアウトを作る側が楽になる(何も考えずにポイントにスクロールを組み込むだけでよくなる)反面、強引な逆走は印象が悪い。
- 編成の列車種別の宣言とそれに応じたポイント切替。分岐区間を含むvrm4cvレイアウトを作った作者が「こっちは優等列車の線、こっちは普通列車の線」と指定してスクロールを組み込んでおく。編成側でもどちらかを指定することが出来、編成は一致する方向を自動的に選んで走行する。ただし、そこまでやる必要があるか、という疑問がある。
ポイント用スクロール(仮称:vrm4cvポイントエンジン)
vrm4cvレイアウト上のすべてのポイントに組み込むスクロールです。ただし、ダミー的な存在で、切り替える必要がまったくないポイントについては組み込む必要はありません。実装したい機能
- 編成がこのポイントを見つけたとき、どちらの位がどういう経路か(例:待避線か、追い越し線か)を編成を運転しているユーザーにログウィンドウで知らせる。
- 編成側のキー操作でポイントを切り替えたとき、ポイントがどの経路に向いているかを、編成を運転しているユーザーにログウィンドウで知らせる。
実装すべきか?な機能
- 編成の列車種別の宣言とそれに応じたポイント切替(前述)。
駅停車センサー用スクロール(仮称:vrm4cv駅停車センサー)
センサーを2つ並べて配置し、駅進入方向へ入って来た編成に停車位置までの距離と、停車時間を伝えるスクロール。閉塞運転
現在のVRM4の仕様上、信号機部品の名前がユニークであることが保障されないvrm4cvにおいては、信号を使った閉塞運転はできません。一方で、ポイントを閉塞区間の区切りとして考えると、閉塞運転は実は可能です。ただし、そこまでやるか、という疑問があります。閉じた踏切
現在のVRM4の仕様上、踏切部品の名前がユニークであることが保障されないvrm4cvにおいては、編成の通過に合わせて開閉動作をおこなう踏切を作ることは出来ません。が、一般的に鉄道模型の踏切は、模型列車が走行することを前提に閉じた状態で固定してあるものですから、これは簡単にに実現できるスクロールはあってもいいと思います。ランダムに動作する信号機
現在のVRM4の仕様上、信号機部品の名前がユニークであることが保障されないvrm4cvにおいては、編成の走行状態に合わせて灯火遷移する信号を作ることは出来ません。が、純粋にアクセサリとして、時々赤になり、そこから黄、青、と遷移する信号機を簡単に実現するスクロールはあってもいいと思います。関連リンク
- vrm4-comVignetteプロジェクトの総本山
- vrm4-comVignette用スクロール開発計画の発端となった話題
http://silver.ap.teacup.com/ghost/1271.html
- 本稿に対するzio氏による論考その1
2008年02月26日(火) 20:32:10 Modified by ID:XpF1418eUg