debuff vs LittleJS
LittleJS と debuff は、どちらもブラウザゲーム向けの小さく速いエンジンです。コーディングエージェントとの相性も、どちらもよいです。LittleJS は小さなエンジンに驚くほど多くを詰め込んでいて、ゲームジャムの人気者です。debuff が重視するのは、決定性、テスト、そして実行中のゲームにアタッチできるエージェントです。2026 年 10 月時点での比較です。
結論から
キロバイトあたりの機能を最大にしたいなら LittleJS を選びましょう。組み込みのレベルエディタ、プロシージャルサウンド、パーティクル、メダル、そして js13k への道があります。TypeScript、決定的なテストとファズ、さらにエージェントがあなたと一緒にゲームをプレイできる MCP サーバーが欲しいなら debuff を選びましょう。
ひと目で比較
| debuff 0.2 | LittleJS 1.27 | |
|---|---|---|
| ライセンス | MIT | MIT(GitHub) |
| 言語 | TypeScript | JavaScript、TypeScript の型定義付き |
| レンダリング | WebGL2、Canvas 2D フォールバック | WebGL2 と Canvas 2D。3D プラグインも |
| 物理 | タイルとの当たり判定 | タイルとの当たり判定、レイキャスト、一方通行の足場。オプションで Box2D プラグイン |
| サウンド | Web Audio、シンセサウンド | ZzFX のプロシージャルサウンド、音声ファイル不要 |
| レベル編集 | Tiled と LDtk のインポート | Tiled JSON で保存する組み込みのレベルエディタ |
| プラットフォーム連携 | 組み込みなし | メダル、リーダーボード、クラウドセーブ(Newgrounds、Wavedash) |
| ランタイム全体(brotli) | 20 kB(debuff の全パッケージ) | 138 kB(littlejs.esm.min.js)。js13k ビルドは "builds to a 7KB zip" |
| テスト | シナリオ、スクリーンショットのベースライン、ファズ | デバッグオーバーレイとアサート。自動テストは見つからず |
| コーディングエージェント | 実行中のゲーム向けの MCP サーバー、AGENTS.md、llms.txt | AI 向けの REFERENCE.md と AI テンプレートのリポジトリ。MCP サーバーは見つからず |
| コミュニティ | 小さい | 確立している(GitHub スター約 4,300) |
debuff20 kB
LittleJS138 kB
各ライブラリのビルド済みバンドル全体(debuff の全パッケージ、littlejs.esm.min.js)を brotli で圧縮し、2026年10月17日に計測しました。ツリーシェイキングしたゲームはさらに小さくなります。
LittleJS のフルバンドルには、ゲームが使わないかもしれない機能が多く含まれています。js13k ビルドではそれが大きく削られるので、このチャートを LittleJS 製ゲームのサイズとは受け取らないでください。
LittleJS が強いところ
- サイズの割に多い機能。 レベルエディタ、パーティクルデザイナー、ZzFX サウンド、画面上のゲームパッドがすべて入っています。
- ゲームジャム。 js13k への道、すぐ使えるテンプレート、ゲームポータル向けのメダルとリーダーボード。
- 成熟度。 長年のリリースと、これで作られた多くのジャムゲーム。
- AI 向けの資料。 AI ツール向けに書かれたリファレンスと、テンプレートやプロンプトを集めた別リポジトリ。
debuff が違うところ
- 決定性とテスト。 固定ステップとシード付き乱数のおかげでスクリーンショットのベースライン付きのシナリオが成り立ち、
npx debuff fuzzはクラッシュをすべてリプレイとして保存します。 - 実行中のゲームの上で動くエージェント。 debuff の MCP サーバーを使えば、エージェントはあなたが開いているゲームにアタッチできます。フラグした瞬間を読んで正確にリプレイし、取り消し可能な型付きパラメータも調整します。LittleJS はエージェントによいドキュメントを渡し、debuff はゲームそのものを渡します。エージェント比較もどうぞ。
- 型付きで、ライブで調整できるパラメータ。 手触りに関わる値には型、範囲、単位があり、開発オーバーレイにスライダーとして表示されます。
- TypeScript ファースト。 ツールキットとテンプレートは TypeScript で書かれています。
どちらを選ぶか
キロバイト単位の差や組み込みツールがものを言うゲームジャムなら、LittleJS にはなかなか勝てません。テストとエージェントをループに入れたいなら、debuff を試してみてください。
bash
npm create debuff@latest my-game