首页>推荐>资深开发者讲述Oculus GO开发游戏迈过的7个坑

资深开发者讲述Oculus GO开发游戏迈过的7个坑

2019-05-13 18:57:57 来源:87870作者:Sin & Roger
阅读 10711 评论 0

丹·泰勒是游戏行业的资深人士,曾参与过游戏历史上一些史诗级大作的开发:包括《荣誉勋章系列》、《杀手系列》、《马克斯·佩恩系列》,以及《古墓丽影系列》。他现在领导Thunderbox Entertainment,一家位于英国的VR和移动游戏开发工作室。

丹最新的一款作品是《Tsuro:The Path of the Path》。近日,他在Oculus官方博客上发布了一篇文章,讲述了他在开发移动VR应用程序时总结的经验教训87870把全文进行了整理编译,希望这些经验可以帮助国内的开发者。

丹博客全文如下:

2016年的开始是一个激动人心的时刻:我们刚刚发布了我们的第一个移动App,一个触屏版的桌游《Tsuro》,并准备开始下一个。我们真的没有任何进入VR的计划...它只是那种,你知道......发生了。

VR,Oculus,vr技术,vr游戏,虚拟现实制作

我们的一位朋友一直狂热于他闪亮的新款Gear VR,并坚持要我们试一试。我们不相信移动VR的潜力——在手机上做一个高质量的VR游戏很难,更不用说要达到60FPS渲染——但我们认为不妨试一试。

我们尝试了一下,这给我们留下了深刻的印象:我们很快意识到,移动硬件完全能够提供像桌面级设备一样,引人入胜的VR体验......而且价格也更加友好。

两周后,我们得到了一些硬件,然后让《Tsuro》在VR中运行起来......但这并不是特别有趣。在虚拟桌子周围玩虚拟桌游,这只是我们对现实世界苍白的模仿。而如果我们要在移动VR中有所突破,就像我们在手机和平板电脑上做的那样,我们需要一个好点子......

快进到2018年,Oculus Quest上的《Superhot》给了我灵感。

VR,Oculus,vr技术,vr游戏,虚拟现实制作

我参加了2018年的OC5,《Superhot》的演示团队不得不从我头上摘掉头显来阻止我玩。当我跌跌撞撞地走出游戏区时,突然灵机一动:为什么我们不能把桌游做成房间级的VR体验呢?

为了重新塑造Oculus Go版本的《Tsuro》,我们将所有的游戏内容增大了70倍。当你站在棋盘中心时,您可以感觉到无数的碎片飞过,并且攀爬周围的场景会让你感受到运筹帷幄的感觉,这是其他的游戏方式不能带来的。

VR,Oculus,vr技术,vr游戏,虚拟现实制作

但即使我们有一个清晰的想法,开发也不是一帆风顺。但回想起来,整个项目看起来还是对大于错,所以让我们先回顾一下那些不好的方面......

什么地方出了错?

1.令人痛苦的旧素材

为了尽可能高效地移植《Tsuro》,我们希望尽可能多地从移动版本中重复使用素材。但不幸的是,之前的项目已经过去6年了,所以有一些奇怪的遗留问题减慢了我们的速度,甚至影响了游戏的性能。

VR,Oculus,vr技术,vr游戏,虚拟现实制作

我们的动画插值系统HOTween,无法通过IL2CPP编译器进行编译。我们本应该更新到DOTween,但是项目晚期即使只是在Mono脚本中做一些改动也有很大的风险。

我们在启动《Tsuro》项目之前,Unity还没有自己的UI系统,我们当时使用的nGUI。这可以做出很棒的UI,但有一些问题。因为我们必须使用自定义着色器来点亮我们的diegetic UI,所以当我们测试亚洲本地化所需的动态系统字体时,它们都崩溃了。而这一次也是在项目的后期,所以我们不得不在发布前一周修改了一个伪照明系统。

