ddl战士———冲刺总结随笔

ddl战士 2025-11-04 22:53:16
这个作业属于哪个课程2501_CS_SE_FZU
这个作业要求在哪里团队作业——站立式会议+α冲刺
这个作业的目标冲刺总结
其他参考文献《构建之法》、Google Style Guides

目录

  • 一、项目预期计划与现实进展:从功能拆分到落地验证
  • 1. 预期计划:明确模块边界,制定阶段目标
  • 2. 现实进展:功能落地超预期,细节优化见真章
  • (1)核心模块落地成果
  • (2)性能与体验优化亮点
  • (3)可运行成果交付
  • 3. 现实进展展示
  • 二、成员成长与协作:在解决问题中凝聚团队合力
  • 1. 成员收获与心得体会:从 “实现功能” 到 “打磨体验”
  • 陈志豪(敌人模块):
  • 胡定赟(UI/UX 设计):
  • 阮航宇(地图模块):
  • 张天荣(攻击模块):
  • 汪涛(测试与玩家模块):
  • 莫馥玮(技能模块):
  • 2. 分工协作:模块化并行,每日联调补位
  • 2.1 模块化并行
  • 陈志豪(敌人模块)
  • 胡定赟(UI/UX 设计):
  • 阮航宇(地图模块):
  • 张天荣(攻击模块):
  • 汪涛(测试与玩家模块):
  • 莫馥玮(技能模块):
  • 2.2每日联调补位
  • 3. Alpha 阶段工作量比例
  • 三、下阶段展望:从 “基础闭环” 到 “玩法深化”
  • 四、AI 技术员的角色:从 “辅助工具” 到 “效率放大器”
  • 1. 冲刺中的 AI 贡献:解决重复工作,突破技术盲区
  • 2. 下一阶段的 AI 应用:从 “辅助编码” 到 “决策支持”
  • 结语:冲刺不是终点,而是迭代的起点

一、项目预期计划与现实进展:从功能拆分到落地验证

1. 预期计划:明确模块边界,制定阶段目标

冲刺初期,我们基于 “玩家 - 敌人 - 场景 - 交互” 核心链路,拆解 6 大核心模块与阶段目标,计划 6 天内完成基础玩法闭环:

  • Day1-2:搭建基础框架,完成玩家移动 / 死亡、敌人 AI 巡逻 / 攻击、地图 Tilemap 构建、UI 血条 / 背包基础布局;
  • Day3-4:深化战斗系统,集成元素攻击(火 / 冰 / 雷)、技能释放(火球术 / DashStab)、地图交互物(恢复泉水 / 宝箱);
  • Day5-6:优化体验与性能,解决多敌人混战卡顿、技能判定盲区、UI 适配异常等问题,完成全流程压力测试。

2. 现实进展:功能落地超预期,细节优化见真章

经过 6 天冲刺,项目不仅完成全部预期功能,还在细节体验上实现多轮优化,核心成果如下:

(1)核心模块落地成果

