Introduction

Scenario has released Pixel VFX Forge, a free browser tool plus a downloadable Claude agent skill that turns a plain description like "frost nova" into a layered, game-ready pixel-art effect. It launched on

on October 27 (UTC). Every frame renders on your own machine with a small bundled JavaScript engine, so there's no GPU, no credits, and no per-render cost. You get a sprite sheet, a JSON atlas, a GIF and, from the web tool, a Godot 4 pack.

This isn't a diffusion model painting explosions. It's a procedural effects engine that an AI agent learns to drive, and that's exactly why the output is useful in a real game: frames are deterministic, palettes stay hard-banded, and the same recipe plus seed always gives the same frames.

What shipped

  • Tool: Pixel VFX Forge (web tool) and the scenario-pixel-vfx agent skill
  • Vendor: Scenario
  • Modality: text description to 2D pixel-art VFX animation (sprite sheets, frames, GIF, MP4)
  • Access: free. The skill is a downloadable ZIP that Scenario calls open source; rendering costs nothing. Generating a matching character through Scenario MCP is a paid, separate step.
  • Where to run it today: the Pixel VFX Forge page in a browser, or the skill in Claude (or any agent that can run a Node script) with Node 18 or newer
  • Engine output: a one-row PNG sprite sheet, a JSON atlas with frame rects, fps, loop flag, impact frame and pivot, plus a 4× GIF and optional single frames

How it works

Every effect is a small JSON "recipe": a stack of layers such as rays, ring, burst, slash, beam, vortex, bolt, particles and flash, 22 layer types in all. Each layer writes a heat field, and the renderer cuts that heat into 4 to 7 hard colour bands. That banding is what makes it read like hand-animated pixel art instead of a blurry glow.

The skill teaches Claude the craft side: shape before colour, a one- or two-frame flash at impact, a fast eased expansion, then a slower break-up. It lists frame counts that read well (hits at 8 to 10 frames and 18 fps, explosions at 16 to 20 frames and 15 fps) and tells it to match the effect's pixel density to your character. The renderer even reports the impact frame, the frame with the biggest jump in coverage, which you can hook up to hit-stop or screen shake in your game.

Other knobs that matter for production:

  • Canvas from 8 to 512 pixels, up to 120 frames, 1 to 60 fps, seamless loops for auras, beams and portals
  • Palette lock to pico8, sweetie16, endesga32, gameboy, onebit, or your own hex list
  • 27 named colour ramps (fire, ice, void, holy, poison, and more) or any hue:<degrees>
  • Outlines inside or outside, ordered dithering, and stray-pixel cleanup
  • Backdrop preview: render the effect over your own character sprite at a chosen anchor point

Recipes move freely between the web tool (Copy JSON and Paste JSON) and the skill, because both run the same engine.

We ran it

We downloaded the skill ZIP and ran the renderer locally with no install step. One prompt:

node scripts/render.mjs --prompt "huge purple lightning nova" --out vfx

It returned "Storm Nova": 16 frames at 128×128 and 15 fps, one-shot, with frame 1 flagged as the impact frame. That took 332 ms on a CPU and wrote the sprite sheet, atlas JSON, a 4× GIF and an editable recipe. --prompt only understands a fixed vocabulary of 34 effect forms (explosion, slash, beam, portal, heal, levelup, meteor, shield, fireworks and so on) plus element, size, speed and colour words. For anything outside that, the agent writes the recipe itself.

Useful commands from the skill:

node scripts/render.mjs --prompt "fire tornado" --describe                    # see how a prompt is read
node scripts/render.mjs effect.recipe.json --out vfx --scale 4 --frames       # render your own recipe
node scripts/render.mjs effect.recipe.json --backdrop hero.png --at 120,150   # preview on a character
node scripts/render.mjs --list                                                # layer types, ramps, palettes

Getting it into your engine

  • Godot: use an AnimatedSprite2D with a SpriteFrames resource sliced on the sheet's grid, or grab the web tool's game-ready ZIP, which already includes Godot 4 SpriteFrames.
  • Unity: set Sprite Mode to Multiple, Filter Mode to Point, Compression to None, then slice by cell size.
  • Anything else: the PNG sheet plus the JSON atlas works in any engine that reads a grid.

If you want a character to stage the effect on, the skill can call Scenario MCP to generate a matching pixel sprite. The Forge page's own stage art was made with Retro Diffusion Plus. The skill tells the agent to price every paid call with a dry run and confirm with you first, while the effects themselves never cost anything.

Licensing note

Scenario says it "open-sourced" the skill, but the ZIP we downloaded contains no license file, and the skill isn't yet in Scenario's MIT-licensed scenario-labs/skills repo. The exports are your own renders. If you plan to modify and redistribute the engine code itself, wait for an explicit license.

Conclusion

Pixel effects are one of those jobs that eats days in a small game team: a dozen hits, slashes and spells, each hand-timed frame by frame. Pixel VFX Forge doesn't replace a VFX artist's eye, but it turns "give me a frost nova that breaks into shards" into a deterministic, palette-locked sprite sheet in under a second, with an agent that can keep iterating without spending anything. For jam games, prototypes and indie projects, that's a real shortcut.

—Titus