我们还使用Playmaker进行可视化编程。但在做移动版《Tsuro》时,我们还不会使用它,所以我们的脚本混乱的可怕。如果您打算使用Playmaker,请使用全局变量来获取关键游戏数据,保持状态机的小型化,对所有内容进行颜色编码,并确保状态机之间的任何切换都是可靠的并且同步准确:当我们更新Unity版本时,一个微小的速度差异,就意味着一些Playmaker的元素突然以不同的顺序执行,造成重大Bug!

2.确保移动框架的正常工作

在移植《Tsuro》的过程中,我们低估了VR中所需的移动平台基础功能的数量,包括:

消息推送——我们使用OneSignal在多个玩家间推送通知、更新房间列表以及通知切换到其他App的用户他们的回合到了。Oculus有一个通知系统可以作为替代,但我们没有时间来研究并将其集成到《Tsuro》中。

游戏中心——《Tsuro》拥有超过50个成就,帮助玩家发现各种不同的次要游戏机制。Oculus有一个可靠的成就系统,但是不会在你解锁成就时弹出通知,也没有界面让你查看你的进展。成就系统的用户体验必须从头设计并集成到游戏中。

社交集成——无论你信不信,在为Oculus开发的Unity游戏中集成Facebook功能并不容易。在移动端,你可以使用Facebook Unity SDK,但在Oculus平台中,就没什么能用的了。

键盘?!?!——《Tsuro》中有一个地方需要用户输入文字。这个小功能十分重要,意味着我们需要集成一个VR键盘。幸运的是我们在Unity Asset Store中找到了一个解决方案,并快速的进行了一些修改,以使其符合我们的使用需求。

VR,Oculus,vr技术,vr游戏,虚拟现实制作

手游版本的UI vs VR版本的UI

3.对Gear VR进行测试:太少太晚了

出于某些愚蠢的原因,我们认为Gear VR具有与Go相似的性能......这是一个很大的错误。从Go移植到Galaxy S7,我们发现帧速率明显下降。这需要深度优化,并创建几层特定于设备的图形质量,但这会降低分辨率,交换着色器,减半纹理,调整阴影并相应地调节CPU/GPU

图形性能的几个关键问题:

一定要将环境组合到一个网格中,并禁用动态遮挡剔除。

一定要对纹理使用ASTC压缩——测试块的大小以取得性能和细节之间的最佳平衡(虽然我们大多数的纹理最好在5x5,但我们将相当多的光照放到6x6,以获得相当大的速度提升) 。

一定要用Oculus Lint工具(提前而不是更晚!)

一定不要使用标准着色器。使用最简单的着色器(在Unity中,这些着色器通常是移动着色器)。

一定不要使用Unity的默认天空盒——而是使用移动版本,并将色彩设置填充到纹理中。

一定不要使用环境照明——它不会影响Go上面的FPS,但它在我们的S7上杀死了帧率。

……最后,不要忘记在发布的第一周里观看您的评论,这点至关重要!让您的团队随时准备为报告问题的任何人提供出色的客户服务和快速修复!

什么是对的?

1.低多边形的美术风格

我们最初想让游戏环境能够匹配移动版本的美术风格。对于高分辨率环境的尝试让我们意识到如果这样做我们需要投入过多的时间,而且还要在质量上进行妥协,幸运的是,Unity Asset Store拯救了我们。

VR,Oculus,vr技术,vr游戏,虚拟现实制作

我们一直在研究低多边形(low-poly)的美术风格,我们和新西兰一家很棒的工作室很熟悉,他们制作了一个梦幻的古代日本环境包,非常适合《Tsuro》。

这种复古的外观有许多好处:首先是漂亮,其次是性能非常高。经过一些小的改动后,我们能让《Tsuro》在Oculus Go上以1.5倍标准分辨率、72fps运行。最后,我们还找到了一些高质量、低多边形的资源,为游戏添加了风格化的天空盒、远景、粒子效果甚至是一些野生动物。

