個人的には「スクロール」だとか「マジック」だとか言うネーミングはちょっとどーよ、といまだに思っていたりしますが、まぁ、それは非本質的なのでさておき。
スクロールを作り出したら面白くて止まらなくなり、際限なく増殖してしまいました。
私本来のスタンスとしては、皆さんに自分でスクリプトを書く面白さ(スクロールを作れ、とまでは流石に言いません、これは素人さんにはちょっと無理ですし、ノウハウを説明するつもりもありません)を体験いただきたいと思うのですが、やはり、まずはスクリプトで何が成し得るのかを実体験しないことには、そのモチベーションも涌いてこないでしょう。
そこで、VRM4EGには主に運転の自動化をおこなうものを中心に27本のスクリプトウィザード用スクロールを収録しました。以下の通りです。
●編成用スクロール
- 自動運転編成ベースキット
- 運転台視点ポイント切替スイッチ
- 自動ポイント用編成識別番号
- 自動運転編成駅停車
- 自動運転編成信号換呼
●線路用スクロール
- 運転台視点ポイント切替センサー(ポイント1つ/2つ用)
- 自動ポイント切替センサー(ポイント1つ/2つ用)
- 強制ポイント切替センサー(ポイント1つ/2つ用)
- 速度制限区間
- 警笛ならせ
- 駅場内センサー
●信号用スクロール
- 時限式自動信号機
- 時限式自動信号機(信号機無)
- 信号換呼地点
●踏切用スクロール
- 自動踏切
- 自動踏切・追加センサー
●カメラ(目線誘導)用スクロール
- 目線誘導技術「カメラ列車」編成ベースキット
- 目線誘導技術「カメラ列車」始動センサー
- 目線誘導技術「カメラ列車」終了センサー
- 目線誘導技術「自動ズームカメラ」
- 目線誘導技術「自動ズームカメラ始動センサー」
- 目線誘導技術「自動ズームカメラ終了センサー」
●その他(特殊用途)のスクロール
- 起動時編成アクティブ化イベント駆動
- センサーデバッガ
どうですか、ワクワクしてきませんか。
中でも我ながら傑作だと思っているのが「時限式自動信号機」「信号換呼地点」「自動運転編成信号換呼」のコンビネーション技です。
これらを使うことにより、センサー2つ(信号位置と換呼位置)だけで全種の信号機を自動制御すると共に、編成に信号灯火に応じた自動速度変更をさせることが可能になります。しかも、第2号をお持ちでない方のために、センサーのみで(信号機なしで)まったく同じことを実現するスクロールも収録されています。
あと、これは2号に完全に特化していますが、自動踏切。これがまた、自分で言うのも何ですが、スクロールでここまでやるか?と言うほど高機能です。ご期待くださいまし。と書いて、これでバグってたら格好悪いな。
さて。
「これって、使うの難しいんじゃないの?」とあなたは思ったかも知れませんが、これまたオンラインドキュメントではありますが「リファレンス」と「マニュアル」が付属します。リファレンスは、個々のスクロールの詳細な使い方をまとめたものです。これに対しマニュアルは「〜をするには・・・する」という流れで書かれています。それから、
テンプレートとの絡みで、それぞれ自動化を組み込んだサンプルレイアウトも0〜2号単独パッケージで動作するものが計4つ収録されています。
ちょっと余談。
何かの使い方を説明する切り口は、一般的に「リファレンス」と「マニュアル」に分類されます。リファレンスは、要素の1つ1つについて、それが何であるかを説明するもの。詳しいけど、全体として何が出来るのかがわかりにくい。マニュアルは、それらを使ってある目的を実現するためにどうすればいいか手順が示されるもの。わかりやすいけど応用が効かない。
VRMのヘルプは歴史的に、リファレンス偏重なところがあります。つまり、個々の機能の詳しい説明はあるけれども、それらを組み合わせて何が出来るかがわかりにくい。でもこれは、I.MAGiCの中の人がサボっているからではなく、VRMは各バージョンを通して常に進化し続けるタイプの製品であり、ある特定の時点で詳細なマニュアルを作ってもアッと言う間に意味を失う可能性が高く非合理的であるからに過ぎません。
そういう意味で、
先日紹介した「スクリプトの教科書」もそう遠くない未来に無意味化する可能性はあります。それでも、短く見積もっても向こう半年間は確実に役に立つことでしょう。それだけの期間があれば、VRMスクリプトについてある程度習熟し、今後の機能拡張についても個々人が自身の力で吸収できるようになると思っています。
以下さらに余談。
察しの良い方は「おや?」と思っておられるかも知れませんが、これらVRM4EGに収録されるスクロールのほとんどが、単体では意味をなさず、2つ以上のスクロールを組み合わせて効果を発揮するように設計されています。
ほかのscrollや既存のスクリプトを参照することを前提としたスクリプトは記述を避けてください。
製品ヘルプ/スクリプトマニュアルより
このような手法は、上引用のマニュアルに記載された「避けてください」を無視したものです。そもそも、マニュアルがこれを忌避しているのは、VRM4スクリプトでは、レイアウトの中でグローバルな名前空間を管理する方法がユーザーに一任されているためと思われます。
とは言え、私の拙い能力では、これ以外の方法でこれほど多機能かつ汎用性の高いスクロールを書くことが出来なかったので、敢えてマニュアルの警告を無視しています。実は
以前に書いたこれは、この問題に対するささやかな回避策なんですね。
それから。
これは出版後、の話になりますが、VRM4EG収録のスクロールにさらに機能追加するアドオンを、後日ネットで公開するべく開発が進行中です。たとえば、前述した信号灯火と編成速度の連動は、擬似閉塞であり、本物の閉塞になっていません。また、駅での追い越し機能は今回収録を見送りました。
これは、技術的には既に解決しているのですが、使い方、有り体に言えばセンサーの置き方やパラメータ指定が収録したスクロールに比較してシビアなので、読者の皆さんの混乱を避けるために収録を見送ったものです。
VRM4EGをご購入いただき、これらのスクロールをご利用いただいて、その感想やご不満点などをメールやコメントでフィードバックしていただけるとありがたいです。で、それによって、どの追加アドオンを優先的にリリースするかを決めます。
逆に、VRM4EGをご購入いただかないと、将来リリースさせるアドオンの大半は利用できません(もちろん、自力で互換スクリプトを書く人は好きにしていただいて結構です)。そういうワケですので・・・VRM4EG、買ってください(はーと)。