# 文字冒险游戏设计文档 v2.0 ## 改进版 - 深度挂机养成系统 ## 1. 游戏概述 ### 1.1 游戏类型 - **类型**:文字冒险 + 深度挂机养成 + RPG - **平台**:小程序/网页/app(uni-app框架) - **风格**:纯文字UI,末世生存主题 - **灵感来源**:Proto23、Yet Another Idle RPG - **核心理念**:通过技能驱动成长,强调策略性和深度 ### 1.2 核心玩法循环 ``` 获取技能 → 提升技能等级 → 解锁新内容 → 战斗/探索 → 获取更强装备 → 挑战更强敌人 ↑ ↓ └──────────────────── 离线收益系统 ──────────────────────────────────┘ ``` **核心玩法特色**: 1. **技能驱动系统**:几乎所有成长都通过技能提升来实现 2. **深度养成**:技能不仅有等级,还有里程碑奖励和特殊效果 3. **策略性选择**:通过装备、技能搭配、战斗姿态等体现玩家策略 4. **挂机友好**:支持长时间挂机,离线有收益,但在线玩效率更高 5. **渐进式解锁**:新内容通过技能等级、区域通关、NPC对话等方式逐步解锁 --- ## 2. 核心系统设计 ### 2.1 玩家属性系统(参考 Yet Another Idle RPG) #### 主要属性(Primary Stats) | 属性 | 说明 | 初始值 | 影响因素 | | ----------------- | --------------------------- | ------ | -------------- | | 力量(Strength) | 影响物理攻击力 | 10 | 技能加成、装备 | | 敏捷(Agility) | 影响闪避率 | 8 | 技能加成、装备 | | 灵巧(Dexterity) | 影响命中率 | 8 | 技能加成、装备 | | 智力(Intuition) | 影响魔法威力、少量命中/闪避 | 10 | 技能加成、装备 | | 防御力(Defense) | 减少受到的伤害(仅装备) | 0 | 装备提供 | #### 次要属性(Secondary Stats) | 属性 | 说明 | 计算公式 | | ------------------------ | -------------------- | ------------------------------------ | | 最大生命(Max HP) | 角色生命上限 | 基础值 + 技能加成 + 装备加成 | | 攻击力(Attack Power) | 最终攻击力 | 武器攻击力 × (力量系数 或 智力系数) | | 攻击速度(Attack Speed) | 攻击频率 | 基础速度 × 装备加成 × 技能加成 | | 暴击率(Crit Rate) | 暴击概率 | 基础值 + 技能加成 | | 暴击伤害(Crit Mult) | 暴击伤害倍数 | 基础值(1.5) + 技能加成 | | 命中值(AP) | 攻击点数,影响命中率 | 技能、环境修正等因素综合 | | 闪避值(EP) | 闪避点数,影响闪避率 | 技能、环境修正等因素综合 | | 护盾(Shield) | 可吸收伤害 | 装备提供 | #### 战斗资源 | 资源 | 说明 | 初始值 | 消耗机制 | | --------------- | ---------------- | ------ | ---------------------- | | 耐力(Stamina) | 影响战斗效率 | 100 | 攻击消耗、技能训练消耗 | | 精神(Sanity) | 影响某些事件判断 | 100 | 特殊事件消耗 | #### 最终属性计算规则 ```javascript // 示例计算逻辑 finalStats = { // 基础属性 + 技能加成 + 装备加成 strength: baseStats.strength + skills.bonus + equipment.bonus, // 攻击力 = 武器基础 × (1 + 力量/100) attackPower: weapon.baseDamage * (1 + finalStats.strength / 100), // 命中值和闪避值采用非线性计算 attackPoints: calculateAP(dexterity, intuition, skills, environment), evasionPoints: calculateEP(agility, intuition, skills, environment) } ``` #### 主等级系统(简化) - **定位**:作为整体实力的参考指标,不是主要成长手段 - **经验来源**: - 技能达到特定等级(里程碑) - 完成书籍阅读 - 击败新敌人(图鉴解锁) - 区域首次通关 - **升级效果**: - 提供少量基础属性加成 - 解锁高级技能的等级上限 - 作为某些内容的前置条件 ### 2.2 技能系统(核心深度系统) #### 技能分类体系 1. **战斗技能(Combat Skills)** - 武器精通类:木棍精通、剑术、斧头精通等 - 战斗姿态类:攻击姿态、防御姿态、平衡姿态 - 防御类:闪避训练、盾牌掌握、铁皮 - 攻击类:重击、快速打击、连击 2. **生活技能(Life Skills)** - 阅读类:阅读(提升阅读速度和效率) - 生存类:饮食、坚韧、夜视 - 资源获取类:采集、狩猎、采矿 3. **特殊技能(Special Skills)** - 信仰、领导力 - 讨价还价(降低交易差价) - 一心多用(允许同时进行多个活动) 4. **被动技能(Passive Skills)** - 被动获得经验,只需满足特定条件 - 示例:在黑暗区域待着自动获得夜视经验 5. **父技能(Parent Skills)** - 不直接提供属性加成 - **核心功能**:如果子技能等级低于父技能,提供经验倍率加成 - 父技能等级始终等于最高级子技能的等级 - 示例:父技能"战斗"包含子技能"剑术"、"斧头精通"等 #### 技能解锁机制 1. **物品触发解锁** - 获得书籍 → 解锁"阅读" - 获得武器 → 解锁对应武器精通 - 获得技能书 → 解锁特殊技能 2. **NPC对话解锁** - 与特定NPC对话 → 解锁新技能 - 完成特定剧情 → 解锁技能 3. **技能等级解锁** - 某技能达到X级 → 解锁相关技能 - 示例:阅读5级 → 解锁"快速阅读" 4. **区域解锁** - 首次进入特定区域 → 解锁相关技能 - 示例:首次进入洞穴 → 解锁"夜视" #### 技能经验获取机制 1. **主动训练** - 在训练场消耗耐力训练武器技能 - 阅读书籍获得阅读经验 - 工作获得相关技能经验 2. **战斗获得** - 使用武器攻击 → 武器技能经验 - 成功闪避 → 闪避技能经验 - 成功格挡 → 盾牌技能经验 3. **被动获得** - 在特定环境待着 → 环境适应技能经验(如夜视) - 装备特定装备 → 相关技能经验(如铁皮) 4. **部分效率机制** - 即使条件未完全满足,也能获得50%经验 - 示例:未命中敌人仍能获得武器技能经验的50% #### 技能里程碑系统(重要) 每个技能在特定等级提供**永久性全局奖励**: **示例 - 武器技能里程碑**: | 等级 | 奖励效果 | | ----- | ---------------------- | | Lv.5 | 所有武器暴击率+2% | | Lv.10 | 所有武器攻击力+5% | | Lv.15 | 武器熟练度获取速度+20% | | Lv.20 | 所有武器暴击伤害+0.3 | **示例 - 阅读技能里程碑**: | 等级 | 奖励效果 | | ----- | -------------------------- | | Lv.3 | 所有技能经验获取+5% | | Lv.5 | 阅读速度+50% | | Lv.10 | 完成书籍给予额外主经验+100 | **示例 - 父技能里程碑**: | 等级 | 奖励效果 | | ----- | ------------------ | | Lv.5 | 子技能升级速度+10% | | Lv.10 | 子技能升级速度+25% | | Lv.15 | 子技能升级速度+50% | #### 技能等级上限与限制 - **基础上限**:每个技能有基础等级上限(如20级) - **玩家等级限制**:技能等级不能超过玩家等级×2 - **解锁更高上限**: - 通过特定NPC提升上限 - 通过特殊物品提升上限 - 主等级达到特定等级 ### 2.3 物品与装备系统(参考 YAIRPG) #### 装备品质系统(核心) 所有装备都有**品质(Quality)**参数,直接影响装备属性: | 品质等级 | 品质范围 | 稀有度 | 颜色 | 额外乘数 | 说明 | | -------- | -------- | ------ | ---- | -------- | -------------- | | 1 | 0-49% | 垃圾 | 灰色 | ×1.0 | 几乎无用的装备 | | 2 | 50-99% | 普通 | 白色 | ×1.0 | 基础装备 | | 3 | 100-129% | 优秀 | 绿色 | ×1.1 | 略强于普通 | | 4 | 130-159% | 稀有 | 蓝色 | ×1.3 | 强力装备 | | 5 | 160-199% | 史诗 | 紫色 | ×1.6 | 非常稀有 | | 6 | 200-250% | 传说 | 橙色 | ×2.0 | 极其罕见 | **品质影响**: 1. **基础属性** = 装备基础值 × 品质百分比 - 武器攻击力 = 基础攻击力 × 品质% - 防具防御力 = 基础防御力 × 品质% 2. **稀有度乘数**(绿色及以上):影响所有属性 - 最终属性 = 基础属性 × 稀有度乘数 3. **价值计算**: - 装备价值 = 基础价值 × 品质% × 稀有度乘数 **示例计算**: - 基础攻击力100的剑,品质120%,绿色稀有度 - 最终攻击力 = 100 × 1.2 × 1.1 = 132 - 最终价值 = 基础价值 × 1.2 × 1.1 #### 装备分类 1. **武器(Weapon)** - 基础属性:攻击力、攻击速度 - 首次装备自动解锁对应武器技能 - 类型:单手武器、双手武器、远程武器 2. **防具(Armor)** - 部位:头盔、胸甲、护腿、鞋子、手套 - 基础属性:防御力 - **重要**:防御力仅由装备提供,不是基础属性 3. **护盾(Shield)** - 基础属性:护盾值、格挡率 - 格挡机制:先于防御力计算,可完全吸收伤害 - 示例:格挡率75%,护盾值50 → 有75%几率用护盾吸收最多50点伤害 4. **饰品(Accessory)** - 类型:戒指、项链 - 提供特殊属性加成 - 可能有特殊效果 5. **书籍(Book)** - **普通书籍**:只给阅读经验 - **特殊书籍**:多技能经验(圣经→阅读+信仰) - **完成后奖励**:提供永久性全局加成(重要!) - 不消耗,读完后收益消失 6. **消耗品(Consumable)** - 食物:恢复生命值、耐力值 - 战斗中食物提供耐力再生 - 每次使用给饮食经验 - 药水:恢复生命值、精神值 7. **素材(Material)** - 战斗掉落物 - 用于制作装备 - 可出售给商人 8. **负面状态(Negative Status)** - 虫子咬、流血等 - 提供被动经验(如坚韧) - 持续负面效果 #### 装备获取方式 1. **战斗掉落**:随机品质(基于运气) 2. **商店购买**: - 常规商店:最高120%品质 - 黑市:可能更高品质 3. **制作系统**:品质取决于技能等级和材料 #### 装备系统设计理念 - **无耐久度**:装备永久有效,不会损坏 - **强调收集**:追求更高品质的装备 - **品质随机**:增加重玩价值和刷装备的乐趣 ### 2.4 战斗系统(深度优化) #### 战斗方式 - **实时回合制**:基于攻击速度的实时战斗 - **速度机制**: - 攻击速度直接决定攻击频率 - 2倍速度 = 2倍攻击频率 - **最快攻击限制**:每秒1次(战斗开始时缩放计时器) #### 命中与闪避系统(AP/EP系统) 采用**非线性计算**(参考YAIRPG): | AP与EP比例 | 命中概率 | 说明 | | -------------- | -------- | ---------- | | AP = 5 × EP | ~98% | 几乎必中 | | AP = 2 × EP | ~80% | 高命中率 | | AP = EP | ~50% | 势均力敌 | | AP = 0.5 × EP | ~24% | 命中困难 | | AP = 0.2 × EP | ~5% | 几乎打不中 | **AP(Attack Points)计算**: ```javascript AP = 灵巧 + 智力×0.2 + 技能加成 + 装备加成 + 姿态加成 - 敌人数惩罚 ``` **EP(Evasion Points)计算**: ```javascript EP = 敏捷 + 智力×0.2 + 技能加成 + 装备加成 + 姿态加成 - 环境惩罚 ``` **环境惩罚示例**: - 狭窄区域:EP -30% - 黑暗区域(无夜视):AP和EP各 -20% - 多敌人:每多1个敌人,AP -5% #### 伤害计算(三层防御) ``` 步骤1:闪避判定 → 成功:无伤害 → 失败:进入步骤2 步骤2:护盾吸收 → 护盾值完全吸收伤害(可能剩余) → 进入步骤3 步骤3:防御力减少 最终伤害 = max(1, (原始伤害 - 护盾吸收 - 防御力) × 暴击倍数) 最小伤害 = max(1, 原始伤害 × 10%) // 防御力最多减少90% ``` **示例**: - 原始伤害:100 - 护盾吸收:30 - 防御力:40 - 暴击倍数:1.5 - 最终伤害 = max(1, (100-30-40) × 1.5) = 45 #### 战斗姿态系统(重要) | 姿态 | 耐力消耗 | 效果 | | -------- | -------- | --------------------------------------- | | 攻击姿态 | 高 | 攻击力+50%,攻击速度+30%,防御-30% | | 防御姿态 | 中 | 防御力+50%,护盾+30%,攻击力-30% | | 平衡姿态 | 低 | 无加成,无惩罚 | | 快速打击 | 很高 | 攻击速度+100%,攻击力-40%(适合多目标) | | 重击 | 高 | 攻击力+100%,攻击速度-50% | **姿态切换规则**: - 可随时切换姿态 - 切换时重置攻击进度(防止姿态滥用) - 姿态影响耐力消耗速度 #### 耐力系统 - **耐力影响**: - 耐力 > 50%:正常效率 - 耐力 0-50%:效率逐渐下降 - 耐力 = 0:攻击速度和攻击力减半 - **耐力恢复**: - 脱离战斗自动恢复 - 食物提供战斗中耐力再生 - **相关技能**:"坚持"技能可在无耐力战斗时升级,降低惩罚 #### 经验获取(优化) - **每次攻击**: - 主经验 = 敌人基础经验 × 10% - 武器技能经验 = 敌人基础经验 × 5% - **战斗胜利**: - 主经验 = 敌人基础经验 × 90% - 武器技能经验 = 敌人基础经验 × 30% - **难度加成**:更强敌人提供更多经验 - **群体加成**:多敌人时经验 × √敌人数量 - 例:8个敌人,经验倍率 = √8 ≈ 2.83倍 #### 掉落系统(创新) - **掉落衰减机制**: - 同种敌人杀得越多,掉落率越低 - 最多降到初始的10%(击杀999+后) - 避免玩家刷同一个敌人 - **掉落恢复**: - 随时间缓慢恢复 - 恢复速度很慢,鼓励探索新区域 #### 战斗失败 - **后果**:返回上次休息的城镇/安全区 - **恢复**:回复50%基础生命值 - **惩罚**:不掉落物品(友好的失败惩罚) ### 2.5 经济系统(参考 YAIRPG) #### 货币系统 - **铜币(Copper)**:基础货币 - **银币(Silver)**:1银币 = 100铜币 - **金币(Gold)**:1金币 = 100银币 = 10,000铜币 #### 市场饱和系统(创新) **核心机制**:玩家出售同种物品越多,价格越低 1. **价格衰减**: - 初始价格:100% - 最低价格:初始价格的10% - 衰减速度:基于出售数量 - 击杀999+同种敌人后,价格降至最低 2. **价格恢复**: - 随时间缓慢恢复 - 恢复速度很慢(游戏时间数天) - 应用于所有商人 3. **设计目的**: - 鼓励探索不同区域 - 避免刷同一个敌人 - 增加经济深度 #### 交易系统 1. **买卖差价**: - 商人售价:200%基础价格(通常) - 商人收购价:30%-50%基础价格 - **讨价还价技能**:降低差价 - 技能Lv.max:售价200% → 150%,差价从100%降至50% 2. **价格波动**: - 每天刷新一次价格 - 浮动范围:±10% ~ ±50%(商品类型不同) - 黑市波动更大:±40% 3. **市场类型**: - **常规市场**:始终开放,商品品质最高120% - **黑市**: - 开放时间:周三、周六 20:00-24:00(游戏时间) - 特殊商品:中级装备、技能书、稀有物品 - 更高品质可能 - 回收价格:50%(优于常规市场30%) #### NPC服务系统 1. **战斗教练**: - 购买战斗经验 - 解锁战斗技能 - 提供训练服务 2. **训练假人**: - 购买武器经验 - 消耗耐力训练 - 不需要战斗 3. **特殊NPC**(黑市): - 奴隶贩子:触发特殊剧情 - 神秘商人:出售稀有物品 ### 2.6 区域与环境系统 #### 区域类型 1. **安全区**: - 城镇、营地 - 可休息恢复 - 无敌人 2. **普通区域**: - 日夜循环影响 - 夜间(20:00-04:00)有轻微惩罚 3. **黑暗区域**: - 洞穴、地下城 - 始终有黑暗惩罚 - 夜视技能可减少惩罚 4. **特殊区域**: - 狭窄空间:闪避惩罚(EP-30%) - 开阔空间:无惩罚 - 恶劣环境:各种特殊惩罚 #### 环境惩罚与适应 | 环境 | 惩罚 | 适应技能 | | -------- | ----------- | -------------------- | | 黑暗 | AP/EP各-20% | 夜视(被动获得经验) | | 狭窄 | EP-30% | 狭窄空间战斗 | | 恶劣天气 | AP/EP各-10% | 恶劣环境生存 | **技能获得**: - 在环境中被动获得经验 - 无需额外操作 - 技能等级降低惩罚 #### 区域解锁机制 1. **技能等级解锁**: - 阅读Lv.5 → 解锁图书馆 - 战斗技能Lv.10 → 解锁高级训练场 2. **区域通关解锁**: - 击败区域Boss → 解锁下一区域 - 可能需要多次通关 3. **NPC对话解锁**: - 与特定NPC对话 → 获得新区域信息 - 完成任务 → 解锁新区域 4. **物品解锁**: - 获得特定物品 → 解锁相关区域 - 例:获得地图 → 解锁新区域 #### 区域活动系统 1. **战斗活动**: - 探索:随机遇敌 - 剿灭:消灭指定数量敌人 - Boss战:挑战强大敌人 2. **资源活动**: - 采集:获得素材 - 狩猎:获得食物和素材 - 采矿:获得矿石 3. **工作活动**: - 时间限制(某些仅在白天开放) - 获得货币和技能经验 - 可能受技能等级影响收益 ### 2.7 挂机任务系统(优化) #### 任务类型 1. **主动挂机任务**: - **阅读**:消耗书籍,获得阅读经验 - **训练**:消耗耐力,获得武器技能经验 - **工作**:获得货币和技能经验 - **祈祷**:获得信仰经验(需要圣经) 2. **被动挂机任务**: - **环境适应**:在特定环境中被动获得经验(夜视等) - **负面状态**:虫子咬、流血等,获得坚韧经验 - **装备适应**:装备特定装备获得相关经验(铁皮等) #### 任务互斥规则 1. **完全互斥**: - 战斗 ↔ 训练 - 不同战斗区域 - 不同工作活动 2. **条件互斥**: - 阅读 ↔ 其他主动任务 - 有一心多用技能可同时进行1个额外任务 - 战斗 ↔ 阅读 - 有一心多用技能可同时 3. **不互斥**: - 被动任务可与任何任务同时进行 - 可同时有无数个被动任务 #### 经验获取机制 - **挂机期间**:每秒获得技能经验 - **基础效率**:技能等级影响获取速度 - **父技能加成**:父技能等级高于子技能时,提供经验倍率 - **完成任务**:获得额外经验奖励 ### 2.8 时间与离线系统 #### 游戏时间系统 - **时间流速**:现实1秒 = 游戏时间5分钟 - **时间显示**:Day X HH:MM - **日夜循环**: - 白天:06:00-20:00 - 夜晚:20:00-06:00 - 夜晚在普通区域有轻微惩罚 #### 时间作用 1. **市场刷新**: - 每天刷新一次价格 - 黑市在特定时间开放 2. **活动限制**: - 某些工作仅在白天开放 - 夜晚影响探索效率 3. **事件触发**: - 特定时间触发特殊事件 - 日夜影响某些敌人 #### 离线收益系统 1. **基础计算时间**:0.5小时(30分钟) 2. **广告延长**:看广告延长至2.5小时 3. **收益计算**: - 基于挂机任务的正常收益 - 不包括战斗收益 - 技能经验按时间计算 4. **离线惩罚**: - 超过计算时间的部分不计 - 鼓励定期登录 ### 2.9 图鉴与成就系统 #### 敌人图鉴 - **解锁条件**:首次击败敌人 - **显示信息**: - 敌人属性 - 掉落物品和概率 - 击杀数量 - 击败奖励 #### 物品图鉴 - **解锁条件**:首次获得物品 - **显示信息**: - 物品属性 - 获取方式 - 用途说明 #### 成就系统 1. **战斗成就**: - 击败特定敌人 - 击杀数量达到目标 - 无伤通关等 2. **技能成就**: - 技能达到特定等级 - 解锁所有技能 - 技能里程碑达成 3. **探索成就**: - 解锁所有区域 - 完成特定探索 - 发现隐藏内容 4. **收集成就**: - 收集品质达到特定值 - 收集特定装备 - 图鉴完成度 --- ## 3. 数值设计(优化版) ### 3.1 主等级成长 - **经验公式**:100 × 1.2^(等级-1) - **升级奖励**:少量基础属性 + 解锁高级技能上限 - **定位**:作为参考指标,不是主要成长手段 ### 3.2 技能成长 - **经验公式**:等级 × 基础系数 - **玩家等级限制**:技能等级 ≤ 玩家等级 × 2 - **里程碑奖励**:特定等级提供全局加成 ### 3.3 战斗数值平衡 - **敌人生成**:基于区域等级范围 - **属性成长**:每级+10% - **经验曲线**:与敌人强度相关 ### 3.4 经济平衡 - **金币获取**:战斗掉落、工作、出售物品 - **金币消耗**:购买装备、书籍、训练服务 - **市场饱和**:防止刷钱机制 - **价格波动**:增加经济深度 --- ## 4. 核心创新点总结 ### 4.1 技能里程碑系统 - 技能达到特定等级提供**永久性全局奖励** - 鼓励玩家提升多种技能 - 提供长期目标感 ### 4.2 父技能系统 - 父技能自动继承最高子技能等级 - 为低级子技能提供经验倍率加成 - 增加技能系统深度 ### 4.3 装备品质系统 - 6级品质系统(垃圾到传说) - 品质影响装备所有属性 - 稀有度提供额外乘数 - 增加装备收集乐趣 ### 4.4 AP/EP命中系统 - 非线性命中计算 - AP与EP比例决定命中概率 - 环境因素影响AP/EP - 增加战斗策略性 ### 4.5 三层防御机制 1. 闪避(完全避免) 2. 护盾(吸收伤害) 3. 防御力(减少伤害) ### 4.6 市场饱和系统 - 同种物品出售越多,价格越低 - 最低降至原价的10% - 随时间缓慢恢复 - 鼓励探索不同区域 ### 4.7 掉落衰减系统 - 同种敌人杀得越多,掉落率越低 - 最低降至初始的10% - 随时间缓慢恢复 - 避免刷同一个敌人 ### 4.8 部分效率机制 - 即使条件未完全满足,也能获得50%经验 - 降低玩家挫败感 - 保持游戏流畅性 --- ## 5. 设计理念对比 ### 5.1 与原设计对比 | 方面 | 原设计 | 新设计 | 改进 | | -------- | ---------- | --------------------- | -------- | | 属性系统 | 简单5属性 | 5主属性+5次属性+AP/EP | 更深度 | | 技能系统 | 简单升级 | 里程碑+父技能+多分类 | 更丰富 | | 装备系统 | 基础装备 | 6级品质系统 | 更有追求 | | 战斗系统 | 简单回合制 | AP/EP+姿态+耐力 | 更策略 | | 经济系统 | 简单买卖 | 市场饱和+价格波动 | 更真实 | | 掉落系统 | 固定概率 | 衰减+恢复机制 | 更平衡 | ### 5.2 借鉴YAIRPG的核心点 ✓ 技能里程碑系统 ✓ 父技能系统 ✓ 装备品质系统 ✓ AP/EP命中系统 ✓ 三层防御机制 ✓ 市场饱和系统 ✓ 掉落衰减系统 ✓ 战斗姿态系统 ✓ 环境惩罚与适应 ✓ 部分效率机制 ### 5.3 保持原有特色 ✓ 纯文字UI风格 ✓ 挂机养成核心 ✓ 技能驱动成长 ✓ 渐进式解锁 ✓ 末世生存主题 --- ## 6. 开发建议 ### 6.1 实现优先级 **Phase 1:核心框架(必须)** 1. 玩家数据管理 2. 技能系统(基础) 3. 物品系统(基础) 4. 数据持久化 **Phase 2:核心玩法(必须)** 1. 战斗系统(基础版) 2. 挂机任务系统 3. 经验获取机制 **Phase 3:高级系统(重要)** 1. 装备品质系统 2. 技能里程碑系统 3. AP/EP战斗系统 4. 战斗姿态系统 **Phase 4:扩展系统(可选)** 1. 经济系统(市场饱和) 2. 区域环境系统 3. 图鉴成就系统 4. 父技能系统 **Phase 5:优化打磨(可选)** 1. UI/UX优化 2. 数值平衡调整 3. 性能优化 4. 剧情事件 ### 6.2 技术要点 1. **数据结构设计**: - 灵活的技能系统 - 可扩展的物品系统 - 高效的战斗计算 2. **性能优化**: - 定时器管理 - 计算属性缓存 - 虚拟列表(长列表) 3. **数据验证**: - 物品/技能使用前检查 - 防止异常数据 - 定期保存机制 ### 6.3 平衡性测试 1. **数值测试**: - 技能升级速度 - 战斗难度曲线 - 经济平衡 2. **玩法测试**: - 挂机效率 - 探索动力 - 长期目标感 3. **边界测试**: - 技能满级 - 物品用完 - 极端数值 --- ## 7. 结语 本设计文档在原有设计基础上,深度借鉴了Yet Another Idle RPG和Proto23的优秀设计理念,创建了一个更加深度、平衡、有策略性的挂机养成游戏系统。 **核心改进**: 1. 从简单升级变为深度技能系统 2. 从基础装备变为品质追求系统 3. 从简单战斗变为策略性战斗 4. 从简单经济变为动态经济系统 **设计目标**: - 提供长期目标感(技能里程碑、装备品质) - 保持挂机友好(离线收益、自动战斗) - 增加策略深度(战斗姿态、装备搭配) - 鼓励探索(市场饱和、掉落衰减) 这个设计可以作为开发的基础,后续可根据实际情况调整细节和平衡性。 ### 5.1 玩家数据结构 ```javascript { // 基础属性 baseStats: { health, attack, defense, speed, sanity }, // 最终属性 finalStats: { health, attack, defense, speed, sanity, criticalChance }, // 主等级 level: { current, currentExp, maxExp }, // 技能 skills: { "skillId": { level, exp, unlocked } }, // 物品 obtainedItems: [], readBooks: [], inventory: [ { itemId, count } ], // 货币(铜币为单位) currency: { copper }, // 位置 currentLocation: "locationId", // 战斗状态 inCombat: false, combatState: null, // 挂机任务 activeTasks: [], negativeStatus: [], // 市场价格 marketPrices: { lastRefreshDay: 1, prices: {} }, // 离线奖励 offlineReward: { maxOfflineHours: 0.5, adBonusTime: 0, lastAdTime: null }, // 游戏时间 gameTime: { day: 1, hour: 8, minute: 0, totalMinutes: 480 }, // 上次登录时间 lastLoginTime: timestamp } ``` ### 5.2 配置文件结构 - **items.js**:所有物品配置 - **skills.js**:所有技能配置 - **locations.js**:地点、敌人、掉落配置 - **market.js**:市场、NPC配置 --- ## 6. 扩展性设计 ### 6.1 新增技能 1. 在 skills.js 添加配置 2. 在物品中添加解锁条件 3. 实现技能效果(如有特殊效果) ### 6.2 新增物品 1. 在 items.js 添加配置 2. 设置解锁技能或效果 3. 在市场或掉落表中添加 ### 6.3 新增地点 1. 在 locations.js 添加地点配置 2. 添加敌人列表 3. 创建掉落表 ### 6.4 新增剧情 1. 在物品或NPC中添加 special_event 2. 在 EventManager 中处理事件 --- ## 7. 开发优先级 ### Phase 1:核心框架 1. 玩家数据管理 2. 技能系统(解锁、升级) 3. 物品系统(获得、使用) 4. 数据持久化 ### Phase 2:核心玩法 1. 战斗系统 2. 任务系统(挂机) 3. 经验获取 ### Phase 3:扩展系统 1. 市场系统 2. 地点探索 3. 掉落系统 ### Phase 4:UI完善 1. 主界面 2. 状态页 3. 背包页 4. 战斗页 5. 市场页 ### Phase 5:优化扩展 1. 离线收益 2. 时间系统 3. 特殊技能(一心多用) 4. 剧情事件 --- ## 8. 技术要点 ### 8.1 关键技术 - **框架**:uni-app(Vue 3) - **存储**:uni.setStorageSync/getStorageSync - **定时器**:setInterval(游戏循环) - **计算属性**:动态计算最终属性 ### 8.2 注意事项 1. **eval使用**:技能效果公式使用eval,需确保公式安全 2. **数据验证**:物品、技能使用前检查条件 3. **保存频率**:每次状态改变都要保存 4. **内存管理**:定时器注意清理 ### 8.3 性能优化 - 节流/防抖:频繁操作(如点击) - 虚拟列表:物品列表较长时 - 延迟加载:非关键数据 --- ## 9. 测试要点 ### 9.1 功能测试 - [ ] 新游戏创建 - [ ] 物品获得和解锁技能 - [ ] 技能升级和属性加成 - [ ] 战斗流程和经验获取 - [ ] 市场交易 - [ ] 任务挂机 - [ ] 离线收益 - [ ] 数据保存和加载 ### 9.2 数值平衡 - [ ] 主等级成长速度 - [ ] 技能升级难度 - [ ] 战斗难度曲线 - [ ] 经济平衡(金币获取/消耗) - [ ] 时间流速 ### 9.3 边界情况 - [ ] 物品用完 - [ ] 技能满级 - [ ] 负面状态叠加 - [ ] 数据异常(如负数) --- ## 10. 未来规划 ### 10.1 内容扩展 - 更多技能类型 - 更多地点和敌人 - 更多物品和装备 - 成就系统 - 任务线(剧情) ### 10.2 功能扩展 - 多存档位 - 云存档 - 排行榜 - 社交功能(交易、对比) ### 10.3 优化方向 - UI美化(可选图片) - 音效 - 动画效果 - 数据统计 --- ## 11. 界面设计规范 ### 11.1 整体布局架构 采用**单页面架构**,所有内容在一个页面内通过组件切换实现,保持游戏状态连续性。 ``` ┌─────────────────────────────────────┐ │ [Tab名称] Day 1 08:00 │ ← 顶部标题栏 (80rpx) ├─────────────────────────────────────┤ │ │ │ │ │ 内容区域 │ ← 中部面板区域 │ (状态 / 地图 / 日志 切换显示) │ (flex: 1) │ │ │ │ │ │ ├─────────────────────────────────────┤ │ [状态] [地图] [日志] │ ← 底部导航 (100rpx) └─────────────────────────────────────┘ ┌─────────────────┐ │ 背包抽屉 │ ← 右侧滑出 (600rpx) │ InventoryDrawer│ 地图面板「背包」按钮唤出 └─────────────────┘ ┌─────────────────┐ │ 事件对话抽屉 │ ← 右侧滑出 (600rpx) │ EventDrawer │ 事件触发时自动弹出 └─────────────────┘ ``` ### 11.2 面板详细设计 #### 11.2.1 状态面板 (StatusPanel) 上下分区布局: ``` ┌─────────────────────────────────────┐ │ ▓▓▓▓▓▓▓▓░░ HP 80/100 │ ← 生命值进度条 │ ▓▓▓▓▓▓▓▓▓▓ 耐力 100/100 │ ← 耐力进度条 │ ▓▓▓▓▓▓▓▓▓░ 精神 90/100 │ ← 精神进度条 │ │ │ 力量 12 敏捷 10 灵巧 11 智力 10 │ ← 主属性摘要 │ 💰 0金 5银 230铜 │ ← 货币显示 │ │ │ ▼ 更多属性 ──────────────────────── │ ← Collapse 折叠面板 │ ┌─────────────────────────────────┐ │ │ │ 攻击力: 45 防御力: 12 │ │ │ │ 暴击率: 5% 暴击伤害: 1.5x │ │ │ │ AP: 18 EP: 15 │ │ │ │ 攻击速度: 1.0 │ │ │ │ ─────────────────────────────── │ │ │ │ 装备: 木棍 | 无护甲 │ │ │ └─────────────────────────────────┘ │ │ ─────────────────────────────────── │ │ [全部] [战斗] [生活] [特殊] [被动] │ ← 技能筛选 FilterTabs │ ┌─────────────────────────────────┐ │ │ │ ⚔ 木棍精通 Lv.1 ▓░░░░ │ │ ← 技能列表 │ │ 📖 阅读 Lv.0 ░░░░░ │ │ scroll-view │ │ 👁 夜视 Lv.0 ░░░░░ 🔒 │ │ 未解锁显示锁 │ └─────────────────────────────────┘ │ └─────────────────────────────────────┘ ``` #### 11.2.2 地图面板 (MapPanel) 顶部战斗状态 + 区域列表 + 操作区: ``` ┌─────────────────────────────────────┐ │ 📍 测试营地 [📦 背包] │ ← 当前位置 + 背包按钮 │ 环境: 安全区 │ ├─────────────────────────────────────┤ │ ═══ 战斗中 ═══════════════════════ │ ← 战斗状态区(战斗时显示) │ 🐕 野狗 ▓▓▓▓▓▓░░░░ 18/30 │ │ [攻击] [防御] [平衡] ← 姿态切换 │ ├─────────────────────────────────────┤ │ ── 可前往区域 ──────────────────── │ │ ┌─────────────────────────────────┐ │ │ │ 🏪 测试市场 [安全] → │ │ ← 区域列表 │ │ 🌙 测试黑市 [安全] → │ │ scroll-view │ │ 🌲 测试野外1 [普通] → │ │ │ │ 🦴 测试Boss巢 [危险] 🔒 │ │ 锁=未解锁 │ │ 🕳 地下室 [黑暗] 🔒 │ │ │ └─────────────────────────────────┘ │ ├─────────────────────────────────────┤ │ [探索] [剿灭] [工作] [休息] │ ← 区域活动按钮 └─────────────────────────────────────┘ ``` #### 11.2.3 日志面板 (LogPanel) 实时战斗日志 + 系统消息: ``` ┌─────────────────────────────────────┐ │ ┌─────────────────────────────────┐ │ │ │ [08:00] 你进入了测试野外1 │ │ ← info (灰色) │ │ [08:01] 遭遇了 野狗! │ │ ← system (青色) │ │ [08:01] 你攻击野狗,造成12点伤害│ │ ← combat (红色) │ │ [08:01] 野狗攻击你,你闪避了! │ │ ← combat │ │ [08:02] 暴击! 造成24点伤害 │ │ ← combat (红色+高亮) │ │ [08:02] 野狗被击败了! │ │ ← system (青色) │ │ [08:02] 获得: 狗皮 x1, 15铜币 │ │ ← reward (黄色) │ │ [08:02] 木棍精通 +5 经验 │ │ ← reward │ │ │ │ │ │ ▼ │ │ ← 自动滚动到底部 │ └─────────────────────────────────┘ │ └─────────────────────────────────────┘ ``` ### 11.3 颜色规范 ```scss // 背景色 $bg-primary: #0a0a0f; // 主背景 - 深黑 $bg-secondary: #1a1a2e; // 次级背景 - 深蓝黑 $bg-tertiary: #252542; // 三级背景 - 卡片/面板 // 文字色 $text-primary: #e0e0e0; // 主文字 - 浅灰白 $text-secondary: #808080; // 次要文字 - 灰色 $text-muted: #4a4a4a; // 禁用文字 - 深灰 // 强调色 $accent: #4ecdc4; // 主强调 - 青色 (系统消息) $danger: #ff6b6b; // 危险 - 红色 (战斗/HP低) $warning: #ffe66d; // 警告 - 黄色 (奖励/重要) $success: #4ade80; // 成功 - 绿色 // 品质颜色 $quality-trash: #808080; // 垃圾 - 灰色 $quality-common: #ffffff; // 普通 - 白色 $quality-good: #4ade80; // 优秀 - 绿色 $quality-rare: #60a5fa; // 稀有 - 蓝色 $quality-epic: #a855f7; // 史诗 - 紫色 $quality-legend: #f97316; // 传说 - 橙色 // 边框色 $border-color: #2a2a3e; // 边框 - 深紫灰 $border-active: #4ecdc4; // 激活边框 - 青色 ``` ### 11.4 组件规范 #### 11.4.1 目录结构 ``` components/ ├── common/ │ ├── ProgressBar.vue // 进度条 (HP/耐力/经验) │ ├── StatItem.vue // 属性显示行 │ ├── TextButton.vue // 文字按钮 │ ├── Collapse.vue // 折叠面板 │ └── FilterTabs.vue // 筛选标签组 ├── layout/ │ ├── TabBar.vue // 底部导航栏 │ └── Drawer.vue // 右侧抽屉 ├── panels/ │ ├── StatusPanel.vue // 状态面板 │ ├── MapPanel.vue // 地图面板 │ └── LogPanel.vue // 日志面板 └── drawers/ ├── InventoryDrawer.vue // 背包抽屉 └── EventDrawer.vue // 事件对话抽屉 ``` #### 11.4.2 组件Props规范 **ProgressBar** | Prop | Type | Default | Description | | -------- | ------- | ------- | ------------ | | value | Number | 0 | 当前值 | | max | Number | 100 | 最大值 | | color | String | $accent | 进度条颜色 | | showText | Boolean | true | 显示数值文本 | | height | String | '16rpx' | 进度条高度 | **Collapse** | Prop | Type | Default | Description | | -------- | ------- | ------- | ----------- | | title | String | '' | 折叠标题 | | expanded | Boolean | false | 是否展开 | **FilterTabs** | Prop | Type | Default | Description | | ---------- | ------ | ------- | ---------------------- | | tabs | Array | [] | 标签列表 [{id, label}] | | modelValue | String | '' | 当前选中 | **Drawer** | Prop | Type | Default | Description | | ------- | ------- | -------- | ----------- | | visible | Boolean | false | 是否显示 | | width | String | '600rpx' | 抽屉宽度 | --- ## 12. 测试场景配置 ### 12.1 初始剧情 **「测试实验室」** > 你在一个废弃的实验室中醒来,记忆模糊。桌上放着一根木棍和一本破旧的日记。 > 门外传来野兽的嚎叫声...... ### 12.2 区域地图 ``` ┌─────────────┐ │ 测试营地 │ ← 起点/安全区 │ (受伤冒险者) │ └──────┬──────┘ ┌───────────────┼───────────────┐ ▼ ▼ ▼ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ 测试市场 │ │ 测试黑市 │ │ 测试野外1 │ │ (商人老张) │ │ (神秘人) │ │ (野狗) │ └─────────────┘ └─────────────┘ └──────┬──────┘ ▼ ┌─────────────┐ │ 测试Boss巢 │ ← 需击败野狗x5解锁 │ (测试Boss) │ └──────┬──────┘ ▼ (需要钥匙) ┌─────────────┐ │ 地下室 │ ← 黑暗区域 │ (黑暗) │ └─────────────┘ ``` #### 区域配置表 | 区域ID | 名称 | 类型 | 环境 | 解锁条件 | 活动 | | ----------- | ---------- | ------- | ---- | ---------- | -------------- | | camp | 测试营地 | safe | 无 | 初始 | 休息、对话 | | market | 测试市场 | safe | 无 | 初始 | 交易 | | blackmarket | 测试黑市 | safe | 无 | 初始 | 特殊交易 | | wild1 | 测试野外1 | normal | 无 | 初始 | 探索、战斗 | | boss_lair | 测试Boss巢 | danger | 无 | 击杀野狗x5 | Boss战 | | basement | 地下室 | dungeon | dark | Boss钥匙 | 探索、阅读测试 | ### 12.3 测试敌人 | 敌人ID | 名称 | 位置 | HP | 攻击力 | 防御 | 速度 | 经验 | 掉落 | | --------- | -------- | --------- | --- | ------ | ---- | ---- | ---- | --------------------------------------- | | wild_dog | 野狗 | wild1 | 30 | 8 | 2 | 1.0 | 15 | 狗皮(80%), 狗牙(30%), 5-15铜 | | test_boss | 测试Boss | boss_lair | 200 | 25 | 10 | 0.8 | 150 | 地下室钥匙(100%), 技能书(50%), 50-100铜 | ### 12.4 测试物品 #### 武器 | 物品ID | 名称 | 类型 | 基础攻击 | 速度 | 解锁技能 | 说明 | | ------------ | ---- | ------ | -------- | ---- | ------------- | -------- | | wooden_stick | 木棍 | weapon | 5 | 1.0 | stick_mastery | 初始武器 | #### 消耗品 | 物品ID | 名称 | 类型 | 效果 | 价值 | 说明 | | ------------ | ---- | ---------- | ---------- | ---- | -------- | | bread | 面包 | consumable | 恢复耐力20 | 10铜 | 基础食物 | | healing_herb | 草药 | consumable | 恢复HP15 | 15铜 | 基础药品 | #### 书籍 | 物品ID | 名称 | 类型 | 阅读时间 | 经验 | 完成奖励 | 说明 | | -------- | -------- | ---- | -------- | ------- | -------- | -------- | | old_book | 破旧书籍 | book | 60秒 | 阅读+10 | 无 | 测试阅读 | #### 素材/关键道具 | 物品ID | 名称 | 类型 | 价值 | 说明 | | ------------ | ---------- | -------- | ---- | -------------------- | | dog_skin | 狗皮 | material | 5铜 | 野狗掉落 | | dog_tooth | 狗牙 | material | 8铜 | 野狗掉落 | | basement_key | 地下室钥匙 | key | - | Boss掉落,解锁地下室 | ### 12.5 测试NPC | NPC ID | 名称 | 位置 | 功能 | 对话 | | ------------------ | ------------ | ----------- | -------- | ------------------------ | | injured_adventurer | 受伤的冒险者 | camp | 初始剧情 | 介绍世界观,提示前往野外 | | merchant_zhang | 商人老张 | market | 交易 | 买卖物品,测试差价 | | mysterious_man | 神秘人 | blackmarket | 黑市交易 | 特殊物品,更高品质 | ### 12.6 测试事件 | 事件ID | 触发条件 | 类型 | 内容 | | ------------ | -------------- | ------- | -------------------------- | | intro | 新游戏 | story | 测试实验室开场剧情 | | first_combat | 首次进入wild1 | tips | 战斗教程提示 | | boss_unlock | 击杀野狗x5 | unlock | 解锁Boss巢提示 | | boss_defeat | 首次击败Boss | story | Boss剧情+获得钥匙 | | dark_warning | 进入basement | tips | 黑暗惩罚警告 | | dark_reading | 在basement阅读 | special | 阅读效率-50%,夜视被动获取 | ### 12.7 测试验证清单 | 测试项 | 区域 | 验证内容 | 预期结果 | | -------- | ---------- | ----------------- | ------------------ | | 交易 | 测试市场 | 买卖物品、差价 | 买入200%,卖出30% | | 黑市 | 测试黑市 | 特殊商品 | 更高品质装备可购买 | | 战斗 | 测试野外1 | AP/EP、姿态、经验 | 正常战斗流程 | | Boss战 | 测试Boss巢 | 高难战斗 | 击败后掉落钥匙 | | 环境惩罚 | 地下室 | 黑暗AP/EP-20% | 命中闪避降低 | | 黑暗阅读 | 地下室 | 阅读效率-50% | 阅读时间翻倍 | | NPC对话 | 测试营地 | EventDrawer弹出 | 对话正常显示 | | 物品使用 | 任意 | 装备/使用/出售 | 功能正常 | --- ## 13. 开发步骤文档 ### Phase 1: 基础框架搭建 **目标**: 项目目录结构、依赖安装、全局样式 #### 任务清单 - [ ] 1.1 创建目录结构 ``` components/common/ components/layout/ components/panels/ components/drawers/ store/ config/ utils/ ``` - [ ] 1.2 安装 Pinia: `npm install pinia` - [ ] 1.3 修改 `main.js` 引入 Pinia - [ ] 1.4 修改 `uni.scss` 添加颜色变量 - [ ] 1.5 修改 `App.vue` 添加全局样式 #### 验收标准 - 项目可正常运行 - 全局样式生效(暗色背景) --- ### Phase 2: 通用组件开发 **目标**: 完成所有基础UI组件 #### 任务清单 - [ ] 2.1 `ProgressBar.vue` - 进度条组件 - [ ] 2.2 `StatItem.vue` - 属性显示行 - [ ] 2.3 `TextButton.vue` - 文字按钮 - [ ] 2.4 `Collapse.vue` - 折叠面板 - [ ] 2.5 `FilterTabs.vue` - 筛选标签组 - [ ] 2.6 `TabBar.vue` - 底部导航栏 - [ ] 2.7 `Drawer.vue` - 右侧抽屉 #### 验收标准 - 每个组件可独立使用 - 样式符合设计规范 --- ### Phase 3: 核心面板开发 **目标**: 完成三大主面板 #### 任务清单 - [ ] 3.1 `StatusPanel.vue` - 状态面板 - 上区:HP/耐力/精神 + 主属性 + 货币 + Collapse更多 - 下区:FilterTabs + 技能列表 - [ ] 3.2 `MapPanel.vue` - 地图面板 - 顶部状态区(位置/战斗状态) - 区域列表 - 操作按钮 + 背包入口 - [ ] 3.3 `LogPanel.vue` - 日志面板 - scroll-view + 自动滚动 - 分类样式(combat/system/reward/info) - [ ] 3.4 重构 `pages/index/index.vue` 为游戏容器 - 顶部标题栏 - v-show 面板切换 - TabBar 集成 #### 验收标准 - 三个Tab可正常切换 - 面板布局符合设计稿 --- ### Phase 4: 抽屉组件开发 **目标**: 完成侧边抽屉 #### 任务清单 - [ ] 4.1 `InventoryDrawer.vue` - 背包抽屉 - FilterTabs 分类 - 物品列表 - 物品详情/操作 - [ ] 4.2 `EventDrawer.vue` - 事件对话抽屉 - NPC信息区 - 对话文本区 - 选项按钮 #### 验收标准 - 地图面板「背包」按钮可打开抽屉 - 抽屉动画流畅 --- ### Phase 5: 数据层实现 **目标**: Pinia Store + 游戏配置 #### 任务清单 - [ ] 5.1 `store/player.js` - 玩家状态 - baseStats, finalStats, level - skills, inventory, equipment - currency, currentLocation - [ ] 5.2 `store/game.js` - 游戏状态 - currentTab, drawerState - logs[], gameTime - inCombat, combatState, activeTasks - [ ] 5.3 `config/constants.js` - 数值常量 - [ ] 5.4 `config/skills.js` - 技能配置 - [ ] 5.5 `config/items.js` - 物品配置 - [ ] 5.6 `config/locations.js` - 区域配置 - [ ] 5.7 `config/enemies.js` - 敌人配置 - [ ] 5.8 `config/npcs.js` - NPC配置 - [ ] 5.9 `config/events.js` - 事件配置 #### 验收标准 - Store可正常读写 - 配置文件结构完整 --- ### Phase 6: 核心系统实现 **目标**: 实现核心玩法逻辑 #### 任务清单 - [ ] 6.1 `utils/skillSystem.js` - 技能系统 - 经验添加、升级判定 - 里程碑检测、父技能同步 - [ ] 6.2 `utils/combatSystem.js` - 战斗系统 - AP/EP命中计算 - 三层防御(闪避/护盾/防御) - 战斗tick、日志输出 - [ ] 6.3 `utils/itemSystem.js` - 物品系统 - 使用、装备、卸下 - 品质属性计算 - [ ] 6.4 `utils/taskSystem.js` - 任务系统 - 挂机任务管理 - 互斥检测 - [ ] 6.5 `utils/eventSystem.js` - 事件系统 - 事件触发检测 - 对话管理 - [ ] 6.6 `utils/environmentSystem.js` - 环境系统 - 环境惩罚计算 - 被动技能获取 #### 验收标准 - 战斗流程完整 - 技能可升级 - 物品可使用/装备 --- ### Phase 7: 游戏循环实现 **目标**: 主循环、持久化、离线收益 #### 任务清单 - [ ] 7.1 `utils/gameLoop.js` - 游戏主循环 - 每秒tick - 时间推进、战斗处理 - 任务经验、耐力恢复 - [ ] 7.2 `utils/storage.js` - 存储系统 - saveGame(), loadGame(), resetGame() - logs[]不持久化 - [ ] 7.3 修改 `App.vue` - onLaunch: 加载存档 + 启动循环 - onHide: 自动保存 #### 验收标准 - 游戏时间正常流逝 - 关闭后重开数据保留 - 战斗可自动进行 --- ### Phase 8: 集成测试 **目标**: 按测试清单验证所有功能 #### 任务清单 - [ ] 8.1 新游戏流程测试 - [ ] 8.2 交易系统测试(市场/黑市) - [ ] 8.3 战斗系统测试(野狗/Boss) - [ ] 8.4 环境系统测试(黑暗惩罚) - [ ] 8.5 阅读系统测试(正常/黑暗) - [ ] 8.6 NPC对话测试 - [ ] 8.7 物品系统测试(使用/装备/出售) - [ ] 8.8 技能系统测试(升级/里程碑) - [ ] 8.9 存档系统测试 #### 验收标准 - 所有测试项通过 - 无严重BUG --- ### 开发时间估算 | Phase | 预估时间 | 说明 | | -------------- | ------------- | ---------------- | | Phase 1 | 0.5天 | 基础配置 | | Phase 2 | 1天 | 7个组件 | | Phase 3 | 1.5天 | 3个面板 + 主页面 | | Phase 4 | 1天 | 2个抽屉 | | Phase 5 | 1天 | Store + 配置 | | Phase 6 | 2天 | 核心系统 | | Phase 7 | 1天 | 循环 + 存储 | | Phase 8 | 1天 | 测试修复 | | **总计** | **9天** | - |