2.专注于用户界面

《Tsuro》的原始UI专门设计成隐藏在屏幕的角落,而VR中没有屏幕,更不用说角落了。我们很早就分配了资源来开发可靠的UI,其中包括在专用的“健身房”中快速构建、测试和迭代多个UI组合。这有助于我们识别和解决一些关键问题......

VR,Oculus,vr技术,vr游戏,虚拟现实制作

明智地选择你的字体——如果你想要易读性,使用过于风格化的字体是一个坏主意。我们选择的字体很干净,但有着俏皮的手绘感觉。

保持文本简短但清晰——玩家要从环境中的任何位置查看UI,这使文本易读性成为问题。我们尝试了许多技术解决方案来帮助解决这个问题,但最好的方法是保持措辞简洁,这样字体就可以尽可能放大。

伪照明——如果你的UI需要随玩家移动,它可能需要光照。我们最终通过手动伪装静态UI元素的光照,并使用脚本近似动态地重新着色移动的UI。

使用UI进行聚焦,而不是分散玩家的注意力——将UI和玩家锁定是不舒服的,但我们的主UI需要在任何位置始终可见。为了解决这个问题,我们将其锁定在玩家的位置,但总是让它面对棋盘上的互动点;这样可以集中玩家的注意力。它还根据玩家的高度水平重新定位,所以游戏区域不会被挡住。

3.跨平台多人游戏

Oculus Go平台的《Tsuro》玩家可以与使用平板和手机的朋友们进行对战。我们从VR玩家那里获得了非常好的反馈,他们会使用这项特性来和不使用VR设备的朋友们在家中进行对战。这也意味着我们已经有数千名玩家在游戏发布时能够加入到自动匹配系统中。

VR,Oculus,vr技术,vr游戏,虚拟现实制作

为了达成这一目标,我们使用了两种现成的技术:Photon Networking和PlayFab。这两种系统都经过专门的设计,可以很好的协同工作,而且价格和薯片一样便宜。

Photon处理实际的联机游戏流程(创建房间,传输数据等等),PlayFab管理授权、好友、匹配和保持游戏状态。PlayFab还可以通过Oculus中集成很好的通用功能中获取玩家的信息(Facebook,Steam,游戏中心等等)。

4.与GOmmunity合作

非常幸运的是我们一位早期测试人员给我们指出了论坛上的GOmmunity社区,结果证明这个社区非常宝贵。

这些可爱的人几乎玩过Oculus Go上的所有游戏。他们能够告诉我们我们缺少的主要功能,并告诉我们哪些游戏最好的实现了这一功能。

VR,Oculus,vr技术,vr游戏,虚拟现实制作

根据他们的建议,我们改进了动画系统,建立了坚如磐石游戏体验,并且还通过Oculus Room集成了Coordinated App Launch功能,让玩家在启动《Tsuro》时能够获得Oculus Room中其他玩家的信息。

结语

我们相信《Tsuro》的VR版本是享受《The Path of The Path》的最佳方式......至少在数字化版本中!我们将这款优秀的小型战略游戏带入了VR,我们希望在不久的将来能够为更多的桌面游戏提供类似的身临其境的体验。

作为我们第一次涉足VR,《Tsuro》被设计成一个实验:一个相对较短的项目,可以让我们获得制作更复杂的VR游戏的必要经验;《Tsuro》(艺术风格、UI、运动、测试、优化、框架等)的所有专业知识和新技术肯定会在我们的下一代VR游戏中重复使用。那时我们会做的更好。

【资讯编译自:Oculus

87870编译文章,转载须注明来源及链接,否则将追究其法律责任!


如果您也认同,打赏支持下作者吧
打赏
0人打赏
Sin
Sin
从来不开车的VR圈老司机
选择支付金额
1元 2元 5元
选择支付方式
金币 微信 支付宝
打赏成功
感谢您对87870的支持
87870微信公众号

我有话说:

最新评论

新闻排行