tinyworld-25d-template-sprites

star 953

Use when changing the playable 2.5D template sprite, cloning it into character classes, or wiring idle/walk/attack sprite-sheet playback.

jasonkneen By jasonkneen schedule Updated 6/8/2026

name: tinyworld-25d-template-sprites description: Use when changing the playable 2.5D template sprite, cloning it into character classes, or wiring idle/walk/attack sprite-sheet playback.

TinyWorld 25D Template Sprites

This is not the crowd system. Do not route playable template work through vendor/tiny-crowd-layer.js, crowd/, or engine/world/11-vehicle-crowd.js.

Runtime:

  • engine/world/47-worlds-room.js owns the playable in-world/player-room avatar from these template sheets.
  • The character is runtime-only and must not write into world[x][z], cellMeshes, export JSON, saved worlds, or crowd people.
  • Movement uses WASD/arrows. Jump uses Space. Attack uses F. Class cycling uses [ / ].
  • The world-room avatar class API is exposed via window.__tinyworldWorlds: setAvatarClass(name), cycleAvatarClass(delta), avatarClass(), and avatarClasses().
  • Warrior/orc side-view avatars in engine/world/47-worlds-room.js are also 64px grid sheets: columns are animation frames and rows are directions. Crop to a single row with repeat.y = 1 / rows; do not sample a full 256px-tall column, or four stacked bodies render in-world.
  • The Worlds avatar picker/runtime should use the side-view Without_shadow sheets for swordsman/orc avatars unless the user explicitly asks for baked ground shadows.
  • Side-view swordsman/orc row order is front/down, left, right, back/up. Movement should update the sampled row from the camera-relative sector; do not fake left/right by flipping a single side row when the sheet has real side rows.

Assets:

  • Source template sheets live under models/people/25D/.
  • Idle/walk/run sheets are 64px grid sheets.
  • Attack sheets are 96px grid sheets.
  • Rows are ordered: down, downRight, right, upRight, up, upLeft, left, downLeft.
  • Generated class sheets live under models/people/25D/classes/<class>/ as idle.png, walk.png, and attack.png.
  • Regenerate class sheets with python3 tools/generate-playable-25d-classes.py.

When adding a class:

  1. Add the class name to CLASSES and an overlay function in tools/generate-playable-25d-classes.py.
  2. Add the class name to AVATAR_CLASSES in engine/world/47-worlds-room.js.
  3. Regenerate sheets, then run npm test and npm run build.
Install via CLI
npx skills add https://github.com/jasonkneen/tiny-world-builder --skill tinyworld-25d-template-sprites
Repository Details
star Stars 953
call_split Forks 133
navigation Branch main
article Path SKILL.md
More from Creator