发布时间:2017-04-24 15:49 | 标签:
VR游戏 VR游戏开发 奇境守卫 跨平台
微信扫一扫:分享
微信里点“发现”,扫一下
二维码便可将本文分享至朋友圈
4月24日,Unreal Open Day 2017在上海召开,会上,泰核网络创始人张弢分享了VR游戏《奇境守卫》在平台选择以及使用UE4引擎开发的经验,内容非常实用,开发者可以借鉴参考。
以下为VR陀螺对演讲内容的整理:
小规模团队做多语言跨平台游戏:平台选择
我们的团队非常小,到今天为止也只有20个人,大多数像我们这个规模的团队在国内更多去做面向本土的产品,为什么我们一定要选择去做一个听起来很难的跨平台而且多语言的版本发售呢?我们从三个方面考虑这个问题。
第一个就是设备的规模,大家知道去年叫做VR元年,因为有很多消费者可以直接买到最先进的VR设备,但是从去年到现在我们整体来看,整个VR头显的市场规模仍然不够大,如果我们只在单一的市场去发售一个产品,那么对我们来说可能用户量不够,所以我们基于整体的这个VR设备的规模考虑,我们很早确定我们的游戏需要在全球多处市场上才可以。
第二是地域的差异,依然是这个问题,不同的设备我们现在看到三个主流设备,在不同的地理位置的市场上面是有不同的占比,PlayStation一直卖的很好,仍然有各个区域的差异,主要的设备还是集中在北美。
所以,如果我们想要尽量多的在现有的用户上面去销售我们的产品,我们必须考虑到地域差异的问题,所以需要更多平台发售这个产品。
最后是更多接触用户的数据,所有的从业者包括我们自己,包括我们碰到很多业内的朋友去聊,发现大家对整个VR的设计、玩法、体验、用户的感受、习惯都不是那么的明确,毕竟是一个新生事物,希望在我们第一次产品上面,能够尽量多的拿到用户的反馈数据,他们喜欢什么样的体验,他们在我们这个游戏里面有哪些不喜欢的东西,他们多少分钟以后会觉得很累想要退出等等这样的事情,我们希望构建在一个更大的用户基数上面搜集这些信息,希望可以让更多的用户体验到,虽然这是一个很艰难的决定,但是还是决定这个产品需要做多平台全球的发售。
那么,多平台的开发其实是一个很艰难的决定,就是各个平台之间的差异还是蛮明显的,就会带来很多的痛点,操作上面必须要有差异,各个平台之间的性能会有差异,用户的使用环境、软件环境、硬件环境、地理环境都有差异,考虑到这些差异才能在不同平台进行发售,因为VR还在早期,暂时还没有形成一个统一的标准,我们知道不管你是买PlayStation还是oculus等等,你会发现他们的操作方式是必须的同质化,所有的游戏手柄设计思路都是一致的,比如说都有左右两个遥感,左侧都有十字键,右侧至少都有四个主要的按键,他们虽然平台上面有差异,因为是成熟平台,他们在很多的设计逻辑和设计思路上面是趋同的,但是VR现在目前还在早期,所以趋同还没有出现,各家平台差异很大,要充分了解差异,才能在不同平台上面都跑起来,都能让玩家有很好体验的产品。
我用它有12年,我对它算是比较了解,但是也绝不仅仅是在这个上面单机一下可以发布一个全新的平台,这个是插件管理器,我相信大家都见过这个界面。
VR游戏设计上的思考
下面分几个层面讲一下我们做跨平台VR游戏的思考,首先是设计层面,我一开始没有讲技术层面,因为我要先讲设计,设计层面第一个考虑的问题是你的游戏如何让玩家移动,你要选择坐姿的话,就是玩家可以坐着玩还是说可以在数平方米范围之内进行自由移动的一个游戏等等,这个是非常关键的,因为它会直接导致你整个游戏的基础逻辑变化。
我们最后其实做了一个折中的选择,我们基本上是一个站姿的游戏,玩家可以站立不动就能玩,但是你需要走可以让你走,我们在这个方向做了很多的优化。然后还有一个需要特别注意的,就是键位的定义,传统的手柄上面基本上键位的定义非常一致和趋同,但是在VR上面现在还是有很大的不同,比如说最晚推出的手柄的oculus,它的手柄是集大成,他推出晚,它的功能最丰富,包含了传统功能的同时有新的功能,比如说每一个按键都有一个静电感应,感应到你的手是否摸到或者碰到我的按键,它是最复杂的,同时也是功能最多的。键位的定义一定要在游戏的设计早期,如果需要做跨平台就要想清楚,要不然目前很多设计在移植到特定平台的时候就要面临非常麻烦的取舍问题,所以也提醒大家,键位设计是设计的早期要去考虑的一个很重要的问题。
开发实例分享:容易忽略的细节
开发过程当中不讲太多就讲一个点,我们设计都是高速迭代,不断测试新功能,不断加新功能,你开发的迭代很困难,整个流程会很慢,我们目前还是在测试阶段,原本的设计初衷是去做多国语言的版本,现在用它来做的是,就像右侧的绿色框里面的列表,原本如果是标准用这个工具的话,右侧这个列表里面是英文、中文、日文、韩文等等多国语言,我们利用语言通道制作多语言、多平台的标准。
这样我们用这套工具在单一的版本上同时做三个平台,每个平台都是四个语言加速整个迭代过程。而且Unreal 的本地化功能特别好用,我给大家推荐一个功能,就是这个Asset Localization,它除了对数据进行本地化,还可以对图式资源进行本地化,你可以点贴图为它创建一个其他语言的副本。比如现在的贴图上有一句话,请按手柄上的X键,你可以在右侧点击创建一张新贴图,这个贴图上切换成英文,然后还可以创建一个版本,变成请按B键。我们在VR游戏里要秀出玩家手上的手柄,比如拿的是木手柄的形象,X键闪烁提示玩家按它,用这个功能可以直接形成副本,让左侧闪光,这个大大简化了在单一版本的多平台多语言工作量,非常推荐大家用。
然后跨平台方面,除了设计层面,开发层面的一些小技巧。接下来要说一些性能优化,因为我们知道这个平台是有差异的。特别是我们现在主要精力是放在PSVR的版本,它是上市差不多四年的平台,它的GPU和CPU性能,和现在的PCE显卡,CPU相对比较落后。如果你要对比去年定义出来的机器,它的性能是比较高的,怎么样让同一个产品在不同平台上跑的很好,在优化上花很大的功夫,优化是一个很大的话题,我讲几个点,首先在Unreal 里,去年到今年一直在做的事情是为VR渲染做优化,他们做了一个渲染器,因为Unreal 4发布以来一直用延时渲染,但是在VR状态下没有办法降下来,所以他们做了一套全新的渲染,这个渲染在他们自己的项目上已经成功使用了,而且带来了很大的性能提升。我们的项目展示上没有用成像渲染,这个暂时还不能跨平台,现在还有很多的问题,所以我们现在的选择还是用延迟渲染,这导致优化压力更大。
再接下来一个点是抗锯齿,Unreal 只有一个抗锯齿模式,就是TUV,它在VR里不那么好用,因为它是基于针尖像素计算的所以在VR里有奇怪的视觉效果,有一些残影或者边缘模糊,如果你在PC成像渲染可以用MSA不用TA。我们目前在这个平台上关掉了所有的TA,我们把百分比拉高了一些。
还有一块是关于后处理,因为后处理这一块对于VR来说性能开销比较大,是很固定的开销,你很难把他压下去,所以你需要做一些取舍,常见的可以取舍的无非是灰光的效果,US,景深,景深第一个可以舍弃,我建议大家舍弃,在目前的VR里景深价值不大,我们无法判断玩家试点,玩家在哪一个景深上我们不知道,跟传统在屏幕空间做游戏不一样,屏幕做游戏很简单,准星在哪儿就可以知道,但是在VR领域不知道,因为整个屏幕所有信息提供给玩家以后,玩家是随意的想去看哪里都可以。接下来是SSAO,Motion Blur在一定程度上可以舍弃的,包括屏幕空间反射也可以拿掉。
另外一个是从Content优化,更少的drawcll,更少的mesh,更简单的sharder,更少的半透明和静态光照。特别是投影计算,今天还是非常费的,我们优化是非常极端的,在同一个场景把同类项的进行合并。另外一个技巧,用全景图代替真实的3D场景,Unreal 现在提供直接渲染双木目全景图的功能,所以我们在Unreal 搭好场景以后,渲染成两个左右眼的球形图,再用左边的贴回一个球,在VR里看,至少在五米以外的中远景,视觉效果和真的没有什么差别,只要距离够远,差别就非常小,这是我们在新的关卡里尝试用的优化手段之一,这是比较极端的之一,把整个成本降的非常低。
这是当年场景性能分析工具,第一张是光照复杂程度,蓝色是常静态,绿色的是动态,第二个是半透明的,我们整个场景基本上都是绿色的,透视度非常低,只有没办法的地方,比如树丛有一点红色的,在底下的也是一样,我们整个还是保持在绿色区间,底下有一个热度图,我们整个热度图非常的低的状态。
最后是发行的平台环境,这个要展开说非常长,因为每个平台差异非常大,上架流程,每个平台上架流程都非常不同,steam是最开放最简单的,Playstation是最严格,最有质量保证的。然后是国际分区的问题,如果你的游戏要全球上的话,一定要分区,在美国是ESR,韩国台湾都有独立的分级。然后是语言要求,不同市场对语言要求不一样,要事先做好准备,然后是帐号体系不同平台有不同的帐号体系,需要对接复杂的STK,特别是联机要求的要对帐号体系做很多工作,还有奖杯成就,每个平台都有自己的奖杯成就系统。还有一些周边功能,比如主题,头像,在steam上有收集卡片等等周边系统,需要大家尽早的关注,在项目中期开始就要关注。
最后分享一下我们的时间表,《奇境守卫》在2016年5月在北美欧洲和香港Playstation上架,6月份在日本和东南亚的其他地区上架,在6月份steamVR全区上架,6月Oculus Store也是6月份上架。7月份在Playstation中国大陆上架,因为国内有政策问题,首发版本会内置英文中文和日文,7月份有第一个DLC陆续在市场上线,这是我们现在的团队在这个产品上希望做到的时间表。
投稿/爆料:tougao@youxituoluo.com
稿件/商务合作: 六六(微信 13138755620)
加入行业交流群:六六(微信 13138755620)