日経ソフトウエア 2021/07号
特集5
ゲームボーイで動くゲームを作ろう
第1部 開発環境を導入して実験プログラムを動かす
松原 拓也(有限会社ニコ) ゲームとロボットが好きな技術者兼ライター。家には古いゲーム機がたくさん転がっている。 「ゲームボーイ」は任天堂が1989年に発売した携帯型ゲーム機です。(64〜77ページ掲載記事から抜粋)
*テキスト版記事の文字数:11955文字
▼ 本記事はPDFで購入できます。
https://bizboard.nikkeibp.co.jp/kijiken/summary/20210524/NSW0276H_5021392a.html
▼バックナンバー 日経ソフトウエア 2021/07号
https://info.nikkeibp.co.jp/media/NSW/atcl/mag/051400036/
本記事の内容を試すために、Dockerイメージを簡単に作成できるようにしました。VSCodeでサンプルプログラムを入力し、実際にそのプログラムをエミュレーターで実行することができます。
次のツールをインストールします。
本リポジトリを開発用パソコンにクローンし、VSCodeで開きます。
mkdir c:\workgit
cd c:\workgit
git clone https://github.com/ojyuken/nikkeibp202107-gb.git
code nikkeibp202107-gb
次の手順でVSCodeを操作し、Dockerイメージを作成し、開発環境を起動します。
- "Remote - Containers" 拡張機能をインストールします。
- 左下の角に追加された "Remote - Containers" 拡張機能のアイコンをクリックします。
- リストが表示されますので、 "Remote-Containers: Reopen in Container" をクリックします。
- Dockerのイメージが作成され、Dockerコンテナーが起動し、VSCodeからリモート操作できます。
※ VSCodeを再度起動した場合、"Remote-Containers: Reopen in Container"を再度選択してください。
GBDK-2020は、/opt/gbdk
にインストールされています。GBDK-2020に付属のサンプルプログラムは、次のコマンドでビルドすることができます。
cd /opt/gbdk/examples/gb
make
cd galaxy
wine /opt/bgb/bgb.exe galaxy.gb &
最後のコマンド(wine /opt/bgb/bgb.exe galaxy.gb &
)で、エミュレーターを起動していますので、ブラウザーで次のURLにアクセスするとエミュレーターでgalaxy.gb
が実行されている様子を確認できます。
http://localhost:8080/
雑誌に掲載されている記事の内容に沿って、STEP1からSTEP4までのフォルダーを用意しました。
雑誌のダウンロードページからソースコード等をダウンロードし、各フォルダ内のファイル(main.c
)を開き、ソースコードを入力してください。
本開発環境は、Linux上に構築していますので、雑誌で説明されているWindows用のバッチファイルではビルドできません。その代わりに、make
を使ってビルドできるようにMakefile
を各フォルダに用意しました。
ソースコードを入力後、各フォルダ内で、make
コマンドを実行してビルドを行ってください。
cd ~/workspace/tutorial/step1
make
メモ: 記事の中で、pythonを実行する場面がありますが、掲載されているソースコードは、Python 3で動作するようです。次のコマンドを使用してください。
cd ~/workspace/tutorial/step2/maketile
python3 maketile.py
次のコマンドを実行すると、ソースコードのダウンロードから、ソースコードの入力、ビルドを行うことができます。すぐに動作確認したい場合にご活用ください。
cd ~/workspace/
./prepare.sh
cd tutorial
make
実行時エラー:
次のような実行時エラーが発生した場合、prepare.sh
ファイルの改行コードをCRLF
ではなく、LF
に変更してください。
prepare.sh
を開き、VSCodeの右下にあるCRLF
をクリックして、選択リストからLF
を選んでください。gbdev@xxxxxxxxxxx:~/workspace$ ./prepare.sh
bash: ./prepare.sh: /bin/bash^M: bad interpreter: No such file or directory
サンプルプログラムは、エミュレーターで実行することができます。プログラムのビルド(make
)が成功すると各フォルダ内にgbファイルが生成されますので、これをエミュレーターで動作確認することができます。
- ブラウザーで http://localhost:8080/ にアクセスし、
noVNC
にアクセスします。 - ブラウザー内のデスクトップで右クリックし、メニューから "Gameboy Emulator - BGB" を選択します。
- bgb が起動したら、画面内で右クリックし、メニューから "Load ROM" を選択します。
- step1からstep4の各フォルダの中から、gb形式ファイルを選択し、エミューレーターで動作確認します。
著作権上、雑誌に掲載されているソースコード等は、本リポジトリに含んでいません。サンプルプログラムを実行する際は、記事を入手し、雑誌のダウンロードページからソースコード等をダウンロードして、ソースコードを入力してください。
尚、入力もしくは入手した雑誌のソースコード等は、著作権法により保護されています。
著作者および日経BPの許諾を得ずに、プログラムおよびデータそのものまたは改変したものを配布したり販売したりすることはできません。