Skip to content

Convert all entity sprites to 4-frame animated spritesheets #62

@aebrer

Description

@aebrer

Feature Request

The barrel_fire 4-frame animation at 6 FPS looks incredible in-game — subtle flame flickering that brings the world to life. We should apply this treatment to ALL entity sprites.

Architecture (already in place)

The ENTITY_SPRITESHEETS system in entity_renderer.gd is generic and ready to go. To animate any entity:

  1. Generate a 4-frame spritesheet (horizontal strip, e.g., 256x64 for 64x64 frames)
  2. Add entry to ENTITY_SPRITESHEETS:
    "entity_type": {
        "path": "res://assets/textures/entities/entity_type_spritesheet.png",
        "frames": 4,
        "fps": 6.0,
    }
  3. The system automatically creates AnimatedSprite3D with AtlasTexture regions

Entities to animate

Enemies (subtle idle animations — breathing, pulsing, shifting)

  • bacteria_spawn — pulsing/throbbing organic mass
  • bacteria_motherload — heaving, tentacles shifting
  • bacteria_spreader — rotating spikes, chemical bubbling
  • smiler — flickering grin, eyes shifting
  • tutorial_mannequin — subtle sway or creepy stillness-then-twitch

Environmental

  • barrel_fire — flame flickering (DONE, commit cbd6901)
  • fluorescent_light — subtle warm glow pulse (very subtle, almost imperceptible)
  • fluorescent_light_broken — occasional flicker/spark
  • vending_machine — screen flicker, button lights
  • exit_hole — swirling darkness, depth shimmer

Items (lower priority — currently use different renderer)

  • Items use item_renderer.gd with Sprite3D, would need similar AnimatedSprite3D path

Notes

  • Use the texture generation virtuous cycle (creator → critic → revise) for each spritesheet
  • FPS should vary by entity: 6 FPS for fire, 2-3 FPS for subtle environmental, 4 FPS for enemies
  • Keep the same 64x64 frame size for consistency
  • Existing static textures stay as fallbacks in ENTITY_TEXTURES

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions