🎮

Pyxelで謎解きミニRPGを作った体験談 ~ゲーム開発に挫折してきた過去の自分へ~

に公開

これは何?

この記事はPythonでレトロゲームが作れる「Pyxel」のアドベントカレンダー、「Pyxel Advent Calendar 2025」の1日目の記事です~。よろしくお願いします。

ゲーム開発って難しい...挫折ばかり

皆さんは「自分でゲームを作ってみたい!」と思ったことはありませんか?私は子供のころ、親にファミコンを買ってもらえず、ノートに絵を描いてゲームをするという経験を経て、いつか自分でゲームを作ってみたい!と思っていました。

でも、実際にゲームを作ろうとすると思っている以上に大変で、プログラミング言語を使う場合はもちろん、GB StudioRPGツクール(今はツクールじゃなくMakerなんですね!)などのツールを使う場合でも、序盤でつまづいて諦めてばかりいました。

振り返ると、プログラミング言語を使った場合につまづく要因はドット絵や音のアセットを作る部分、そして、ツールを使う場合は、最初に覚えるべきルールや操作が多いことでした。

こんな自分でも最後まで諦めずにゲームを作れたのはPythonでレトロゲームの開発ができる「Pyxel」のおかげでした。ちなみに私はC#やJavaを仕事で書いた経験はありますが、Pythonを書くのはこのゲーム開発が初めてでしたが楽しみながら学べて一石二鳥でした。Pythonの学習にも向いてるんじゃないかと思います。

どんなゲームを作ったの?

アイドルオタクな私は現在、指原莉乃さんプロデュースの「=LOVE(イコールラブ)」にドはまりしておりまして(佐々木舞香さん推し)、イコラブちゃんをオマージュした(というかそのまま...)ミニRPGゲーム「きあらちゃんをさがせ!」を作りました。

せっかくなので紹介ページも作りました。

メンバーの妹的存在でちょっとドジっ子な齋藤樹愛羅ちゃんを探す、ほんわかストーリーです。ドット絵、BGMなどのアセットを自分の手でゼロから作って、開発もPythonを学習しながら、ほぼAIに頼らずコーディングしました。AIに頼らなかった理由は大したものではなく、オタクとしてはコーディングの1行1行が推しメンへの愛だと思っているので、AIの書いたコードやWebからのコピペは基本的に使わずに、愛を込めて1行1行、1文字1文字書きたいというそれだけの理由です(^^;

【オープニング画面】
オープニング画面

【プレイ画面】
プレイ画面

ミニRPGの他にも、クイズで遊べる機能やメンバーのプロフィール参照やBGMが聴ける画面なども作りました。

【クイズ画面】

【メンバーのプロフィール画面】

【BGM画面】

【ブラウザで遊べるページ(直リンク)】
https://game.kiasaga.love/

【ソースコード】
https://github.com/kikutaro/Pyxel_RPG_Looking_For_Kiara-Chan

なぜPyxelで挫折しなかったのか?

メンバーが自分の作ったゲームで遊んでくれたら感無量だよなぁ...」というゲスいオタク魂が大きいのですが(笑)、真面目な話、Pyxelが過去の挫折ポイントをうまくカバーしてくれたことが一番大きいです。

ドット絵や音のアセットを簡単に作れる!

Pyxelには標準でドット絵や音のアセットを作る機能があり、GUIがシンプルで直観的なのでとても使いやすいです。また、作ったアセットはプログラムから簡単に使えるので、アセット作成⇒コーディングのモチベーションが維持できます。

起動は簡単で

pyxel edit

と打つだけです。デフォルトでmy_resource.pyxresというリソースファイルができて、一度作成されると編集画面になります。

ドット絵を描ける「Image Editor」

左下のカラーパレットで色を選んで、1ピクセルごとにポチポチと塗ったり、ペンキ缶でドバっと塗ったり、シンプルなGUIでドット絵が作れます。1画面8x8ピクセルで4つ描けるのですが、慣れるまではこれに乗っかるほうが楽な気がします。というのも、私は「8x8でキャラを描いたら推しメンが美しく書けない!」と思って、いきなり16x16で開発を進めたのですが、ネットにあるサンプルや書籍のコードはわりと8x8ベースが多いので、頭の中で置き換えが必要でした。

マップを作れる「Tilemap Editor」

Image Editorではキャラだけではなく、ゲームで使うマップの構成物(壁や道路、木や森など)も描きます。構成物を(並べて)組み合わせてマップを作るのが「Timemap Editor」です。下図はアイドルのライブ会場のケータリングをイメージしたものです。

こちらもポチポチ並べるだけなので簡単です。

音を作れる「Sound Editor」

私はオタマジャクシ(音符)が読めない人間なので、音やBGMを作るのは一番苦手です(-_-;でも!Pyxelの「Sound Editor」は下図の左に見えるようにピアノの鍵盤が置いてあって、クリックすると音が鳴るので、ピコピコ叩きながらなんとかかんとか作っていけます!

私はスマホにピアノキーボードのアプリを入れて、通勤電車の中でピコピコしたものをSound Editorで再現して、音にしていく、ということを繰り返していきました。今回作ったゲームでは、イコラブちゃんの楽曲をベースにしたBGMを作ったので、ひたすら耳コピして、落とし込んでいく、という作業でした。ゼロから音を作る、という作業だったらもうちょっと苦労しただろうな...と。

BGMを作れる「Music Editor」

Sound Editorで作った音を組み合わせてBGMにできます。

参考になる本とサイト

なにはともあれ、Pyxel作者の北尾さんが直々に書かれたこちらの本を読むのがよいと思います。一通り読んだ後、開発中もよく参照してました。
https://gihyo.jp/book/2025/978-4-297-14657-3

Pyxelを調べてると必ずいきつくと思いますが、frenchbreadさんのnoteがめちゃくちゃ参考になります。
https://note.com/frenchbread

最初に次の記事を読むとPyxelで何がどのくらい作れるか雰囲気がわかると思います(が、今回の記事でミニRPGを作った自分が今みても、どうやったらDungeon Antiquaレベルのものが作れるんだ...という気持ちですが)
https://note.com/frenchbread/n/na2899f9abc8c

おわりに

経験談を参考に、ゲーム開発を完遂させる人が1人でもいらっしゃれば幸いです。あと、最初に何をすればよいか?Pyxelのインストールから始めればよい?という方に向けて、「Pyxel Advent Calendar 2025」の6日目にPyxel Code Makerを紹介する記事を書く予定です。びっくりするくらい簡単にPyxelを始められるので、お楽しみに!

Discussion