RPGツクール2000のRuina〜廃都の物語〜をRaspberry Piでプレイしてみた

# はじめに
RPGツクール2000は，エンターブレイン社がWindows OS向けに販売しているゲーム制作ソフトウェアです．
Raspberry Piは，LinuxのDebianディストリビューションを元にしてカスタマイズされたRaspbianが動作します．（別のRaspberry Pi向けのOSを利用することも可能ですが，Windowsは動作しません．）

したがって，**OSが異なるためRPGツクール2000のプログラムは通常Raspbian上で動作しません．**

LinuxやMacOS上でWindows向けアプリケーションを実行するためのソフトウェアとして[Wine](https://www.winehq.org/)がありますが，Wineはx86命令セットを利用するため，ARM系の命令セットを利用しているRaspberry Piでは動作しません．

x86命令セットをエミュレートすることができるQemuというソフトウェアもありますが，エミュレートは動作が重いため，Raspberry Pi上で動作させるのはあまり現実的ではありません．Qemuの数倍程度高速に動作する有償ソフトウェアであるExaGaer Desktopはすでに販売停止しており，入手することは困難です．

ここに，興味深い[EasyRPG](https://easyrpg.org/)というプロジェクトがあります．EasyRPGはRPGツクール200Xで作成されたゲームをマルチプラットフォーム上で動作させるプレイヤーとエディタを提供することを目標としたOSSプロジェクトです．マルチプラットフォームの中にLinuxが含まれているので，今回はEasyRPG Playerを利用できるか試してみました．

簡潔に申しますと，**普通にやってもRaspberry Pi上でRPGツクール2000は動かないから，EasyRPG PlayerのRaspberryPi向けビルドを使ってみた**という記事です．

なお，**RTP素材のインストールのため，WindowsマシンまたはWineが動作するマシンが別途必要となります**．（RTPとはエンターブレイン社が公開しているツクール200X向けの汎用素材パッケージです．）

# 導入

## EasyRPG Playerのインストール
EasyRPG Playerは公式によって公開されているリポジトリを利用してインストールします．

Raspbian 9(Stretch)であれば次のコマンドを利用します．

```
$ echo 'deb http://download.opensuse.org/repositories/home:/easyrpg/Raspbian_9.0/ /' | sudo tee /etc/apt/sources.list.d/home:easyrpg.list
$ curl -fsSL https://download.opensuse.org/repositories/home:easyrpg/Raspbian_9.0/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home:easyrpg.gpg > /dev/null
$ sudo apt update
$ sudo apt install -y easyrpg-player
```

Raspbian 10(Buster)であれば次のコマンドを利用します．

```
$ echo 'deb http://download.opensuse.org/repositories/home:/easyrpg/Raspbian_10/ /' | sudo tee /etc/apt/sources.list.d/home:easyrpg.list
$ curl -fsSL https://download.opensuse.org/repositories/home:easyrpg/Raspbian_10/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home:easyrpg.gpg > /dev/null
$ sudo apt update
$ sudo apt install -y easyrpg-player
```

これらのコマンドは，[EasyRPGのLinux向けダウンロードページ](https://easyrpg.org/player/downloads/#release-linux)の「Arch Linux, Debian, Ubuntu, Fedora and openSUSE packages」→「Debian」→「手作業でリポジトリを追加してインストール」から確認することができます．

```
$ easyrpg-player
```

コマンドでEasyRPGが起動すればインストール成功です．

## RTPのインストールおよびRTPフォルダのコピー
Raspberry PiでRTP素材を利用しているツクール作品をプレイする場合は，RTP素材をRaspberry Pi上にコピーする必要があります．
WindowsマシンやWineが動作するマシンに，[エンターブレイン社公式サイト](https://tkool.jp/products/rtp.html)からRPGツクール200X向けのRTPをダウンロードして，インストールしてください．
インストール先はデフォルトでは`C:¥Program Files (x86)¥ASCII¥RPG2000¥RTP`または`C:¥Program Files (x86)¥ASCII¥RPG2003¥RTP`となります．
2000と2003のいずれか片方しか利用しない場合は，利用するほうのみインストールすれば十分です．

インストールができたら，RTPフォルダをRaspberry Piの任意の場所にコピーします．（.icoファイルは必要ありません．）
最後に，EasyRPG PlayerからRTPを利用するために，`.bash_profile`に環境変数`$RPG2k_RTP_PATH`および`$RPG2k3_RTP_PATH`を追記しておきます．
2000と2003のいずれか片方しか利用しない場合は，利用するほうのみ環境変数を登録すれば十分です．

以下では例として，
ツクール2000向けのRTPを`/home/pi/RPGtkool2k/2000/RTP`として，
ツクール2003向けのRTPを`/home/piRPGtkool2k/2003/RTP`としてコピーしたと仮定します．
パスは適宜読み替えてください．

```
# RPGツクール2000のRTPのフォルダを指定する
$ echo "export RPG2K_RTP_PATH=/home/pi/RPGtkool2k/2000/RTP" >> .bash_profile

# RPGツクール2003のRTPのフォルダを指定する
$ echo "export RPG2K3_RTP_PATH=/home/pi/RPGtkool2k/2003/RTP" >> .bash_profile
```
これでEasyRPGからRTPの利用が可能になりました．

## RPGツクール作品のダウンロード
お好きな作品をRaspberry Pi上の任意の場所にダウンロードしてください．

**（おすすめは[Ruina〜廃都の物語〜](http://blackhat.a.la9.jp/ftotfr/game.htm)です．
この記事は9割がたRuina〜廃都の物語〜を布教するために書かれています．）**

ただし，zipファイル等はShift-JISでエンコードされていることが多いので，Raspberry Piの通常の展開ソフトでは文字化けしてしまう可能性があります．
Linux上でShift-JISエンコードされたzipファイルを正しく展開できるunarというソフトがあるので，これを利用することをおすすめします．

```
$ sudo apt install -y unar
$ unar <zipファイル名>
```

**【注意】**
EasyRPG Playerでゲームを認識するためには，**`RPG_RT.exe`が存在するディレクトリ，またはその親ディレクトリ**でEasyRPG Playerを起動する必要があります．
したがって，ホームディレクトリでEasyRPG Playerを起動するために，「`RPG_RT.exe`が入っているフォルダ」をホームディレクトリに置いておくと良いと思います．
（つまり`/home/pi/<ゲームフォルダ>/RTP_RT.exe`としておけば，EasyRPGを`/home/pi`上で起動すればゲームが認識されるようになります．）

# 実行
EasyRPG Playerを次のコマンドで起動してください．
ただし，**`RPG_RT.exe`が存在するディレクトリ，またはその親ディレクトリ**でコマンドを入力しないと，EasyRPG Playerが起動しても，ゲームが認識しません．
ダウンロードしたゲームが正しく認識されていれば成功です．おめでとうございます！

```
$ easyrpg-player
```

# 最後に
**Ruina〜廃都の物語〜はフリーでありながら素晴らしいクオリティを誇る神ゲーです．**
私はRuinaファンの方が増えることを願ってやみません．
また，Ruinaファンの方がいらっしゃいましたら[Twitter](https://twitter.com/RuinaFun)または[SoundCloud](https://soundcloud.com/user-690366104)で絡んでいただけますと大変嬉しく思います．