玩家模块:实现双跳 + 土狼时间优化移动手感;添加连续 Dash 后的临时速度清除逻辑,防止移动失控;设计受击无敌帧与击退效果;将重生动画时长与倒计时绑定,避免画面卡顿。相关代码可参考PlayerController.cs中的PerformDash()临时速度清除逻辑、TriggerRespawn()重力参数调整。
敌人模块:区分普通 / 精英敌人差异化攻击节奏(普通敌人前摇 0.5s、精英敌人前摇 0.8s);通过 “攻击时临时忽略友方碰撞” 解决多敌人混战卡顿;添加追击路径实时更新逻辑,避免敌人追错方向;采用 “2 秒自动销毁 + 淡出动画” 处理敌人尸体,优化性能。代码层面,EnemyAI.cs中的OnAttackAnimationFinalFrame()将攻击后摇取消与动画结束帧绑定,FollowPath()实现路径动态更新。
攻击模块:集成元素攻击属性克制关系(如 “火克冰”);扩大雷元素连锁攻击范围(从 2m 调整至 2.5m);设计火元素燃烧伤害递减机制(第 1 秒 5 点→第 2 秒 3 点→第 3 秒 2 点);明确攻击判定优先级(优先触发攻击盒检测,未命中时启用 SphereCast 球形检测补全判定)。代码可参考Attack.cs中的ApplyThunderEffect()连锁半径调整、BurnEffect.cs中 “敌人死亡时清除燃烧状态” 的逻辑。
技能模块:完成火球术投射体的碰撞层过滤(仅检测 Enemy 层);通过速度归一化解决 DashStab 技能斜向冲刺距离缩短问题;设计连招提示渐隐过渡效果,避免信息覆盖;为技能冷却 UI 添加进度条,直观展示冷却剩余时间。SM_Fire_Fireball.cs配置投射体参数,ComboHintUI.cs通过队列管理实现提示有序显示,SkillCooldownUI.cs实现冷却进度条逻辑。
地图模块:为恢复泉水添加多玩家冷却机制(同一玩家 3 秒内仅触发 1 次恢复);限制单泉水粒子最大数量为 50 个,避免特效叠加掉帧;在 Boss 区域外围添加战斗预警圈,提示玩家进入高强度战斗;在隐藏区域设置微弱发光引导,辅助玩家探索;批量修复 Tile 碰撞层,确保 Ground 层设为不可穿透。HealFountain.cs实现粒子数量限制,HiddenAreaGuide.cs动态调整引导光点亮度。
UI/UX 模块:控制血条受击闪烁频率(1 秒内最多闪烁 2 次),避免视觉疲劳;优化背包 UI 中 “99+” 文字布局(调整锚点至图标右上角并缩小字号);重新制作 2 倍尺寸的技能栏按键提示图标,适配 2K 高分辨率;修复死亡 UI 重生按钮状态同步问题(倒计时结束后禁用按钮并置灰)。HealthBarController.cs实现闪烁频率限制,QuitGameManager.cs完成按钮事件绑定。

(2)性能与体验优化亮点

性能瓶颈突破:通过 “敌人尸体 2 秒自动销毁 + 淡出动画”“技能特效渲染层级分级(关键 / 普通 / 次要)”,将 20 + 敌人混战帧率从 45fps 提升至 58fps;
战斗体验升级:精英敌人攻击后摇绑定动画结束帧,消除 0.1 秒僵硬感;冰元素冻结时长随技能等级提升(1 级 2 秒→3 级 3 秒),强化成长感;
探索引导强化:地图指路箭头 5 米外自动隐藏,避免场景堆积;恢复泉水粒子与数值飘字同步触发,解决 “有特效无反馈” 的玩家误解。

(3)可运行成果交付

目前项目已实现 “玩家移动 - 敌人战斗 - 技能释放 - 地图探索 - UI 交互” 全流程闭环,可运行版本包含:
核心场景:洞穴风格 Tilemap 地图(含 Boss 预警区 / 隐藏宝箱);
战斗系统:3 种元素攻击 + 2 个技能 + 敌人 AI 差异化;
辅助功能:血条 / 背包 / 技能冷却 UI、死亡重生、恢复泉水交互。

3. 现实进展展示

img

二、成员成长与协作:在解决问题中凝聚团队合力

1. 成员收获与心得体会:从 “实现功能” 到 “打磨体验”

6 天冲刺中,每位成员都在模块开发中突破技术盲区,形成对 “游戏开发细节” 的深度理解:

陈志豪(敌人模块):

从 “多敌人死亡掉落重叠” 到 “添加随机偏移”,明白 “多对象并发需预判交互冲突”;从 “固定击退参数” 到 “按敌人体型动态调整”,理解 “数值设计要贴合玩家感知”,而非仅满足功能实现。

胡定赟(UI/UX 设计):

血条高频闪烁优化让他意识到 “反馈有效性需平衡感官舒适度”—— 既要让玩家清晰感知受击,又不能过度刺激视觉;背包 720p 适配问题让他养成 “多分辨率专项测试” 习惯,UI 设计从 “追求视觉美观” 转向 “优先保障操作好用”。

阮航宇(地图模块):

恢复泉水粒子掉帧问题让他学会 “资源轻量化设计”(限制单泉水 50 粒子),避免特效过度消耗性能;宝箱交互延迟优化让他重视 “时序同步”,确立 “先跑通逻辑、再补视觉细节” 的开发顺序,避免本末倒置。

