# 30天游戏开发 **Repository Path**: cloud_travel/30-day-game-development ## Basic Information - **Project Name**: 30天游戏开发 - **Description**: 2D类银河恶魔城游戏源码 - **Primary Language**: C# - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2025-10-19 - **Last Updated**: 2026-10-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RBG - 2D动作冒险游戏 > 基于Unity的2D横版动作游戏,采用状态机架构设计 --- ## ✅ 已实现功能 ### 🎮 玩家系统 **移动机制** - ✅ 地面移动(WD控制) - ✅ 跳跃系统(空格键) - ✅ 墙体滑行(贴墙下滑,按s键加速) - ✅ 墙跳(墙面二段跳) - ✅ 冲刺技能(Shift键) **战斗系统** - ✅ 3段连击系统(鼠标左键) - ✅ 跳跃攻击(空中攻击) - ✅ 弹反机制(Q键) - 精准时机判定 - 成功弹反眩晕敌人 - ✅ 攻击队列系统(防止输入丢失) **技能系统** - ✅ 冲刺技能树 - Dash冷却减少 - Dash距离增加 - Dash无敌时间 - ✅ Blade技能树 - Blade_Sharpness(锋利度 攻击) - Blade_Fire(短时火焰附魔 按J键) - Blade_Ice(短时冰霜附魔 按K键) - ✅ 元素附魔互斥机制 - ✅ 技能点系统 - ✅ 技能树UI与解锁条件 - 解锁条件:前置技能需解锁 - 解锁条件:需要击败部分boss **视觉效果** - ✅ 受伤闪烁效果 - ✅ 元素附魔特效预制体配置 --- ### 👾 敌人系统 **AI行为** - ✅ 巡逻模式(闲置 ↔ 移动循环) - ✅ 玩家检测(射线检测 + 障碍物判断) - ✅ 战斗追击(检测到玩家后持续追击) - ✅ 攻击距离判定 - ✅ 撤退机制(距离过近自动后撤) - ✅ 战斗超时脱战 - ✅ 弹反响应(可被眩晕) **敌人种类** - ✅ 基础近战敌人(Skeleton) - ✅ 完整的Enemy基类架构 --- ### 🐉 Boss战斗系统 **Boss共有机制** - 具有战斗范围和检测范围 - 检测范围较小,只有玩家进入检测范围后,boss才会开始进入战斗状态,开始显示血条和切换BGM。 - 战斗范围较大,当boss未进入战斗状态,玩家在战斗范围不会被追击。当boss进入战斗状态,玩家在战斗范围依然会被追击。 - 当玩家离开战斗范围时,boss脱战,回到原地并回血。 **Boss种类** - ✅ GhostBoss(幽灵Boss) - **快速冲刺**:短暂蓄力后向前冲刺,造成伤害。 - **跳跃爆冲**:短暂蓄力后向上跳起并向玩家俯冲,造成范围伤害。 - **远程飞弹**:boss飞升,在高处向玩家发射飞弹,飞弹具有范围伤害。 - 击败解锁:Dash技能树 - ✅ IceBoss(冰霜Boss) - **冰霜元素攻击**:当boss血量不足一定阈值时,boss的普攻会对玩家造成减速效果。 - **三连冲拳**:短暂蓄力后,boss向前发出三连冲拳,伤害逐渐递增。 - **冰封护盾**:在boss血量不足一定阈值时,boss会架起护盾,免疫一切正前方的伤害。可以通过弹反使护盾短暂失效。 - 击败解锁:Blade_Ice技能 - ✅ GolemBoss(石魔Boss) - 高血量高防御 - 与其他boss不一样的是,其不会移动,而是会不定期瞬移。 - **瞬移冲击波**:短暂蓄力后,瞬移到任意远离玩家的位置;并在原地留下爆炸,造成范围伤害。 - **飞石投掷**:向前发射飞石,飞石命中玩家造成伤害后,还会造成流血效果。 - **原地回血护盾**:boss血量不足时定期触发,获得元素护盾,原地不动,无法攻击,期间会缓慢回血。元素护盾可以免疫所有普通攻击伤害,只有对应克制元素的普攻才能造成伤害,击碎护盾后,boss离开退出回血状态。护盾元素随机刷新。 - **低血量强化机制**:当boss血量较低时触发,大幅提升护甲。 - **超级激光**:必杀技,boss瞬移到远离玩家的位置,并记录玩家位置,短暂蓄力后,向玩家方向发射超强激光,激光伤害高,持续时间长,带击退,且*攻击范围覆盖整个战斗区域*, 玩家必须想办法在boss蓄力期间躲到boss身后。 - 击败解锁:Blade_Fire技能(原地给场景三的boss的,但是还没做出来) **Boss机制** - ✅ Boss技能系统 - 技能冷却管理 - 技能触发条件 - 随机技能选择 - ✅ 战斗区域限制 - ✅ 脱战机制(玩家离开后回归 + 回血) - ✅ Boss状态机 - 守卫状态 - 追击状态 - 回归状态 - 死亡状态 - ✅ 弹反支持(可被眩晕) - ✅ Boss进度记录(GameProgressManager) - ✅ Boss死亡触发技能解锁 --- ### 📊 属性与战斗系统 **属性系统** - ✅ 四大属性组 - 资源属性(生命值、生命恢复) - 主属性(力量、敏捷、智力、体质) - 防御属性(护甲、闪避、抗性) - 攻击属性(攻击力、暴击、元素伤害) - ✅ 属性修饰符系统(Buff/Debuff管理) - ✅ 属性计算公式 - 伤害计算(物理 + 暴击) - 防御计算(护甲减伤) - 派生属性(主属性影响战斗属性) - ✅ 脏标记优化(按需计算) **元素系统** - ✅ 火焰元素 - 燃烧持续伤害 - ✅ 冰霜元素 - 冰冻减速效果 - ✅ 元素特效系统 - ✅ 元素抗性系统 **战斗机制** - ✅ 攻击判定(圆形范围检测) - ✅ 伤害计算系统 - ✅ 击退效果 - ✅ 生命值管理 - ✅ 死亡处理 --- ### 🎨 UI系统 **技能树UI** - ✅ 技能节点系统 - ✅ 解锁条件检查 - 技能点检查 - 前置技能检查 - Boss击败检查 - 冲突技能检查 - ✅ 节点状态可视化(已解锁/可解锁/锁定) - ✅ 连接线自动布局系统 - ✅ ToolTip提示框 - ✅ 技能点显示 **游戏内UI** - ✅ 生命值条 - ✅ 淡入淡出效果 - ✅ 场景切换过渡 --- ### 💾 存档系统 **存档功能** - ✅ JSON序列化存档 - ✅ ISaveable接口设计 - ✅ 自动保存机制 - 应用退出 - 失去焦点 - 场景切换 - 触碰检查点 - ✅ 数据加密(XOR加密) - ✅ 检查点系统 - ✅ 玩家位置记录 - ✅ Boss击败进度记录 - ✅ 技能解锁状态保存 **GameProgressManager** - ✅ Boss击败状态追踪 - ✅ 技能解锁状态管理 - ✅ 事件系统(Boss击败、技能解锁) - ✅ 单例持久化 --- ### 🗺️ 场景系统 **场景功能** - ✅ 场景传送系统(WayPoint) - 进入点/退出点配对 - 自动场景切换 - 防重复触发 - ✅ 场景淡入淡出 - ✅ 玩家位置记录与恢复 - ✅ 检查点系统 --- ### 🏗️ 架构设计 **设计模式** - ✅ 状态机模式(FSM) - 玩家12种状态 - 敌人6种状态 - Boss扩展状态 - ✅ 单例模式 - GameManager - SaveManager - GameProgressManager - AudioManager - UI - ✅ 观察者模式(事件系统) - ✅ 组件模式(Entity组件化) **代码优化** - ✅ 对象缓存 - ✅ 协程管理 - ✅ 脏标记系统 --- ## 📋 待办事项 ### 🔴 高优先级 #### 玩家系统 - [ ] **冲刺冷却UI** - 显示冷却进度和剩余时间 - [ ] **技能点获取系统** - 实现经验值和升级机制 - [ ] **死亡惩罚机制** - 设计死亡后的惩罚和复活逻辑 #### Boss系统 - [ ] **Boss脱战技能冷却重置** - 修复Bug - [ ] **Boss各种音效** #### 技能系统 - [ ] **更多技能分支** - 扩展技能树内容 - [ ] **技能重置功能** - 允许玩家重置技能点 - [ ] **元素附魔VFX实现** - 完成火焰/冰霜剑刃特效 - [ ] ActivateFireBladeVFX() - [ ] ActivateIceBladeVFX() - [ ] DeactivateAllEnchantVFX() - [ ] **技能音效** - 补充技能释放音效 --- ### 🟡 中优先级 #### 战斗系统 - [ ] **连击伤害加成** - 连击段数越高伤害越高 - [ ] **元素反应系统** - 火冰融化等元素交互 - [ ] **更多元素类型** - 雷电、毒素等 - [ ] **完美弹反奖励** - 精准弹反给予额外奖励 - [ ] **弹反音效和特效** - 视觉听觉反馈 #### 敌人系统 - [ ] **远程敌人** - 弓箭手、法师等 - [ ] **飞行敌人** - 空中单位 - [ ] **精英敌人** - 更强的小Boss - [ ] **敌人召唤增援** - 召唤同伴机制 - [ ] **更智能的追击** - AI行为优化 #### UI/UX - [ ] **背包系统** - 物品管理界面 - [ ] **菜单美化** - 主菜单和暂停菜单 - [ ] **设置界面** - 音量、画质等设置 - [ ] **技能树UI美化** - 优化视觉效果 #### 视觉特效 - [ ] **技能释放特效** - [ ] 冲刺启动特效 - [ ] 跳跃攻击落地特效 - [ ] 弹反成功特效 - [ ] **状态指示特效** - [ ] 无敌状态闪烁 - [ ] 低血量警告 - [ ] 技能冷却完成提示 - [ ] **环境交互特效** - [ ] 脚步灰尘 - [ ] 着陆冲击波 - [ ] 墙滑粒子效果 - [ ] **战斗特效增强** - [ ] 连击段数特效 - [ ] 暴击特效 - [ ] 击败敌人特效 --- ### 🟢 低优先级 #### 内容扩展 - [ ] **更多游戏场景** - 扩展关卡数量 - [ ] **隐藏区域** - 探索要素 #### 性能优化 - [ ] **视差背景系统修复** - 目前有重大Bug - [ ] **渲染优化** - 光照、粒子优化 - [ ] **内存优化** - 资源加载和卸载 - [ ] **对象池完善** - 更多对象使用对象池 - [ ] **场景切换优化** - 解决偶尔黑屏问题 #### 其他改进 - [] 无 --- ## 🐛 已知问题 ### 高优先级Bug - [ ] Boss脱战后技能冷却未重置 - [ ] 冲刺时可能穿墙 - [ ] 附魔切换时偶尔卡顿 - [ ] 技能树节点解锁后UI未及时更新 ### 中优先级Bug - [ ] 场景切换时偶尔黑屏 - [ ] Boss召唤的敌人不会消失 - [ ] 某些动画过渡不流畅 - [ ] 音效音量不平衡 ### 低优先级Bug - [ ] 部分UI元素重叠 - [ ] Debug日志过多影响性能 - [ ] 某些特效层级错误 - [ ] 视差背景系统有重大Bug --- ## 🎯 核心架构 ### 状态机系统 - 玩家12种状态(移动、跳跃、攻击、冲刺等) - 敌人6种状态(巡逻、战斗、攻击等) - Boss扩展状态(守卫、追击、回归) ### 实体组件化 ``` Entity (基类) ├── Entity_Health (生命值) ├── Entity_Stats (属性) ├── Entity_Combat (战斗) ├── Entity_VFX (特效) └── Entity_StatusHandler (状态) ``` ### 技能管理 ``` Player_SkillManager ├── Skill_Dash (冲刺) └── Skill_Blade (剑刃) ├── Sharpness ├── Fire └── Ice ``` --- ## 📖 相关文档