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

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

 

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

腾讯的《游龙英雄》

游久的《酷酷爱魔兽》

腾讯的《怪物弹珠》

 

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

时间: 12-18

手游的一些事儿 - 动态更新的相关文章

Unity手游之路<十三>手游代码更新策略探讨

这几个月公司项目非常忙,加上家里事情也多,所以blog更新一直搁置了.最近在项目开发上线过程中遇到了一些新问题,接下来的时间和大家多多探讨学习.大家在工作中遇到技术问题,或者有什么想分享的,欢迎多多探讨 [email protected] ----------------------------------------------------------------------------------------------------------------------------------

浅析:手游智能云更新使用方法

什么是智能云更新? 云计算(cloudcomputing)是基于互联网的相关服务的增加.使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源.云是网络.互联网的一种比喻说法.过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象. 云更新是将CP提供的apk原包上传到爱加密云服务器上,经过云服务器处理后,将全新的apk包投放到渠道上,同时通过云服务器的高效.快速传输.智能的处理方式,将apk的更新包.更新资源实现智能云更新:减少用户流失,节省CDN开支,避免出

Cocos2d-x 3.X手游开发实例详解

Cocos2d-x 3.X手游开发实例详解(最新最简Cocos2d-x手机游戏开发学习方法,以热门游戏2048.卡牌为例,完整再现手游的开发过程,实例丰富,代码完备,Cocos2d-x作者之一林顺和泰然网创始人杨雍力荐) 于浩洋 著   ISBN 978-7-121-23998-4 2014年9月出版 定价:59.00元 356页 16开 编辑推荐 以Cocos2d-x V3.0为框架全面讲解手游开发的知识和方法 以热门游戏2048.卡牌为例,完整再现手游的开发过程 Cocos2d-x作者之一林

腾讯手游如何提早揭露游戏外挂风险?

目前腾讯SR手游安全测试限期开放免费专家预约!点击链接:http://wetest.qq.com/product/sr立即预约! 作者:sheldon,腾讯高级安全工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. WeTest导读 随着大量外挂.辅助.工作室等非法盈利团队借由移动游戏产业迅猛发展的东风趁虚而入,对游戏开发商和玩家来说都造成了不小的伤害,安全问题成为手游发展不容忽视的前提.本文告诉你如何从技术的角度来提前曝光这些安全问题和外挂风险. 安全无小事-安全测试开展思

手游服务器开发技术详解

从事游戏服务器开发差不多两年时间,两年间参与了不少项目,学到了很多游戏服务器开发技术,参与过几个不同架构的服务器开发,就随便聊聊游戏服务器开发需要的技术.(以下所指游戏服务器更偏向于手游,因为我对端游和页游开发接触并不多) 一.聊聊服务器开发有哪些东西要考虑. 1.开发语言的选择: 工欲善其事,必先利其器,选择一门适合的开发语法对后期开发有着事半功倍的作用. 业界主要的是c/c++ + Python/lua模式做游戏服务器.c/c++做网络通讯数据传输,python/lua做业务逻辑.这样既保持

一个好的手游APP如何加强海外推广

本文是笔者通过一位长时间在美国游戏公司工作的朋友Juno所分享的经验总结出来的一篇文章,他对于手游APP在国外的推广有着很深的了解.简单地讲:作为一名应用程序开发者来说,或多或少都对推广方面有一些了解.目前,无论是在国内或者国外,互联网都是信息传播最快,覆盖面最广的一种推广方式,但是具体的推广方式还让笔者慢慢道来! 关于海外推广,首先想到的是熟悉所要推广的国家,如果不熟悉所要推广的市场,还可以找专业的无敌勇士科技帮助完成推广任务;在此之前,或许大部分人都已经在网上了解过一些推广的方法和途径了,比

如何快速优化手游性能问题?从UGUI优化说起

WeTest 导读 本文作者从自身多年的Unity项目UI开发及优化的经验出发,从UGUI,CPU,GPU以及unity特有资源等几个维度,介绍了unity手游性能优化的一些方法. 在之前的文章<手游内存占用过高?如何快速定位手游内存问题>中提到,Mono内存和native内存是PSS内存主要的组成部分,mono内存更多的起到内存调用的功能,因此常常成为了开发人员优化内存的起点:而在游戏的其他的进程中,同样有很多因素影响着游戏的性能表现.本文将从UGUI的优化角度,介绍unity游戏性能优化的

端游及手游服务端的常用架构

这篇文章还是讲的不错的: http://www.cocoachina.com/game/20150924/13545.html <开发者详解:端游及手游服务端的常用架构> 整理自知乎,文/韦易笑 开始的部分讲的比较简略.讲到后面大型MMO以及战网游戏,就比较入流了. 开宗明义,手游页游和端游的服务端本质上没区别,区别的是游戏类型. 类型1:卡牌.跑酷等弱交互服务端 卡牌跑酷类因为交互弱,玩家和玩家之间不需要实时面对面PK,打一下对方的离线数据,计算下排行榜,买卖下道具即可,所以实现往往使用简单

手游推广预热,如何低成本获取更多用户

--------------------------------------[转]-------------------------------------- 手游市场竞争激烈,导致新游推广费用也水涨船高,现在一款A级游戏的前期推广费用已经达到了2K-3K万之高,而这样的大笔开销对于中小厂商来说,无疑是令人望而却步的天文数字. 360移动平台开放平台推出"启明星"新游赋值计划,已经获得显著成绩.其中,新游预热计划也已经帮助了很多产品获得了极佳的推广效果,日前,360又上线了新游期待榜系