Files
eagle0/docs/province-event-3d-effects.md
T

2.9 KiB

Province Event 3D Effects

Ideas for replacing 2D shader-based province event effects with 3D particle systems.

Current State

Event Effect Type Notes
Festival 3D particles Complete
Epidemic 3D particles Complete (rising skulls + green haze)
Blizzard 2D shader Not visible on unowned (white) provinces
Drought 2D shader
Flood 2D shader
Beasts None Tricky - can be any animal or human

Proposed 3D Effects

Blizzard

  • Falling snowflakes with slight blue tint (ensures visibility on white backgrounds)
  • Diagonal wind-blown particles to convey harsh weather
  • Swirling vortex effect near ground level
  • Frosty sparkle/glitter particles for magical winter feel

Drought

  • Rising dust/sand particles (tan/brown coloring)
  • Small dust devils (spinning particle columns)
  • Shimmering golden particles rising to suggest heat distortion
  • Dried leaves/debris blowing across the province

Flood

  • Rain falling (blue-tinted streaks or droplets)
  • Water splashes/ripples rising from ground
  • Mist/spray particles hovering low
  • Floating debris particles (leaves, sticks)

Beasts

This is challenging since "beasts" can represent any dangerous creature. Universal approaches:

  • Circling vultures/crows overhead - Predators attract scavengers; works for any beast type and is visually distinctive
  • Dust clouds suggesting movement at province edges
  • Glowing eyes appearing/disappearing in shadows
  • Stylized claw/scratch mark effects
  • Paw prints materializing on the ground
  • Red "danger" aura pulsing from ground level

The vultures/crows approach is recommended as the most universal solution.

Implementation Status

Controllers have been created for all 4 event types:

  • ProvinceBlizzardController.cs - ready, needs prefab
  • ProvinceDroughtController.cs - ready, needs prefab
  • ProvinceFloodController.cs - ready, needs prefab
  • ProvinceBeastsController.cs - ready, needs prefab

Prefabs Needed

Create these prefabs in Assets/Eagle/Effects/:

  1. BlizzardEffect.prefab

    • Particle System with falling snowflakes
    • Blue-tinted particles for visibility on white
    • Diagonal velocity for wind effect
    • RectTransform for UI positioning
  2. DroughtEffect.prefab

    • Particle System with rising dust particles
    • Tan/brown coloring
    • Upward velocity
    • Optional spinning sub-emitters for dust devils
  3. FloodEffect.prefab

    • Particle System with falling rain streaks
    • Blue tint
    • Fast downward velocity
    • Optional splash sub-emitter
  4. BeastsEffect.prefab

    • Particle System with bird silhouettes
    • Circular orbit motion around center
    • Black/dark particles
    • Could use a crow/vulture sprite texture

Scene Setup

Wire up in Assets/Scenes/Eagle.unity:

  1. Add controller components to the Map GameObject
  2. Assign mapContainer, centroidsJson (shared with other controllers)
  3. Assign the effect prefab for each controller