ウェブサイト検索

Linux上でSuper Mario 64をネイティブにビルドする方法


スーパーマリオは紹介を必要としない:それは最も愛されているビデオゲームキャラクターの一つです。スーパーマリオ64は1996年にNintendo64コンソール用に最初にリリースされ、マリオフランチャイズの最初の3Dエピソードを代表しました。あるgithubプロジェクトのおかげで、ゲームの完全なデコンパイルが達成され、現在ではネイティブLinuxポートを構築し、Nintendo64エミュレーターなしでプレイすることが可能になりました。このポートをコンパイルするためには、オリジナルで合法的に取得された「.z64」ロムが必要です。

このチュートリアルでは、最も使用されているディストリビューションのいくつかで Super Mario 64 の Linux ポートをコンパイルして起動する方法を見ていきます。

このチュートリアルでは、あなたは学びます:

  • Super Mario 64をコンパイルするために必要なソフトウェアを、最も使われているLinuxディストリビューションにインストールする方法
  • ポートを構築して起動する方法

ビルド依存関係をインストールしています

スーパーマリオ64のLinuxポートを構築するために最初に行うべきことは、ビルド依存関係をインストールすることです。インストールが必要なパッケージは、使用しているディストリビューションによって異なります。Fedoraでは、次のコマンドを実行することで依存関係をインストールできます:

sudo dnf install git \
  libXrandr-devel \
  alsa-lib-devel \
  pulseaudio-libs-devel \
  python3 \
  make \
  gcc \
  g++ \
  libusb-devel \
  SDL2-devel \
  util-linux

Ubuntuでは、apt-getを使用して必要なソフトウェアを取得できます:

sudo apt-get update && sudo apt-get install git \
  build-essential \
  libusb-1.0-0-dev \
  libsdl2-dev \
  libc6-dev \
  bsdmainutils \
  python3

Archlinuxでゲームを構築するには、pacmanを使って次のパッケージをインストールする必要があります:

sudo pacman -Sy git \
  base-devel \
  python3 \
  sdl2 \
  xorg-xrandr \
  alsa-lib \
  pulseaudio

リポジトリをクローンする

必要な依存関係をインストールしたら、コードをホストしているGitHubリポジトリをクローンできます。以下のコマンドは、リモートリポジトリをsm64-portディレクトリ内にクローンします:

git clone https://github.com/sm64-port/sm64-port

私たちは今、合法的に取得した「.z64」形式のスーパーマリオ64のROMをリポジトリディレクトリ内に移動し、「baserom.{version}.z64」と名前を変更する必要があります。「{version}」はゲームの地域バージョンであり、「us」、「eu」、または「jp」となります。ここでは、「us」バージョンのROMが私たちのHOMEディレクトリにあると仮定します。

mv ~/SuperMario64.z64 sm64-port/baserom.us.z64

ゲームを作る

次のステップとして、リポジトリディレクトリに移動し、makeを使用してゲームのビルドを開始します。オプションで、どれだけのジョブを同時に実行するかを指定するために使用できる-jオプションを提供することもできます:

cd sm64-port && make -j4

コマンドを実行すると、ビルドプロセスが開始されるはずですので、完了するまで待ってください。

==== Build Options ====
Version: us
Microcode: f3dex2e
Target: sm64.us
Compare ROM: no
Build Matching: no
=======================
Building tools...
Building ROM...
Preprocessing level make rules: levels/level_rules.mk -> build/us_pc/level_rules.mk
==== Build Options ====
Version: us
Microcode: f3dex2e
Target: sm64.us
Compare ROM: no
Build Matching: no
=======================
Building tools...
Building ROM...

プロセスがエラーなしに終了した場合、リポジトリ内のbuild/{version}_pcディレクトリに作成されたゲームの実行可能ファイルを見つけるはずです。この場合、起動するには、単に次のコマンドを実行することができます:

./build/us_pc/sm64.us

すべてが期待通りに行けば、私たちはそのゲームの全貌を見ることができるはずです。

結論

このチュートリアルでは、Linux上でのスーパーマリオ64のネイティブポートを構築する方法を見ました。必要な依存関係のインストール方法、コードをホストしているリポジトリのクローン方法、そして実際にビルドを行う方法を紹介しました。この記事で説明されているビルドプロセスには、ゲームアセットを取得するために既存の「.z64」スーパーマリオ64 ROMが必要です。これは、合法的に取得できる場合のみ使用してください。

関連記事: