All skills

Pixel Art

Make modern, polished pixel-art animated videos (MP4) with code — indie-game look (Celeste / Eastward / Stardew-level scenes, original), 480×270 ar…

Claude skills3 min read

By edenfunf/reelmimic, MIT licence. Shared here with credit.

Pixel art engine

Every frame is a pure function of t. Shots draw into a 480×270 software framebuffer (world unit = one art pixel), ENGINE.end upscales it ×4 to 1920×1080 with nearest-neighbour, and window.overlayHook draws crisp pixel captions on top at full res. Same render contract and render.mjs CLI as painted-animation.

Workflow

  1. Scaffold: bash .claude/skills/pixel-art/scripts/new_project.sh <project-dir> [--keep-demo], then read GUIDE.md in full (look rules, full API, character system, review loop). Look at docs/model-faces.png, docs/model-views.png, docs/kit-sheet.png, docs/demo-sheet.jpg.
  2. Storyboard with reads per shot (as in painted-animation). Pick a palette per shot (pal('day'|'dusk'|'night')) and a colour arc.
  3. Build one file per shot in src/scenes/, IIFE-wrapped, ending with shots([[t0, fn], ...]); add a <script> in studio.html (replace the demo). Scenes call only the library + cast; never redraw a character's body.
  4. Review every shot (sheet, strips of every action and transition, crops of faces), fix, repeat:
    node render.mjs --sheet=0.5,1,1.5,2 --cols=4 --w=480 --out=out/check/a.jpg
    node render.mjs --strip=3.3:4.3 --cols=6 --w=320 --out=out/check/jump.jpg
    node render.mjs --sheet=4.5 --crop=780,380,700,560 --w=700 --out=out/check/face.jpg
    node render.mjs --loop=faces --stills=0.5 --out=out/sheets          # model sheets: faces | views | kit | wipes
    
  5. Render: node render.mjs --frames --workers=4 && node render.mjs --encode --out=out/video.mp4 [--audio=...].

Free, for your email

Unlock the full skill and get it by email

The rest opens right here, and a copy comes to your inbox too. One email unlocks every guide and every skill. Use your real address.

Unlocks: API in one screen (details in GUIDE.md) · Rules that matter most · Engine gotchas

No spam. Reply "unsubscribe" any time and I delete your address.