老主策说说手游制作标准

发表于2019-01-05
评论7 7.6k浏览
老主策说说手游制作标准
 一、前言

很久没有写游戏开发的相关文章,这些年还算有些累积,可以给大家分享。以下是对过去经验的总结,以及对未来的思考。主要构思有3个方面,1.基础(标准),2.管理(制度、管理、理念),3.产品(暂时保密1、2、3);因为上班比较忙,暂时只完成基础(标准)部分,其它以后补上。

二、手游标准

    以前端游与页游有硬核的运行标准,会标注运行要多少CPU,多少内存,多少硬盘容量!但在手游却看不到这样的标准,而手机作为手游的运行载体,其限制比端游与页游要严格的多。在手游标准上的忽视,说明大家对手游标准的认知存在一些缺失。下图是“腾讯”的五大质量标准,我将重点说明客户端的内存标准,因为很多手游产品的内存标准设计不达标,导致产品质量低下。

三、内存标准

    常说的手机内存有两种:1.储存内存、2.运行内存;两种内存的作用与限制各不相同。

1.储存内存

    类似于电脑的硬盘,用于储存App数据;市场上3000块左右的中端手机,其手机储存内存就有64G到128G,对一般游戏来说,储存内存的限制比较宽松。但是我们需要注意储存内存占用过大,会提升用户使用成本和产品推广成本。以下2张图片是一些储存内存数据。其中:王者荣耀3.54G,炉石传说3.43G,阴阳师1.93G!

2.运行内存

    类似于电脑内存条,用作是连接CPU与硬盘数据,对数据进行储存、交换与输出。市场上3000块左右的中端手机,其手机运行内存一般为6G到8G,按理说这么大的运行内存足以支持当今大部分手游产品,但其实并不是。

    1)手机硬件空间有限,若是运行内存过大,那么手机就会发烫。(注:手机发烫的情况下一边充电,一边玩游戏,容易导致电池损坏或爆炸,网上有很多类似新闻,大家可自行搜索。)

    2)运行内存越大,手机消耗的电量就会越大,手机消耗电量一般是运行内存的2倍。以苹果手机的电池容量为例:苹果8容量1900mAh,8Plus容量2675mAh,我们设定3个标准来进行分析,先设定余留40%电量为非游戏使用电量,即手机待机,聊天,音乐,电池老化等消耗。当游戏运行内存为300M、350M、400M时,需要消耗600、700、800mAh每小时,先以苹果8为例对三个标准进行分析:1900x0.6/600≈1.9小时,1900x0.6/700≈1.6小时,1900x0.6/800≈1.4小时。接着再用苹果8Plus分析2675x0.6/600≈2.7小时,2675x0.6/700≈2.3小时,2675x0.6/800≈2小时。当今苹果864G价格是4800元左右,苹果8Plus 64G价格是5600元左右,由上面数据可以分析出,未来1~2年,手游产品的运行内存标准,还是在350M以下比较适合。

运行内存查看方法:使用安卓手机,打开设置,查看运行内存,如下图(天龙八部3D的运行内存是6.2+314+4.8=325M,阴阳师的运行内存是377+6.5=383.5M,部分手机玩阴阳师已经开始发烫。)


四、标准开发的好处

1.降低风险

    标准是科学、技术和实践经验的总结。拥有标准,就可以制定统一的开发规范,避免开发混乱,保证产品的质量,从而降低开发风险。

2.提高效率

    标准化开发会统一制作规范与参数,在开发过程中,起到减少争议,避免出错,从而提高开发效率的作用。

3.高性能

    标准化开发可以保证产品质量,利用标准,可以预先推算执行结果,然后设计出更好的开发方案,从而提高产品的性能。

 

五、常见的运行内存问题

1.策划问题

    因为策划对设计标准并不清楚,缺少统一的规范,所以导致美术资源占用过多的运行内存。例如:地图场景设计过大,地图物件与场景特效过多;UI界面层级过多,导致界面资源与界面特效过多等。

2.美术问题

    过于追求美术效果而导致美术资源过多,例如:英雄(怪物)模型与特效面数过多,UI界面各不相同,界面资源通用性低等。

3.程序问题

    内存泄漏是客户端常见的问题,我就遇到过不少。例如:战斗特效、UI界面,场景部件、场景特效等内存泄漏问题。

六、运行内存问题排查方法

       在电脑的模拟器上,安装并运行手机游戏,按Ctrl+Ale+Del键,打开“任务管理器”,查看摸似器的游戏进程,如下图模拟器运行《王者荣耀》的进程是HD-Player.exe,第一图“游戏主界面”中占用的内存是247.904K≈247M,第二图“战斗地图”中占用的内存是353.912K≈353M,跟据内存的变化,我们可以推算出《王者荣耀》战斗场景的相关资源约为353-247=106M(实际比这个值大,该值只是用来举例参考,不要较真),跟据“内存变化”,快速推算并排查客户端存在的内存问题。

1.战斗特效:在地图中战斗,如果内存在战斗中不断增加,那么就说明战斗特效存在内存泄露。

2.UI界面:在主界面(非战斗状态),不断在界面中进行切换,如果内存不断增加,那么就说明Ui界面存在内存泄露。

3.地图场景部件/特效:一些MMORPG手游,在地图中来回乱跑,如果内存不断增加,那么就说明场景部件/特效存在内存泄露。

4.地图场景切换:在A地图与B地图来回切换,如果内存不断增加,那么说明地图场景资源移除不干净,存在内存泄露。

5.地图场景资源规范:选三个地图(小、中,大),进入地图后查看三个地图占用的内存大小,跟据内存值,我们可以制定地图大小与设计规范。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引