公司开始进行了新项目,暂定为顶视角多人游戏。这一次,大多数都要重头开始,也许会复用过去的一些美术资源;但是换了引擎,代码也要重新写过。

这次项目是上一个项目的第二次迭代和重构,以实现上一个项目很多做的不到位的地方。上一次项目最后的效果,作为制作者之一,我觉得并不十分理想。本人在开发进度大约3/5处加入了进来,在4/5出被抽调了出去参与其它项目。本不该由我来评判什么,毕竟在整个开发过程中,人员发生了较大变动,团队环境也发生了翻天覆地的变化,目标一变再变。前一个项目是我们公司的第一个3D项目,犯错入坑都是很正常的,一句“爱过”足已。无论如何这个项目很快就会结束,留守人员也很快会加入到新项目当中。一切归零,我们重头再来。

这篇文章主要是谈谈项目初始,我对这个项目,或者说所有将要开展项目,在开发过程中应该得到所有人体认的一些常识。而这些常识,在前一个项目和公司的其它项目中并没有没有达成普片共识也没有被践行过。

 

自己吃自己的狗粮

因为犯下这些荒唐的常识性错误的原因只有这一个,没有自己吃自己的狗粮:计划制定者不是计划实践者。计划制定者不用实践自己的计划,自然不能把计划的考虑全面。这些人不到一周做出一张看似多快好省的大饼,却要一个团队一年甚至两年的时间埋单。

所以我们这次团队的leader是程序员(不是本人:()。策划将承担gameplay的设计和制作工作,程序负责系统的设计和制作。

 

先开发网络再开发单人

考虑网络同步问题,必须从架构的一开始就考虑;如果在项目的中后期要加入联网功能,甚至是联网PVP功能,依过往两个项目的经验,只能勉强做到短连接。这种需求一开始没有作为工作重点提出来,在开发中后期再根据渠道的需求提出来,是一个重大的失误。因为PVP功能加入之后无论是游戏架构,和参数设计都经历的巨大的调整,结果帮助团队顺利的“跨越”了另一个deadline,而没有死亡。回想起来只能苦笑。

这一次我们用了2个月的时间由少数几个人,文稿上是3个人(实际上是1.2个人,1个人就是我)。这两个月的人物主要是网络技术选型和测试和架构的初探。我不敢保证2个月的时间可以从零开始,设计出什么优美的架构。但是至少一次可丢弃的原型,能为正式开发节省数倍的人力。

 

多平台先做

“先开发一个iphone版然后再(找专人,专门的时间)移植到其它平台”,这种思想是极度不服责任的同时又是非常具有诱惑力的。因为这种思想可以使开发进度表看起来的更好看一些,但是却没有考虑的移植平台是一件消耗巨大精力,且性价比极低的工作,会拖慢整个项目的后续开发并且提高维护成本。比如界面的多平台适应,如果一开始不考虑的话,各个平台的内存大小不一样,美术资源的制作模式,运行时载入策略都没有通盘考虑,自后不仅程序返工,还要带着美术一起返工,真是对不起奋战在一线的美工妹子。有的项目,甚至最后提出了维护多(一)个(蠢)版(再)本(蠢)的想法,还好被程序这边否决了。

我们这一次会多平台统一开发,开发方式大体是:首先定义最低配置测试机型。先利用android机测试,没完成一个功能点都会利用平台测试。

 

处理其它开发任务的阻扰

其一就是debug。既然我们有bug提交工具,那么理所应当的把bug的汇报和修复异步话,每天集中时间来修改bug,而不是发现一个改一个,打断程序员正常的思路。

 

先想到这么多,推行一些再看情况吧。