見出し画像

レトロゲームエンジン「Pyxel」でドラクエ1つくってみた

この記事は2024/6/27に全面的に修正しています。

Pyxel(ピクセル)というPython用レトロゲームエンジンがあります。
画面サイズ256x256で発色数は16色、サウンドはシンプルな波形の音色を最大4音まで発音可能、といったシンプルな仕様で、扱いやすいPythonのコードを用いた低学習コストのゲーム開発ができます。
最近になってWebアプリ化できるようになったため、開発した作品は誰にでも気軽にプレイしてもらえるようになりました。すごいですね。

Pyxelについては以下で詳しく紹介しているのでぜひご覧ください。

で、Pyxelでファミコンのようなゲームが作れる!ということで学習目的で作ったのがこのドラクエ1の勝手移植です。

実は以前の私は愚かにもこれをそのままネットで公開してしまっていたのですが、「いやそれはさすがにダメでしょ」というご指摘を喰らいまくり、その後公開を取り下げています。

なので、「どんな出来栄えなの?」と興味をもっていただいても現時点ではプレイいただくことはでないのですが、公開している間にゲームウィキ.jpさんが以下の記事を書いてくださっていました。ありがとうございます。

・・とまあお騒がせなことをしてしまったのですが、ともあれ学習目的については十分果たせました。

制作した感想についてはこちらの記事にまとめています。
ただこれはゲーム制作の一般論のような気がするので、Pyxelならではの内容というわけでもないです。

また「ドラクエ1の再現」をどのように行なったか、については以下の記事でまとめています。
さすが超メジャータイトル、計算式の解析から全NPCのセリフまでさまざまなデータが熱心なファンによって記録されていまして、そういったサイトの力を(勝手に)お借りしました、という内容です。

Pyxelでのゲーム制作は、今日的なPythonのコーディング環境と、小ぶりで使い勝手のいいPyxelライブラリによって全体的に快適に進めることができましたが、「セーブ&ロード機能をどうするか」という問題には悩みました。
ローカルで動かす分には普通にローカルファイルとして読み書きすればいいのですけど、ブラウザだとそういうわけにはいかない。じゃあサーバーに保管するしかないか?・・といった試行錯誤の痕跡です。

今はこの経験も活かして、悔い改めてPyxelでオリゲーやサウンド関連ツールなどを制作しています。
よかったら他の記事もご覧いただけますと幸いです。

この記事が気に入ったらサポートをしてみませんか?