見出し画像

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

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

(2023/6/10)以前にWeb版を公開していましたが、現在、公開は取り下げています。

以下、この記事の内容はプレイいただく方向けの説明となります。
本来の私の目的は、ゲームそのものをプレイしてほしいというより、作り手(or 作り手になりたい方)向けに情報・ノウハウ共有することなのですが、長くなるので別記事として順次書いていきます。

Pyxel版の特徴

外見はFC版ドラクエ1とはいえ令和時代のドラクエ1なので、とにかく快適にサクッとプレイできるように作りました。
具体的には、おそらく2〜3時間あれば世界を救えるんじゃないかと思います。私はRTA走者とかでは全然ないのですが、スピードランしてみたら40分くらいでクリアできました(*)。
ゲームのストーリーなどを縮小しているわけではなく(クリア後の世界とかは省略してますが)、動作をスピーディーにしたり、オートバトル可能にしたり、難易度を低めにしたりすることで、レトロRPGの醍醐味ともいえる「経験値・ゴールド稼ぎ」にそれほど精を出さずともサクサク進めるようになっています。

(*) 公開後1週間くらいしてプレイヤーの方々の記録を拝見したのですが、実際2時間くらいでほとんどの方がクリアできているみたいです。私の記録については記事の末尾の画像参照。

操作方法

以下の画像をご覧ください。操作はPCのほうがしやすいと思います。
スマホの場合、バーチャルパッドに慣れている方なら操作は苦労しないかもしれませんが、別タブを開いて戻ってきたりするとリセットがかかってしまうので、セーブを忘れていると少々悲しい気持ちになります。

操作方法

セーブとロードのやりかた

ブラウザ版で公開している都合で、セーブデータはクラウド上に保管しています。
ちょっとクセが強い仕様になるのですが、セーブ時に6桁の「セーブコード」が表示されるので、メモするかスクショをとってください
セーブコードは一度起動している間は変わらないので、たとえばロードした直後にセーブしたものを控えておけば以降はいちいち記録しなくてOKです。
言い換えると、「つづきから」を選んだ直後にセーブしたときだけ、セーブコードが新しくなります。

セーブとロード

もうひとつ注意事項があり、セーブとロードの際、音が一瞬おかしくなります
「これ絶対バグだろ」と100人中100人感じると思いますが、仕様です(?)。Web版Pyxelのサウンド関連の挙動が把握しきれず、泣く泣く諦めました。

FC版・SFC版などとの主な違い

  • 前述しましたが難易度をかなり下げています。経験値・ゴールドがSFC版の2倍です。そのほか、オリジナル版に存在しない宝箱にゴールドが入っていたりもします。

  • 初代ファミコンのカニ歩きを忠実に再現していますが(?)「はなす きた」「かいだん」などの機能は惜しくも見送りとなり、ぶつかったり上に乗ったりするだけで話したり階段を降りたりできます。

  • イベント系は若干手抜き気味です。特に町の人はそこそこ間引いているので町が寂しいかもしれません。ただ、攻略に役立つセリフなどは残してあります。また、Pyxel版独自仕様のヒントをくれることもあります。

  • オートバトルとオート回復機能があります。メニューで「さくせん」を開くか、戦闘中にWキーまたは丸パッドのうち上のボタンを押すことで設定できます。オートモードでボタン押しっぱなしにしておくとものすごい速さで戦闘が終了します。基本的には使わない方がゲームとして楽しめますが、時間が惜しい方はぜひ。

  • 洞窟に入るとレミーラやたいまつを自動提案してくれたり、移動補助呪文やアイテムの効果が切れた時に「もういちどつかいますか?」と再利用を勧めてきたりします。レコメンドの時代ですね。

もしバグ報告などに気づかれた場合は、 https://twitter.com/frenchbread1222 にDMやメンションツイートでいただけると大変ありがたいです。

ネタバレかもしれませんがクリア時画面。私の最速クリアが40分でした。


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