文件创建人: 北辰 (AI 设计搭档)

目标周期: 1-2 天 (Focus on Core Loop Validation)

核心技术栈: Next.js / React Three Fiber (R3F) / Tailwind CSS / Claude 3.5 Sonnet

1. 核心目标与哲学 (The Goal & Philosophy)

核心验证: 验证 Low-Poly 视觉风格在 Web 3D 中的表现力,以及**“具身领袖近场沟通”**的核心交互流畅性。

开发原则:

  1. MOCK AI 优先: (核心原则不变) 暂不接入真实 LLM API,指令执行逻辑全部在前端代码中模拟 (Mock) 完成。

  2. 视觉至上: 重点投入在光影色彩上,确保画面具有“高级手办感”。

  3. 影响力优先: 交互模式为 “靠近 说话 影响”,彻底废弃“点击选择”的操作模式。

2. 视觉目标 (Visual Target: Stylized Low-Poly)

我们旨在实现风格化 Low-Poly 的高级感,而非简陋的方块堆砌。

元素材质 / 特点
视角45 度等轴测俯视 (Isometric),通过正交相机 (OrthographicCamera) 实现。
光影必须配置 <directionalLight> 投射柔和阴影 (Soft Shadows),让物体具有立体感。
地面浅绿色/棕色大平面,具有接收阴影属性。
植被/资源几何体拼凑:树 = 棕色圆柱 (Cylinder) + 绿色圆锥 (Cone)。
UI采用 Glassmorphism(玻璃拟态)+ 清晰几何风格。

3. 功能清单 (Feature Breakdown)

阶段模块详细功能描述依赖技术
A. 启动仪式登录/加载实现 gameStarted 状态切换。启动页使用 ‘刻下文明的代号’ 输入框和 ‘执行启动协议’ 按钮。useState, Tailwind CSS
B. 场景构建游戏地图80x80 宏大网格。配置正交相机暖色调光影R3F, @react-three/drei
C. 世界填充资源点核心区 20x20 生成树木/石头。外围生成山脉/水体占位符。R3F, Math.random
D. 角色与移动玩家化身1 个白色几何人偶 (执政官)。实现 WASD 平滑移动。R3F, Keyboard Controls
E. 智能体 (NPC)智能体化身1 个土黄色几何人偶 (德米特里)。拥有头顶状态气泡。实现随机漫步近场感知逻辑。R3F, <Html>, Distance Check
F. 核心循环近场沟通交互逻辑:玩家移动到 NPC 3米内 NPC 气泡显示👂 玩家在底部输入指令 NPC 气泡显示🧠 执行 Mock 动作 (🪓)。Raycasting, Proximity Check
G. UI 界面双层 UI1. 对话面板 (常驻底部): 显示玩家和 NPC 的对话历史。



2. 系统日志 (右侧): 双态设计 (Mini/Expanded),显示资源获取等系统事件。
Tailwind, Shadcn UI

4. 执行步骤拆解 (4-Step Prompt Flow)

我们将按以下顺序逐一生成代码:

阶段 1:舞台搭建 (Canvas & Lighting Setup)

  • Prompt 目标: 建立 R3F 画布、配置相机、暖色灯光和阴影。

  • 代码目标: app/page.tsx 引入 <Canvas>,设置 shadows,配置 OrthographicCamera

阶段 2:世界生成 (Grid & Resources)

  • Prompt 目标: 实现 80x80 地图网格。拆分 ResourceTile 组件。生成核心区森林和外围山水。

  • 代码目标: /components/World/ResourceTile.tsx, /components/Game/GameScene.tsx

阶段 3:角色与移动 (Player & Movement)

  • Prompt 目标: 创造 PlayerLeader (WASD控制) 和 WorkerAgent (随机漫步)。

  • 代码目标: /components/Character/PlayerLeader.tsx, /components/Character/WorkerAgent.tsx

阶段 4:UI与模拟 (UI & Mock Command) [重点更新]

  • Prompt 目标:

    1. 实现近场感知逻辑 (Proximity Check)。

    2. 实现对话面板双态系统日志

    3. 实现 Mock AI 行为链:听到指令 思考 砍树 产出资源。

  • 代码目标: /components/Game/GameUI.tsx, 整合逻辑到 GameScene.tsx

当前进度: 阶段 1, 2, 3 已完成 (需确认是否需要微调)。

下一步: 执行 阶段 4。