开发横板闯关游戏-小猫梦游历险记-日记
前记
- 基本完成一部分地图的构建
- 完成存档点的创建
- 能量球的创建
- 角色的创建
- 角色跳跃移动冲刺
- 移动平台
- 敌人
- NPC
- 地刺
- 水
由于手术原因搁置了一个月
2024/8/2
- 修复了全局光效显示的bug,最后发现是参数值大小的不适合。
- 修改了角色对于冲刺撞击边界的识别算法,修改了对于角色在地板与平台上的区别的检测机制
- 产生了角色在平台上的检测的bug
2024/8/3
上午
- 修复了角色在平台上的检测的bug
- 新建了飞刀模型
下午
- 写了好多没用的代码文件,最开始是为了可拾取物品的包装性,后来发现反而累赘。
晚上
- 散步
- 发烧
2024/8/4
发烧
摆烂一天,跟wx打了几盘棋。
2024/8/5
上午发烧
- 修复了添加的乱七八糟文件带来的bug
- 添加了存档点使得游戏更为河里
- 添加了能量球,未来会支持二段跳
下午发烧
- 躺了一下午再出去逛了会
- 终于退烧了!
- 写了一道Leetcode算法题
晚上
- 白兰,还是比较虚弱
2024/8/6
上午
- [x] 更新二段跳
-
[ ] 完成第一世界的地图制作
-
扩大了视野范围
- 更新了摄像机的跟随移动机制,使得移动更为平滑。
- 更新了一部分地图
- 完成了二段跳的编程并修复了一些bug
二段跳 二段跳的实现应该不是按总共跳跃次数来定,而是按空中可跳跃次数来定,因为当角色非跳跃落空时在能够二段跳的情况下空中也只能跳跃一次。 然后空中有一些判定特征:不可跳跃,脚下无地板,可移动,不在冲刺状态 满足这些条件可二次跳跃 然后恢复可二段跳的条件设定为:重新落地。
下午
- 由于想拼接游戏原版的地图,所以想开发个图片修改程序
- 学习conda的使用
-
中间de了一个PowerShell的bug,由于路径中有中文,所以无法正常
conda init
,最后选择手动init修改PowerShell的profile。 -
学习pillow库的使用操作,然后放弃了的故事
- 投靠opencv
晚上
- 出去逛
2024/8/7
做游戏做得有点累
上午
- 建模主世界方块,打算重构
- 累累累
下午
- 重构主世界,完成一小部分
晚上
- 累了摆烂
2024/8/8
上午
- [x] 构建主世界地图
下午
- [x] 加陷阱、角色、存档点、能量球等等
- 基本做完了第一个世界的80%
晚上
- 将游戏导出了,修复了Canvas显示的问题,原来是分辨率不适配
- 发现bug在其它电脑上测试时会复现
- 二段跳平台检测出现一点问题,边缘平台可能识别不了
- 冲刺进墙事件时有发生
2024/8/9
上午
- [x] 绘制主页面,加页面跳转
- [ ] 加传送点
- 加了飞刀
- 加了爪爪
- [x] 草地
- 修正了移动代码,特别是冲刺和跳跃
- 修复平台bug失败
- UI应该已经修复成功了
- 修复了平台移动卡顿bug
- 冲刺进墙bug已经修复,对于边界的判定跟冲刺移动应该要求先判定再移动,而不是任意顺序进行,否则可能未判定已经移动进墙。局部未修复,感觉Unity角落碰撞判定就是有问题哼。
- 修复意外冲刺死亡后状态失常的bug
下午
- 做了按钮和控制门
- 做了主界面
- 完成界面跳转
- 添加了第二世界模型
- 完成了传送点的构建
- 加了地刺
做到现在主世界基本做完,比计划提早了很多,辛苦了 接下来还要完成成就物品的建模,通关物品的建模,以及另外两个世界
晚上
- 打羽毛球
- 绘制了所有世界的地图
2024/8/10
上午
- 做了第二世界地图80%
- 七夕节快乐~
下午
- 继续整第二世界地图
- 添加场景转换并要求无数据损失
- 场景转换出现了进程控制bug
晚上
- bilibili七夕晚会
2024/8/11
上午
- 企图修复bug
- 场景转换bug修复成功
- 发现按钮的多线程bug
- 建移动方块的模型
下午
- 出去兜风
- 边吃饭边初步做完了第一关卡
- 新建按钮复位模型
- 完善了移动方块
- 新建可匹配打开的门
- 新建了虚线目标匹配用的方块模型
- 完成了第一关卡的代码编程
晚上
- 散步
- 回来把第二世界剩下的弄完了,包括三个关卡,存档点,NPC,一些UI修复
- 发现匹配检测有点小问题,主要是精度问题,它可能方块没法吻合得那么好,就算好识别也不够快。
- 匹配检测精度调低了点,好点了,但是当两个块贴在一起的时候还是会检测不到,不懂不懂,真是神奇,它***就认一个块哇。
2024/8/12
上午
- 修复了撞块按按钮的识别bug,改了逻辑执行顺序,结果出先了新bug,就是紧贴方块边缘时可能冲刺方向没有更新但是状态处于冲刺时会出现bug
- 为了修复前面卡死的bug,修改了状态更新顺序,先改方向再改状态
- 结果发现还是不行,可能是更边缘性的问题,干脆改成持续判断,就是会增加计算量
- 由于Unity物理碰撞太真实,不适合像素游戏的移动碰撞检测计算,所以修改了碰撞后物体的位置算法,使得更符合像素游戏逻辑,这也同时避免了如果碰撞到不规则接触块后位置会被扭曲的现象
- ***不规则块哎,修改了复合碰撞体几何形状的生成算法,使得生成的复合碰撞体按照多边形实心碰撞体来生成,而不是按边缘碰撞体生成
下午
- 建模红色世界
- 内测出现移动块角落碰撞的bug,修改了碰撞体边缘大小,bug初步修复
- 发现了碰撞检测实际上是接触检测的bug
- 建模红色世界方块
晚上
- 建红色世界地图
- 打麻将几盘
2024/8/13
上午
- 继续建红色世界地图,完成80%,地形建完,地皮建完,草地建完
- 完成了红水的建模
- 完成了机关、敌人和存档点的布置
- 完成了面包NPC的建模,萌萌的。
- 第三世界地图完成
- 测试后把NPC缺省部分补充完了,修改了一些机关的位置
下午
- 做动态背景未遂
- 完成通关物品建模
- 完成游戏控制模块
- 完成显示水晶的建模
- 完成结束床的建模
- bug很多
晚上
- 修复了拾取了通关物品后游戏控制组件那里没有设置false状态的bug,在DontDestroyOnLoad视图里的组件实际上不在原来视图里了,需要用GameObject.FindGameObjectByTag(string tag)来获取。
- 做了结束动画
2024/8/14
上午
- 自己测试
- 白色世界虚线块检测出现bug,角色触碰也会识别,后期发现代码里本来想考虑的,代码顺序忘改了,在条件语句外执行了 [已修复]
- 返回世界后重生点应该设置为之前睡的床 [已修复]
-
游戏通关检测bug,发现状态为禁用时动画参数会重置,也不可修改,还不可访问 [已修复]
-
将水晶显示设置的代码放在了游戏控制里,检测视图
- 修复了通关三个关卡后由于主世界视图没有激活而造成的暂时引用bug,将引用设置为当主世界视图激活时再引用 [已修复]
- 代码禁用引用失常,后来发现是因为实际需要引用的是EndBed下的子对象Bed
- 初始床上的箭头错误显示 [已修复]
- 游戏基本完成!
2024/8/19
晚上
- 修复了角色冲刺侧接触按钮导致的抽搐,将入口改为了Stay2D相关函数
- 咨询了一下助教,暂时没有解决
2024/8/20
晚上
准备好远航
2024/8/24
上午
- 为游戏接入背景音乐 [已完成]
- 解决游戏初始床指示箭头显示的问题 [已修复]
- 为角色加上各种移动互动音效 [已完成]
下午
- 为角色加上各种移动互动音效 [已完成]
- 修复了虚接触引发移动方块移动的bug
2024/8/25
上午
- 学习了一下Unity项目以WebGL的方式嵌入网页
下午
- 学习了一下网页编程,决定放弃写一个游戏网页
- 修复了对话UI的问题,发现没有改People预制体中Canvas的显示方式
- 补充系统设计文档
晚上
- 学os
2024/8/26
上午
- 初步做完了汇报PPT
下午
- 做事
晚上
- 学vue
2024/8/27
上午
- 修复了游戏结束界面的Canvas显示bug
- 发现天国碰撞音效有问题 [已修复] 后期发现不是碰撞音,而是开门音,因为重复检测到关卡已过重复发声
2024/8/30
- 添加游戏缓存功能
- 修复了场景切换后显示的场景没有被及时设置为
Active
的问题
2024/8/31
上午
- 写文档,破半万
下午
- 写文档,基本完成
晚上
- 玩!
2024/9/1
上午
- 处理了点事情
下午
- 添加游戏缓存功能 [已完成]
晚上
- 大班会
- 游戏完成存档功能
2024/9/2
上午
- 补充网页内容
晚上
- 补充网页内容