2018/01/04

鉄道運転シミュレータopenBVEの開発のその後とLinuxでの導入

ここでは鉄道運転シミュレータopenBVEの開発の歴史とその後の開発についてと、GNU/Linux上での導入についてを扱う。

  1. openBVEの開発の簡単な歴史
    1. Michelle氏らによる開発 (2012年5月まで)
    2. odakyufan氏による開発 (2014年8月まで)
  2. 新しい公式版の登場
  3. データパッケージの管理
  4. 問題点
  5. GNU/Linuxでの導入
    1. バイナリを使用する場合
    2. ソースからビルドする場合
  6. Windows用の車両プラグインを使用するためにWineで実行する

openBVEの開発の簡単な歴史

Michelle氏らによる開発 (2012年5月まで)

鉄道運転シミュレータのopenBVEは、かつて “trainsimframework.org” というサイトでMichelle氏を中心として数名で(2012年のバージョン1.4.1.2まで)開発されていたが、その後同氏により突然開発の中止が発表(2012/5/8)され、少し後にサイトが閉鎖された。

odakyufan氏による開発 (2014年8月まで)

開発中止の発表後間もない時期に、開発メンバの一人だったodakyufan氏が “odakyufan.zxq.net” 内に新しい公式サイトを開設して幾つかのバージョン(2013年のバージョン1.4.3までの本体の更新と、2014年8月の関連ツールの更新まで)を公開していた。しかし、そのサイトもその後予告なしに閉鎖された。

新しい公式版の登場

その後は幾つかの派生版が出回ることになったが、最終的にGitHub上で派生版を開発しているリポジトリの一つで開発が活発かつ継続的に行われるようになった。

開発者はleezer3氏で、リポジトリでは既にodakyufan氏の最終バージョンから色々な改善(例:使用ライブラリを開発の停滞しているTao FrameworkからOpenTKに移植)が行われており、今後についてもロードマップが公開されていて、初期の開発陣によって予定されていた “OpenGLによるメニューシステムを実装してWindows FormsによるGUIを置き換える” ことも将来行われる予定。BVE 5との部分的な互換性など、独自の試みもある。ライセンスについては従来と同様パブリックドメインであることが書かれている。

データ読み込みのウィンドウは既に廃止され、シミュレータの画面に切り替わった最初のところで読み込みの進捗が表示されるようになっている。

新しい読み込み画面

同氏は新しい公式サイトを開設しており、ビルド済みのプログラムはこちらから入手できる。

データパッケージの管理

過去のバージョンにおいて、登録済みの路線や車両のデータを簡単に自動ダウンロードしてインストールする “managed content” と呼ばれる仕組みがあったが、これに代わるものとして、データを専用の形式の “パッケージ” という単位で管理できるようになった。

これはGNU/Linuxのパッケージと同様

  • メタデータ
  • パッケージ内容を圧縮した書庫

をまとめて単一のファイルにしたものだが、管理はopenBVE内でのみ行える。

パッケージは本体の “パッケージの管理” ボタンで管理でき、この形式のパッケージとして配布されていないローカルディスク内のデータを自分でパッケージ化することもできる。

問題点

  • OpenTKへの移植と同フレームワークにおける機能実装状況により、ゲームパッドが正しく動作しない。将来のバージョンのOpenTKで改善されることで解決される見通しだが、その時期は不明。
  • 以前からある問題だが、複数のCPUコアを活用するようなプログラムにはなっておらず、CPUコアの1つのみに負荷がかかって十分に性能が発揮できていない(動作速度がCPUのシングルスレッド性能に依存する)状況で、解決も簡単ではない(動作が遅いと感じる場合は可視距離(描画される範囲の距離)や解像度,補間などの設定を変更する)。
    • グラフィックドライバ側でOpenGL命令の別スレッド実行を行える場合は高速化の可能性があるが未確認。
  • 日本語環境上でも初回実行時に言語の初期設定が中国語の繁体字になることがあり、 “選項” から言語を “日本語” にする必要がある(一旦設定すればその後は問題ない)

GNU/Linuxでの導入

バイナリを使用する場合

公式サイトにビルド済みの実行ファイルがあり、ダウンロードページから “Windows and Linux (Archive)” でZIP書庫をダウンロードするのが楽(これとは別にWindowsではインストーラ, Macでは.dmg形式のファイルも提供されるが、ここでは扱わない)。

GNU/Linuxでは、書庫を展開した後でOpenBve.exeMonoで実行する。GTK+ 2のテーマによっては配色の関係で字が読みづらいので必要に応じて環境変数GTK2_RC_FILESを実行時に指定する。

(Monoで実行)
$ mono /path/to/OpenBve.exe

(GTK+ 2のテーマを強制指定して配色を変更)
$ GTK2_RC_FILES=/usr/share/themes/[使用したいテーマ]/gtk-2.0/gtkrc mono /path/to/OpenBve.exe

ビルド済みの実行ファイルを用いる場合、Debian/Ubuntuでは

  • mono-runtime
  • libmono-corlib4.5-cil
  • libmono-system-drawing4.0-cil
  • libmono-system-windows-forms4.0-cil
  • libmono-system4.0-cil
  • libmono-i18n4.0-all
  • libopenal1

が必要で、実際にはこれらに加えてOpenGLが正しくGPUを使用して動作する必要がある。

自分でソースからビルドすることもできるが、追加で

  • make
  • mono-devel

が必要となる。OpenTKはソースにもバイナリにも付属しているため、別途用意する必要はない。

ソースからビルドする場合

リリース版のソースは前述したGitHubのリポジトリのリリース一覧ページにある。

下はビルドの作業例(“a.b.c.d” はバージョン番号を示す)。

(リリース版のソースを展開)
$ tar zxf OpenBve-a.b.c.d.tar.gz

(作業ディレクトリを移動)
$ cd OpenBve-a.b.c.d/

(ビルド)
[OpenBve-a.b.c.d]$ make openbve-release

ビルドに成功するとOpenBve.exeOpenBveApi.dllなどのファイル群(ソースに付属のビルド済みのOpenTKを含む)を含んだbin_releaseディレクトリができるので、これを必要に応じてコピーもしくは移動してOpenBve.exeMonoで実行する。

Windows用の車両プラグインを使用するためにWineで実行する

openBVEは過去のバージョンにおいてもWineでWine MonoをインストールしてOpenBve.exeを実行するだけで良好に動作していたが、バージョン1.5.3系の時点でも引き続き良好に動作している。Windows用の車両プラグインが使用したい場合は32bitのWineで動かすのがよい。文字化けする場合はWinetricksfakejapanese_ipamonaをインストールする。

(Wineで実行・Wine Monoのインストールを行う必要がある・WINEPREFIXは好みで実際の場所を指定)
$ WINEPREFIX=/path/to/wineprefix wine /path/to/OpenBve.exe
使用したバージョン:
  • openBVE 1.5.3.0
  • Mono 4.6.2.7
  • Wine 3.0-rc4