ゲームを作った話1
長男君がゲームを作ってみたいというので,まずはじめに僕がどんなもんか作ってみた。その備忘録(写真は完成したゲーム)。
1.用意するもの(ハード)
新しく買ったもの
(1) raspberry pi zero wh (千石通商 ¥2343)
(2) WaveShare 13891 1.44インチ 128×128 LCDディスプレイHAT for RaspberryPi (千石通商 ¥1470)
(3) Team microSDHCカード 16GB(Amazon ¥598)
容量は16GBくらいあると良いっぽい。
持っていたもの
(4) ACアダプタ
(5) USBハブ
(6) micro USB - USB変換ケーブル
(7) USBケーブル
(8) mini HDMI - HDMIケーブル
(9) ディスプレィ
(10) USBキーボード
(11) USBマウス
(12) パソコン
これ以外にpico-8の代金$14.99が必要になります。
2.OSのインストール
(1) https://www.raspberrypi.org/downloads/noobs/の「Download ZIP」をクリックし,NOOBS(NOOBS_v3_3_0.zip)をダウンロードする。
(2) ZIPファイルを展開する。
(3) 展開されたファイル一式を,そのままmicroSDカードにコピーする(SDカードはFAT32にフォーマットしておく)。
(4) ラズパイゼロにキーボード,マウス,ディスプレィを接続し,microSDカードをラズパイゼロに差し込み,電源を入れるとインストーラーが立ち上がる。
(5) OSの選択画面でRasbianを選択し,インストールボタンを押す。
(6) インストールが終わると,Raspbianが起動するので,初期設定を行う。
(7) 言語,地域,タイムゾーンを選択→パスワードの設定(初期パスワードはraspberry)→Wi-Fiの設定
(8) 時刻をあわせる。
ターミナルを立ち上げて時刻をあわせる(日付と時間は現在のものにする)。
$ sudo date --set='2020/02/16 15:48:20'
(9) パッケージの更新
$ sudo apt-get update
$ sudo apt-get upgrade
Y/nと聞かれたら,Yを選択する。更新が終わったらrebootする。
(10) ファームウェアの更新
$ sudo rpi-update
Y/nと聞かれたら,Yを選択する。更新が終わったらrebootする。
3.WaveShare 13891 1.44インチ 128×128 LCDディスプレイHAT for RaspberryPiの設定
設定は主に
https://blog.goo.ne.jp/peki-k/e/e62456f9006e41753de574d38eddf63c
を真似しました。
LCDディスプレィの設定
(1) /etc/modulesを編集。SPIドライバ,フレームバッファドライバ,ジョイパッドドライバを追加。
$ sudo nano /etc/modules
spi-bcm2835
flexfb
fbtft_device
(2) /etc/modprobe.d/fbtft.confの作成
$ sudo nano /etc/modprobe.d/fbtft.conf
#waveshare 1.44 LCD ST7735S
options fbtft_device name=adafruit18_green gpios=reset:27,dc:25,cs:8,led:24 custom=1 height=128 width=128 rotate=90 speed=40000000 fps=60 bgr=1
options flexfb setaddrwin=0 width=128 height=128 init=-1,0x11,-2,120,-1,0x36,0x70,-1,0x3A,0x05,-1,0xB2,0x0C,0x0C,0x00,0x33,0x33,-1,0xB7,0x35,-1,0xBB,0x1A,-1,0xC0,0x2C,-1,0xC2,0x01,-1,0xC3,0x0B,-1,0xC4,0x20,-1,0xC6,0x0F,-1,0xD0,0xA4,0xA1,-1,0x21,-1,0xE0,0x00,0x19,0x1E,0x0A,0x09,0x15,0x3D,0x44,0x51,0x12,0x03,0x00,0x3F,0x3F,-1,0xE1,0x00,0x18,0x1E,0x0A,0x09,0x25,0x3F,0x43,0x52,0x33,0x03,0x00,0x3F,0x3F,-1,0x29,-3
終わったらrebootする。
(3) fbcpをインストール
$ sudo apt-get install cmake git
$ cd ~
$ git clone https://github.com/tasanakorn/rpi-fbcp
$ cd rpi-fbcp
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo install fbcp /usr/local/bin/fbcp
(4) rc.localの変更
$ sudo nano /etc/rc.local
より,rc.localを開き,exit 0 の前に fbcp & を書く。
ジョイパッドの設定
(5) https://github.com/adafruit/Raspberry-Pi-Installer-Scriptsよりretrogame.shをダウンロードする。
(6) retrogameスクリプトを起動
$ sudo bash ./retrogame.sh
3 のPiGRRL Zeroを選択する。
Y/nと聞かれたら,Yを選択する。更新が終わったらrebootする。
(7) キー定義ファイルを編集
$ sudo nano /boot/retrogame.cfg
LEFT 5 # Joypad left
RIGHT 26 # Joypad right
DOWN 19 # Joypad down
UP 6 # Joypad up
Z 16 # 'A' button; key 3
X 20 # 'B' button; key 2
ENTER 21 # 'Start' button; Key 1
4.PICO-8のインストール
sndioのインストール
(1) http://www.sndio.org/install.htmlよりsndio-1.2.0.tar.gzをダウンロードする。
(2) sndioを解凍してインストールする。
tar -xf sndio-1.2.0.tar.gz
cd sndio-1.2.0
./configure
make
sudo make install
インストールがおわったらrebootする。
pico-8のインストール
(3) https://www.lexaloffle.com/pico-8.phpより,pico-8を購入し($14.99),pico-8(pico-8_0.1.12c_raspi.zip)をダウンロードする。
(4) ZIPファイルを展開する。
(5) 展開されたファイル一式を,そのまま/home/pi/の下にコピーする。
(6) /home/pi/.bashrcの編集
$ sudo nano /home/pi/.bashrc
より.bashrcを開き,最後に以下を追加する。
sudo /home/pi/pico-8/pico8 -splore
(7) Raspberry Piメニュー→設定→Raspberry Piの設定で,Raspberry Piの設置絵を開き,の順に移動します。 システムタブで,ブートをTo CLIにする。ここまでできたら,rebootする。
5.起動の高速化
この状態で,電源を入れると起動に1分30秒くらいかかった。このサイト(https://nw-electric.way-nifty.com/blog/2017/04/raspberry-pi-ze.html)を真似て,起動を高速化したが,40秒くらいにしかならなかった。このあたりはもう少し工夫が必要かもしれない。詳しい人がいましたら教えて下さい。
***
僕 「おーい,ゲームができたぞー。」
長男君「どれどれ?」
僕 「じゃじゃーん。」
長男君「パパ!僕が作りたいって言ったのは,ゲーム機じゃなくて,ゲームソフトだよ・・・。」
僕 「え???」
感想のコメントをいただけると喜びます。