《猎头专家》产品立项

为什么要做猎头专家

《猎头专家》对标的游戏是 Bowmasters ,这款游戏的打击感和操作都很不错,评分相当高。但它是一款单机功能为主的休闲游戏,联网对战功能很弱,画面太血腥,不适合年龄较小的玩家和女性玩家。

射手座团队认为,血腥的画面的确给人更强的力量感,但这是一个比较小众的需求,也不符合国内用户的习惯。我们可以把游戏做得足够有趣——在战斗终结技中加入大家耳熟能详的梗,让人物的动作更丰富,让武器的技能更出人意料……这是一个更大的发展方向,能够吸引到更加广泛的玩家。

然而,微信玩家们对终结技似乎并不买账。这点以后再说。

与现在充斥微信小游戏平台上的大部分小游戏不同,在《猎头专家》中,我们瞄准的主要玩法是在线对战。这是猎头专家第一个版本就包含的功能,也是游戏最核心,最主要的功能。这让《猎头专家》的开发过程变得不那么简单。玩家习惯和在线人数都会影响到对战游戏的表现。射手座团队认为,和真实的玩家对战,可以促进玩家真正主动地分享游戏。这是《猎头专家》用户增长的个重要途径之一。

从5月9日发布 1.0 版本以来,《猎头专家》已经发布了 27 个版本,平均每周 3~4 个版本,新增游戏角色 21 个。射手座团队正在用自己特有的速度,让《猎头专家》这款对战游戏变得更加丰满和完善。

猎头专家 版本历史

技术选型

《猎头专家》一出现就面向微信小游戏平台,因此,技术上我们无法选择更成熟的 Unity ,而是限制在 HTML5 平台。对于国内 HTML5 的“三大”引擎 Cocos/Egret/Layabox 的“终极选择”,我们并没有纠结过多。虽然深入用过其中两款,但 Cocos 对于团队来说还是更熟悉一些。 我们的不少开发者都经历过 cocos2d-x 2~3 的阵痛,踩过 CocosStudio 这个大坑,因此对 CocosCreator(CCC) 挺有好感,我们也希望这款编辑器能越来越好。想让一款工具变好的最有力的方法就是: 选择它,使用它。

服务器方面,为了方便开发者进行全栈开发,我们选择了网易的 pomelo 这款基于 node.js 的服务器开发框架。在开发《猎头专家》之前,射手座团队已经使用过该框架半年以上。

事实证明,选择团队熟悉的工具,对团队开发速度影响很大。CocosCreator 支持 TypeScript 对多人合作有好处,在 node.js 中大量使用 ES6/7 也能提升开发者的幸福感。射手座的开发者全部以全栈方式工作,这也进一步提升了功能模块的开发质量和进度。

角色方面,我们使用了 Spine 这个成熟的 2D 骨骼动画制作工具。CCC 对 Spine 的封装还不是很完善,我们对其做了一些修改。

对于系统工具,我们大量使用了 FabricJenkins 来实现自动部署,微信小游戏的发布、打包,游戏服务器的部署都是一键自动完成的。

顺便说一句,CocosCreator 支持命令行打包是很好的功能,但如果能支持 Linux 就更好了(最好能把打包工具从 CocosCreator 中剥离出来,作为一个独立的工具发布),这样我们就不需要拿一台 Mac 做打包机了,真浪费……

微信小游戏引擎的性能问题

这点真的要拿出来说一下的,微信小游戏引擎的性能 !真!的!很!差!劲!

《猎头专家》的开发调试均在 Chrome 浏览器中进行,测试阶段也会在手机浏览器和微信浏览器中进行测试。在原生的 HTML5 环境下,游戏运行非常流畅,但在小游戏环境下,游戏非常卡顿。这导致我们不得不减少特效的使用,简化物理碰撞盒,同时对计算进行优化。

例如,我们在 6 月上旬推出的游戏角色 “龙娘” ,她的武器龙蛋可以爆炸造成溅射伤害,地图上会留下火焰粒子效果。这个角色在测试中表现的效果非常惊艳,但上了小游戏引擎后却出现了卡顿噩梦。我们不得不减少火焰效果的表现以及粒子数量才能让帧率勉强回升到 40 FPS以上。

龙娘的武器

经过测试,我们发现小游戏引擎的渲染性能尚可,但 Javascript 引擎的执行效率有很大的问题。因此,诸如物理碰撞以及粒子之类需要大量计算的场合,就会拖慢帧率。

开发者只能通过降低效果来改变自己的游戏在微信小游戏引擎中的表现,或者等待微信小游戏团队的更新。看着我的骁龙 835 也这么卡,真的让人很沮丧。 

全文完