Cocos精品小游戏《欢乐枪战》的2.0升级之路
Cocos Creator 2.0 正式版已发布,目前已有许多重量级游戏升级到了 Cocos Creator 2.0,其中就包括《欢乐枪战》。这款射击休闲小游戏,凭借着趣味的玩法、精美的画面、良好的体验征服了大量玩家,还获得了腾讯精品推荐,这无疑是对游戏品质的充分肯定。
《欢乐枪战》是一款基于 Cocos 引擎研发的休闲射击乱斗小游戏,融合了射击、MOBA、吃鸡等热门玩法,在小游戏领域算是一款偏重度的游戏。
玩家可以“邀请”好友组队或者自由匹配竞技,游戏人数为 2 到 4 人,开局一条狗(或一只猫),装备全靠捡。玩家各自为营,通过击败对手来获得胜利,每局游戏最终只有一个胜者。不同游戏人数的战局,有不同的胜利条件。例如 4 人局,则最先击败 10 人的玩家获得胜利。
今日我们有幸邀请到了《欢乐枪战》的制作团队华夏乐游,一起来聊聊 2.0 升级的那些事。以下为采访实录:
请问《欢乐枪战》开发周期是多久,团队大概有多少人,具体是如何分工的呢?
《欢乐枪战》从立项到上线历时 8 个月,游戏研发团队是华夏乐游 BigRoad 工作室,有 20 多人规模,另外还有 QA、平台接入支持团队。美术没有采用外包,团队组成大概是:40%美术,20%策划,40%程序。
华夏乐游一直致力于休闲产品的研发和发行,聚焦精品小游戏,在塔防、横版跑酷、飞行射击等领域取得不错的成绩,公司以“产品精品化”、“团队专业化”为理念,为广大用户提供具有乐趣的休闲游戏和与之联动的 IP 文化产品。
轻度休闲类游戏依旧是目前小游戏最大的品类,您是基于哪些考量而决定开发这款偏重度的IO类多人竞技射击游戏呢?
首先,基于我们对小游戏市场的宏观判断。去年 12 月份微信第一批小游戏上线,业内掀起一股热潮,中小厂商纷纷跟进,我们认为小游戏会很快进入竞争相对激烈的市场阶段。在这样的阶段,开发商(工作室)的竞争优势有两种:成本领先、差异化。结合华夏乐游 BigRoad 工作室特点,我们选择了差异化方向,建立研发的技术壁垒,打造优质的产品品质。
然后,通过腾讯运营同学的多次交流与指导,对于小游戏的“即来即玩,即玩即走,想玩即来”的特点有了更深刻的理解,对小游戏用户的社交需求有了更清楚的认识。我们一直有个想法是做一款亲朋好友之间“随时随地来一局”的、乐趣十足的轻竞技游戏。微信小游戏早期同类产品的优秀表现,也进一步坚定了我们的想法。
玩法过于轻便,用户粘性较弱是小游戏的通病,《欢乐枪战》作为一款偏强竞技、强社交的游戏,在提升用户留存,增加用户粘性方面有做哪些措施呢?
作为一款以竞技玩法为核心驱动的游戏,游戏体验是核心。操作手感、运行流畅、网络延迟处理、服务器稳定是影响体验的关键因素,这些方面我们投入了很多精力和时间来研究改进,方案实验与推翻再来,至少进行了三四次。
好友房间模式,是轻竞技类游戏在社交方面的优势,也是从微信小游戏优秀作品中借鉴来的设计,感谢!另外,我们从英雄多样性、皮肤丰富度方面进行了改进,通过签到、战斗场次等逐步开放,提高玩家游戏前期的获得感,对次日及后续的游戏内容更为期待,提高留存。
选择 Creator 作为小游戏开发引擎主要是考虑哪些技术选型需求呢?
我们团队对于 Cocos2d-x 和 Unity3D 这两款引擎非常熟悉,对组件化代码和 prefab 等资源结构也很有心得。开发小游戏技术选型时,发现 Cocos Creator 对于我们来说很容易上手。Cocos Creator 有比较丰富的第三方工具支持,社区也比较活跃。对于工作流的改进,便于支持策划、美术、程序同步开展工作,提高协作效率。
《欢乐枪战》最初是使用哪个版本的Creator?升级2.0之后效果如何?
最初使用的是 1.7 版,随着版本更新也升级到了 1.9.3 版。基于该版本的《欢乐枪战》 H5 版很流畅,但是移植到小游戏版,帧率下降很多,大部分机型游戏体验很糟糕,一度让我们产生了放弃“实时竞技”的想法。不得已求助哲哥,推荐了 Cocos Creator 2.0 beta4 版。升级过程中遇到问题,哲哥推荐 Jare 积极帮助解决,这里特别感谢一下!最终,我们主程不负众望,如期完成。
升级 2.0 以后,结果令人惊喜,运行效率得到很大提升。当时没有详细记录,大概情况是:特效全开,iPhoneX 从 50 帧提升到 60 帧;正常画质,一加 5T从 40 帧提升到 55 帧;低端机的 30 帧版本,OPPO Y55 与 iPhone6 都稳定在 25-30 帧。
升级到 2.0大概花了多时间,遇到最大的困难是什么又是如何解决的呢?
项目临近 deadline,更换引擎是我们破釜沉舟的选择,日以继夜,最终适配用了一周的时间。因为是 beta 版,遇到的问题也相对多一些,主要有以下几点:
1) api 的更新和兼容
2) spine、粒子、mask、label 的显示问题
3) 需要自定义开发剪裁功能
4) 根据新的渲染方式,调整场景层级,减少 drawcall
其中,Spine、粒子相关的 bug 对我们影响比较大,通过修改引擎源码、与 Jare 沟通寻求支持等方式及时修复了这些 bug;另外,我们之前对 1.9 版本引擎的渲染做了很多针对性的优化,由于 2.0 版本渲染底层的重写,很多当时的优化成了负优化,我们仔细阅读源码后又针对 2.0 的渲染方式进行了优化,最终达到了微信对于游戏帧率的要求。
在 2.0 中,我们为需要定制引擎的开发者提供了一种更便捷的开发方式。《欢乐枪战》是否有针对引擎做了某些定制呢?
我们使用的是 2.0 beta4 版本,当时引擎尚有一些 bug,我们使用从 git 上 clone 的引擎源码,这样当引擎组修复了 bug 后我们可以第一时间进行更新同步;另外在战斗中我们使用了自定义的裁剪算法来优化渲染效率,这部分也是通过修改引擎源码来快速实现的。
Creator v2.1版本,我们计划是压缩纹理支持,3D mesh 初步支持,请问你们的项目对这块是否有兴趣?除此之外,希望 Cocos 在2.1 版本做出哪些方面的优化呢?
对于压缩纹理比较期待,因为微信对于游戏的性能有非常高的要求,我们在优化内存、加载时间时费了很大功夫,压缩纹理对这些优化应该会有较大的帮助。
由于微信小游戏的性能指标非常严格,尤其内存方面要求很高,希望 Cocos 对内存方面的管理可以更方便些,最好能对微信小游戏做内存管理方面的定制;另外,希望支持自定义 shader,以达到更接近app的表现效果。
C 姐回复:内存管理的问题,2.0 我们比较大幅度地优化了微信小游戏平台的内存使用,不过还需要继续优化 loader 让用户更方便得尽兴动态管理。shader 的定制需求,目前已经可以通过代码使用材质系统来达成,未来会提供编辑器的设置方案,会更加方便滴。
最后,非常感谢华夏乐游接受 Cocos 的专访,也祝愿《欢乐枪战》能够取得更好的成绩,欢迎各位开发者扫描下方二维码进行体验!
产品新动态|Cocos Creator 2.0 正式版发布:新的里程碑