走过了半个世纪的三星,从未停止自己以技术为驱动来扩建科技帝国的步伐。根据年初欧盟委员会发布的《2018年欧盟工业研发投资排名》报告显示,在全球46个国家和地区共计2500家公司中,三星电子以134.37亿欧元的研发经费位居排行榜的榜首。在其投入的研发中,除了有我们所熟知的手机、芯片、屏幕、智能家居、操作系统之外,三星在游戏开发、5G、人工智能、物联网、VR/AR等细分领域也颇有造诣。
其中,单就游戏领域而言,三星一直在致力于为玩家带来流畅、优质的体验。不过当面对普通的玩家和手机用户、甚至是游戏开发者时,三星该如何更便捷高效地实现这一目标?又该如何为开发者们解决在游戏开发过程中如性能、优化、图形等方面的挑战?在使用三星的GameSDK等工具时,又存在哪些注意事项?基于此,我们在刚刚结束的Unite Shanghai 2019 期间,采访到了三星高级工程师Joonyong Park,请他分享了三星为提升游戏性能与体验所做的实践,并深度剖析了 3A 级精品制作的最佳解决方案。
Joonyong Park,在加入三星之前,拥有9年跨平台游戏和引擎的开发经历,2010年加入三星,担任图形和游戏工程师。目前,他负责领导Galaxy GameDev的专家团队。
游戏的性能优化与硬件的适配一直以来都是让开发者深受其扰的问题。基于这一挑战,三星与全球知名游戏引擎巨头Unity共同为开发者带来的提升游戏性能的实用工具Adaptive Performance。
当谈及三星与Unity双方的合作以及推出的Adaptive Performance功能能为开发者们带来哪些便利时,Joonyong Park 表示,三星不仅仅是一个手机厂商,其实三星更关注整体的游戏体验以及整个游戏产业的发展。对于三星而言,其所面对的用户不仅仅是一些游戏玩家和手机用户,更多的是面对游戏的开发者,而在此过程中,Unity面对的也是游戏开发者,因此,双方才有了共同的目标并得以合作。
同时,Joonyong Park称,三星也是首个推出Vulkan标准的手机即三星S7,这意味着三星也将在未来的图形技术上不断的做尝试,也会去推广更多的新技术。基于此,三星还设立了Game Dev组,旨在与游戏开发者们进行合作。其实早在2015年,三星和Unity就已建立了很深度的合作关系,如今和Unity一起针对手机硬件提出Adaptive Performance的功能,既可以帮助手机硬件设备具有更高的性能的同时也可为游戏实现更好的画质。
基于此,Joonyong Park展开分享道,以前游戏开发者们在开发游戏时,优化的方式是在一些基础设备上对每个设备提供不同的画质,即设定一个基线,什么样的设备支持什么样的质量。不过,Adaptive Performance的目标是尽量避免在稍微低端的手机上降低画质,这样能够为手机提高更好的渲染质量。基于三星的GameSDK的Adaptive Performance功能对于游戏的优化主要是通过向引擎提供一些硬件上的信息,由此引擎就可以根据设备反馈的信息及时地调整它的渲染控制,而调整它主要分三个步骤:
当前Adaptive performance版本只能是通过调整LOD的细节去调整画质,Joonyong Park希望通过与Unity的合作能在未来的版本中,能够调整更多的信息,如一些几何建模的信息、曲面的细节、调整引擎的渲染调用的数量以及渲染等级之类的调整。
除了Adaptive performance工具,三星也为游戏开发者和开发商提供了GameSDK等工具,对此,Joonyong Park 表示,GameSDK提供的工具是旨在提供更多的设备的底层信息给开发者,同时这些信息以前在设备上来说都是比较机密的数据,但是三星正将这些信息开放给游戏开发者们,也正因此,这样游戏开发者可以实际地了解底层CPU和GPU的运作过程,此外,通过三星的GPU Watch这一款工具也能够实时得看到目前开发者的游戏项目中渲染通道的具体数量、GPU的消耗、CPU的消耗。同时,根据这些信息,游戏开发者就可以做出一些调整。
不过,在中国范围内,三星和游戏开发者的沟通渠道也存在一定的限制,Joonyong Park表示三星也正在试图扩展和更多的开发者联系,给大家提供不同于以往的优化方式,提供更多高级的功能。
在AAA级的游戏制作过程中,Joonyong Park认为除了需要具备较高的画质之外还需要有设计非常良好的游戏系统。此外,Joonyong Park根据个人多年的开发经验表示,AAA级游戏的开发者可能会面对很多失败返工试错的过程,不过在此过程中,具备很多良好设计工具的Unity可以帮助开发者加速整个的开发流程,同时整个开发者所面对的开发管线都是非常短的,所以他们需要有机会去从市场获得一些反馈,并且根据这些反馈及时的调整游戏,而这对于使用Unity引擎的开发者而言,这些都是非常容易做到的。
对于在加入三星之前已经具备 9 年跨平台游戏和引擎开发经验的游戏开发者Joonyong Park,在面对跨平台开发成本消耗巨大这一问题时,其表示,曾经开发游戏大多数使用的是自研引擎,因此对于想要实现跨平台的开发者而言,他们需要在引擎方面做很多开发工作,同时对于游戏的画质也要随之进行调整,彼时这就造成了成本越来越高的窘境。
现在值得开发者庆贺的是,Unity引擎的出现为大家解决了很多以往无法避免的难题,因为Unity引擎本身就是一个支持多平台的引擎,其中包括PC、iOS、Android、PS等主流平台,因此使用Unity的话可以很方便的让他们的游戏支持在很多的平台上运行。