张天荣(攻击模块):

攻击盒盲区问题让他掌握 “多判定方式互补”(攻击盒 + SphereCast),确保近距离攻击无遗漏;暴击数字视觉区分(调大字号 + 红色高亮)让他明白 “战斗反馈需直观传递状态差异”,帮助玩家快速感知战斗效果。

汪涛(测试与玩家模块):

Dash 技能累积加速调试让他学会 “高频操作场景专项测试”—— 针对玩家可能连续触发的功能,提前预判状态累积风险;敌人尸体渲染残留修复让他理解 “资源销毁需等待动画闭环”,测试思维从 “被动找 bug” 转向 “主动预判风险”。

莫馥玮(技能模块):

火球术穿透敌人问题让他掌握 “碰撞层精确过滤”,避免误触发非目标对象;连招提示覆盖问题让他学会 “信息传递需保留过渡时间”,通过渐隐效果让玩家有足够时间读取信息,技能设计兼顾 “策略深度” 与 “操作流畅度”。

2. 分工协作:模块化并行,每日联调补位

2.1 模块化并行

陈志豪(敌人模块)

陈志豪负责敌人模块,核心职责是开发敌人 AI 逻辑与死亡掉落系统,具体包括敌人的巡逻、追击、攻击前摇与后摇设计,同时优化多敌人混战行为,解决敌人 “追击到地图边缘后无法返回原区域”“击退距离过短导致战斗难度失衡” 等问题。关键交付成果为普通与精英敌人的差异化攻击节奏(普通敌人前摇 0.5 秒、精英敌人前摇 0.8 秒)、敌人超出巡逻范围 10 秒自动返回原点的逻辑、多敌人攻击时临时忽略友方碰撞的机制,最终交付EnemyAI.cs核心脚本及掉落物生成与资源清理逻辑。

胡定赟(UI/UX 设计):

胡定赟负责 UI/UX 设计模块,主要承担血条、背包、技能栏、死亡 UI 等界面的开发工作,重点解决多分辨率适配(如 720p 低分辨率下背包槽位显示不全)、UI 状态同步(如死亡 UI 重生倒计时结束后按钮仍可点击)、视觉反馈优化(如玩家连续受击时血条高频闪烁)等问题。关键交付成果包括血条数值平滑过渡算法(Lerp 插值)、背包 UI 中 “物品数量超过 99 时显示 99+” 的功能、适配 2K 分辨率的技能栏按键提示图标,同时交付HealthBarController.cs(血条控制)、QuitGameManager.cs(退出按钮事件绑定)等 UI 核心脚本。

阮航宇(地图模块):

阮航宇负责地图与资源设计模块,核心工作是构建 Tilemap 地图、配置地形碰撞层、开发地图可交互物,具体包括使用 cave_tileset 补充洞穴通道、障碍物等场景细节,实现恢复泉水、宝箱、指路箭头等交互逻辑,解决地图部分 Tile 碰撞层未设置导致玩家穿模、恢复泉水粒子特效与数值飘字不同步等问题。关键交付成果为恢复泉水 “每 2 秒恢复 10% 生命值 / MP 且单玩家 3 秒内仅触发 1 次” 的逻辑、Boss 区域外围红色渐变预警圈、隐藏区域微弱发光引导效果,最终交付HealFountain.cs(泉水交互)、HiddenAreaGuide.cs(隐藏区域引导)及完整的地图场景文件。

张天荣(攻击模块):

张天荣负责攻击模块,主要开发近战攻击判定、元素攻击效果与伤害反馈系统,具体包括实现 J 键触发近战攻击、调整攻击盒大小与命中特效触发时机,集成火(燃烧)、冰(冻结)、雷(连锁)三种元素攻击逻辑,解决攻击盒近距离判定盲区、SphereCast 球形检测与原攻击盒判定范围重叠导致重复伤害等问题。关键交付成果为攻击判定优先级规则(优先触发原攻击盒,未命中时启用 SphereCast)、火元素燃烧伤害随时间递减机制(第 1 秒 5 点→第 3 秒 2 点)、雷元素连锁攻击范围从 2 米扩大至 2.5 米,交付Attack.cs(攻击核心逻辑)、BurnEffect.cs(燃烧效果)等脚本。

汪涛(测试与玩家模块):

汪涛负责玩家模块与测试优化工作,核心职责是开发玩家移动、死亡重生、受击反馈等核心交互逻辑,同时执行全流程测试并优化性能,具体包括实现双跳、土狼时间、Dash 冲刺等移动功能,解决重生后物理碰撞失效、连续释放 Dash 技能导致移动加速失控等问题,定位并优化 “Update () 中频繁调用 FindObjectOfType”“多敌人死亡时帧率下降” 等性能瓶颈。关键交付成果为玩家移动手感优化(空中移动加速度从 10f 降至 8f)、敌人尸体 “2 秒自动销毁 + 淡出动画” 的性能方案,交付PlayerController.cs(玩家核心控制)及全流程测试报告。

莫馥玮(技能模块):

莫馥玮负责技能模块,主要开发技能系统与技能 UI,具体包括实现火球术投射体系统(投射、碰撞检测、燃烧伤害)、近战技能 DashStab(向前冲刺 2 米 + 沿途攻击判定),开发技能冷却 UI 与连招提示功能,解决火球术穿透敌人、技能冷却环动画与实际 CD 不同步、连招提示文字覆盖等问题。关键交付成果为 DashStab 技能斜向冲刺速度归一化(确保各方向位移均为 2 米)、连招提示渐隐过渡效果(0.5 秒渐隐),交付SM_Fire_Fireball.cs(火球术)、ComboHintUI.cs(连招提示)等脚本。

2.2每日联调补位

为避免 “各做各的、后期难整合”,团队建立 3 项核心协作机制:

  • 每日站立会同步:每天固定 15 分钟会议,成员依次汇报 “昨日进展 - 今日计划 - 阻塞问题”。例如 Day4 汪涛发现 “技能释放后攻击延迟”,莫馥玮立即配合取消技能逻辑中的 0.3 秒输入锁定,2 小时内完成跨模块联调,避免问题堆积。
  • 模块联调责任:明确 “谁开发、谁配合联调”—— 如张天荣开发攻击模块时,需主动配合陈志豪(敌人模块)验证攻击判定对敌人的影响,配合汪涛(玩家模块)测试攻击与移动的衔接手感;胡定赟开发 UI 时,需对接所有模块的状态数据(如血条绑定玩家 Attribute、技能冷却 UI 绑定技能系统)。
  • 代码同步与评审:使用 Git 进行版本管理,每日晚同步代码至主分支,关键脚本(如PlayerController.cs、EnemyAI.cs)提交前需由 2 名成员交叉评审,避免逻辑冲突或性能隐患(如杜绝 Update () 中频繁调用 FindObjectOfType)。

3. Alpha 阶段工作量比例

成员工作量占比占比说明
汪涛18%玩家模块涉及移动、重生、受击等核心交互;同时承担全流程测试与性能优化,解决 8 项关键问题(如 Dash 加速、帧率下降),联调贡献最高。
陈志豪17%敌人模块需处理 AI 逻辑、掉落系统、多敌人并发等复杂场景;解决 6 项核心问题(如追击迷路、掉落重叠),联调时配合攻击 / 玩家模块验证判定效果。
张天荣15攻击模块涉及多元素效果、判定优先级、伤害反馈等细节;解决 5 项问题(如攻击盲区、雷元素误判),需频繁与敌人模块联调伤害逻辑。
莫馥玮16技能模块需开发投射体、连招提示、冷却 UI 等功能;解决 4 项问题(如技能穿透、连招覆盖),联调时配合玩家模块验证技能与移动的衔接。
阮航宇17地图模块以场景构建与资源配置为主;解决 3 项问题(如地图穿模、特效掉帧),联调时配合玩家模块验证碰撞与交互。
胡定赟17UI 模块以界面绑定与状态同步为主;解决 4 项问题(如多分辨率适配、按钮状态),需对接所有模块的 UI 数据,联调频率高但代码量相对较少。

三、下阶段展望:从 “基础闭环” 到 “玩法深化”

α 冲刺实现了 “能玩” 的基础目标,下一阶段(β 冲刺)将围绕 “更好玩” 展开,重点突破 3 大方向:
玩法深度升级:
新增 “技能树系统”,关联元素攻击与技能成长(如火球术升级后燃烧时间延长、冰元素冻结时长增加),强化玩家养成动力;
设计 “Boss 战机制”,结合地图交互(如利用恢复泉水躲避 Boss 技能、借助地形阻挡攻击),提升战斗策略性,避免 “站桩输出” 的单调体验。
体验细节优化:
补充 “新手引导流程”,通过弹窗分步提示元素克制关系、连招组合技巧,降低新玩家上手门槛;
优化 “移动手感”,根据角色状态(空中 / 地面)动态调整加速度与摩擦力,减少空中 “滑步感”,让操作更贴合玩家直觉。
性能与兼容性:
针对低配置设备优化粒子渲染,降低非关键特效(如地面痕迹、微弱光效)的分辨率与粒子数量,保障基础帧率;
适配移动端触摸操作,添加虚拟摇杆与技能按钮,支持横竖屏切换,扩大游戏适用场景。

四、AI 技术员的角色:从 “辅助工具” 到 “效率放大器”

1. 冲刺中的 AI 贡献:解决重复工作,突破技术盲区

在本次冲刺中,AI 技术主要用于 “代码生成 - 问题排查 - 文档辅助” 三大场景,成为团队效率提升的关键助力:
代码模板生成:针对 “敌人击退逻辑”“技能冷却 UI”“碰撞检测基础框架” 等通用功能,AI 生成可复用的代码模板(如EnemyAI.cs中的KnockbackCoroutine()、SkillCooldownUI.cs的进度条逻辑),成员仅需根据需求调整参数,减少 80% 重复编码时间,专注于核心体验优化。
问题排查辅助:当遇到 “冰元素冻结后敌人无法移动”“Dash 技能连续释放加速” 等疑难问题时,AI 通过分析代码逻辑,提示 “未绑定敌人死亡清除状态”“临时速度未重置” 等关键原因,帮助成员快速定位问题,避免长时间调试。
文档与注释补充:AI 辅助生成模块接口文档(如Attack.cs中ApplyElementEffect()的参数说明、PlayerController.cs的移动逻辑注释),补全复杂逻辑(如多射线墙体检测、椭圆范围检测)的注释,提升代码可读性,方便后期维护与联调。

2. 下一阶段的 AI 应用:从 “辅助编码” 到 “决策支持”

未来将进一步拓展 AI 的应用场景,从 “基础工具” 升级为 “策略支持”,重点聚焦 3 个方向:
体验优化辅助:利用 AI 分析玩家操作日志(如 Dash 使用频率、技能命中率、死亡位置分布),挖掘 “玩家容易卡关”“操作反馈不清晰” 的潜在问题,推荐手感调整方向(如降低空中加速度、优化攻击判定范围)。
资源生成效率:通过 AI 生成基础美术资源(如 Tilemap 装饰元素、技能图标初稿、粒子特效参数),减少美术制作周期;同时利用 AI 批量处理资源(如自动生成多分辨率图标、优化模型面数),降低人工成本。
自动化测试:训练 AI 识别常见 bug(如角色穿模、UI 偏移、技能判定失效),自动执行全流程压力测试(如 20 + 敌人混战、连续技能释放)并生成报告,标注高风险场景,解放人工测试精力,让团队更专注于玩法创新与体验打磨。

结语:冲刺不是终点,而是迭代的起点

6 天 α 冲刺,我们不仅完成了游戏基础功能的落地,更在 “解决问题 - 协作补位 - 细节打磨” 中形成团队默契。从 “敌人追击迷路” 到 “路径实时更新”,从 “UI 适配异常” 到 “多分辨率锚点优化”,每个问题的解决都是对 “玩家体验” 的一次敬畏 —— 游戏开发不仅是技术实现,更是对 “玩家感受” 的持续打磨。
下一阶段,我们将带着 α 冲刺的经验,聚焦玩法深度与体验细节,让游戏从 “能玩” 走向 “好玩”,真正实现 “战斗有策略、探索有惊喜、成长有反馈” 的核心目标,为玩家带来更沉浸、更有趣的 2D 动作游戏体验。

