feat: add gameplay enhancements and visual improvements

Backend:
- Add weather system with 6 weather types and transition probabilities
- Add day/night cycle (dawn, day, dusk, night) with phase modifiers
- Add mood system for agents (happy, neutral, sad, anxious)
- Add new commands: heal, talk, encourage, revive
- Add agent social interaction system with relationships
- Add casual mode with auto-revive and reduced decay rates

Frontend (Web):
- Add world state display (weather, time of day)
- Add mood bar to agent cards
- Add new action buttons for heal, encourage, talk, revive
- Handle new event types from server

Unity Client:
- Add EnvironmentManager with dynamic sky gradient and island scene
- Add WeatherEffects with rain, sun rays, fog, and heat particles
- Add SceneBootstrap for automatic visual system initialization
- Improve AgentVisual with better character sprites and animations
- Add breathing and bobbing idle animations
- Add character shadows
- Improve UI panels with rounded corners and borders
- Improve SpeechBubble with rounded corners and proper tail
- Add support for all new server events and commands

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
empty
2026-01-01 15:25:15 +08:00
parent 8264fe2be3
commit 6c66764cce
18 changed files with 3418 additions and 313 deletions

View File

@@ -15,6 +15,7 @@ class EventType(str, Enum):
TICK = "tick"
SYSTEM = "system"
ERROR = "error"
# Island survival events
AGENTS_UPDATE = "agents_update" # All agents status broadcast
AGENT_DIED = "agent_died" # An agent has died
@@ -24,6 +25,26 @@ class EventType(str, Enum):
WORLD_UPDATE = "world_update" # World state update
CHECK = "check" # Status check response
# Day/Night cycle (Phase 2)
TIME_UPDATE = "time_update" # Time tick update
PHASE_CHANGE = "phase_change" # Dawn/day/dusk/night transition
DAY_CHANGE = "day_change" # New day started
# Weather system (Phase 3)
WEATHER_CHANGE = "weather_change" # Weather changed
MOOD_UPDATE = "mood_update" # Agent mood changed
# New commands (Phase 4)
HEAL = "heal" # User healed an agent
TALK = "talk" # User talked to an agent
ENCOURAGE = "encourage" # User encouraged an agent
REVIVE = "revive" # User revived a dead agent
# Social system (Phase 5)
SOCIAL_INTERACTION = "social_interaction" # Agents interacted
RELATIONSHIP_CHANGE = "relationship_change" # Relationship status changed
AUTO_REVIVE = "auto_revive" # Agent auto-revived (casual mode)
class GameEvent(BaseModel):
"""