この記事では、Simutrans-ExtendedをUbuntu16.04LTS上でビルドして、プレイできる状態にする方法を説明します。他のlinuxディストリビューションでも同様な方法でビルドできると思います。
Simutrans-Extendedとは、Simutransというフリーの輸送シミュレーションゲームの拡張版です。最近はフリーとは思えないほど機能が増えてきており、ダイヤの作成機能、リアルな鉄道信号の挙動、客の収入レベルに応じた旅客流動など、商用ソフトに引けをとらないクオリティに仕上がっています。最近では自動車の追越車線を実装するパッチ(OTRP)や列車の増解結といった非常にチャレンジングな機能を開発する動きもあります。
なお、Simutransの詳細は http://japanese.simutrans.com/ にあります。気に入ったらSimutrans-Standardもやってみてね!
準備
SimutransをLinuxで
なお、gcc(g++)やmakeを含むbuild-essentialパッケージはすでに入っているとして話を進めていきます。なければ
$ sudo apt install build-essential
で入れてください。
ソースコードのDL
ソースコードはjamespettsさんのgithubから入手できます。
https://github.com/jamespetts/simutrans-extended
ターミナル上で入れたいディレクトリ(ここでは~/simutrans/とします。他のディレクトリに入れる場合は適宜読み替えてください。)に移動したあと、
$ git clone https://github.com/jamespetts/simutrans-extended
と入力すればDLできます。同じディレクトリにpak128.Britain-Exを
$ git clone https://github.com/jamespetts/simutrans-pak128.britain
でインストールしておくとあとで便利。
ビルド準備
ビルドのための準備をします。
~/simutrans/simutrans-extended/ディレクトリに入って、
cp config.template config.default
でconfig.templateをコピーします。
config.defaultをemacsやvimなどのテキストエディタで編集し、
#BACKEND = sdl2 #COLOUR_DEPTH = 16 #OSTYPE = linux
の3行の先頭の#を削除します。
Let's Build!
simutrans-extended本体のビルド
あとはおもむろに$ make
しましょう。ビルドが遅い? だったら$ make -j
でもすればいいんじゃないかな!
さて、大量の警告の後、ビルドは停止すると思います。SDL.hがないとかbzip.hがないとか言われるので、libbz2-devやlibsdl2-devを入れましょう。
入れたらmakeを再実行します。最後、LDまで終わって
===> LD build/default/simutrans-extended
と言われればビルド成功です!
makeobj-extendedのビルド
次にmakeobj-extendedのビルドを行います。~/simutrans/simutrans-extended/makeobj/
に移動し、ここで$ make
します。多分ここでもpng.hがないとか言われると思うので、libpng16-devをインストールしましょう。もう一度$ make
して、
===> LD ../build/default/makeobj-extended/makeobj-extended
と言われればビルド成功です。
ディレクトリのコピー
~/simutrans/simutrans-extended/simutrans/ディレクトリには、simutransを動かすために必要なファイル(simuconf.tabとか、music/ディレクトリとかtext/ディレクトリとか)が一通りそろっています。ここでは、~/simutrans/simutrans/ディレクトリにコピーします。
それから、先ほどビルドして作った本体を~/simutrans/simutrans/ディレクトリにコピーして入れましょう。
~/simutrans/simutrans/config/simuconf.tabのsingleuser_install=0を=1に変更してあげるといいかも。
pak128.Britain-Exのビルド
また、makeobj-extendedは先ほどクローンしてきた~/simutrans/simutrans-pak128.britain/ディレクトリの中に入れてあげましょう。
ビルドしましょう。ここも~/simutrans/simutrans-pak128.britain/ディレクトリの中に入って$ make
します。時間が掛かるので$ make -j
してもいいです。
そうすると~/simutrans/simutrans-pak128.britain/pak128.Britain-Ex/ディレクトリができていると思います。このディレクトリを~/simutrans/simutrans/ディレクトリにコピーしてください。
さあ実行しよう
これで準備は整いました。
~/simutrans/simutrans/ディレクトリに移動して$ ./simutrans-extended
と打って起動すれば導入成功です。お疲れ様でした!