Introduction

Patch has open-sourced pixelfx, a library of 232 pixel art game effects written entirely as code, plus a Claude Code skill that makes new ones by writing an effect, rendering it, looking at the frames and fixing what's off. Rehan Sheikh (

) at about 15:00 MYT on October 30, and the post passed 55,000 views and 1,280 bookmarks in its first day. The code sits in the MIT-licensed patch-gg/pixelfx repo, which had about 390 stars when I checked, and every effect plays live in the pixelfx gallery.

There are no images in the library. Fire, explosions, spells, weather, pickups and screen transitions are each one small JavaScript file that draws pixels over time, so you can recolor, mirror, reseed or export any of them as a sprite sheet for your engine.

What shipped

  • Tool: pixelfx, a code-only pixel art VFX library with a Claude Code skill
  • Vendor: Patch (patch.gg)
  • Modality: 2D game VFX and animation: one-shot effects, loops, status auras, UI flourishes and transitions, exported as PNG sprite sheets, GIF or MP4
  • Open vs API: fully open source under MIT, code and effects, commercial use included. No model weights and no paid API; the skill runs on whatever model your Claude Code session uses
  • Where to run it today: the browser gallery, npm i github:patch-gg/pixelfx for web games, or the Claude Code plugin marketplace
  • Concrete fact: 232 effects across 20 categories, from 10 transitions to 13 projectiles, and every random number comes from a seed, so frame 40 renders the same every time

How the effects are built

The repo splits effects into two kinds. Pure effects export draw(p, t, o) and compute each frame from time alone, so loops like portals, auras and waterfalls tile with no seam. Simulated effects export create(o) and step real particles, debris and lights at 120 Hz, so sparks bounce and smoke rolls the same at any frame rate.

Each frame has two buffers. The color buffer takes opaque, dithered or translucent pixels, and a separate light buffer adds glow on top, which is why the fire actually reads as hot. Effects draw around their own origin and face right by default, and a 24 by 38 pixel stock character stands in for hits, auras and status effects. A palette option, a dark-to-bright ramp of hex colors, lets a fire burn blue or a heal glow pink without touching the code.

The method comes from Hugo Duprez's guide to making pixel art effects with Claude and his open-source Sprite Fusion VFX. Patch adapted his simulation core and kept the same frame shape, so both libraries can draw into one frame.

Getting effects into an engine

For a canvas, Phaser, PixiJS, Kaplay or three.js game, you import the code directly. For Godot, Unity, GameMaker, Defold, LÖVE or Bevy, you render sprite sheets:

# One effect as a transparent PNG grid plus Aseprite-style JSON (frame rects, durations, fps, loop, pivot)
node tools/render.mjs ice/frost-nova --sheet

# The whole library into sheets/
node tools/sheets.mjs

# Recolor on export
node tools/render.mjs fire/torch --gif --opts '{"palette": ["#102","#215","#43a","#8cf","#cff","#fff"]}'

The JSON follows the Aseprite layout, so Phaser's atlas loader and the Aseprite importers for Godot and Unity can read it.

The skill is the generative part

The library is the starting kit. The pixelfx skill teaches Claude Code to find, use, export and author effects, and it works in a loop: scaffold an effect, render a contact sheet, look at it, fix the worst thing, render again. A check tool flags spills, seams, unseeded randomness and slow frames before you ship.

/plugin marketplace add patch-gg/pixelfx
/plugin install pixelfx@pixelfx

Then ask for what your game needs:

Make five takes on a coin pickup sparkle for a 320x180 game, palette gold to white,
render contact sheets for each, and show me the best two. Then export the winner
as a sprite sheet for Godot 4 with a 30 fps loop and the pivot at the coin's center.

You can also scaffold one by hand with node tools/new.mjs arcane/my-spell, then iterate with tools/render.mjs and tools/check.mjs.

What to watch

Early feedback on X points out that the wind-ups and fade-outs of some effects are weaker than the hits themselves, so treat the library as strong first drafts you tune, not final art. The Patch Pixel font in the gallery is also not covered by the MIT license. Still, for small teams that buy VFX packs or hand-draw every frame, a seeded, recolorable, code-first effect library with an agent that checks its own frames is a very practical drop, and one community build already layers a browser picker, extra render styles and Godot 4 export on top of it.

—Titus