2010年2月28日日曜日

Macの名作 Marathon2 を Linux で遊ぶ

Marathon と言えば Mac の名作中の名作、FPSの金字塔、あの世代では類を見ないゲーム性、面白さだったと思います。 今になれば当然とも思えますが、 あの HALO の開発と同じ Bungie社 の製作だったのです。

以前から Marathon のソースコードが公開されているのは知っていたのですが、残念ながら Mac を持っていないので諦めていました。 ところが"Bungieがマイクロソフトに吸収された後、MarathonのソースコードがAlephOneとしてリリースされた。":Wikipedia とのことでクロスプラットフォームになっていたようです。 Windows はもちろん、Linux でも遊べるという事なので、さっそくゲーム環境を構築しようと思います。

Bungie社 のフォーラムに各プラットフォームで動かす流れが書かれています。 このやり方に則って作業を進めます。

開発環境を整えます。

# case of Debian (deb)
$ sudo aptitude install build-essential

# case of Fedora (yum)
$ sudo yum groupinstall "Development Tools"

これで gcc や make など基本的な開発環境が入りました。 SDL の開発環境も入れましょう。

# case of Debian (deb)
$ sudo aptitude install libsdl1.2-dev libsdl-net1.2-dev libsdl-image1.2-dev

# case of Fedora (yum)
$ sudo yum install SDL-devel SDL_net-devel SDL_image-devel

以下その他のパッケージ。

# case of Debian (deb)
$ sudo aptitude install libzzip-dev libboost-dev  libvorbis-dev

# case of Fedora (yum)
# ここは対応するパッケージ名が分からないので澄みませんが探してください

他にも libpng など必要なパッケージがあると思いますが、./configure でコケた場合随時入れてください。

marathon2 を動かすためのベースとなるライブラリ、 Aleph One を入れます。 Aleph One のソースコードは SourceForge から得られます。 ファイルを保存できたら展開します。

$ bzip2 -d AlephOne-20100218.tar.bz2
...
$ tar xfv AlephOne-20100218.tar
...

ディレクトリを潜ってビルドします。

$ cd AlephOne-20100218/
$ ./configure
...
$ make
...
# make install
...
※注意

"/usr/include/SDL/SDL_video.h:542: error: too few arguments to function ‘SDL_Surface* SDL_LoadBMP_RW(SDL_RWops*, int)’ ImageLoader_SDL.cpp:70: error: at this point in file" というエラーを吐いてくるかも知れません。
70行目がおかしいよ、と言ってくれているので ./Source_Files/RenderMain/ImageLoader_SDL.cpp の該当する部分を以下のように変更します。 引数を加えているだけです。

// 70行目
 SDL_Surface *s = SDL_LoadBMP_RW(of.GetRWops());
// ↓
 SDL_Surface *s = SDL_LoadBMP_RW(of.GetRWops(), 1);

ここ以外に構文エラーは出ないでしょう。 修正したあと再度 make の部分に戻ります。

make install まで終わったら、実際にバージョンを確認してみます。

$ alephone -v
Aleph One Aleph One Linux 2010-02-18 0.23.1
http://marathon.sourceforge.net/
...

このようにメッセージが表示されれば Aleph One の導入は終わりです。

Marathon2 のデータファイルを取り込みます。 Aleph One/SDL から AlephOne-Marathon2-1.0.tar.gz を保存します。 Aleph One の初期データを Marathon2 で上書きします。

$ tar xfvz AlephOne-Marathon2-1.0.tar.gz
...
$ sudo cp -R ./AlephOne-Marathon2-1.0/* /usr/local/share/AlephOne/

これで構築は終わりです。

以下のようにコマンドを叩くとゲームが開始されます。

$ alephone

ゲーム画面はこんな感じ。 Compiz も動かないかなりボロいPC(2001年ぐらいに発売)でも余裕で動きました。 自分のPCでは無理じゃないか?などとは思わずに、興味があれば試してみてください。

  • 基本的なキーコンフィグ
  • 前後移動…テンキーの上下(8/2)
  • 左右向き変更…テンキーの左右(4/6)
  • 射撃…スペース/左Alt
  • 武器を切り替える…テンキーの9
  • 視点の上下…D/C
  • 視点を戻す…V
  • 調べる…TAB

今回は Marathon2 のデータを Aleph One の初期データに上書きをしましたが、上書きしないで動かす方法もあるようです。 むしろ基本的にはそのやり方を取るようですが、とにかく動くようにという事で上書きをしました。 Marathonシリーズを共存したいという方は、もう少し弄ってみてください。

0 件のコメント:

コメントを投稿