日期: 2025年12月11日 项目状态: 阶段 4 核心循环已跑通。正处于 V0.2 架构升级前夕。

I. V0.1 成果总结与架构状态

1. 核心功能验收 (V0.1 Done)

  • 具身领袖: 玩家角色(执政官)可 WASD 移动。

  • 近场沟通: 玩家靠近 NPC (德米特里) 3米内,底部对话框激活(显示👂图标)。

  • 指令闭环 (Mock): 输入“砍树” 德米特里移动到树 播放砍树动画 树消失 木材 +1。

  • UI 升级: UI 已经过古典石材风格重构,对话框精简,操作指引移至左侧(3A 风格)。

2. 当前架构状态 (Foundation Check)

我们已完成关键的工程化步骤,项目具备极强的扩展性:

文件职责扩展价值
app/config/GameConfig.ts配置中心。 集中管理移动速度、砍树时间等参数。策划可随时调整游戏平衡性。
app/components/Game/GameState.tsZustand 状态库。 管理 logs, wood, isNearAgent, inputFocused 等全局状态。单一数据源,易于追踪。
app/hooks/useGameLogic.ts逻辑中枢。 集中处理距离检测、指令解析、时间心跳等业务逻辑。渲染与逻辑分离,便于调试和替换 LLM 模块。
app/components/Game/GameUI.tsx视觉呈现。 遵循古典雅典风格,具备 3A 级的 HUD 布局。视觉效果已达标,后续只需增加新面板。

II. V0.2 核心目标:生存与智能体深化

V0.2 的主题是:将智能体从“工具”升级为“生命体”

1. 核心体验目标

引入 饥饿压力 (Food Decay)分工协作 (Hunter vs Worker),迫使玩家必须持续关注人民的生存需求。

2. 设计方案:三层优先级状态机 (HISMA)

优先级层级名称包含状态 (AgentState)行为逻辑
🔴 High生存本能STARVING, EATING, SLEEPING饥饿度低于阈值时,强制打断一切,进入 L1 状态。
🟡 Mid社会交互LISTENING, THINKING玩家靠近时打断工作,进入倾听状态。
🟢 Low职业工作IDLE, MOVING, WORKING默认状态。只有 L1 和 L2 不满足时才执行。

3. 数据层改造 (即刻要做的)

我们将把原本简单的 agentState 替换为复杂的 AgentProfile 字典。

// 新的 AgentProfile 接口结构
interface AgentProfile {
    id: string;
    name: string;
    role: 'worker' | 'hunter';
    stats: { satiety: number; energy: number }; // 引入饱食度/精力
    state: AgentState; // 三层状态机中的当前状态
    currentThought: string; // 智能体档案面板的“内心独白”
    shortTermMemory: string[];
}

III. 下一步执行指令 (Execution Prompt)

这是在新对话中要执行的第一个、也是最关键的 Prompt。

Cursor Prompt 5.1 (Data Layer):

“@GameState.ts @GameConfig.ts

【V0.2 核心架构升级】

我们要升级智能体的数据结构,以支持 V0.2 的生存与分层状态逻辑。

1. GameConfig 升级:

  • GameConfig.NPC 下添加 maxSatiety: 100 (饱食度上限), hungerRate: 1 (每次心跳消耗), starveThreshold: 0 (饥饿阈值) 等生存参数。

2. GameState 重构 (核心):

  • 定义新的状态枚举 AgentState = 'IDLE' | 'MOVING' | 'WORKING' | 'THINKING' | 'LISTENING' | 'STARVING' | 'EATING'

  • 定义 AgentProfile 接口(如上文所示)。

  • Store 改造: 将原本分散的 agentState 改为一个 agents: Record<string, AgentProfile> 字典。提供 updateAgent(id, partialData) 方法。

  • 全局心跳: 添加一个 tickSurvival() action,用于在 useGameLogic 中遍历所有 agents 扣除饱食度。

请只修改数据层代码,确保类型定义严谨。”