最新资讯风向标

如何在VRChat中制作「严肃游戏」?这5个技术坑需要谨记

2021-02-22 06:46 作者: 来源: 本站 浏览: 19次 字号:

摘要:       根据gamasutra报道,Nathan Hahn与Oliver Page合作,为VR社交应用VRChat开发了一款名为「Art Sort」的严肃游戏。由于VRChat开发社区仍处于试验阶段,因此经常被人们调侃是VR的「狂野西部」。    Nat...

  

   根据gamasutra报道,Nathan Hahn与Oliver Page合作,为VR社交应用VRChat开发了一款名为「Art Sort」的严肃游戏。由于VRChat开发社区仍处于试验阶段,因此经常被人们调侃是VR的「狂野西部」。

   Nathan Hahn表示,开发「Art Sort」主要是为了探索在平台上进行严肃游戏研发的可能性,同时他也注意到,目前关于将VR社交平台应用于严肃游戏的可能性研究还很少,因此他希望向大家分享开发过程中碰到的5个技术坑,激发更多人的兴趣来研究如何将这些平台应用于严肃游戏中。

   为什么选择VRChat?

   VRChat平台具有许多特性,因此有希望成为开发游戏的一种方式。VRChat允许用户通过Unity游戏引擎免费上传自己的自定义头像和世界(尽管它缺少一种通过可用内容获利的方法)。VRChat还是一个跨平台的社交VR应用程序,用户可以在其中使用鼠标和键盘,并通过PC VR或Oculus Quest进行游戏。VRChat具有蓬勃发展的社区,并且该平台上已经出现了一些令人印象深刻的用户创建的游戏。

  

   ▲在VRChat中实现「Among Us」游戏

   与大多数娱乐游戏相比,严肃游戏通常研发团队较小,预算有限,开发周期也相对较短。因此,对于严肃游戏开发团队来说,跨平台多人在线VR游戏体验可能确实很好,但成本过于高昂。通过使用VRChat,严肃游戏的开发团队在理论上可以使用平台的预制功能来降低为客户开发跨平台多人在线VR游戏的难度,只要该平台提供严肃游戏所需的功能即可。

   「Art Sort」是如何开发的?

   为了测试在VRChat平台上创建严肃游戏的挑战,我与一位具有艺术背景的研究生合作创建了一个非常简单的严肃游戏。艺术史专业的学生通常会通过复习艺术作品,了解这些艺术作品的特征来学习课程。「Art Sort」是一款益智游戏,玩家必须通过拾取散布在房间内的艺术品并将其归入特定类别来解决每个房间的谜题。整理完一个房间的所有艺术品后,便可以进入下一个房间。

   在这款游戏中,我们使用的艺术作品类别限定于艺术主题,运动和文化。通过将艺术史的主要学习过程转变为多人合作的VR社交体验,我们希望为课堂学习提供新的活动,以提高艺术史学生学习和讨论的动力。

  

   「Art Sort」这款严肃游戏的开发过程中,写代码花费的总时间大约在30个小时。Oliver Page负责全部的美术资源与建模,这部分的工作与不使用VRChat进行开发花费的时间大致相同。Nathan Hahn有约1500小时的Unity研发经验,100小时的Steam VR、Oculus SDK和VRTK开发经验,以及15小时的VRChat开发经验。因此如果开发人员没有类似的开发经验,花费的时间可能会更长。

   从「Art Sort」的开发中,我们得到了哪些经验?

   1。VRChat制作严肃游戏很有趣,但很难进行数据分析。

   在VRChat中进行游戏测试有两种方法,即计划测试或随机测试。开发人员创建一个游戏世界后,他们可以在现实世界中找到测试参与者,并通过链接邀请他们加入该世界并对其进行测试,或者他们可以访问VRChat中已经存在的随机世界,并邀请陌生人加入自己创建的世界。

   作为一个严肃游戏的开发人员,在计划测试难以组织的情况下,让测试人员能够随时进行游戏测试对于确保游戏世界的可玩性非常重要。此外,由于开发人员在游戏测试时也会身处平台内,因此平台的社交属性有助于测试体验,开发人员介绍被测试的世界和参与者体验后的讨论都可以在游戏空间内进行。

  

   然而,严肃游戏的开发通常取决于某种形式的数据收集或分析,以确保体验能够带来预期的结果。使用VRChat时,开发人员将需要在VRChat平台的限制内为要收集的数据建立自己的数据分析系统。由于VRChat平台自身缺少这些数据的收集工具,因此开发时间会被延长。我们的团队对于「Art Sort」提出了一些想法,但尚未实施,例如一个计时器用于查看参与者能够以多快的速度解决每个难题,以及一个跟踪器用来查看参与者尝试将错误的艺术品放入错误类别的次数。

   2。开发环境配置可能需要很长时间。

   由于VRChat开发使用流行的Unity游戏引擎,因此一些开发人员可能认为,配置Unity环境来制作VRChat游戏很容易。但是,除了下载VRChat开发SDK之外,开发人员在配置开发环境时还会遇到两个主要障碍。

   首先,为了将世界上传到服务器,开发人员需要从VRChat平台获得“新用户”权限等级。为了防止恶意开发人员在VRChat平台上散布低质量的内容,VRChat实施了权限系统,通过在VRChat世界中玩游戏并在平台内部添加朋友,用户可以获得更高的权限等级。因此,开发人员可能需要花10个小时以上的时间在VRChat中玩游戏,然后才能拥有上传世界并开放给他人所需的权限级别。

  

   其次,从2020年12月开始,必须使用Unity 2018。4。20f1开发VRChat游戏。VRChat平台不会阻止开发人员在其他Unity版本上进行开发,但是如果他们尝试使用其他Unity版本上传其开发的世界,则在VRChat选择列表中将无法看见自己的作品。尽管有些开发人员可能熟悉使用旧版本的Unity,但其他开发人员可能需要学习如何在没有更高Unity版本提供的功能的情况下进行开发。

   3。状态同步策略需要注意。

   在VRChat世界中有三种同步方法。VRChat平台为开发人员提供了一种简便的方法来创建对象:将预制脚本附加到对象上,从而可以在虚拟世界中拾取和移动对象,但该平台还通过其Udon流程图脚本系统提供了更复杂的交互功能。同步Udon脚本高级功能需要使用以下两种方法之一:事件调用或变量同步。

   在Udon脚本内部,可以将服务器消息发送给服务器上的所有用户。对于「Art Sort」,当任何用户在第一个房间中按下“开始”按钮时,服务器会发送一个事件消息给所有玩家。客户端程序接收消息后将为所有用户打开房间的门并播放一段声音。

  

   ▲作者实现的事件调用脚本示例

   处理同步的另一种方法是通过变量进行同步。设置同步变量时,如果一名用户更改了变量的值,则其他所有用户客户端里该变量的值将同步发生变化。如果想要创建一个用户无论何时进入服务器都能保证与其他用户状态一致的虚拟世界,这将非常有效。但是由于对象所有权带来的复杂逻辑,使用这种方式时开发者在体验设计中必须确保该值被永久改变。

   4。VRChat可以跨平台并不意味着你开发的游戏也能跨平台。

   VRChat平台允许人们使用多种不同类型的设备登录,从理论上讲,这使得一次为多个平台开发体验变得更加容易,不会给开发人员增加跨平台开发的负担。但是,在开发严肃游戏时,开发人员需要了解这些平台之间体验的主要差异,以确保开发的游戏可以在所有这些平台上正常工作。

   对于拥有鼠标键盘的PC和PC VR平台,一些较小的设计细节问题可能需要开发人员的创造性思维来解决。例如「Art Sort」的一个关键功能是可以拿起将艺术品并在运送到类别位置的过程中进行仔细的观察。在VR中,用户可以拿着艺术品时对其进行旋转操作,但是键鼠用户不具备此功能。因此,游戏设计中,默认手持艺术品的位置会更适合键鼠用户的视角,但同时也给了VR用户手持艺术品时留下了一些灵活的操作空间。

  

   对于Oculus Quest用户,开发人员需要考虑更多的平台差异。首先,上传一个可以被Quest用户访问的虚拟世界需要一个单独的构建过程,因此开发人员每次进行更改时都需要进行两次上传。其次,一个虚拟世界的大小必须小于50 MB,才能在Oculus Quest上运行,如果该世界大于50 MB,SDK虽然会上传虚拟世界,但无法在VRChat中打开。

   Oculus Quest在用户角色外观上也有更多限制,同时不允许在内容中嵌入视频,而「Art Sort」恰恰使用了视频来向玩家介绍游戏功能。如果开发人员计划为Oculus Quest创建一个虚拟世界,那么他们需要在开发开始之前就规划该虚拟世界的内容,以确保Quest用户能够获得与PC和PC VR用户相当的体验。

   5。管理员工具需要融入虚拟世界的设计中。

   通常开发严肃游戏时,管理员在游戏外对游戏进行配置。但是,对于上传到VRChat的游戏,管理员将需要在虚拟世界中进行设置,才能控制参与者何时开始和结束游戏的事件。

   Nathan Hahn为「Art Sort」创建了一个带有密码的面板工具。任何用户只要键入密码,就能够获得管理员面板的访问权限,这是其他玩家看不到的。管理员面板允许用户通过隐藏开始按钮,从管理面板启动世界或完全重置所有难题来阻止任何用户进行游戏。这样一来,主持人就可以阻止参与者开始游戏,让他们专心听取介绍,或者等待迟来的玩家并让所有参与者重新开始进行完整的体验。

  

   写在最后

   在制作这款游戏​​时,Nathan Hahn还经历了一些其他的经验教训,但是他希望,这五个他遇到过的技术坑可以使开发人员认识到使用VRChat进行严肃游戏开发时面临的优势和缺点。

   尽管VRChat平台为跨平台多人在线VR严肃游戏提供了易于发布的功能,但一些设计人员可能会发现,该平台施加的限制过于局限,无法满足客户对严肃游戏体验的需求。在VRChat平台之外开发严肃游戏时,开发人员可以通过代码解决与实现客户愿景有关的问题,但是如果选择使用VR社交平台,开发人员会陷入该平台施加的许多限制中。开发人员应当需要针对自己的需求仔细考量是否需要VRChat这样的VR社交平台来帮助加快产品的开发。