9
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

3KBしか使えない!奇妙で素敵なゲームエンジン「Playload」のご紹介

9
Last updated at Posted at 2026-10-23

Pyxel作者です。

ちょっとした出来心で、3KBしか使えない、小さなゲームエンジンを作ってみました。

PlayloadのエディタとダンジョンゲームGlyph Quest

名前は「Playload(プレイロード)」。

GitHubにてオープンソースとして公開中です。ぜひスターで応援をよろしくお願いします。

Playloadの基本仕様は以下になります。

  • JavaScript、圧縮後3KB(3,000バイト)まで
  • 160×144ピクセル、8色、CRT表示付き
  • 8×8ドットの文字・記号・Unicode絵文字
  • ZX Spectrum 128のPLAY互換、3チャンネル
  • 4方向+2ボタン
  • 6関数、2変数、1コールバックのAPI
  • 編集・実行・保存・共有までブラウザで完結

なぜ3KB?

かつてのホビープログラミングは32KB、64KBのような、小さな本体メモリとの戦いでした。プログラムのサイズの小ささを競う「一画面プログラム」みたいなジャンルもありました。

現代において、こうした容量との戦いはもう昔のものになったのでしょうか。いいえ違います。舞台は 「Xに投稿できるURL文字数」 との戦いへと移ったのです!

ということで、XにURLを投稿する際には、4096文字までのURLであれば23文字に縮めてくれます。本体URLの分を引いても、約4,000文字はデータとして使うことができます。Base64変換で増える分を逆算すると、圧縮後約3,000バイトまで。そこでコードの上限を圧縮後3KBにしました。

このサイズを守れば、URLのペイロードにゲーム全体を含めることができます。ゲームがペイロード、遊べるペイロード、つまり「Playload」というわけです!

PlayloadのゲームURLはこんな感じになっています。

https://kitao.dev/playload/app/#v1.圧縮したゲームコード

JavaScriptで書いたコードを圧縮し、Base64urlでエンコードしてURLにつける形です。

3KBでどこまで作れるのか?

シューティング、アクション、パズル。公式サンプルのゲームも当然どれも3KB以内です。

Shooter・2.34KB Jump・1.76KB Lights Out・1.35KB
Shooterを別タブで遊ぶ Jumpを別タブで遊ぶ Lights Outを別タブで遊ぶ
インベーダー風ゲーム ジャンプアクション パズル「ライツアウト」

画像をクリックすると実際のアプリが起動します。コードも直接編集できます。

絵文字による現代版アスキーゲーム

画像がなくてもゲームを作れるように、Playloadには、Unicodeの絵文字に対応した8x8のドット絵が多数内蔵されています。

Unicode絵文字とPlayload内蔵のドット絵の対応

この文字をコードに書くと、ドット絵を表示できます。

例えば、ゲームステージなども👾や💎のような絵文字を使って、文字列で書けます。

const stage = [
  '▓▓▓▓▓▓▓▓▓▓',
  '▓👾  💎    ▓',
  '▓  ▓▓    ▓',
  '▓     🏰  ▓',
  '▓▓▓▓▓▓▓▓▓▓',
];
put(1, 1, stage.join('\n'));
function tick() {}

冒頭のサンプル、Glyph Questもこの作りになっています。3ステージ入って約2.05KBです。

音はZX Spectrum 128から

Sinclair ZX Spectrum 128。右側の張り出しはヒートシンク

サウンドは、1980年代の英国のパソコン「ZX Spectrum 128」のPLAY命令に互換性を持たせました。

右側のヒートシンクから「トーストラック」と呼ばれる機種です。BASICから文字列を渡すだけで3チャンネルの音楽を鳴らせます。

Playloadではplay()に音符やテンポを書いた文字列を渡します。音楽も文字列で書く形です。

以下のサンプルで実際に音を再生することができます。

コードの保存はブックマーク

コード=URLなので、ブラウザのブックマークとして保存ができます。

編集内容は随時URLに反映されるので、「敵を追加する前」「ステージ2ができた版」と節目ごとにブックマークすれば、その版に戻れます。

(奇妙な)ユーザー作品が続々登場

ユーザーの方々も早速、3KBに無理やり収めた面白い作品を公開し始めてくれています。

frenchbreadさんの「Dungeon Escape」。一人称視点のダンジョン探索に、BGMまで入っています。

Dungeon Escapeを別タブで遊ぶ

haruka_appsさんのメガデモ「rubble.」。ちょっと反則的なAPIの使い方です。こちらも音付きです。

rubble.を別タブで開く


みなさんも是非、Playloadで3KBの壁と戦ってみてください。

Xでの面白い作品のご投稿をお待ちしています!

Playloadの作品情報は私のXアカウントでも随時紹介していきます。よければフォローしてみてください。

9
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?