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.jsowns 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(), andavatarClasses(). - Warrior/orc side-view avatars in
engine/world/47-worlds-room.jsare also 64px grid sheets: columns are animation frames and rows are directions. Crop to a single row withrepeat.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_shadowsheets 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>/asidle.png,walk.png, andattack.png. - Regenerate class sheets with
python3 tools/generate-playable-25d-classes.py.
When adding a class:
- Add the class name to
CLASSESand an overlay function intools/generate-playable-25d-classes.py. - Add the class name to
AVATAR_CLASSESinengine/world/47-worlds-room.js. - Regenerate sheets, then run
npm testandnpm run build.