介绍
我带领的第二次小组团队项目,大三寒假时间为开发时间。一款赛车游戏,虽然操作脚本很简单,但其它部分都达到了要求。
确定项目
先是开个会议宣布寒假项目开始,会议中提供找到的游戏策划模板,发布制定自己策划方案的时间期限。
期限到达再开一次会议,每人用电脑演示宣讲一遍自己的项目策划案。
分工
这次采取了第一次的教训,坚决写清楚每个人的分工任务。防止风格出现问题,资源的收集、场景UI框架的搭建都由我在发布分工文档前准备完成。
分工,根据策划案的功能划分为七个场景:开始场景、主菜单场景、成就查询场景、诗词系统场景、无尽塔场景、车库场景、阶位场景。
七个场景写出七个场景的基本安排文档,内容包括:建议脚本框架、需要实现的主要功能、UI界面示意图和实际的搭建图。
之后根据每个场景任务量的不同再依据个人能力将7个任务分配给五个人。
一、六场景为一个部分;二场景为一个部分;三四场景为一个部分;五场景为一个部分;七场景为一个部分。
进度规划
还是吸取上次项目的经验教训,这次项目安排了进度规划。
1月23号中午之前前完成第一部分,因为其它场景需要用到第一部分的数据存储脚本。
2月1号晚22:00前完成2、3、4、5、6部分
2月4号前完成第七部分
完成第七部分后开展项目优化时期。
因为成员自身寒假时间用于打工时间不足以及能力原因,第七部分的工作搁浅,学期开始前才由我和一位成员一起草草收场。
资源结构
采用每个场景划分一个文件夹做场景资源文件夹,与该场景相关的资源存放在该文件夹下。
Garage场景的资源文件结构
而脚本则是在Assets目录下场景一个Scripts总目录,总目录下面建立各场景分目录。
游戏数据结构
代码形式
json格式显示
遇到的问题
问题1:
成员因为个人原因不能按时完成任务分工。
总结:下次团队项目时做后手准备,预防成员出现原因导致整个项目出现大问题。并事先了解每个成员的时间安排和能力。
问题2:
一些部分作出的功能差强人意,不仅没有达到要求,还有许多bug没有自我检查修复。
总结:项目过程中应该更紧密的观察各个部分的进度,做好交流和沟通,让成员理解我的意思,明白需要达到的效果。
设立一个项目检测的要求,把自己能想到的会出现的问题列举出来,让成员按照要求检测自己的工作部分。
问题3:
如何使各个场景间实现数据流通。
方案:设置一个不可摧毁的游戏体,并在游戏体上附加单例化脚本用来存储游戏过程中需要用到的数据。
问题4:
通过什么方式保存游戏数据。
方案:使用json文件进行游戏数据的本地保存。制定一个单例脚本专门用于json数据和json文件的转换,即游戏数据的保存和读取。
问题5:
怎么判断开场动画结束。
方案:根据帧数来判断播放的视频动画是否结束。
问题6:
如何实现车辆的转动展示。
方案:基本的用Slider与车辆y轴旋转值进行绑定。之后优化时获取鼠标左右移动的值来变更车辆的旋转值实现车辆旋转展示的效果。
问题7:
创建json文件时报错,文件共享被破坏。
方案:在File.Create(xxxx);创建文件时跟随Dispose函数释放占用,即FileCreate(xxxx).Dispose()。
问题8:
打包后读取json文件出错。路径出现了问题。
方案:不采用datapath,使用persistentDataPath路径保存json文件
项目展示
开始场景
开场动画
开始场景界面
主菜单场景
主要界面
章节预览(功能未做)
背包界面
成就查询场景
诗词系统场景
第一卷
第二卷
第三卷
无尽塔场景
主界面
奖励说明
游玩场景
战诗词加速面板
获得奖励
车库场景
主界面
尾焰ON!
UpTree面板
好车
阶位场景
主界面
游玩场景
视频演示
时速飞车演示视频
项目文件
项目文件是FastCarsPerHour1.4。版本为2019.4.15f1c1
链接:https://pan.baidu.com/s/1u1fgfc3VXsQKKRfsKjwVig
提取码:lyat
总结
这个项目在数据操作,UI控制这方面的完成度令人满意。但赛车操作、动态生成赛车、行驶过程中尾焰控制方面等内容显的不尽人意。
个人完成的是一六部分,以及其他场景UI界面的制作以及一些小优化。尝试了新东西,诸如加入开场动画、列表的制作、Resources加载资源文件。