118 lines
8.9 KiB
Markdown
118 lines
8.9 KiB
Markdown
# 回响星核 / Echo Nexus — 开发工作日志
|
||
|
||
> 持续性任务的工作交接文档。每个阶段更新,避免进度丢失。
|
||
|
||
---
|
||
|
||
## 项目当前状态描述 / 判断
|
||
|
||
- **阶段**:v0.1 MVP 实现中(设计已定稿,进入编码)
|
||
- **已完成**:
|
||
- 游戏市场调研(多源交叉验证,2024-2026 数据)
|
||
- GDD 游戏设计文档(世界观、核心循环、六大系统、MVP 范围)
|
||
- 技术架构设计(栈选型、目录结构、状态模型)
|
||
- Gitea 仓库 `Super_Z/echo-nexus` 已创建,文档已推送
|
||
- **当前目标**:实现 v0.1 MVP —— 放置采矿 + 解码共振谜题 + 技术树 + 记忆图谱 + 飞升
|
||
- **技术栈**:Next.js 16 + TypeScript + Tailwind + shadcn/ui + Canvas + Zustand
|
||
|
||
## 游戏核心概念(一句话)
|
||
|
||
深空考古放置策略游戏:自治无人机采矿→解码记忆晶体(原创共振谜题)→拼凑碎片叙事→飞升多周目。差异化:解码谜题驱动叙事涌现,全息晶体+深空粒子美学。
|
||
|
||
## 当前目标 / 已完成的修改 / 验证结果
|
||
|
||
### 已完成
|
||
- 调研报告、GDD、技术架构文档 → 已提交 Gitea
|
||
- v0.1 MVP 实现:放置采矿 + 解码共振谜题 + 技术树 + 记忆图谱 + 飞升 + 统计
|
||
- 仓库地址:https://git.atdunbg.xyz/Super_Z/echo-nexus
|
||
|
||
### v0.1.1 解码系统修复(用户反馈「大量无法通过」)
|
||
- **根因**:generatePuzzle 随机填色未保证有解,产生大量死局
|
||
- **修复**:路径构造法生成器(100% 可解率)+ isSolvable 精确检测 + undoStep 撤销 + 卡死提示横幅 + canStartFrom 可行起点高亮 + 旧存档兼容
|
||
- **验证**:3000/3000 可解;agent-browser T1/T2 端到端通过;死路检测/撤销/可行起点高亮全部准确
|
||
- 详见 docs/repo/docs/04-解码系统修复-v0.1.1.md
|
||
|
||
### v0.2 遗迹探险肉鸽系统(本轮完成)
|
||
- **新功能**:能量系统(3/5, 45s恢复) + 探险力/生命 + 6种节点类型(战斗/宝藏/抉择/解谜/休整/BOSS) + 程序化路径(5-7节点) + 实时奖励 + 失败保留 + 主动撤退 + 探险日志
|
||
- **配套修复**:HP clamp + 探险奖励绕过仓库上限 + 仓库满仓UX警告 + 闲置产能上限优化
|
||
- **UI**:探险标签页(入口态/进行态) + 节点路径图可视化 + 事件卡 + 生命/能量条
|
||
- **验证**:全流程通过(出发→探索→前进→BOSS→结束),奖励绕过cap验证(101>50),HP clamp验证
|
||
- 详见 docs/repo/docs/05-遗迹探险系统-v0.2.md
|
||
|
||
### v0.2.1 程序化音频 + 成就系统 + 视觉打磨(本轮完成)
|
||
- **QA 结论**:v0.2 全系统稳定,解码/探险/技术树/通知均正常,无 bug,故推进新功能
|
||
- **程序化音频系统**(`src/lib/game/audio.ts`):Web Audio API 零资源文件,15 种音效(脉冲/解码按色变调/探险/飞升/成就/界面),受 soundOn 开关控制,首次交互后初始化 AudioContext
|
||
- **成就系统**(`src/lib/game/achievements.ts`):14 项成就,跨周目永久产能/洞见加成,Toast+音效通知,每秒由主循环检测
|
||
- `GameState.achievements` 新字段;`recomputeStats` 聚合三层加成(技术+蓝图+成就)
|
||
- 旧存档兼容:init() 补全 achievements={}
|
||
- UI:5 列标签栏新增「成就」页 + AchievementsPanel + AchievementNotifier
|
||
- **视觉打磨**:脉冲粒子爆发(6-12粒子径向发散) + 扩散环 + 浮动数字按连击变色(绿→紫→琥)
|
||
- **Gitea 工单**:处理 Issue #1「就一直连连看?」——回复说明 6 大玩法层 + 路线图
|
||
- **验证**:agent-browser 全流程通过;成就 3/14 解锁;lint 零错误;HTTP 200
|
||
- 详见 docs/repo/docs/06-音频与成就系统-v0.2.1.md
|
||
|
||
### v0.3 星潮事件系统(本轮完成)
|
||
- **动机**:回应 Issue #1「玩法单一」反馈,为放置循环注入动态变化
|
||
- **6 种星潮**(`src/lib/game/starTide.ts`):晶体潮(产能×2)/谐振风暴(解码×1.6)/遗迹共振(探险+5力+30血)/虚空低语(洞见×2)/星核悸动(接触×3脉冲×2)/寂静期(产能×0.5,结束补偿洞见)
|
||
- **触发**:首次 30s,常规间隙 40s,持续 75s,权重抽取,飞升重置
|
||
- **修饰器应用**:产能/脉冲/解码奖励即时乘;洞见/接触率进 recomputeStats 缓存;探险力/血量即时加
|
||
- **UI**(`src/components/game/StarTide.tsx`):顶部指示器芯片(图标+名称+倒计时) + 全屏背景叠层(色带+呼吸光) + Toast通知 + Footer联动
|
||
- **音效**:tideStart(神秘扫频) + tideEnd(柔和消退),程序化合成
|
||
- **QA**:agent-browser 全流程通过(触发/指示器/叠层/寂静期补偿 50→81 洞见);VLM 视觉确认;lint 零错误
|
||
- 详见 docs/repo/docs/07-星潮事件系统-v0.3.md
|
||
|
||
### v0.3.1 星图天文台 · 元进程天赋系统(本轮完成)
|
||
- **动机**:再次回应 Issue #1「就一直连连看?」——加入 Slay the Spire 式飞升后 3 选 1 天赋 draft,跨周目永久生效,增加策略深度 + 视觉变化
|
||
- **核心模块**(`src/lib/game/constellation.ts`):
|
||
- 6 大星座 × 3 颗星 = **18 个天赋**:永动矿脉(翠)/光谱矩阵(玫)/远征星图(琥)/接触回响(紫)/虚空市场(灰)/宇宙回响(金)
|
||
- `constellationBonuses()` 聚合 19 项修饰器(产能/上限/脉冲/洞见/解码步数/自动解码周期/探险生命/探险力/能量上限/接触率/飞升门槛/蓝图全属性/离线效率/T2T3概率/星潮间隙/飞升礼包/解码奖励/全局产能)
|
||
- `rollPerkChoices()` 智能抽取:保证 3 个来自不同类别
|
||
- `getConstellationLayout()` 六边形布局 + `getStarsInCategory()` 三角形排布
|
||
- **状态扩展**(`types.ts` + `config.ts`):`GameState.constellation: string[]` + `pendingPerkChoices: string[] | null`
|
||
- **引擎接入**(`engine.ts`):`recomputeStats` 聚合三层加成(技术+蓝图+成就+星图);`performPrestige` 触发天赋选择 + 飞升礼包补偿;新增 `rollCrystalTierWithBonus()`
|
||
- **探险系统接入**(`expedition.ts`):`computeExpeditionPower` + `computeExpeditionHp` 应用星座修饰器
|
||
- **Store 接入**(`gameStore.ts`):
|
||
- 新增 `chooseConstellationPerk(perkId)` + `rerollPerkChoices()` 动作
|
||
- `tickTide` 应用星潮间隙缩减;`autoDecodeTick` 应用周期缩减;`tick` 应用 T2/T3 概率补偿;`clickNode`/`autoDecodeTick` 应用解码奖励倍率
|
||
- 旧存档兼容:init() 补全 constellation=[] / pendingPerkChoices=null / energyMax 加成
|
||
- **UI 组件**:
|
||
- `ConstellationPanel.tsx`:Canvas 动态星图(六边形 6 星座 × 3 星点,闪烁/光晕/十字光线/连接线/中心星核呼吸)+ Hover 提示 + 类别图例 + 已解锁列表
|
||
- `ConstellationDialog.tsx`:飞升后自动弹出,3 卡片 draft + 重新抽取 + 选中粒子动画
|
||
- `PrestigeDialog.tsx`:增加「星图觉醒预告」卡片
|
||
- `page.tsx`:6 列标签栏(探险/技术/星图/图谱/成就/统计)+ 顶部「觉醒」按钮(pendingPerkChoices 存在时脉冲提示)+ 统计面板加星图天赋条目
|
||
- **音频**:新增 `constellation` SFX(上升琶音 C5→E5→G5→C6 + 高频闪光 2093Hz)
|
||
- **成就**:新增 2 项 —— `ach_constellation_1`「星图初绘」(+30 洞见·产能+5%) / `ach_constellation_6`「六分星辉」(产能+12%·洞见+12%)
|
||
- **QA 验证**(agent-browser + VLM):
|
||
- 星图标签渲染正确,6 类别图例齐全
|
||
- 设置 pendingPerkChoices 后对话框自动弹出,3 卡片显示不同类别
|
||
- 点击天赋 → constellation 数组增加,crystalsPerSec 提升,pending 清空,对话框关闭
|
||
- 重新抽取 → 3 张新卡片(不同类别)
|
||
- 多天赋叠加:c_min_1 + c_con_1 → crystalsPerSec 1.416, contactRateMult 1.2
|
||
- 6 类别各 1 天赋 → 自动解锁「六分星辉」成就(Toast 弹出)
|
||
- VLM 视觉确认:星图 Canvas 渲染正确,单星点亮(绿色永动矿脉)
|
||
- **lint 零错误;HTTP 200;编译 < 200ms**
|
||
- 详见 docs/repo/docs/08-星图天文台系统-v0.3.1.md
|
||
|
||
### v0.3.1 收尾(本轮提交)
|
||
- 推送 Gitea:3 个 commit(submodule 文档 + 主仓功能 + 清理)
|
||
- 回复 Issue #1:列出 6 大玩法层 + v0.3.1 新增 + 路线图
|
||
- 暴露 dev 期 store 调试钩子 `window.__gameStore`(仅 non-production)
|
||
- 目标提示增加星图天赋引导(飞升后觉醒时显示)
|
||
|
||
### 进行中
|
||
- [ ] 持续迭代:云存档+排行榜(v0.4)、全5纪元叙事(v0.5)、socket 多人同步星潮(后续)
|
||
|
||
## 未解决问题或风险 / 下一阶段优先事项
|
||
|
||
- v0.3 星潮为单机版(原计划 socket 全局事件),后续可扩展为多人同步
|
||
- Issue #1 玩家反馈已通过星潮系统部分回应,后续可加更多探险事件变体
|
||
- v0.2 探险 BOSS 战胜率较低(基础探索力 10 vs BOSS 难度 5-7,胜率约 25%),需玩家投资探险技术
|
||
- 探险能量恢复较慢(45s/点),后续可加技术提升恢复速度
|
||
- 需持续关注 Gitea 工单(仓库 Issues)获取额外需求
|
||
- 下一阶段优先:云存档+排行榜、全5纪元叙事
|
||
|
||
## 定时任务
|
||
- 已设置:每 15 分钟 webDevReview(自动 QA + 迭代开发,job_id: 227581)
|
||
|
||
---
|