173
社区成员




这个作业属于哪个课程 | fzusdn |
---|---|
这个作业要求在哪里 | 团队作业—beta冲刺 |
团队名称 | 此生不戒多巴胺 |
这个作业的目标 | 撰写beta冲刺总结博客,完善alpha冲刺过程 |
作业正文 | 团队作业—beta冲刺 |
其他参考文献 | Javascript学习指南、cocos坐标运算、cocos2.4版本 官方文档、cocos2.4 API参考手册 |
在alpha版本之后,我们小组的项目已进入收尾工作,此次beta冲刺主要是对第一关、第二关的内容微调和补充提示,同时完善UI界面的美观和打包游戏
ts-jest 的基础测试框架是 Jest,一个开箱即用的 JS 单元测试框架,由 Facebook 在维护。
由于引擎需要浏览器环境的 API 才可以正常运行,而单元测试框架运行在 Node 环境中,我们使用 Jest 提供的 jsdom 来模拟浏览器环境。同时 Jest 也支持通过 Puppeteer 让单元测试直接运行在 Chrome 内核浏览器中,这对于未来我们做自动化图形测试很有帮助。
除此之外,ts-jest 还会在测试前对引擎代码的 typescript 语法和模块依赖进行校验,出现问题都会导致测试无法通过。
在这次beta冲刺过程给我最大的收获就是感受到组长的责任感,要时刻关注组员的工作情况,心里状态等,确保团队是一条心并且按时完成布置任务;其次就是作为组长,还需要有较强的技术能力和项目管理经验,才能够带领团队顺利完成项目,在这点上我还是比较欠缺,但是通过这段时间的磨练和组员之间的配合,我感觉提升很大;同时,要做好团队内部的建设工作,培养优秀的团队成员,并不断提升团队的整体能力,这里包括编程能力和交流能力等;最后就是要保持学习的意识,不断提升自己的技术水平和管理能力,为团队和项目的发展提供更好的指导。当然,作为组长,还有更多的职责和挑战需要去面对和解决。例如,要解决团队内部的分歧和矛盾,保证团队的凝聚力和协作精神;要拓展开发方向,为项目带来更多的可行性等,这些都是我还要继续学习和发展目标,还要朝着这个方向继续努力。
这次的 beta 冲刺,我们在短短两周内将游戏从雏形逐渐拼接完善成为一个大游戏,这其中由于临近考试也涉及了很多时间安排的问题,在不同的成员成果的合并过程中我也学到了很多。
在组织方面,我认识到一个时长以周为单位的中型项目还是需要在前期有良好的规划,不能够习惯性的走一步看一步,而是要在项目初期就做好打算,并留有冗余的时间,这样才不会导致前期松后期紧的情况
在开发方面,我认识到前期接口语义的统一以及各种规范的制定都是不能偷懒的,一旦给出一个模糊的语义不同的成员会有各种各样的解读方式,反而在沟通上会浪费很多时间。
个人开发能力对于软件开发团队是至关重要的,本阶段任务训练我的个人开发能力,让我学习软件开发中的常见流程。
在本项目的中后期开发流程中,我认为设置事件发生逻辑是最为重要,也是耗时相对最多的。我很少设置逻辑,通常都是直接开始编码,但是在写代码过程中会发现自己最初的想法有很多漏洞,于是再推翻重构,浪费很多时间。有的时候场景切换也是令人非常头疼的,比如说之前曾经遇到过201室场景小游戏无法切换回主游戏中。同时203室中人物行走时无法识别门框信息,导致无法切换场景的问题,集中在场景切换上。通过完善gamecontroller、gameinfo等文件才能够实现数组处理场景切换的人物。
这一阶段里,我和策划组的同学一起进行对小游戏的流程形势进行一个判断。我认为对于团队而言,首先做好设计文档,写好总结博客。其次是分配任务并限定时间。开发中要多进行单元测试,并对之前开发的组件进行回归测试。开发文档是至关重要的,如果开发文档不搞好,开发人员看的也很难受,而且要正确,不然要改半天。
总而言之,这一个阶段的训练非常有益,是很难得的。
策划游戏是一项非常有趣且具有挑战性的工作。在进行游戏策划时,你需要考虑许多因素,包括游戏的故事情节、角色、游戏规则、游戏目标、游戏玩法、游戏平衡、以及游戏界面和设计等。这些因素都需要经过细致的规划和设计,以便满足玩家的需求并吸引他们的兴趣。
策划游戏的过程通常需要与团队成员密切合作,以便确保游戏的质量和一致性。这可能包括与美工、开发以及其他相关专业人员进行沟通协调。
总的来说,策划游戏是一项充满创造力和挑战性的工作,需要考虑许多不同的因素,并且需要与团队成员紧密合作。
先说收获,综合这学期的学习,通过软工实践课,我掌握了cocos游戏引擎的基本用法和javascript的基础语法,学习了制作小游戏的基本逻辑,完成了这个游戏的基础设施的搭建,和框架代码的编写整合,体验了依次自己开发一款小游戏的过程,是一次比较难忘的经历。
再说不足,首先没有很好地学会使用工具进行开发,尤其是在调试方面,在开发的过程中,仅仅使用了浏览器预览的开发者工具进行进行错误信息的判断,其次对自己的开发项目做充分的测试,这是在后续的开发中需要在这两个方面进行改进,提高开发的效率。其次,我个人感觉并没有在这次软工实践中的有很大的收获,虽然写的代码不算很少,但是感觉并没有对自己的码力有很大的提升毕竟这种小项目小游戏距离工作中的工业级的项目相差太多。个人认为我们只有接触到大小项目之后才会对软件工程这个学课中的各种概念,方法有更加深刻的体会,这些实际课上的项目可能对于软件工程这门学课略显幼稚。所以我觉得与其开放性让10个人的团队写出一个能跑的屎山小玩具,不如用心设计一个project/教材,让学生学习怎么写出高质量的代码,怎么应用好各种开发/调试工具,怎么高效地做测试,怎么写文档。这些或许在我看来,可能更有意义。
在beta阶段中,相比于第一阶段而言任务没有那么繁重,我还是继续坚守我的美工岗位,可是在这期间因为有很多其他科目大作业导致我们有点无暇顾及,我认为在本次作业任务中,团队的协作是非常重要的,每一个人都应在自己擅长的领域发挥,遇到实在难以解决的问题时,我也很信任我的组队小伙伴。经过本次一起组队做老师布置的的任务的经验,相信下次在类似的组队中会更加得心应手。
经过第一个十天的冲刺,目前我基本融入了团队的工作节奏。在还在学校期间,白天正常学习之余,晚上也全心全意投入软工团队工作中去。比起刚刚起步时的磕磕绊绊,如今我已经能基本了解像素风作图流程,并且和小组成员形成积极有效的交流,素材的产出也逐渐有了节奏。从刚开始的盲目的搜索和囫囵吞枣式的学习,到现在的有头绪、有目的地查阅资料,搜索关键信息,团队工作让我学到很多,这些天来素材的不断积累(和被打回),使得我的这方面能力不断提高。而对与团队协作,我也积极配合团队合作,在团队编程时也适当提出自己的看法和意见,在和策划组、开发组的交流中不断进步、促进项目的推进。这次的团队合作,是一次难忘的、充满收获的经历。
通过进一步的团队协作,加深了我对合作重要性的认识。合理的团队协作,能够大大提高编程效率,提高组员的积极性。当然合作中出现分歧,我们小组就在面对某个部分产生了争议,我们通过各组员发言,阐述自己方案的优缺点,最终我们汲取各方意见,改进了该部分,使得该部分比之前都要完美。
在这次冲刺中,我通过网上查询资料,向学长寻求帮助等手段,完善的之前负责部分的代码,缩减代码行数并增强了可读性。从这次改进中,我明白的多复盘自己的代码,多尝试优化,每次都能有新的收获。
这次在团队中做的是拼接的工作,主要是完成的上个阶段写的每一个组件逻辑的拼接,其中开发规范的问题以及各个功能的合理摆放规划成了最大问题,使我一头雾水,但是又收益匪浅。在拼接过程的又学习了许多新的方法,之前用的是都是按钮组件,现在使用碰撞监测然后还有如何实现和过程的设计也是一个问题,原本采用动画的形式,但是发现由于没看好开发规范,采取的动画的形式无法对实现,这又浪费了很大一笔时间,得不偿失。然后对于功能组件的选择也有了更深的了解