团队作业第二次——原型设计与需求分析

ddl战士 2025-10-13 21:40:23
这个作业属于哪个课程2501_CS_SE_FZU
这个作业要求在哪里团队作业第二次——原型设计与需求分析
团队名称ddl战士
这个作业的目标需求分析、基本框架
其他参考文献《Unity 2D 游戏开发实例教程》、《需求规格说明书》

目录

  • 1. 团队项目计划
  • 2. 项目进行过程中遭遇的关键点,难点分析
  • 一、角色移动与物理交互
  • 二、攻击系统与交互逻辑
  • 三、状态管理与调试
  • 四、参数平衡与扩展性
  • 3. 团队分工
  • 3.1. 此次作业分工
  • 3.2. 协作方式
  • qq群聊
  • github
  • 4. 需求规格说明书
  • 4.1(word电子版)
  • 4.2 需求规格说明书链接
  • 5. 需求分析报告PPT
  • 6. 界面原型设计
  • 7. 界面原型设计答辩PPT

1. 团队项目计划

img

2. 项目进行过程中遭遇的关键点,难点分析

一、角色移动与物理交互

角色移动平滑性与精度控制
关键点:代码中实现了加速度、减速度、空中速度衰减、立即变向等机制,需平衡移动手感与物理真实性。
难点:
不同状态(地面 / 空中 / 跳跃)下的速度切换容易出现卡顿或突变(如CalculateNewVelocity中处理变向时的阈值和冷却时间调试)。
空中速度保持(preserveAirSpeed)与落地过渡(landingTransition)的参数配合,需避免落地时速度突变导致的僵硬感。
多射线检测地面和墙壁(CheckGround、IsWallAhead)的精度问题,射线数量、距离参数设置不当可能导致角色 "浮空" 或 "穿墙"。
跳跃机制的复杂性
关键点:集成了跳跃缓冲(jumpBuffer)、土狼时间(coyoteTime)、双跳、跳跃方向锁定等功能,提升操作容错性。
难点:
跳跃缓冲与土狼时间的计时器同步(UpdateTimers),需精确控制时间窗口避免 "跳不起来" 或 "无限跳" 的 bug。
双跳状态管理(doubleJumpUsed)与落地检测(OnLanding)的联动,可能因落地判定延迟导致双跳状态重置异常。
跳跃方向锁定(lockJumpDirection)与空中输入的冲突,需处理锁定时间内的输入优先级(如CalculatePriorityInput中的逻辑)。
碰撞与穿模问题
关键点:使用连续碰撞检测(CollisionDetectionMode2D.Continuous)、预测性碰撞(PredictWallCollision)和速度限制(LimitVelocity)防止穿模。
难点:
高速移动时(如冲刺技能),即使启用连续碰撞检测,仍可能因物理更新频率(FixedUpdate)导致穿模,需调试maxSafeSpeed和collisionPredictionTime。
角落卡住检测(IsStuckInCorner)的误判,例如角色正常贴墙移动时被误判为 "卡住",需优化stuckCheckDistance和stuckThreshold参数。

二、攻击系统与交互逻辑

攻击判定与伤害计算
关键点:通过碰撞体检测(OverlapSphere)判定攻击范围,区分物理攻击和元素攻击的伤害计算(CalculateDamage)。
难点:
攻击范围(attackRadius)与角色动画的匹配,可能出现 "视觉未命中但实际判定命中" 的问题,需微调碰撞体大小与位置(attackPoint)。
元素效果(ApplyElementEffect)的概率触发(elementalEffectChance)与持续时间(如fireDamageDuration),需平衡随机性与战斗节奏。
攻击与移动的状态冲突
关键点:攻击动作(PerformAttack)与角色移动(HandleMovement)需互斥或优先级控制(代码中暂未体现,属于潜在需求)。
难点:
攻击硬直期间的移动锁定逻辑,若未处理可能导致 "边打边跑" 的不合理状态。
攻击冷却(attackCooldown)与输入响应的延迟,需避免连续输入导致的攻击判定异常。

三、状态管理与调试

复杂状态的同步与切换
关键点:角色状态(跳跃 / 落地 / 空中 / 卡住等)通过多个布尔变量(isGrounded、isJumping、isLandingTransition)和计时器管理。
难点:
状态切换的边界条件处理,例如从 "空中" 到 "落地" 的瞬间(OnLanding)需同步重置空中速度(preservedAirSpeed)和双跳状态,遗漏可能导致逻辑错误。
多状态叠加时的优先级判定(如 "跳跃中" 同时 "检测到墙壁"),需明确状态间的互斥关系。
调试与可视化
关键点:通过OnDrawGizmosSelected绘制射线、检测范围和状态标识(如土狼时间用黄色立方体、跳跃状态用青色球体)。
难点:
调试信息的冗余或缺失(代码中大量使用Debug.Log),需区分开发环境与生产环境的日志输出。
复杂状态的可视化标识(如isStopping、inputChanged)需直观反映当前逻辑,否则难以定位问题。

四、参数平衡与扩展性

参数调优的复杂性
关键点:角色移动和跳跃涉及大量可配置参数(如accel、jumpForce、coyoteTime),攻击系统也有伤害系数、元素概率等参数。
难点:
参数间的关联性强(如airAccelerationMultiplier与preserveAirSpeed共同影响空中手感),调整一个参数可能引发连锁反应,需系统性测试。
不同角色或敌人的参数差异化配置,需设计可复用的参数管理系统(当前代码为硬编码,扩展性较弱)。
功能扩展的兼容性
关键点:预留了技能系统(dashKey、skill1Key)和元素效果(火 / 风 / 冰 / 雷)的扩展空间。
难点:
新功能(如冲刺、技能)与现有移动逻辑的冲突(如冲刺时是否忽略碰撞检测),需重构状态管理逻辑以支持扩展。
元素效果的叠加或交互(如 "冰冻" 与 "燃烧" 的互斥),需设计更灵活的效果管理系统(当前ApplyElementEffect为简单分支逻辑)。

3. 团队分工

3.1. 此次作业分工

学号姓名工作内容贡献度
102300215陈志豪分配任务、测试、写博客16
052301144汪涛角色模块、写需求规格说明书18
102300216胡定赟ui界面17
052301348阮航宇地图模块17
092300125张天荣攻击/受击模块、需求分析评审表16
222200327莫馥玮界面原型设计、界面原型设计答辩ppt、需求分析报告ppt、界面原型设计评审表、课堂讲述16

3.2. 协作方式

qq群聊

使用qq群聊口头讨论效率高,10秒可拍板,群文件搜索“日期+关键词”就能翻出早期原型截图,群文件上限3 GB, PSD、Unity大包一键扔

img

img

github

代码diff、review、CI自动化检查,版本树一目了然,Releases一键打包Tag,附zip+checksum,下载方便

img


两个一起用可以先在qq群里说一声,再贴GitHub Issue链接,保证“既快又留痕”


4. 需求规格说明书

4.1(word电子版)

游戏需求规格说明书.docx 314.08K

4.2 需求规格说明书链接

需求规格说明书

5. 需求分析报告PPT

需求分析报告PPT

6. 界面原型设计

界面原型

7. 界面原型设计答辩PPT

界面原型设计答辩PPT

...全文
273 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

103

社区成员

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

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