ファンタジーコンソールを自作する

ファンタジーコンソール 1 は、こんなゲーム機があったら面白いなという開発者の妄想を具現化したものだ。実在しない別のゲームボーイやファミコンを勝手に考えて PC 上で実装して遊ぶ、それがファンタジーコンソールだ。

ファンタジーコンソールの代表例はなんといっても PICO-8 2 だ。128x128 ドットの画面、4 音同時再生、256 個の 8x8 スプライトを持ち、Lua での開発環境やドット絵エディタ、音楽エディタ、マップエディタなどを含むとてもリッチなマシンだ。

コンソール(Video game console 3 = ゲーム機)という名前にもかかわらず、ファンタジーコンソールは開発環境を内包した作りになっていることが多い。どちらかというと、MSX のようなマイコンや、ファミリーベーシックに似た特徴を持っている。

PICO-8 レベルのファンタジーコンソールを作るのはとても大変だ。しかし自分でもファンタジーコンソールを作ってみたい。ならば思いっきり仕様を絞る必要がある。ごく小さな画面、単純な音出力、簡素な入力手段しか持たないファンタジーコンソールを目指した結果、PEEKPOKE 4 というファンタジーコンソールを作ってみた。

PEEKPOKE は、PC やスマホのブラウザで遊べる(画面クリックでプレイ)。

BOMB SNAKE

上下左右、もしくは WASD キーで蛇を動かして赤い爆弾を取るスネークゲームだ。スマホでも画面下のバーチャルパッドで操作できる。

PEEKPOKE memory map

PEEKPOKE では、メモリの読み書きを行う peek 命令と poke 命令しかマシンの制御に使えない。32x30 ドット 8 色の画面と 8x5 のテキスト画面、7 つのキー入力、単音ブザーのみ、という限定された機能を、メモリから操作できるメモリマップド I/O 5を採用している。開発環境は入っていない。ゲームは JavaScript で記述できる 6

コンソール独自の機能はすべてメモリに押し込んだうえで、開発環境は JavaScript に丸投げしたので、作りはかなり簡単にできた。作れるゲームもかなり簡単なものに限られるが、ぎりぎりファンタジーコンソールを名乗れるのではないか。あと起動時にスプラッシュスクリーンを入れると、なんとなくファンタジーコンソールっぽくなる。

開発環境抜きであればファンタジーコンソールを作る手間はだいぶ削減できる。何か面白いスペックのコンソールを妄想して、手軽に作ってみるのも楽しい。今回作ったものはだいぶ素直なアーキテクチャのものだが、もっと変わった機能を持ったコンソールだったり、カセットビジョンや ATARI 2600 などの、既存コンソールをオマージュしたものを考えてみるのも楽しそうだ。


1. ファンタジーコンソール
2. PICO-8
3. Video game console
4. PEEKPOKE
5. メモリマップド I/O
6. peekpoke bombsnake/main.js

results matching ""

    No results matching ""