前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >手游的一些事儿 - 动态更新

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

作者头像
meteoric
发布2018-11-19 16:31:44
6850
发布2018-11-19 16:31:44
举报
文章被收录于专栏:游戏杂谈游戏杂谈

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

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

腾讯的《游龙英雄》

游久的《酷酷爱魔兽》

腾讯的《怪物弹珠》

目前国内手游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进行处理

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-12-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
内容分发网络 CDN
内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档