本文へスキップ

debuff vs Excalibur ​

Excalibur と debuff は、どちらも 2D ブラウザゲーム向けの TypeScript ファーストなツールキットです。Excalibur は「バッテリー同梱」を掲げ、それを何年も続けてきました。debuff はもっと若くて小さく、決定性、テスト、コーディングエージェントに力を入れています。2026 年 10 月時点での比較です。

結論から ​

物理、Tiled と LDtk のプラグイン、UI、成熟した API など、今すぐ使える組み込みシステムを多く求めるなら Excalibur を選びましょう。より小さなランタイム、決定的なテストとファズ、実行中のゲームにアタッチできるエージェントが欲しいなら debuff を選びましょう。

ひと目で比較 ​

debuff 0.2Excalibur 0.32.0
ライセンスMITBSD-2-Clause
言語TypeScriptTypeScript
レンダリングWebGL2、Canvas 2D フォールバックWebGL と Canvas(ドキュメント)
物理タイルとの当たり判定組み込み
タイルマップTiled と LDtkTiled と LDtk のプラグイン
オーディオ、入力、シーン、トゥイーン、パーティクル組み込み組み込み
ランタイム全体(brotli)20 kB(debuff の全パッケージ)118 kB(excalibur.min.js)
テストシナリオ、スクリーンショットのベースライン、ファズ@excaliburjs/testing:Puppeteer とスクリーンショット比較
コーディングエージェント実行中のゲーム向けの MCP サーバー、AGENTS.mdllms.txt なし(404)、MCP サーバーは見つからず
コミュニティ小さい確立している(Discord、GitHub Discussions)
ランタイム全体のダウンロードサイズ、brotli(kB、小さいほど良い)
debuff20 kB
Excalibur118 kB

各ライブラリのビルド済みバンドル全体(debuff の全パッケージ、excalibur.min.js)を brotli で圧縮し、2026年10月17日に計測しました。ツリーシェイキングしたゲームはさらに小さくなります。

Excalibur が強いところ ​

  • 組み込みシステム。 物理、アクション、UI レイヤー、公式のタイルマッププラグインがあるので、自分で書く量が減ります。debuff には剛体物理がありません。
  • 成熟度。 長年のリリース、ドキュメント化された API、サンプルとチュートリアル。
  • テストがある。 Excalibur のテスト用パッケージは本物のブラウザでゲームを動かしてスクリーンショットを比較します。たいていの Web エンジンよりも充実しています。

debuff が違うところ ​

  • 設計段階から決定的。 debuff の固定ステップのクロックとシード付き乱数で、同じ入力からは同じゲームが生まれます。シナリオはピクセルだけでなく状態も検証でき、記録したセッションは正確に再生されます。
  • ファズ。 npx debuff fuzz はランダムだけれどもっともらしい入力でゲームをプレイし、クラッシュ、スタック状態、ループをそれぞれ再現するシナリオとして保存します。同じシードで実行を繰り返せるので、CI のゲートにも使えます。
  • 実行中のゲームの上で動くエージェント。 debuff の MCP サーバーを使えば、エージェントはあなたが開いているゲームにアタッチできます。オーバーレイでフラグした瞬間を読んで game_replay で再現し、取り消し可能な型付きパラメータも調整します。エージェント比較の記事もどうぞ。
  • サイズ。 debuff のランタイム全体は Excalibur のバンドルの約 6 分の 1 です。

どちらを選ぶか ​

物理をはじめ多くのシステムを組み込んだ、成熟した TypeScript エンジンを求めるなら、Excalibur を使いましょう。テストとエージェント向けツールのほうが大事なら、debuff を試してみてください。

bash
npm create debuff@latest my-game