既微信推出小游戏功能后,QQ也宣布上线QQ玩一玩功能入局H5市场。一定程度上,这又为众多H5从业者带来了更多的机会与挑战。QQ玩一玩与微信小游戏的区别在哪?在做这2块时,开发者究竟应该着重注意哪些点?不可否认,目前仍有许多问题可能会出现在开发者与团队面前。
在2月1日的葡萄学院中,我们又邀请来了Layabox创始人谢成鸿、Layabox合伙人李明和Layabox合伙人朱春阳,同时就微信小游戏与QQ玩一玩2点进行了干货分享。
此次课堂讲解了QQ玩一玩的差异点,并从技术层面介绍了QQ玩一玩与微信小游戏适配方面的关注重点。通过这堂课,开发者们或许可以为自己在QQ玩一玩和微信小游戏上的一些困惑与问题,找到理想的答案。
以下为内容整理:
到现在为止,微信小游戏已经不再是什么陌生的话题了,此前很多人也对它进行过分享和讲解。相比小游戏,QQ玩一玩可能对于一些人来说就显得相对陌生一些。事实上,玩一玩的前身是厘米游戏,虽然目前已经放出了相关消息,但目前还没有正式去推出,所以它仍处在灰度状态。正式推出时间预计是在春节后,可能在三、四月份左右。
所以,今天我们分享介绍的重点会落在QQ玩一玩身上。
正如之前说的,QQ玩一玩的前身是厘米游戏,目前已经有很多成品游戏了。它的主要入口包括2个:
在QQ游戏中心的下方,会有QQ玩一玩的入口。
在2人对话时,玩家可以通过对话框之中的加号功能进入QQ玩一玩。
QQ玩一玩平台采用的是QQ自研的runtime引擎来进行运行, 它本身并不是H5。 通过调用引擎的API,在上层加入JS接口,通过JS便可以直接进行使用。
Layabox在17年8月份就完成了对它的适配支持工作,在目前我们最新的IDE中,用户可以通过项目发布功能一键发布QQ玩一玩。
这张图是QQ玩一玩、微信小游戏和H5游戏之间的重点差异对比。首先从运行环境来看,微信小游戏和QQ玩一玩都是Runtime的,它们的产品不支持在浏览器中运行;相比之下,H5游戏则是在浏览器或者是webView中去运行。
在本地包方面也有差异。微信小游戏最多支持4M的本地包体,QQ玩一玩本地包体则最多可以达到10M,目前推荐4到5M。H5游戏不支持本地包,运行过程都是动态资源加载。
本地缓存也有所区别。微信小游戏最多支持50M的本地缓存,也就是说,在首次加载后,开发者可以自己去管理这部分的动态缓存。相比之下,QQ玩一玩也支持本地缓存,但目前还没有设定相关限制,在春节后推出正式版本后可能会颁布相关规则。
在缓存管理上,微信小游戏和QQ玩一玩中,开发者都可以自己去管理缓存,但开发者是不能对H5缓存进行管理的。
在3D支持方面,H5游戏支持得最好。就我们来说,在3D方面,通过WebGL,Layabox已经上线了不少商业级的案例了。相比之下,微信小游戏目前在3D方面支持得比较少,尤其对于复杂3D内容,目前微信小游戏还不太能给出太多的支持方案,因此3D微信小游戏一般来说都比较轻度。
QQ玩一玩正在做通过WebGL支持3D的相关工作,至于能支持到什么程度,目前还不是很清楚。
全屏方面,H5游戏无法做到全屏,微信小游戏和QQ玩一玩则能提供完善的全屏支持。
在小游戏和原生游戏对比方面,我也列举了几方面。首先,在 中小型 游戏的加载方面,小游戏其实与原生游戏的差异并不大。这是因为首次加载之后,小游戏和这些原生游戏调用的都是本地包。
比如说,如果整体都不超过50M,那么小游戏和原生游戏的下载体验就没有太大差异。其实加载体验是H5游戏和原生游戏最大的差别,但这点在小游戏上不会显得太过明显。
其次,在美术品质方面, 小游戏也可以达到App级别 。现在就有很多小游戏产品已经达到了App级别,例如此前的《全民大乐斗》。
另外,从品类来说,小游戏几乎可以做到全部支持,但在目前来看,它还是更注重社交传播性的品类。 在发展前期,社交型、休闲娱乐型、棋牌类是3个焦点品类 。当然,高社交性玩法也能大大降低产品的获量成本。
机会是很多人最关心的问题。 我认为,最重要的一点在于流量增长 。微信和手Q都拥有强大的流量支撑,在之前微信公开课上,腾讯也公布了微信小游戏前段时间1.7亿的日活用户,我相信在未来这方面还会有很大的增长空间,手Q也一样。
其次在推广方面,微信小游戏和QQ玩一玩的获客成本都非常低,这主要是由于它们所提供的强大社交关系链。之前微信小游戏就已经公布了一些有关数据:
新增用户超30%是由分享带来的,最优产品该值可以超过70%。
平均DAU分享进入用户超20%,最优产品超50%。
游戏用户主动分享超过10%,最优产品超过20%。
从QQ玩一玩前身厘米游戏的数据中也可以看到一些内容。据悉, 它向50个种子用户进行投放,最终产品就可以做到5万的DAU。
另外,与H5游戏不同,小游戏由本地包和缓存管理共同组成,在体验上与原生游戏更加接近。目前,H5主要走传统的道具收费,但是对于微信小游戏和QQ玩一玩来说,广告变现会成为这种休闲社交类产的另一种重要的收入模式。
接下来,我为大家介绍一下Layabox引擎在发布小游戏和QQ玩一玩的相关注意要点。值得注意的是,Layabox目前支持一键同时发布微信小游戏、QQ玩一玩、H5等等产品,对于新项目,用户不必太过担心会有较高的学习成本。
对于老项目来说,仍有一些需要注意的点。接下来的几张图建议大家存一下。
我们支持AS3、TS和JS这3种语言代码,之中会有一些区别。具体内容请看图或者官网教程。最下一个图片是介绍的是TS和JS,对于老项目,我们默认没有引用那段适配代码,这就需要大家手动引用适配库。
除了项目适配外,本地包也是比较关注的一部分。在本地包上,微信小游戏有4M限制。事实上4M基本上做不了太多内容,开发者只能放入一些前期预加载中很基础的图片。有时JS语言内容太多也有可能导致放不下的情况。4M算是微信小游戏的硬性指标,如果超过4M,必须将其减至4M以内,因为JS不允许动态加载使用。
另外,由于有了4M的限制,对于大型项目,则需要运用的动态目录和本地目录一起加载的处理策略。上面这张图的上半部分讲的是,一段采用动态加载的代码。Laya里提供了一个basePath的属性,之中我们可以增加URL链接,之后这个URL就会一直生效,这形成了动态加载。但是使用这种加载之后,如果我们还要去使用图中本地路径下的资源,比如res下的那个图,那么它仍会走动态加载,而不是本地加载。
这种情况下,我们引擎在适配时做了一个特殊处理:当你使用wxlocal这个目录后,即使使用basePath后,也不会去动态加载,而是使用本地目录的一些内容。 所以如果后面还有使用本地资源的需求时,本地资源建议放到wxlocal目录下。
另外, 如果进行本地测试,需要把不校验安全域名这个选项进行勾选。
接下来介绍一下QQ玩一玩。相比微信小游戏,QQ玩一玩适配会更加容易。微信小游戏需要加载一些初始化适配库,但在项目开发过程中,QQ玩一玩是不用考虑这一部分的。
但是要注意,目前QQ玩一玩本地包最大支持10M,推荐不超过4-5M。如果是现在开发QQ玩一玩,则只支持10M以内的小游戏;但是在未来正式开放后,它会允许动态加载网络资源,这样就可以支持一些大型游戏的运行了。
在适配方面,QQ玩一玩目前只支持MAC系统下进行调试。它的适配库JS有2个: 一个是layaforqq.js,这是支持Bricks引擎版本比用的适配库;另一个是domparserinone.js,这个适配库只有用到了位图字体则需要引入。
Q&A
1.目前看来,相比传统H5游戏,微信小游戏的变现能力仍存在一些问题。在开发和立项过程中,我们有哪些可以参考学习的产品?
谢成鸿: 我认为微信小游戏适合2种类型的产品:高DAU、高ARPU值。现在,受制于社交分享链的约束,高ARPU值方向仍需要继续观望。至于变相能力上的问题,我认为更多说的是ARPU值差这方面。
我推荐大家可以多参考一下目前已有的腾讯产品,包括它的社交链设计和分享功能的设计, 重点关注《星途》和《欢乐坦克大战》。
另外大家还要关注收益,因为iOS目前还没有开放付费,所以 在收益上可能会给开发者带来一定影响 。
2.对于利用公众号平台用户做H5渠道的团队来说,在腾讯正式入场H5后,他们还有生存空间吗?
李明: 从目前来看,小游戏的推出还是对公众号会有较大影响的,因为体验差别很大。首先,在全屏方面,尤其像iO类游戏,H5游戏经常会碰到滑屏退出的问题,但小游戏不会。其次,在社交关系链这方面,小游戏确实拥有较大的优势。对于优秀H5渠道,小游戏确实会造成一些影响,但具体影响有多大,仍需要继续观望。
3.小游戏会逐渐开放包体限制以供开发中重度游戏吗?
李明: 事实上,在重度游戏这方面,大家不太需要关注本地包的限制,因为QQ玩一玩和微信小游戏最终都会采用动态包+本地包同时加载的形式。当然在微信小游戏上,由于4M本地包的限制,JS的使用需要额外注意一下,因为目前JS还不允许动态加载。
4.针对微信和手Q不同的用户群体,小游戏和玩一玩在立项和研发上,应该分别关注什么?
李明: 这2个渠道确实存在一些差异。 微信小游戏覆盖年龄段比较广,但玩一玩更多覆盖的还是年轻人群,以学生为主 。在立项上,开发者还是需要对这一点进行区分,找一些共性和差异性。