手游的一些事儿 - 动态更新

标题本来想叫“手游那些事儿”,想了想还是算了,不想盗用“明朝那些事儿” 的“招牌”(其实还是有盗用的嫌疑,哈哈)。

为了抹掉打广告的嫌疑,这里暂以已经比较火的或者腾讯出品的游戏举例(外加吐槽)

腾讯的《游龙英雄》

游久的《酷酷爱魔兽》

腾讯的《怪物弹珠》

目前国内手游2d开发以cocos2d-x js/lua为主流,3d多使用unity3d,类似网易这种做过端游的游戏厂商则倾向于使用在端游已经成熟的引擎来进行开发。近期比较热门的如《太极熊猫》、《天龙八部》、《征途》等

最期cocos2d-x仅支持c++开发,不能动态更新是一个很头疼的问题,特别是上线苹果商店,首先是不确定审核是否通过以及审核的时长也不确定,一旦线上有重大bug需要修复或者新功能需要更新,就很麻烦了,需要再重新打一个包进行提交审核。

游戏支持动态更新,在推广上会有很大的优势,一定程度上降低了多版本维护的成本问题。但过份依赖动态更新就有问题了,比如上面的《游龙英雄》,一个apk包不到100M,一启动游戏就提示我要下载156.9M,吭哧吭哧又要等好久,好忧伤…

等好久能玩游戏也就罢了,《怪物弹珠》最恶心了,下载用了好久,然后更新又花了好才时间,没点几下就闪退了,闪退了有木有!!!

无论你采用什么引擎进行开发,如果不支持动态更新,那么推广上将会被大大折扣,评级亦会受到影响。而采用脚本语言相比c++而言有比较明显的优势:

1、人员招聘更容易(C++相对来讲难招一些,脚本语言比如lua上门很快);

2、产品稳定性有所提升(新手写c++一不小心就给你搞个野指针,然后游戏就闪退鸟,而绑定脚本的话,一定程度上避免了这种风险);

更新建议采用zip补丁包的方式,最大程度上减少下载包的大小(毕竟CDN的流量也是要钱买的,无论你是按峰值还是按总流量)。更新应当要有一套支持灰度发布的系统,比如目前公网的补丁包是1.zip,现在需要再更新一个补丁包2.zip,那么这个2.zip就需要在线上跑一下,我借用之前web开发的经验(使用Fiddler调试线上的网页),最初在内网环境下开发了一套灰度发布系统。

对于测试人员来讲,只需要点击网页上的一个按钮来开启预发布,然后就可以提前去下载最新的补丁包,之后连接测试服进行测试。如果关闭了预发布状态,那么你跟外网玩家所使用的包一样,通过一个按钮来控制整个灰度发布,在真机、外网环境下提前测试需要发布的内容。预发布环境的另外一个作用是,可以对服务器列表的显示进行过滤,比如现在默认配置了三组新服,但没有对外网玩家开放,这个时候测试人员就可以拿外网的包进入新配置的服务器进行测试。从方案到最终实现都是我一人完成,这一点我觉得还是值得骄傲的。目前不完善的地方在于,只认ip(通过ip来实现不同请求的重定向 -- url未跳转),未将设备的MAC加入到过滤条件中。

需要更新的资源最好使用版本控制的导出功能来完成(以方便回滚和问题追踪),同时更新的文件尽可能要小一些,比如在图片资源的处理上,android、ios使用的资源是不一样的。

IOS:

JPEG的图片(非背景)默认使用60的品质

JPEG的背景图片默认使用30的品质

PNG使用444 + 抖动的处理

Android:

JPEG的图片(非背景)默认使用30的品质

JPEG的背景图片默认使用20的品质

PNG使用TinyPNG进行处理

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

开放的即时通信协议Jabber

很久没有关注Jabber了,这两天比较空闲,关注了一下,发现现在的他很棒了。 Jabber是什么? 是另外一个开放式网络信息通讯工具,她可以跳出各种商业即时聊天...

2347
来自专栏SDNLAB

聚焦Open vSwitch性能大提速

Open vSwitch(OVS)项目的开发人员对其性能稍加改进,正如他们所说已经将其提升到了惊人的速度。 这项工作已经持续了一段时间,但具体细节直到今天才在N...

3586
来自专栏大魏分享(微信公众号:david-share)

虚拟化平台的选择:开源软件 or 商业软件?

虚拟化软件,选择开源还是商业软件? 笔者研究过的虚拟化软件有IBM PowerVM,VMware vSphere,还有Red Hat RHEV。其中,IBM是最...

1.3K13
来自专栏Hongten

不使用 Ruby 的十个理由

请注意:这是一篇主观意识的文章。它的目的并不是要说服你使用或者不使用Ruby,或者其他任何技术。这篇文章所涉及到的环境是 Web 开发,而不是通用的编程。我想...

2.5K1
来自专栏马哥教育

学不好Linux?我们分析看看正确的学习方法是什么-马哥教育

2018年里,Linux运维的职位数量和平均薪资水平仍然持续了去年的强劲增幅,比很多开发岗位涨的都快。从研究机构的数据来看,Linux职位数量和工资水平涨幅均在...

3836
来自专栏ytkah

微信公众号ID也可以修改了!

  差不多一年前,微信团队宣布个人类帐号一个自然年内可主动修改两次名称,那一天大家奔走相告纷纷修改成自己早就心仪的名字,有人猛然发现公众号名字改了,可ID还是x...

4856
来自专栏web前端教室

需求很简单,但代码写的很复杂,这是为啥呢?

勤劳一些的同学应该会经常的去看其它人的代码,经常会发现明明很简单的需求,但代码的具体实现却写的很复杂,这是为啥呢? 面对这种问题,我一般会回复说,“为了应付各种...

2095
来自专栏IT大咖说

如何玩转Android物联网开发,这些必须知道

内容来源:2018 年 6 月 28 日,中移物联网 Android开发高级工程师程磊在“droidcon上海2018安卓技术大会”进行《当安卓遇到物联网》演讲...

2K2
来自专栏Vamei实验室

树莓派:你是我的眼

作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁任何形式转载。

2812
来自专栏TEG云端专业号的专栏

「TEG+系列」破局者 - 腾讯金融级数据库TDSQL

一 背景 金融行业的数据库市场,尤其是银行的核心交易系统,一直是Oracle、DB2这类传统商业数据库的天下,但是: 2014年,微众银行选用TDSQL作为其核...

4085

扫码关注云+社区

领取腾讯云代金券