...全文
28 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
书名:JSP 2.0 技术手册(电子书) 格式:PDF 出版:电子工业出版社 作者:林上杰、林康司 本书图文并茂,以丰富的实例为引导,全面介绍了主流的 Java Web 开发技术—— JSP 2.0,重点介绍Java在展示层的两项重要技术:Java Servlet与JavaServer Pages。 它们是最重要的 Java 核心技术。对这两项技术的深入了解,将有助于您未来对于 JavaServer Faces(JSF)技术以及Java Web Services技术的学习 目录 第一章 安装执行环境 1-1 安装 J2SDK 1.4.2 1-2 安装 Tomcat 5.0.16 1-3 安装 JSPBook 站台范例 1-4 安装 Ant 1.6 第二章 Servlet 2.4 简介 2-1 Servlet 简介 2-2 First Servlet Sample Code 2-3 Servlet 的生命周期 2-4 Servlet 范例程序 2-5 Servlet 2.4 的新功能 第三章 JSP 2.0 简介 3-1 JavaServer Pages 技术 3-2 What is JSP 3-3 JSP 与 Servlet 的比较 3-4 JSP 的执行过程 3-5 JSP 与 ASP 和 ASP+ 的比较 3-6 JSP 2.0 新功能 第四章 JSP 语法 4-1 Elements 和 Template Data 4-2 批注(Comments) 4-3 Quoting 和 Escape 规则 4-4 Directives Elements 4-5 Scripting Elements 4-6 Action Elements 4-7 错误处理 第五章 隐含对象(Implicit Object) 5-1 属性( Attribute ) 与范围( Scope ) 5-2 与 Servlet 有关的隐含对象 5-3 与 Input / Output 有关的隐含对象 5-4 与 Context 有关的隐含对象 5-5 与 Error 有关的隐含对象 第六章 Expression Language 6-1 EL 简介 6-2 EL 语法 6-3 EL 隐含对象 6-4 EL 算术运算符 6-5 EL 关系运算符 6-6 EL 逻辑运算符 6-7 EL 其他运算符 6-8 EL Functions 第七章 JSTL 1.1 7-1 JSTL 1.1 简介 7-2 核心标签库(Core tag library) 7-3 I18N 格式标签库(I18N-capable formatting tags library) 7-4 SQL 标签库(SQL tag library) 7-5 XML 标签库(XML tag library) 7-6 函数标签库(Functions tag library) 第八章 JSP 与 JavaBean 8-1 JavaBean 的简介 8-2 JSP 与 JavaBean 8-3 JavaBean 的范围 8-4 JavaBean 的移除 第九章 网页窗体的处理 9-1 HTML 窗体如何传送数据 9-2 窗体中常见的输入类型 9-3 JSP 处理窗体 9-4 文件上传—— Oreilly 上传组件 9-5 jspSmartUpload ——上传和下载 9-6 本文区输入类型(Textarea) 第十章 Session Tracking 10-1 Stateful & Stateless 10-2 Session Tracking 的四种方法 10-3 Session 的生命周期 10-4 HttpSessionBindingListener 接口 10-5 Shopping Cart 范例程序一 10-6 Shopping Cart 范例程序二 第十一章 Filter 与 Listener 11-1 Filter 简介 11-2 Filter 的运作方式 11-3 实现阶段第一个 Filter 11-4 对请求做统一的认证处理 11-5 ServletRequest 和 ServletResponse 之 Wrapper 类 11-6 使用 Filter 来解决中文问题 11-7 Listener 接口简介 11-8 ServletContext Listener 11-9 HttpSession Listener 11-10 ServletRequest Listener 第十二章 JSP 执行环境与开发工具 12-1 Tomcat 5.0 的介绍 12-2 JSP 开发工具介绍 12-3 Eclipse 简介与安装 12-4 使用 Eclipse 开发 Hello

103

社区成员

发帖
与我相关
我的任务
社区描述
2501_CS_SE_FZU
软件工程 高校
社区管理员
  • FZU_SE_LQF
  • 木村修
  • 心态773
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