Extreme Tux Racerをソースからビルドして遊んでみた
Extreme Tux Racerとは
LinuxのマスコットキャラクターであるTuxペンギンくんを操作して雪山を滑り降り、スコアやタイムを競う3Dゲームです。
オープンソースとして公開されているので、誰でもソースコードを改変したり配布したりできます。
なぜソースからビルドするのか
- 自分でビルドしたゲームで遊びたい
- ソースコードから本格的なゲームが生成される過程を実際に体験したい。
- ゲームを改造して遊べるようになりたい。
必要なツールとライブラリをインストールする
ソースコードだけではゲームをビルドすることはできません。依存しているライブラリやフレームワーク、ソースコードをビルドするために必要なツール群をインストールする必要があります。
ライブラリ
グラフィック関連のライブラリをインストールします。
sudo apt install libgl-dev libglfw3-dev libglew-dev libsfml-dev
- libgl-dev
OpenGLを用いた開発に必要なファイル群を含むパッケージです。 - libglfw3-dev
マルチプラットフォームのOpenGLフレームワークであるGLFWを含むパッケージです。 - libglew-dev
OpenGLの拡張機能を提供するライブラリのGLEWを含むパッケージです。 - libsfml-dev
マルチメディアアプリケーション向けの機能を提供するライブラリのSFMLを含むパッケージです。
ツール
C, C++をビルドするためのツールチェーンをインストールします。
sudo apt install build-essential
Makefileを生成するためのautotools, autoconfをインストールします。
sudo apt install autotools-dev autoconf
バージョン管理システムをインストールします。
sudo apt install git svn git-svn
- svn
集中型のバージョン管理システムであるSubversionを含むパッケージです。 - git
分散型のバージョン管理システムであるGitを含むパッケージです。 - git-svn
SubversionリポジトリをGitリポジトリに変換するためのGitの拡張機能を含むパッケージです。
ソースコードを取得する
ExtremeTuxRacerはsourceforge.netでSubversionでリポジトリとして配布されていますが、今後自分でゲームを改造したりGithubにアップできるようにしたいのでgit-svnを用いてGitリポジトリに変換してしまいます。
git svn clone -s https://svn.code.sf.net/p/extremetuxracer/code extremetuxracer-code
ビルド&インストール!
aclocal.m4を生成します。
aclocal
config.h.inを生成します。
autoheader
configureスクリプトを生成します。
autoconf
Makefile.inを生成します。
automake -a -c
Makefileを生成します。
./configure
ビルド&インストール!
make && make install
メニュー画面にExtreme Tux Racerのアイコンが追加されました。

Let's Play!
Practiceモードでタイムアタックに挑戦しました。

Canadian Cupの3つのコースの私のベストタイムです。
| Course | Time |
|---|---|
| Bunny Hill | 27.8 |
| Twisty Slope | 29.7 |
| Bumpy Ride | 27.9 |
フルスクリーンモードにバグがあるようで、スタート画面やステージ選択画面、設定画面では画面右側3分の1の領域にカーソルを移動できなくなり、レース画面では画面全体が右側に寄ってしまうことがあります。今回はフルスクリーンモードをオフにして遊びました。
まとめ
Extreme Tux Racerをソースコードからビルドして遊んでみました。ビルドに必要なツールとして、グラフィック関連ライブラリ(libgl-dev, libglfw3-dev, libglew-dev, libsfml-dev)と、C/C++ビルドツールチェーン(build-essential)、Makefile生成ツール(autotools-dev, autoconf)、バージョン管理システム(git, svn, git-svn)をインストールしました。ソースコードは、git-svnを使ってSubversionリポジトリからGitリポジトリに変換して取得。その後、aclocal、autoheader、autoconf、automake -a -c、./configureの順でコマンドを実行し、make && make installでビルドとインストールを完了させました。最終的に、フルスクリーンモードのバグはあったものの、Extreme Tux Racerをビルドして遊ぶことに成功しました。
Discussion