游戏包体瘦身秘诀大揭秘

发表时间: 2024-11-20 09:43

以下文章来源于腾讯魔方工作室 ,作者爱分享的小魔方


近几年,手机游戏的画质越来越好,内容也愈发丰富,这对广大玩家们来说当然是一件好事。然而,与之相伴的问题便是,游戏变得越来越“占地”。有时一下更新就要几个G甚至十几个G的空间,让本就不算宽裕的手机存储捉襟见肘。为了下载游戏,不得不四处清理文件的窘境,相信不少观众都经历过。


不知道大家是否会好奇,到底游戏里的什么东西占了那么大的空间?研发又做了哪些压缩包体的努力?游戏大小和我们的实际体验之间,有哪些不为大家所知的关系?今天这期魔方研究,我们专门请到了负责《暗区突围》手游客户端开发的Nico和Banthy两位技术专家,为大家答疑解惑。



首先,他们指出了包体越来越大的核心原因,那就是——美术品质的升级。游戏安装包中,占地最大的就是各类美术资源,一般要超过70%。美术资源中不仅包含了组成角色、武器、场景的各类贴图和网格模型,让一切“动起来”的骨骼动画,让光影更自然的预烘焙光照信息,以及CG过场等内容。随着美术品质的提高,以上各类素材的体积都有所增加,直接导致了游戏包体的膨胀。除此之外,则是音频资源,引擎代码等等。


各种美术资源


那么游戏体积太大会带来哪些问题呢?首先自然是对下载转化率的影响,从用户选择开始下载游戏,到最终开始游戏,这个环节会有一定比例的玩家流失、安装包越大,自然有更多用户因为流量有限,存储空间不足,或者等待时间过长等原因放弃。减小游戏包体,自然可以减少新进用户的流失。


大家有为了下载游戏到处删东西的情况吗


其次,过大的包体对玩家的长期留存也有一定的“威胁”。每次版本更新时巨大的安装包,都存在劝退用户的风险。这也是为何,手游的大版本更新,通常都会搭配一定的“更新福利”来补偿用户。


更新都会有福利


因此,包体控制对于任何游戏项目组来说,都是优先级非常高的事情。同时,它也高度考验多部门协同——程序、美术、策划、音频,甚至是海外本地化团队都要为压缩包体贡献出自己的一份力。


贴图和网格模型:提高复用率


既然美术资源是大头,那么压缩包体自然要先从这里入手。一个最直观的手段,就是提高贴图和模型的复用率。比如当我们在暗区的新地图中放入一把椅子,如果可以直接复用旧地图中椅子的贴图和模型,那便不会额外增加资源量。反之,如果因为某些特别的设计需求,这必须是一把全新造型的椅子,那么就会增加一定资源量。一个地图中成千上万的道具和模型,倘若都是“新面孔”,那所占的空间就非常恐怖了。


不同地图,相同的椅子


因此,暗区的PM同学会制定一个相当严格的资源复用率标准。地图用到的美术资源被划分为所有地图都会调用的公用资源库,和某张地图专属的私有资源库,并对私有资源库的大小做限制。这也就解答了一些暗区先锋们的疑问:为什么暗区不同地图的边缘建筑存在克隆的现象。这并不是美术同学偷懒不做,而是为了控制包体大小,不得不做出的“牺牲”。


“按需下载”


其实暗区在这方面,甚至有一些“优势”,因为世界观层面,目前暗区的故事都在“卡莫纳”地区发生,因此不同地图植被和建筑风格是相对统一的,复用起来并不太违和。而另一些游戏,比如《原神》,由于设计需要,每个地区都要有鲜明的文化差异,无论是服装、建筑还是植被的复用率都比较低,自然包体就大了起来。



骨骼动画:运用程序手段节约空间


如果说贴图的复用主要靠美术和策划在设计时的“自觉”,那么动画文件的压缩,就更依赖于一些程序工具了。举例来说,在暗区中,根据改枪方案的不同,很多战术动作都有着微妙的差异。比如瞄准镜装在武器不同插槽时,开镜动作会略有不同。如果分别存储各个情况下对应的动画,占用的空间就变得很大,因此开发大大会做一套程序工具来解决,只需录入几套最基础的动画,再用算法微调不同情况下动画的播放的起止位置即可。



再比如说,暗区中加入女先锋的选项后,如果直接套用男角色的骨骼动画,不管是装备的穿戴效果还是枪械的使用动作都会有些奇怪。可如果为男女角色订做完全不同的骨骼动画,同样会大幅增加占用的资源,此时,我们同样可以基于一套算法,对男角色的骨骼动画进行微调,生成可以较为自然适配女角色的骨骼动画。当然,这种处理方案并不完美,采访中,开发大大也表示,这确实是制作手机端游戏时才会考虑的解决方案,如果“空间允许”,肯定男女角色分别做动捕,才有更自然的表现效果。



其它的美术素材压缩方案还有:过场动画避免直接使用预渲染的视频(MP4),而是尽量用引擎自带的动画工具进行脚本演出。游戏内场景中带有文字的标牌尽量将文字和贴图分开,这样在制作海外版本的多语言包时可以只改文字,无需保存多个贴图等等...可以说,为了压缩包体大小,哪怕是只能减少几MB空间的优化方案,也是很有必要尝试的。



音频:拆分小块,程序输出


说完了美术,我们再说说音频。FPS的玩法决定了《暗区突围》并不是一个BGM丰富,配音众多的游戏。但饶是如此,各类音乐、音效也要占到几百MB的空间。因此,音频压缩同样必不可少。最直观的,当然是控制音频的码率,一个男团的几十句喊话,最后实装到游戏中可能只占几MB。而在枪声的处理上,暗区音频组同样使用了一些工具,将武器的各类音效拆分成最小单元,再基于需要进行组合和变化,在效果和空间占用上找到平衡点。最终暗区的所有音频文件只有200MB左右,可以说是非常了不起的优化。



安装包的问题


前面说了这么多在开发过程中控制游戏大小的方式,但其效果主要是让“安装完毕的游戏”占地尽量小一点。接下来我们要谈的则是“游戏安装包”的问题。常玩各类新游戏的观众可能注意到了,如今在下载新游戏时,往往会分成两步。第一步是从应用商店下载并安装,但这还没完,打开安装好的游戏后,往往会再下载不少资源,才能正式开始游戏。有时,进入游戏后下载的资源量甚至比安装包还要大,这又是为什么呢?



首先,是因为平台的限制。安卓IOS对于软件安装包的大小均有一定的要求,安卓需要小于2GB,iOS则需要小于4GB。超过这个大小会无法通过平台的审核。所以大家看安卓版的《王者》、《和平》、《LOL手游》的下载包都是卡在2GB,至于其它启动游戏所必须的资源,自然要打开游戏后再下载了。


不同系统对软件安装包大小的要求也不同


可下完了安装包,又要下那么多资源,这体验同样不够好。于是,为了让大家能尽快“玩起来”,程序员们又做了资源“分级”设计。拿暗区举例,玩家初次进入游戏时,地图资源只有农场地图是完整下载的,因为新玩家前期不会进入别的地图,这样就能减少一些资源下载量。



而《王者荣耀》因为上线多年,玩法众多,资源分级就做得更细致了,从高清素材商店皮肤,再到不同模式的地图,都被拆分为不同的资源包,可以进入游戏后边玩边下。类似这样的设计虽然不能减少完整安装后的大小,但起码可以做到让玩家“尽快玩到”,也算是一种很实用的技术方案。


王者中不同的资源包


在这次采访的最后,我们问两位开发大大这样一个问题——倘若游戏的包体限制不存在,手游的品质会有很大的提升吗?他们表示,提升肯定有,但并不会有很多玩家想象得那么大。因为,包体限制只是手游开发所面临的诸多限制中的一个。其它诸如内存占用限制,芯片算力限制等问题其实更棘手。至少对于《暗区》来说,控制内存占用的难度,要比控制包体还要大上不少。



总的来说,他们认为,由于在开发之初就做了细致合理的规划,《暗区突围》的包体控制肯定说得上是手游中的“模范生”了。在未来,他们也在考虑实装更多减轻玩家负担的技术手段,比如在版本更新时对一些地图资源进行差量更新,可以减少大家更新版本时需要下载的资源包。不过,差量更新与资源加密工作存在一定冲突,需要花一些时间来克服,还请大家再耐心等待一段时间。只要是对玩家体验有好处的技术,他们一定都会认真研究可行性的!



不得不说,这次的采访真的给我留下了非常深刻的印象,比起平时大家接触更多的策划和运营,技术团队游戏开发中所扮演的角色,往往并不为玩家们所了解。但实际上,没有他们的缜密规划,游戏的迭代也很难有条不紊地推进,实际体验也难免大打折扣。以后有机会,我也会跟大家再多介绍更多技术开发背后的小秘密——