5.8 KiB
5.8 KiB
📐 ASSET NAMING & ORGANIZATION STANDARDS
Created: January 4, 2026
Purpose: Standardized naming for all game assets
🎨 SPRITE NAMING CONVENTION
Format:
{category}_{name}_{variation}_{timestamp}.png
Examples:
interior_bed_sleepingbag_1767523722494.png
interior_bed_wooden_1767523739033.png
interior_bed_kingsize_1767523753754.png
mine_elevator_cage_1767524542789.png
npc_baker_idle_1767524000000.png
📁 CATEGORY PREFIXES
Interior Objects:
interior_{object_name}.png
Examples:
interior_bed_wooden.pnginterior_table_small.pnginterior_kitchen_stove.pnginterior_alchemy_bottle.png
Buildings:
building_{name}_{type}.png
Examples:
building_bakery_exterior.pngbuilding_barbershop_exterior.pngbuilding_lawyer_office.png
Mine Assets:
mine_{object_name}.png
Examples:
mine_entrance_portal.pngmine_elevator_cage.pngmine_ore_vein_copper.png
NPCs:
npc_{name}_{state}.png
Examples:
npc_baker_idle.pngnpc_barber_working.pngnpc_lawyer_sitting.png
UI Elements:
ui_{element_name}.png
Examples:
ui_sleep_button.pngui_crafting_menu_bg.pngui_shop_window.png
Terrain:
terrain_{type}_{variant}.png
Examples:
terrain_grass_dark_01.pngterrain_stone_cursed_02.pngterrain_water_purple.png
Weapons & Tools:
weapon_{name}_{tier}.png
tool_{name}_{tier}.png
Examples:
weapon_sword_steel.pngweapon_scythe_cursed.pngtool_pickaxe_wooden.pngtool_hoe_iron.png
📦 DIRECTORY STRUCTURE
/assets/images/
├── STYLE_32_SESSION_JAN_04/ # Current session
│ ├── interior_*.png # All interior objects
│ ├── mine_*.png # Mine equipment
│ ├── building_*.png # Building exteriors
│ ├── npc_*.png # NPC sprites
│ └── ui_*.png # UI elements
│
├── buildings/ # Legacy organized by type
│ ├── bakery/
│ ├── barbershop/
│ └── lawyer_office/
│
├── npcs/ # NPC-specific assets
│ ├── baker/
│ ├── barber/
│ └── lawyer/
│
├── ui/ # UI components
│ ├── menus/
│ ├── buttons/
│ └── icons/
│
└── tilesets/ # Tileset images
├── interior_objects.png # Combined tileset
└── mine_assets.png # Combined mine tileset
🏷️ FILENAME COMPONENTS
1. Category (Required)
- Identifies asset type
- Lowercase, singular
- Examples:
interior,building,npc,ui,mine
2. Name (Required)
- Descriptive object name
- Lowercase, underscores for spaces
- Examples:
bed,crafting_table,stone_crusher
3. Variation (Optional)
- Distinguishes similar items
- Examples:
wooden,small,kingsize,tier1
4. State/Animation (Optional for NPCs)
- Character state or animation frame
- Examples:
idle,walking,working,sitting
5. Timestamp (Auto-generated)
- Unix timestamp from generation
- Format: 13 digits
- Example:
1767523722494
📏 SIZE STANDARDS
Interior Objects:
Small items: 32x32px (bottles, tools)
Medium items: 64x64px (chests, chairs)
Large items: 96x96px (beds, ovens, crushers)
Tall items: 64x96px (wardrobes, shelves)
Wide items: 96x64px (counters, tables)
Floor decals: 96x96px (ritual circle)
Vertical: 32x128px (ladders)
Horizontal: 128x32px (rails, tracks)
Buildings:
Small: 128x128px (shops)
Medium: 192x192px (houses)
Large: 256x256px (town hall)
NPCs:
Standard: 48x64px (chibi characters)
Large: 64x96px (bosses, special NPCs)
UI Elements:
Icons: 32x32px (inventory items)
Buttons: 128x48px (action buttons)
Panels: 400x300px (menus, dialogs)
✅ CLEAN FILENAME EXAMPLES
Good:
✅ interior_bed_wooden.png
✅ mine_ore_vein_gold.png
✅ npc_baker_idle.png
✅ building_bakery_exterior.png
✅ ui_sleep_menu_bg.png
Bad:
❌ BedWooden.png (CamelCase)
❌ interior-bed-wooden.png (dashes instead of underscores)
❌ bed_wooden_interior.png (wrong order)
❌ wooden bed.png (spaces)
❌ bed2.png (not descriptive)
🔄 RENAMING SCRIPT
Batch rename generated files:
# Remove timestamps from final assets
for file in interior_*_*.png; do
# Extract base name (remove timestamp)
newname=$(echo "$file" | sed 's/_[0-9]\{13\}\.png/.png/')
mv "$file" "$newname"
done
Example output:
interior_bed_wooden_1767523722494.png → interior_bed_wooden.png
interior_table_small_1767523769657.png → interior_table_small.png
📋 ASSET CHECKLIST
Before committing new assets:
- Correct category prefix used
- Descriptive, clear name
- Lowercase with underscores
- Correct size (multiple of 32px)
- Chroma green background (#00FF00)
- Style 32 compliance (5px outlines, noir aesthetic)
- Placed in correct directory
- Documented in manifest
📚 MANIFEST FORMAT
Track all assets in ASSET_MANIFEST.md:
## Interior Objects
| Filename | Size | Category | Status | Notes |
|----------|------|----------|--------|-------|
| interior_bed_sleepingbag.png | 64x48 | Home | ✅ Complete | Basic tier |
| interior_bed_wooden.png | 96x64 | Home | ✅ Complete | Mid tier |
| interior_bed_kingsize.png | 128x96 | Home | ✅ Complete | Premium tier |
Created: January 4, 2026
Version: 1.0
Status: Official Standard ✅