这两天工作有点不顺,作为主程,对项目的进度和质量把控上都有点失控。所以今天来尝试做一个总结和反思。
失控的原因
我们游戏的版本周期是4周一更新,除去封版测试提审发布维护等常规操作,满打满算的开发时间为3周。这一次是个大版本,新增了重大内容——圣衣(对,就是球球那样的圣衣系统),所以主要工作量有两块。一是圣衣周边配套系统,二是改造核心战斗框架以支持圣衣。
周边系统主要是同事负责就先不说,今天主要说说我负责的核心战斗模块是怎么进度延误的。
原因一:因各种不确定导致前期尝试的时间偏多
首先是技术选型,我们直接跟随球球选择了Spine骨骼动画(当然我进行了简单的试用及性能测试)。选型后我先实现了能在游戏内看到效果的最小原型,供动画和特效来调试,当然我也要随时配合调整技术方案以实现他们的特殊化需求,这期间花了大概3-4天。
原因二:圣衣团战方案的尝试
策划希望圣衣在团战中也能显示,但如果每个队伍都做一套皮肤的话担心资源量太大,于是让我研究直接使用程序染色的可能性。我研究了两天,权衡后选择了放弃。可以实现,但是对资源量减少有限,反而有额外的开销(cpu),而且还要改动战斗显示逻辑(工作量以及风险)。
原因三:能力有限,写的代码不够好
我实际上并没有写一套完整框架的经验,这个项目也是接手,做一些修修补补的工作。所以很多时候我或是出于谨慎,或是出于遵循“开放封闭原则”,会尽量不去动原有代码。这就导致有些代码看起来比较怪,逻辑有点绕。或许是我框架组织能力还有很大的欠缺吧。
这次圣衣的代码也是一直修修改改,现在在我自己看起来也仿佛一坨屎,实在是不满意,我能想象到对后来者接手我的代码时会是怎样的绝望。。。
反思
通过这次考验,我应该发现自己作为主程在能力上的欠缺,以及下一步该从哪些方面去补足。这次,我认识到了以下几点。
一、架构能力极度欠缺
或许我应该尝试去自己实现一套架构框架(包括UI和战斗框架)了,只有亲自做一遍,才能真正学习和掌握。
二、代码水平还有待提高
代码写得难看就证明有提升的空间。我需要去补补设计模式了,或许能从中找到改善圣衣代码的方法。
我认为好代码的几个原则:
- 不重复
- 简洁、条理层次分明、易读
- 去耦合
- 健壮
三、保持持续学习,总结,做笔记
很重要!每次遇到难题,其实就是你成长的契机!跨过去,你就又掌握了一个知识;绕过去,你就失去了这次成长的机会。
记录一下这次还未跨过去的几个难题:
- Unity相机渲染到RenderTexture上特效的显示问题
- Spine骨骼动画与UI系统的层级关系问题,以及遮罩问题
- Unity资源动态加载问题
- Unity资源的管理:特效贴图、UI贴图、模型贴图加载卸载的时机等
最后,要时刻谨记,总结和反思!
期待更好的自己!!!