openBVEの概要とインストール(2009/1/13現在)
ここでは、自由なソフトウェアでクロスプラットフォームの鉄道運転シミュレータopenBVE(http://openbve.trainsimcentral.co.uk/)の概要とインストールについてを扱う。
インストール後の実行やデータなどについては別記事で扱う。
(2009/4/13)サイト移転に伴いURLを変更
概要
日本人作者mackoy氏によりWindows向けに作られたBVE Trainsimという鉄道運転シミュレータが存在し、リアリティの高さや路線/車両データを自作できることなどから国内だけでなく海外でも広く受け入れられてきた。
このソフトウェアは無料で利用できるが自由なソフトウェアではなく、(2009年1月現在で最新の)バージョン4系でもWindows Vistaではそのままでは動作しないという問題があるものの、Vista対応のバージョン5が出るまではこのままの状況が続く見通しになっている。
そんな中、Michelle氏によってBVE Trainsimを置き換えることを目指してopenBVEの開発が始まった。本家BVE Trainsimにおいてバージョン2系とバージョン4系とで互換性がない*1ことも動機付けの1つになっていて、両方に対して互換であることも目指している。
openBVEは、本家BVE TrainsimがDirectXを使用しているのに対し、Mono/.NETのバインディング集Tao FrameworkからOpenGL/OpenAL/SDLを利用することでクロスプラットフォーム化を実現している。*2バージョン0.9系の時点では互換性は不完全だが、ここまで動くものができているというのは驚きで、更に、動くオブジェクトや自動運転などの独自機能も搭載している。
保安装置プラグインについて
本家BVE Trainsimのバージョン4で保安装置のプラグイン化がされ、自作することができるようになっているがこれはWin32のDLL(OS依存)で、openBVEでも同様にWindows以外のOSにおいては利用不可能となる。今後このあたりも利用可能となるような動きが出てくるかもしれない。
必要なパッケージについて
Windows Formsサポート
まず、openBVEでは、GUIツールキットにWindows Forms*3を利用しているため、Mono上でこれをサポートするためのパッケージが必要。
ディストリ | パッケージ名 |
---|---|
Mandriva | mono-winforms |
Debian/Ubuntu | libmono-winforms2.0-cil |
Monoの追加ロケールサポート
次に、Monoの追加ロケールも必要。
ディストリ | パッケージ名 |
---|---|
Mandriva | mono-locale-extras |
Debian/Ubuntu | libmono-i18n2.0-cil |
Tao Framework
最後に、肝心のシミュレータ部分の動作にTao Frameworkが必要となる。これについては「Tao FrameworkについてとMandriva Linux向けRPMパッケージの作成」で扱ったが、openBVEからはOpenGL/OpanAL/SDLの3つのバインディングパッケージを使用する。
ビルドとインストールについて
バージョン0.9.3系の時点では、ファイル名の扱いに関するOS依存な部分の処理の関係で条件シンボル「LINUX」を定義してGNU/Linux向けにビルドを行う必要がある。*4こうして作成された.exeファイル(アセンブリ)は他のOSでは正しく動作しなくなるが、GNU/Linux上であればディストリやアーキテクチャを問わず動作する。
(2009/1/20)バージョン0.9.3.7の時点ではその条件シンボルはなくなり、生成されたアセンブリはOSに依存しなくなっている(-define LINUXオプションは不要になった)。
下はバージョン0.9.3.3でのビルド作業例。
$ unzip [openbve_source.zipの場所] $ cd openBVE/OpenBve/ $ gmcs -define:LINUX -lib:/usr/lib/mono/tao-opengl,/usr/lib/mono/tao-openal,/usr/lib/mono/tao-sdl -reference:Tao.OpenGl,Tao.OpenAl,Tao.Sdl,System,System.Windows.Forms,System.Drawing -out:OpenBve.exe {,Properties/}*.cs
(2009/1/20)バージョン0.9.3.7では下のようになる。
$ unzip [openbve_source.zipの場所] $ cd OpenBve/ $ gmcs -lib:/usr/lib/mono/tao-opengl,/usr/lib/mono/tao-openal,/usr/lib/mono/tao-sdl -reference:Tao.OpenGl,Tao.OpenAl,Tao.Sdl,System,System.Windows.Forms,System.Drawing -out:OpenBve.exe {,Properties/}*.cs
(2009/3/24)バージョン1.0.0.0の時点では下のようになる。
$ unzip [openbve_stable_source.zipの場所] $ gmcs -out:OpenBve.exe -lib:/usr/lib/mono/tao-opengl,/usr/lib/mono/tao-openal,/usr/lib/mono/tao-sdl -reference:Tao.OpenGl,Tao.OpenAl,Tao.Sdl,System,System.Windows.Forms,System.Drawing openBVE/OpenBve/{,Properties/,Parsers/}*.cs
C#コンパイラgmcsの-lib:オプションの引数に指定するTao Frameworkのファイルの場所は、ディストリによって異なる場合がある(Debianのパッケージでは/usr/lib/monoの代わりに/usr/lib/cli/tao-[名前]-[バージョン])。
これでOpenBve.exeが得られるが、別途必要なファイルがあり、これだけでは動作しない。
関連記事:
- Tao FrameworkについてとMandriva Linux向けRPMパッケージの作成
- openBVEの実行方法とMandriva Linux向けRPMパッケージ(2009/1/14現在)
- GNU/Linux上のopenBVEのサウンド出力と路線/車両データについて
- openBVEの起動後の使い方とGNU/Linux上固有の不具合(2009/1/16現在)
- openBVEで音声が一部おかしくなる場合の対処
- openBVEのバージョン0.9.6.0を試すが...
- openBVEのその後(2009/7/27現在) - バージョン1.2系の新機能について
まとめドキュメント:
関連URL:
- http://openbve.trainsimcentral.co.uk/ - openBVE公式サイト
- http://openbve.jpn.org/ - 国内の同人サークル神乃木製作所による日本語の情報
- http://mackoy.cool.ne.jp/ - BVE Trainsim公式サイト
- http://www.mono-project.com/WinForms - Mono上のWindows Formsについて
使用したバージョン:
- openBVE 0.9.3.1, 0.9.3.3
- Tao Framework 2.1.0
- Mono 1.9.1