目次
概要
ファンダジーコンピューター(レトロゲームエンジン)といわれるTIC-80 や Pyxel が面 白そうだったので試してみることにしました。
初代ファミコンのようなレトロ風のゲーム を作ることが出来るものです。プログラミングだけでなく、音楽、スプライト(画像)な どのゲーム作りに必要なものを作る環境がまとめて入っているオール・イン・ワン環境な のでモチベーションも上がりそうです(プログラミングで心が折れなければ)。「 8bitなゲー ム環境Fantasy Computerをまとめてみる 」や「 無料でオープンソースな架空のレトロゲーム機「TIC-80」に関するまとめ – Qiita 」などでどういった感じのものか分かると思います。
今回、使っていないWindows XP時代の32bitノートPCにインストールしてみました。子供に遊ばせたり、プログラミングに興味を持ってもらったとき(まあ可能性は低いでしょうが)に自由に使わせられるのではないか等と考えたわけです。
以下では、インストールの際にちょっと手間取った所があったのでその点について書いています。64bit PCで使うのであれば以下は読まずにすぐにダウンロードしてファンタジーコンピュータで遊べるでしょう。また、使い方等についてもここでは触れておりません。
環境、バージョン
導入した環境、バージョンは次のような感じです。
まず、Windows XP版のパッケー ジはなさそうなので、OSはLinuxにしました。けれど、ファンタジーコンピュータのLinux版に関してもバイナリパッケージ は64bit版しかなく、ソースからビルドしなければなりませんでした。
- PC
- 富士通FMV-BIBLO NB55M(Celeron M 360J 1.4GHz/1コア、メモリ1.5G(増設))
- OS
- 「 ライブCDの部屋 」様の AntiX19( antiX-19_386-full-jp.iso )を使いました。Linuxディストリビューションも32bit版が少なくなってきましたね。
- AntiX19のパッケージリポジトリにアクセス出来なかったので、Synapticのリポジト リ設定からチェックを外しました。
- TIC-80(GitHub) v0.90.1488
- Pyxel(GitHub) 1.4.1
- ビルド後 pip3 でインストール
なんとかTIC-80、Pyxelを起動させることが出来ましたが、まあ動きの多いものは ちょっとカクカクします。
Pyxelのビルドとエラー対応
Pyxel(GitHub) のインストール手順に、Linuxでの32bitや他のディストリビューションでのインストー ル方法というのがありました。Other environmentという箇所です。Pythonは3.6.8 以上が必要なようです。私はついでにPython 3.9.1をインストールしましたが、 AntiX19にはPython 3.7.3が入っているのでそれで多分大丈夫だと思います。
以下にざっくり手順を書きますが、実際に作業 を行う場合は公式ページを参照して下さい。
まず、必要なパッケージをインストール。
$ sudo apt install python3 python3-pip libsdl2-dev libsdl2-image-dev gifsicle
コンパイラはgcc 8.3.0です。残念ながらエラー発生。
$ git clone https://github.com/kitao/pyxel.git
$ cd pyxel
$ make -C pyxel/core clean all
$ pip3 install .
・
・
OSError: /var/tmp/pip-req-build-tbv7goza/pyxel/core/bin/linux/libpyxelcore.so: undefined symbol: _ZNSt12experimental10filesystem2v17__cxx114path14_M_split_cmptsEv
ネットで検索すると -lstdc++fs をコンパイラオプションに使えばよいとのこと。 pyxel/core/Makefile の LDFLAGS の値の末尾に -lstdc++fs を追加して再度 make から実行してやるとうまく行きました。
インストール後、サンプルを実行してみます。
$ cd pyxel_examples
$ python3 01_hello_pyxel.py
TIC-80のビルドとエラー対応
TIC-80(GitHub) のUbuntu 18.04のやり方で良いと思います。 makeの-j4オプションはCPUコアが複数あるときのオプションのようなので多分古いPCでは不要でしょう。 残念ながらこちらもエラー発生。
$ sudo apt-get install g++ git cmake libgtk-3-dev libglvnd-dev libglu1-mesa-dev freeglut3-dev libasound2-dev -y
$ git clone --recursive https://github.com/nesbox/TIC-80 && cd TIC-80/build
$ cmake ..
$ make -j4
・
・
TIC-80/vendor/sdl2/include/SDL_opengles.h:33:10: fatal error: GLES/gl.h:そのようなファイルやデ ィレクトリはありません
findコマンドでGLESを検索してみると、/usr/include/にGLES2とGLES3があった ので、このGLESのバージョン1の分があれば良いのだろうと思い、それが含まれ ているdebパッケージを探してみましたが、分かりませんでした。
しょうがないので、TIC-80のワーキングディレクトリ内にあった TIC-80/vendor/circle-stdlib/libs/circle/addon/vc4/interface/khronos/include/GLES を/usr/include/に放り込んでやりました!すると無事ビルド完了。誰かちゃんとし た解決策教えてください。
あとは build ディレクトリの中に出来たファイルtic80を実行するだけです。
surfコマンドで公式サイトにあるあるゲームがプレイ出来ます。Aボタンは、キーボードでは z でした。Bボタンはxのようです。
folderコマンドでLinux上のTIC-80のルートディレクトリが開きます。ダウンロードしたカートリッジファイル等はそこに置いてLOAD&RUNで遊べます。