Skip to content
@debuffjp

Debuff

Best-in-class, open tools for games and creative work on the web.

debuff: open tools for small, polished 2D web games

Best-in-class, open tools for games and creative work on the web.

Each tool does one job well and works on its own with whatever you already use.
Together they make one fast, open foundation, so you spend your time on the idea, not the plumbing.

debuff.jp why debuff play the examples try it Discord

debuff

debuff is our framework for small, polished 2D games that run in the browser: less setup, more time for mechanics, art and weird ideas.

npm create debuff@latest my-game
  • A small, fast runtime. Rendering is spryte, which draws moving sprites 2–4× faster than the most popular 2D web renderer, at a ninth of its size, in 2dbench.
  • Crisp pixel art out of the box. Integer scaling, pixel snapping, and debuff sans, our pixel font, as the default for text.
  • Tests that play the real game. Logic tests run the actual game in Node in milliseconds, scenarios check it in a browser (including flashes and contrast), and a fuzzer plays it with random hands until something breaks. Every finding replays exactly.
  • Dev tools that explain things. Errors say whose bug it is and link the exact source line. Rewind and scrub a live session. Frame drops say why. Feel values become live sliders.
  • Agents as helpers, people in charge. An MCP server and plugins for Claude Code and Codex let agents play the game you have open, read its state and errors, and run the tests. You see everything they do and can undo it.
  • Web standards only. ES modules, a canvas, Web Audio and Gamepad. No proprietary editor or project format.

Status: 0.29, early development. APIs will change, and feedback from real games shapes them.

Tools for any web game

These work without debuff, alongside Phaser, PixiJS, three.js, KAPLAY or a plain canvas:

 spryte
 The renderer inside debuff, standalone. Immediate mode, batched WebGL2 with a Canvas 2D fallback, about 10 kB.
 tenten
 Headless pixel art for coding agents: sprites and animations over MCP, a CLI or a TypeScript API. Reads and writes .aseprite.
 plonk
 Game music made in code. Songs are tiny data, synthesized live with Web Audio. No audio files, a few kB.
 myaku
 A frame profiler that finds the hitches players feel and says why in plain words.
 keiko
 Fast, deterministic logic tests that run your real game in Node, no browser.
 game-lint
 Lint rules for oxlint and ESLint: unseeded randomness, real clocks and timers that break replays, allocations in update loops.
 2dbench
 An open, fair benchmark for 2D web renderers, with a pixel-parity gate. Run it on your device.
 2d-web-game-skills
 Agent skills for writing and reviewing 2D web games.

Beyond games

decidekit is a System One model in the browser: it picks one of your labels for a piece of text on the user's device, in milliseconds, with confidence you can act on, and asks an LLM only when it isn't sure. Your labels are the type. Try it · Watch it learn

npm install decidekit

Repositories

Core

Repo What's there
debuff Runtime packages, CLI, scaffolder, MCP server, keiko, myaku, plonk, templates
spryte The renderer: WebGL2 sprites, shapes, text, render targets and shaders, with a Canvas 2D fallback
tenten Headless, scriptable pixel art and animation; .tt and .aseprite
earshot Spatial audio for 2D web games: sound through walls and rooms, and mic loudness as input
debuff-sans Our pixel font as TTF, BDF and a sprite sheet, under the SIL Open Font License

Testing and benchmarks

Repo What's there
game-lint Lint rules for game logic, one plugin for oxlint and ESLint
2dbench Open benchmark for 2D web renderers, with community results from many devices

Agents and plugins

Repo What's there
2d-web-game-skills Agent skills for 2D web games
plugins Official and community plugins for debuff

AI

Repo What's there
decidekit Typed, calibrated text decisions in the browser and Node; learns from an LLM when unsure

Miscellaneous

Repo What's there
overbuffed A swarm survival game starring buff, built in the open to find what debuff should do better. Play it
brand The foundation mark, the debuff wordmark, buff the mascot, sprite sheet and social card

buff, the debuff mascot

Get involved

Pinned Loading

  1. debuff debuff Public

    Open-source framework for 2D browser games. It handles the boring bits so you can get to the fun part sooner.

    TypeScript 10 3

  2. spryte spryte Public

    Blazing fast 2D renderer for the web: 2-4x faster than the most popular one, at a ninth of its size. Verified in an open benchmark.

    TypeScript 80 7

  3. 2dbench 2dbench Public

    An open, fair benchmark for 2D web renderers: same scenes, same simulation, pixel-parity gated, full environment with every result

    TypeScript 1 1

  4. tenten tenten Public

    tenten: a headless, scriptable pixel-art and animation tool. Text grids and ops over an MCP server, a CLI and a TypeScript API;

    TypeScript 1

Repositories

Showing 10 of 15 repositories

Sponsors

  • @wvdsh

Top languages

Loading…

Most used topics

Loading…