2013年3月23日土曜日

SharpDevelop用BVEルートファイル作成支援アドインベータ版公開のお知らせ

どうも、こんにちは。はざまです。3回連続でBVEネタです。
表題どおり、前回のポストで発表したSharpDevelop用BVE5ルート作成支援ツールのβ版を公開いたしました。ダウンロードに関してはα版と全く同じなので、前回のポストを参照してください。
α版に比べて、一部不完全だったコードコンプリーション機能の拡充を行い、
Track[a]
のような形の式に対しても、補完候補を提示するようになりました。このとき角括弧の中にカーソルがある場合には、角括弧の前にある型名に合わせてユーザー定義文字列も含めた適切な候補を提示するようになっています。
つまり、
"Sound["と入力する→ルートファイルのヘッダー部分に記述したSound.Loadコマンドからサウンド定義ファイルのパスを取得→その中身を解析して補完候補として提示する
というような感じです。その他にもコマンド名を入力後、開きカッコをタイプすることでそのコマンドに関するドキュメンテーションをツールチップで表示するようになりました。(なお、ドキュメンテーション内に記載されているコマンド引数の型名は当方で勝手に設定したものなので、ツールチップ通りの型を入力したのにBVE5にかけたら弾かれたというような場合にはご一報いただければ幸いです)
 まだ、正式版ではないので、バグや機能の不備など多々問題点があるとは思います(ただのルートファイル作成者の方にとってみれば、SharpDevelopでしか動かないという点が最大の不備かもしれません)が、ルートファイル作成者様方のお力添えとなれるよう、またBVE界の発展にも貢献できるよう今後とも尽力してまいりたいと思います。

(そろそろ、技術系ブログらしく技術ネタを一個くらい挟みたい・・・ )

2013年3月7日木曜日

SharpDevelop用BVE5ルート作成に役立つアドイン

どうもご無沙汰です。はざまです。(もはやこの挨拶が定型化してしまっているな…)
今回も、前回に引き続きBVEネタです。え~、率直にいってしまうとタイトル通りなんですが、それだけでは記事にする意味が無いので、まずダウンロードはこちらから。まだアルファリリースなので、githubからしかダウンロード出来ません。前回の記事同様に、上方左側にあるZIPボタンをクリックしてZIPファイルをダウンロードして下さい。その後のインストール方法については、解答してできたフォルダー内のreleaseフォルダーにあるreadme_ja.txtに詳述してあります。

ここからは、簡単にこのアドインの機能の説明と今後のBVE関連のプログラムに関する展望を記したいと思います。
まず、アドイン自体の機能についてですが、テキストエディターでのルートファイル作成の支援としてシンタックス・ハイライティング(簡単にいえばテキストの色付け機能)、コードコンプリーション(コマンド名を自動で提示・補完する機能)、その他ルートファイル作成時に役立つ機能として、距離程の一括シフトと簡単なカント計算機を実装してあります。
このうち、後者ふたつに関しては、BVE5メニューから呼び出すツールとして実装されています。
距離程の一括シフト機能は、選択された範囲またはルート全体の距離程を一斉に指定した数値だけシフトさせる機能です。この機能を使えば、いままではかなりめんどくさかったルートの原点方向への拡張も容易になるはずです。
一方、カント計算機はその名の通り、列車の通過速度、曲線半径および軌間から適切なカントの値を算出する計算機です。現在のところ、カント算出のアルゴリズムには物理的な観点から見て乗客が感じる遠心力が0となるような条件を元にカントを導出するというアルゴリズムを使用しています。現実にはこのような理想的な環境にはならないですし、各鉄道会社によって規定があるようなので必ずしも正しい値が算出されるとは限りません。あくまでも目安程度にお考えください。
この他にも実装予定の機能がありますが、現段階ではまだ実装されていません。正式版公開までに機能の拡充及び安定化を図る予定です。
最後に今後の展望についてですが、まずはSharpDevelopのアドインとして正式版公開を目指します。また、それとほぼ同時か1ヶ月位内程度にこのアドインの機能を使用したスタンドアローンなテキストエディターをリリースする予定です。というのも、SharpDevelopにはBVE5のルート制作に不必要な機能が沢山付いており、無駄に重くなってしまうため、またSharpDevelop自体の日本語化が公式でサポートされていないためです。個人的にはそれでも一向にかまわないのですが、やはりルート制作者様の役に立ちたいことを考えると、日本語のネイティブサポートは必須事項だと考えています。(ちなみに、このアドイン自体の日本語用リソースは用意してあるので、何らかの方法でSharpDevelop自体の日本語化を実現出来ればこのアドインも日本語で使用できるようになるはずです)
さらに、そちらの独立版テキストエディターも安定化してきたら、GUIによるCADソフトライクなインターフェイスでのルート作成機能などをも実装してBVE5のルート製作用統合開発環境にまで発展させたいという野望もありますが、果たして実現できるのやら・・・