← Wiki

ANIMATION GUIDE

Pickaxe Swing Animation

4-frame mining swing used when the player hits quarry walls. Plays once at 12fps (0.33s total). The character's facing direction maps to 4 cardinal swing directions.

Canvas64 x 64 px
Frames4 per direction
DirectionsSouth, East, West, North
FPS12 (83ms/frame)
Export256 x 64 horizontal strip
Godot pathassets/sprites/player_swing_{dir}.png
StatusV2 - Hand-drawn arms

Current Swing (All Directions)

Tap a direction to see its frame breakdown below.

Frame Breakdown

Select a direction above.

V2 Status

Arms are now hand-drawn per frame with hands gripping the pickaxe handle. Each frame has unique arm positions using the character's exact skin/sleeve colors. The .aseprite templates remain available for further polish.

Body Layer Breakdown

V2 frame breakdown showing the core body (static torso/head/legs) vs. the animated arm + pickaxe layer (hands gripping the handle). Tap a direction above to update.

Layered .aseprite templates are in assets/sprites/animations/

V2 Animation Workflow

The recommended approach from SLYNYRD and pixel art community consensus:

Open the layered template

Open pickaxe_swing_{dir}_layered.aseprite. It has 5 layers: reference (50% opacity guide), core, left-arm, right-arm, tool.

Enable onion skinning

Press F3 in Aseprite. This shows ghosted previous/next frames so you can see the motion arc while drawing.

Animate the arms first

On the arm layers, redraw the arms for each of the 4 frames: wind-up (raised), mid-swing (coming down), impact (extended low), recovery (pulling back). Keep thickness and length consistent.

Add the pickaxe on the tool layer

Draw the pickaxe so the handle connects to the hand in each frame. The grip point should track with the right hand across all 4 frames.

Do south first, then translate

Complete one direction fully. Then translate the arm keyframes to the other 3 directions. Check consistency by flipping between directions frame-by-frame.

Export strips

Hide the reference layer. Export as horizontal strip: File > Export Sprite Sheet > Horizontal Strip > 256x64. Save as player_swing_{dir}.png.

Or run: python3 tools/build_tool_animations.py pickaxe

Tool Animation Pipeline

The same workflow applies to all 5 planned tools. Each shares the base body but needs unique arm poses and tool art.

PickaxeV1 composite Overhead mining swing
WrenchPlanned Rotational twist
HammerPlanned Overhead slam
Fire Ext.Planned Spray forward
ThrowPlanned Overhand toss

Reuse strategy

Per the LPC approach: generate a full swing from only 3 source views (side, 45-degree, rear) by reordering frames per direction. South plays frames 1-2-3-4, North plays 4-3-2-1. This cuts unique art from 16 to ~6 frames.

Asset Specs Quick Ref

Tile size48 x 48 px
Character canvas64 x 64 px (body ~60%)
Item icons32 x 32 px
Palette42 colors (data/palette.json)
OutlineSelective (no heavy black)
ShadingMedium (2-3 tones)
ViewHigh top-down, symmetrical