# 🎮 Sprite & Tileset Implementation Guide (Vertical Slice) ## 1. Scope This document defines **technical requirements and pipeline rules** for using generated sprites, tilesets, and VFX in the project. Goal: enable a developer to **import, slice, and assemble a fully playable vertical slice** without ambiguity. --- ## 2. Global Standards ```txt Camera: Top-down (3/4) Tile Size: 64x64 px Internal Grid: 16x16 px Padding: 2 px Format: PNG (RGBA) Filter Mode: Point (no filtering) Compression: None Pixels Per Unit: 64 ``` --- ## 3. Project Structure ```txt /assets /tiles /props /buildings /characters /enemies /items /vfx /ui ``` --- ## 4. Tileset Implementation ### 4.1 Import Settings * Sprite Mode: Multiple * Mesh Type: Full Rect * Filter: Point * Compression: None --- ### 4.2 Grid Slicing ```txt Cell Size: 64x64 Offset: 0,0 Padding: 2px (if present in atlas) Pivot: Center (0.5, 0.5) ``` --- ### 4.3 Tile Categories #### Ground Layer (collision + navigation) ```txt road_center road_variation_01..03 road_edge_N/E/S/W road_corner_outer road_corner_inner ``` #### Overlay Layer (no collision) ```txt overlay_corruption overlay_cracks overlay_grass ``` --- ### 4.4 Tilemap Layers ```txt Layer 0: Ground Layer 1: Overlay Layer 2: Props (optional tile-based) ``` --- ### 4.5 Autotile Requirements Each terrain type must include: ```txt 1 center 4 edges 4 outer corners 4 inner corners 3+ variations ``` --- ## 5. Props Implementation ### 5.1 Import * Sprite Mode: Single * Pivot: Bottom-Center (0.5, 0.0) --- ### 5.2 Rules ```txt Height: 0.5–1.5 tile Scale: consistent with tile grid Collider: BoxCollider (manual) ``` --- ## 6. Character (Hero) ### 6.1 Import Settings ```txt Sprite Mode: Multiple Cell Size: 64x64 Pivot: Bottom-Center (0.5, 0.0) ``` --- ### 6.2 Animation Layout ```txt Row = animation Column = frame Direction = left → right ``` --- ### 6.3 Required Animations ```txt idle: 6 frames walk: 8 frames attack: 6–8 frames hit: 4 frames death: 6 frames ``` --- ### 6.4 Runtime Setup * Animator Controller required * State machine: * Idle ↔ Walk * Walk → Attack * Any → Hit * Any → Death --- ### 6.5 Collision ```txt Collider: Capsule Hitbox: smaller than sprite Weapon hitbox: separate trigger collider ``` --- ## 7. Enemies ### 7.1 Parameters ```txt Size: 96–128 px Pivot: Bottom-Center ``` --- ### 7.2 Animations ```txt idle move attack hit death ``` --- ### 7.3 Gameplay Rules * Weak points must be visually highlighted * Hitbox must NOT match full sprite size --- ## 8. Items (Loot) ### 8.1 Import ```txt Size: 32x32 Pivot: Center (0.5, 0.5) ``` --- ### 8.2 Categories ```txt consumables currency equipment keys ``` --- ### 8.3 Visual Encoding ```txt common = neutral rare = blue epic = purple ``` --- ## 9. VFX ### 9.1 Import ```txt Size: 64–128 px Pivot: Center Material: Additive / Alpha Blend ``` --- ### 9.2 Types ```txt slash impact portal particles electricity ``` --- ### 9.3 Rules * VFX must be separate from characters * Use flipbook animation where applicable * Do NOT bake effects into base sprites --- ## 10. UI ### 10.1 Sizes ```txt Icons: 32x32 Slots: 64x64 Panels: flexible ``` --- ### 10.2 Rules * Icons must be readable without text * Glow indicates interactivity --- ## 11. Lighting Model ### 11.1 Separation ```txt Base sprite = no heavy lighting Emissive = separate (windows, crystals) Lighting = runtime (engine) ``` --- ### 11.2 Restrictions ```txt DO NOT bake global lighting into tiles DO NOT mix emissive with base diffuse ``` --- ## 12. Naming Convention ```txt tiles/road_center_01.png tiles/road_edge_n_01.png props/lamp_01.png characters/hero_idle_01.png characters/hero_attack_03.png enemies/corrupt_beast_idle_01.png items/potion_red.png vfx/slash_01.png ui/icon_attack.png ``` --- ## 13. Engine Setup (Unity / Godot) ### 13.1 Import Settings ```txt Filter Mode = Point Compression = None Pixels Per Unit = 64 ``` --- ### 13.2 Sprite Mode ```txt Tilesets → Multiple Props/Items → Single Characters → Multiple ``` --- ## 14. Collision System ```txt Tilemap Collider → Ground Box Collider → Props Capsule Collider → Characters Trigger Collider → Attacks / Loot ``` --- ## 15. Render Order ```txt 1 Ground 2 Overlay 3 Props 4 Characters 5 VFX 6 UI ``` --- ## 16. Gameplay Loop (Vertical Slice) ```txt 1. Player movement (tilemap navigation) 2. Enter corruption zone 3. Enemy aggro 4. Combat (melee + VFX) 5. Loot drop 6. Loot collection 7. Exit via portal ``` --- ## 17. Critical Constraints ```txt All assets must align to 64x64 grid All sprites must have correct pivot No mixed pixel density No baked lighting abuse Tiles ≠ Props (strict separation) Minimum 3 variations per tile type ``` --- ## 18. Acceptance Criteria Implementation is valid if: * Tilemap builds without seams * Character animations play correctly * Combat loop is functional * Loot is collectible and readable * Portal completes loop * No visual scale inconsistencies --- **End of document**