新⼿⼊门必读:⼀款⼿游的开发流程是怎样的?
⼿游⾏业的爆发,让很多⼈对这个⾼流⽔的捞⾦⾏业趋之若鹜,其中有刚毕业的⼩青年,也有半路出家转⾏进来的,
不论怎样对于⼿游⾏业来说他们都是“新⼈”,所以基础知识就变得尤为重要了。本⽂将介绍游戏的⼀般开发流程,包括筹备、原型、发布和迭代。
1.筹备阶段:筹建团队,确定项⽬的基本⽅向。
2.原型阶段:实现⼀个游戏原型,发布Alpha测试版,以验证和调整预定的⽅向。
3.发布阶段:发布游戏的Beta测试版本,供内部封闭测试,做上线前最后的准备。
4.迭代阶段:完成对Beta测试版的修改,上线后按迭代周期,持续开发和调优产品
在这些阶段中,我们都必须注意开发流程中的⼀些重要因数:
手游怎么推广⾓⾊:定义⼀些⾓⾊,规定其⼯作权⼒和责任,避免过度讨论或盲进
交付物件标准:每个⾓⾊都必须按照⼀定标准来交付⼯作成果,避免在长长的⼯作链条中出现很多误差。
⼯作⽅法细节:由于游戏开发是⼀个涉及多个专业的复杂过程,所以这个过程中有⼀些⼯作⽅法,是必须要遵守的,
否则将会严重降低开发效率。
作为⼀个完整的游戏开发团队(不包含运营团队),整体的结构应该⼤致如下:
筹备阶段
⾓⾊定义
投资⼈:根据市场状况和投资预期,提出商业⽬标和项⽬邀约,和制作⼈讨论并审核确定《产品⽅向》,制作《投资
计划》,按计划安排资⾦投放,并承担投资后果。
制作⼈:根据投资⼈的商业⽬标,整理和组织市场调查数据和《竞品资料》,制订《产品⽅向》。根据《投资计划》
组建核⼼团队。在某些项⽬⾥,投资⼈和制作⼈是同⼀个⼈。
核⼼团队:⼀般由制作⼈和主程,主策,主美组成,有些时候还包括项⽬经理。在某项项⽬⾥,制作⼈可能由核⼼团
队⾥的任何⼀个⼈兼任。
项⽬经理:负责制订⼯作计划,监督进度,安排各种资源。初期可能会有很多秘书⼯作需要担任。在某些项⽬⾥,项
⽬经理可能由核⼼团队中任何⼀个⼈兼任。
交付物件
《投资计划》:由时间、⾦额、项⽬进度检查标准,这三列组成的⼀个表格。需要附带上修改⽇志和完成记录。
《产品⽅向》:⼀个具体的⽂档,记录了产品概念所依据的市场状况(数据)、竞品的情况(数据);也记录了项⽬
产品的基本情况:游戏的题材、游戏的玩法、游戏收费⽅法的基本概念,以及市场推⼴、运营的基本思路。
《竞品资料》:罗列所有主要的竞争对⼿产品的情况,包括产品市场数据,开发⽅案(如能搜集到),评测资料,⽤
户反馈等。需要由制作⼈持续更新关注,随时整理添加。
重点注意
产品概念讨论⽅法
针对⽤户特性:游戏产品形态⾮常丰富,细节也很多,所以在讨论任何设计的时候,都必须按照既定的⽤户画像来做
标准判断,避免⼤⽽全或者钻⽜⾓尖。在各种“调查报告”⽆效的情况下,邀请⼏个⽬标⽤户作直接沟通,往往能获得最真实、最有效的情报,不⽤过于担⼼“代表性”不够,因为共性往往是⽐较明确的部分。
针对竞品:在⽤户、市场情报不够充分的时候,竞争对⼿能提供最直接的产品信息。通过分析竞争对⼿的产品,特别
是跟踪竞争产品的变化,就能猜出⽤户和市场的反馈。就算本产品的竞争对⼿不多,⽅向相似度不⾼,只要是⽬标⽤户
体接近,也可以通过竞争产品的⽤户感受来了解⽤户⼼理。切记闭门造车,不接触市场风潮。
不应该深⼊的部分:在筹备阶段,容易陷⼊头脑风暴,所以我们不应该深⼊讨论产品的开发过程、开发⼯具、开发⼈员。对于产品的细节,也不宜过细,但应该出⼀些简单明确的概念来代替,如“经过XX修改的竞品A”这样就很好。
团队缺⼈对策
招聘渠道:⾸选熟⼈朋友圈,其次毕业⽣和培训机构,最后是⽹上投递简历。由于现在的培训机构⼀般都需要签就业
协议,所以对于创业团队,⼩型公司来说可以作为⼀个⽐较稳定的⼈员来源。⼤型公司最好就是各种⾼校的招聘会了。猎
头也可以考虑,但是对候选⼈需要仔细甄别。
选择简单的⼯作⽅法:缺⼈的情况下,往往是缺⽜⼈。所以⼀定要选择简单的⼯作⽅法,各种⾼⼤上的流程,⼀定要
在有IT技术保障下实施,不要直接推⾏⽽不顾实际情况,这些可能有问题的⽅法包括:定期汇报制度、全⾃动化项⽬管
理、没有⾜够储备的技术开发⽅案等等。
培训准备:根据初期可能到职的⼈员,进⾏基础能⼒的培训,⽐如SVN的使⽤,BUG跟踪系统的使⽤,基础的开发技术、美术、策划⽂档标准。这些培训都是需要多次进⾏,所以应该先准备好培训资料,避免新成员⼊职措⼿不及。时间控
会议:筹备阶段⼤概有⼀半的时间是在做沟通,因此会议时间需要特别控制。要严格遵守议题议程。如果有遗留问
题,应该有专⼈搜集整理并且跟进,⽽不是在会上去解决。因为会上提的⽅案,往往没有⾃⼰在认真思考的环境更完善。
另外就是避免“挨个报告”那种没有明确议题的会议。这种沟通了解放到其他时间,少部分⼈沟通会更清楚。
招聘期限:根据经验,核⼼团队具备的情况下,要组建到项⽬正式启动的团队,基本需要3个⽉左右。假如接近3个⽉都没有什么进展,应该和投资⼈反映,并研究解决⽅法。⼀般最简单的就是提⾼⼯资和雇佣猎头。
原型(Alpha)阶段
⾓⾊定义
主策:提出产品原型的概念,交付《项⽬总体设计》,并协助原型开发,突出产品特点。
主程:选择技术⽅案,定义美术、策划资源的技术标准。搭建开发环境,编写产品原型。在客户端开发⽅⾯,和美术同事合作,调整原型效果以达到测试的⽬的。
主美:选择美术风格,在策划和技术的共同讨论下,确定各美术组件的基本技术标准,如⼤⼩、尺⼨、容量。并且确定美术资源的格式。
项⽬经理:有些团队由制作⼈、或者主策兼任。此阶段在明确游戏原型后,产品、技术、美术⼈员都会需要各⾃开发⼀些内容,然后再整合到⼀起。因此项⽬经理应该负责组织⼤家共享这些信息,⼀起讨论和评审各阶段产品,确保各环节不脱节。
交付物件
《项⽬总体设计》:规定了游戏的题材、玩法、收费模式。确定游戏的重点乐趣和表现特点。列出游戏的长期开发计划所需要的系统、关卡、内容纲要。作为后续策划⼯作的总需求列表。
《美术风格指导》:以实例原画图来规定整体美术风格。
《美术资源格式标准》:对游戏原型的美术资源格式,做出标准规定,包括美术⽂件的格式、尺⼨、精度标准、命名、SVN路径规则等。
开发环境:SVN服务器地址、BUG跟踪系统地址、IDE选择产品和版本、开发和测试的内⽹服务器、演⽰⽤外⽹服务器。
《技术⽅案选型⽅案》:开发游戏所⽤的客户端和服务器端引擎、框架版本;程序的基本模块代码结构;项⽬⽂件⽬录规范;测试和CI⽅案;技术难点的预设解决⽅案。
可运⾏的原型产品(DEMO):突出表现游戏核⼼玩法和美术风格的⼀个程序,可以是⼀个单独的游戏关卡。
重点注意
原型开发阶段,主要⽬的是验证产品的基本⾯问题:题材和玩法的融合是否合适,美术风格和技术实现是否能达到策划的初始⽬标,有没有⼀些难以解决的基本障碍。需要特别注意的,开发原型所需要耗费的资源制作和逻辑编写时间,因为这反应了后期游戏持续更新所需要消耗的成本。
另外,由于游戏原型的制作,也带出了个制作环节的沟通问题,所以必须注意从⼀开始就积累和订⽴各⼯序的交付标准,如策划案应该包含图量表、测试⽅案;需要预先沟通美术草图并签名;美术资源格式需要确定;游戏原型的测试环境设置。——这些标准和接⼝往往会变动,但是需要预先明确这些接⼝流程。
发布(Beta)阶段
⾓⾊定义
技术开发团队:
客户端开发:开发和优化客户端代码和单元测试⽤例、⽂档,完善客户端程序打包、发布的CI流程
服务器端开发:开发服务器端代码和单元测试⽤例、⽂档,维护项⽬数据库,安装部署测试环境
测试开发:维护和管理CI系统,监督运⾏单元测试⽤例,开发专项测试如性能测试、⾃动化冒烟测试。
交付物件
《策划需求⽂档》:重点说明要达到的产品⽬标,使⽤的主要设计⼿段
《策划案》:产品使⽤流程图,GUI草图,须配置的游戏数据项⽬,美术图量表以及风格参考
《草图》:美术风格参考,UI构图
《技术设计⽅案》:代码模块命名以及职责,代码结构模式及关系,重点技术问题解决⽅法
《美术资源格式》:⽂件名和路径规则、⽂件格式、精度、尺⼨或其他更细节内容
《游戏数据格式》:库名、表名、字段解析、字段内容结构
《Bug报告单》:策划案ID、重现步骤、现象
重点注意
此阶段是建⽴稳定完整的版本开发流程最重要的阶段。关键点是各交付件标准的严格遵守和流程监控。项⽬经理须组织对于流程、标准的讨论和确定,并且监督这些规定的执⾏。由于每个游戏都不⼀样,所以这些流程和标准都会有所差异,项⽬经理要随时应对不同的策划案,即时组织⼤家建⽴流程标准。另外需要准备发布的⼯作,包括宣传资料,测试环境,运维⼯具等⼯作,也需要花时间准备。——在发布前⾄少安排⼀周时间来做发布前的准备,和运营、运维、客服⼈员做好沟通和交接准备。
迭代阶段
⾓⾊定义
1)开发团队:依照迭代标准开发迭代所需内容。
2)运维团队:
运营⼈员:负责推⼴、发⾏⼯作,提供技术资料给运维⼈员做产品部署,关注产品数据和运营情况。反馈意见给开发团队。
客服⼈员:辅助游戏推⼴,提供玩家咨询、故障报告、投诉处理、事故安抚等⼯作,需要运营⼈员和开发团队进⾏持续的信息共享。
运维⼈员:提供游戏的部署和监控⼯作,开发管理运维部署⼯具。准备硬件资源和运⾏环境。有些运维⼯作由开发团队中的服务器端程序员⼀起分担。
运营开发⼈员:开发“GM系统”给客服⼈员使⽤;开发“数据统计报表”和“活动系统”、“官⽹”等系统给运营⼈员使⽤;某些游戏团队由服务器端程序员兼任。
交付物件
《版本发布计划》:每个版本开始开发前,都需要编写此计划,列明本版本内需要开发的内容,预计时间,以及开发设计⼈员名单。此计划需要提交给运营⼈员,提早准备《运营计划》中的推⼴活动和安排推⼴资源。
《版本发布说明》:每个版本进⼊内测后,由开发团队编写后,提供给运营⼈员,包含本版本的所有在产品上的变更细节。以及这些版本内容的开发成员。供运营⼈员培训客服掌握,以及运营⼈员⾃⼰做测试,⽤以作为《运营计划》的材料。
《运营计划》:根据每个版本,运营⼈员提交此⽂档,包括运营活动内容和所需的推⼴资源和资⾦⽀持。以及需要包括此次运营预计要达到的商业效果和衡量⼿段。
《产品部署、升级⽅案》:由开发⼈员提供给运维⼈员的技术部署⽅案。包括如何部署安装进程,设置CDN或DNS,运⾏SQL或者修改配置⽂件。某些团队会开发⾃⼰的产品部署⼯具,如Chef这类软件,⽤以⾃动化处理运维⼯作。
《产品统计需求》:由运营⼈员提交给运营开发⼈员,定义统计报表的格式和统计周期,描述每个表头的含义。运营开发⼈员根据此需求⽂档,开发统计程序,⾃动定期反馈数据报表给运营⼈员。
重点注意
⼀般游戏的持续更新,需要遵循⼀个版本列车的设定:
由于开发的内容有长有短,所以开发过程中的代码必定要维护多套版本分⽀,这需要在SVN上做严格的定义: