WAIC | 米哈游弋振中:走到3.0的《ob电竞》,如何做优化和后继开发
《ob电竞》需要在持续运营的同时进行后续迭代版本开发,因此“开发逻辑非常不一样”。
【ashkeling专稿,未经授权不得转载!】
ashkeling报道/9月2日,由上海市经信委、徐汇区人民政府指导,米哈游主办的2022世界人工智能大会“元宇宙万物生”游戏·AI·元宇宙高峰论坛在沪举行。
会上,来自米哈游、阿里、腾讯、网易、FunPlus、祖龙、盛趣等游戏厂商的嘉宾齐聚一堂,以游戏作为元宇宙重要入口为前提,围绕技术驱动、产业融合等方面做了若干分享讨论。
米哈游技术总监弋振中在《ob电竞》中指出,与自己之前从事的主机单机游戏开发不同,《ob电竞》需要在持续运营的同时进行后续迭代版本开发,因此“开发逻辑非常不一样”。表现为任务重、时间紧、开发需求十分庞杂,既有版本相关、也有优化相关,以及开发管线的提升和未来需求的预见,需要“规划非常多的版本”。
公开信息显示,早在2020年米哈游就曝光《ob电竞》研发成本达1亿美元,2021年米哈游CEO蔡浩宇也表示,1亿美金成本只少不多,而且上线后《ob电竞》每年可能还要投入2亿美金。
与传统大作研发模式不同,为了追求品质,《ob电竞》极少使用外包,几乎所有担子都压在了内部团队身上。近期也有RedditOB欧宝体育电竞官网计算称,《ob电竞》正在成为研发成本最高的游戏。
无论是数亿美元到底花在了哪里的花边,还是一款现象级产品长线经营的干货,《ob电竞》持续迭代、持续成功的幕后都令人好奇。而在这次分享中,米哈游给我们揭开了谜团的冰山一角。
以下为弋振中分享实录:
大家好,我叫弋振中,我在米哈游主要负责PC和主机开发,今天跟大家分享一下《ob电竞》上线以后,我们做的优化和新的画面表现相关开发。
第一点,我们先讲一下性能优化相关内容。
《ob电竞》跟我之前做的项目都不太一样,因为我之前主要做单机主机方面开发,它在持续运营同时进行后续迭代版本开发,所以开发逻辑会非常不一样。《ob电竞》团队大家都知道比较大,各个部门任务比较重,我们开发需求其实会来自于非常多的地方——有版本相关的,有优化相关的,也有内部一些开发管线的提升,各种各样的技术提升要跟新的技术对接,还有很大一块是关于未来需求的预见,因为我们后面规划非常多的版本。
有这么多需求,我们要怎么决定先做什么再做什么呢?这里面有几个比较重要的原则:
- 版本内容一定要优先保证;
- 其次,稳定性非常重要,对于游戏Crash率崩溃率监控非常严格;
- 可控性要优先,一个东西我们不能很好地评估它的影响有多大,可能要把它往后延一延;
- 提前规划,多个部门合作时候非常重要,这和我们PM同学合作就非常重要。
- 最后,构建和测试,非常非常重要,尤其我们想确保稳定性,测试一定是重中之重。
对于性能优化来说,它的挑战非常多。首先是游戏内容在持续增加的过程当中,我们的优化不能破坏已有的游戏内容,其次场景复杂度也是在不停提升当中,大家可以看看1.0版本和3.0版本场景复杂程度差别非常大,我们的美术资产制作越来越精细,同时要为未来产品的质量提升留出一定空间。
看一个对比,这是1.0时《ob电竞》的地图,主要是在蒙德这一块,这是刚刚上线的3.0。
可以看到《ob电竞》在1.0地图区域只有这么小一块。所以对于性能优化要怎么去做呢?
- 一定是多部门配合开发方式;
- 其次,对于优化实现测试周期要拉得足够长;
- 一定要配合我们的版本,如果版本开发压力特别大,很多开发工作要往后延,对于优化上线时机要谨慎安排;
- 监控管线。发现性能特点或知道性能优化到底做得好还是不好,监控管线一定要非常完善,包括自动化管线和人工测试全面性,我们要得到尽可能详尽数据进行全面覆盖,帮助我们尽早发现问题,尽快做到打包和测试。
这是一个例子,因为PS平台是硬件相对固定,而且是时间比较早的一个平台,差不多十年以前的硬件,对于PS平台优化和其他平台一样都是持续迭代过程中。
虽然我们前面提到各种各样内容增加和品质提升等等,但是大家也可以看到,帧数统计下来,每个版本都是持续往上爬的过程,2.8的时候统计下来几乎接近30帧。当然有很多工作是要做的,包括让它继续稳定,还有0.5帧的可提升空间。
如何做到呢?主要分为四方面:CPU优化、GPU优化,内存优化和I/O优化,涉及到的内容不再细细展开,大致是GC优化、GPU显存的共享等等。
接下来我给大家展示一些我们做的效果,这边图片比较多,可能相对会有意思一丢丢。
第一关于体积雾的优化,这个两方面吧,一个是得到跟美术反馈,他们希望体积雾和高度雾有一个更好融合,另外会加一些支持让它们在局部会有更加好的控制,下面是一些展示的图片。
这个是在优化之后,能够保证画面品质呈现效果,这是一个在水边看到通过体积雾局部控制,让它产生雾气弥漫的效果。
这张图更加明显一点,大家能够看到在这块区域是通过多个光影让局部的体积雾有一个浓烈的效果。
另外一个是未来我们的风格化,美术他们其实看了很多动画,很多动画电影阴影部分其实是有颜色的。这个要说的话,从物理证据也说不出什么,但它是一个很好风格化的效果。所以我们对于画面PCSS实现的基础之上加了彩色阴影,这些半影区域都有染色效果。
更加清晰的对比这是非常常规的PCSS实现,阴影质量还可以,但大家可以看到边界非常锐利。所以在这个基础上我们先把它做软,就是PCSS,再进一步加上彩色阴影颜色,大家可以看一下,它首先是半影区域有了颜色,其次半影区域会扩大,彩色阴影会在半影区域会进一步往全影区域渗透,模拟阳光渗透的感觉。下面是更多的对比,这是PCF效果,这是PCSS效果,这是加了彩色阴影之后的效果。这个效果美术还是比较满意的,因为彩色半影的颜色还可以自定义。
下面是另外一个比较新的特效,为了体现沙漠松软的沙地质感,做了沙地下陷效果。
简单对比这是关掉的情况——只拍到地形下陷。大家可以看到这些地方陷下去了,但看得不是很自然,因为沙子有一个挤压效果,不光要下陷还要隆起,所以我们做了一个下陷加隆起的效果,游戏里面看到整体反馈质量还是可以的。
另外是一些在各个地图里面新做的不同材质展示,这也是次表面反射做在雪地里面,这个用来做植被半透效果,这个用到彩色玻璃投影。
这是一个毛茸茸的材质,用来表现稻妻茅草屋顶毛茸茸的质感。同样这个材质可以用在别的地方,比如下须弥的草地这些地方,也是用毛茸茸材质做草地效果。这个材质其实美术很喜欢,因为做出来二次元的感觉会比较重。差不多就是这些,谢谢大家!
如若转载,请注明出处:http://www.ashkeling.com/2022/09/496491