WASM-4の将来
WASM-4の作者のブルーノ兄貴が、将来的に検討していることをいくつか Issue に書いています。いくつかピックアップして、WASM-4が将来的にどうなっていくのかの展望を見てみましょう。
ミュージックシーケンサー
専用のミュージックシーケンサーを作るアイデアがあるみたいです。BGMなどのためにMIDI形式のファイルを再生できるよう実装する手もあるとは思うのですが、WASM-4でのサウンドは制限が強くて独特なので公式のミュージックエディタがあると嬉しいですね。ちなみに、PICO-8だとスクリプトエディタ、ドット絵エディタやミュージックシーケンサーまですべて統合されているそうです。
PNGにカードリッジを格納する
PNGには自由にメタデータを追加できる仕様があり、PICO-8なんかだとこれを利用してPNG形式でゲームカートリッジを配布できるそうです。それだと画像としてカートリッジを配布できるので、たとえばツイッターの画像ツイートを使ってカートリッジを配布できたりしたら面白そうです。
プレイグラウンド
TypeScriptプレイグランドみたいに、ブラウザ上で簡単に試せるプレイグラウンドのアイデア。まあ環境構築は面倒ですからね。
MIDIノートナンバーベースのサウンドAPI
現在のAPIだと周波数を整数で指定しますが、人間の耳は対数スケールで音を捉えるので低音域では精度が足りなくなるようです。確かに……というところですが、tone
関数を破壊的に変更するのもなあ……という感じらしいです。
ボタンを増やす
ゲームボーイだってスタートボタンとセレクトボタンがありますし、実際十字キー以外にボタン2つだと厳しいんですよね……。一応将来的に増やす可能性はあるようです。
ところで、そこのコメントで知ったのですが、text("Press \x80 to shoot")
みたいに書くと、丸にXとか丸にZのような文字をプレイヤーへの指示用に出せるそうな。Rustでもたしかにtext(b"Press \x80 to shoot", 10, 10);
みたいにやったら出ました。この記事を書いている直前にRustのテンプレートが修正されたばかりのようです。
使えるフォントについては、以下のファイルを見ればよさそうです。XボタンやYボタンだけでなく、矢印キーを表す文字なんかもちゃんと使えますね。
おわりに
大変でしたが、なんとかアドベントカレンダー25記事を完走することができました。ここまで記事を読んで頂いてありがとうございます。ゲーム開発と並行して記事も書いていたので、とても大変でした。
これでゲームは最低限それっぽくはなりましたが、まだ完成といえる段階ではありまsねんし、もうちょっと開発は続けたいと思います。ゲームはこちらからいつでも開けるようにしておきますので、気が向いた方は遊んでもらえると嬉しいです。プレイ動画のシェアやスクリーンショットのシェア、プレイ実況なども自由にやってもらってOKです。
開発はこちらのリポジトリで地道に続けていきたいと思います。ちなみにプロジェクトのフォークや改造などもOKです。ライセンスについてはLICENSE.mdをお読みください。
この記事をきっかけに、WASM-4仲間やRust仲間、ゲーム開発仲間が増えてくれたりしたらいいなと思います。