|
世界规模AR平台的设计
Niantic正在开发一个世界规模的AR平台,并旨在帮助AR开发者快速轻松地创建自己的游戏,无需面对一系列令人生畏的技术挑战。Niantic Real World Platform是这家公司核理念的技术体现:锻炼,探索和社交互动。所述原则在移动客户端表现为一组Java服务器库和Unity C#API,而这项技术是《Ingress》,《Pokemon GO》,即将发行的《Harry Potter:Wizards Unite》,以及未来产品中的核心服务器和客户端引擎的基础。
Niantic的平台负责人戴安娜·胡(Diana Hu)和平台副总监爱德华·吴(Edward Wu)日前分享了关于世界规模AR平台的设计,以下是笔者的具体整理:
在2018年12月,我们宣布了Niantic Beyond Reality开发者大赛,邀请开发者加入我们并为Niantic Real World平台开发令人难以置信的AR体验。我们已在2018年6月预览了这一平台的AR映射和计算机视觉功能,而从那时起,一系列的团队向我们询问了这个平台将能如何帮助他们,并为成功应用我们的技术绘画了潜在的广阔图景。在这篇博文中,我们将探讨Niantic所认为AR体验正在前进的方向,以及我们根据这一预期而构建的技术堆栈。
为了帮助解释说明,我们首先来畅想一个无处不在的可穿戴计算世界。在未来,AR设备可以在真实世界和虚拟世界之间无缝融合我们所有的感官。这种自然的硬件将能增强我们在游戏,工作和社交方面的日常体验,可以随时随地地予以使用,并通过低延迟5G实现实时联网。对于这样一个未来,你又会构建什么样的体验呢?
首先,我们设想这个未来具有内在的共享性和社交性。在Niantic,我们已经看到共同游戏对玩家参与产生的巨大影响。玩家反馈道,除了游乐之外,他们同时发现游戏带来了结交朋友和构建社区方面的益处。在这个未来,共享式增强现实体验将能提升这种益处。要做到这一点,AR的交互必须做到感官自然。数字化将遵循类似于物理的规则,从而令我们的大脑产生无法区分的幻觉。当达到这种平衡时,玩家就能沉浸在这种神奇的逼真世界中,并享受自然无缝的快乐(你可以参阅《Codename:Neon》,这是我们用于演示这一点而开发的原型)。技术的实现一如预期,并遵守着物理定律。例如,《Codename:Neon》的玩家可以从地面的白色颗粒中获取能量,而它们都是共享资源。所以如果一个玩家拿到了白色颗粒,其他玩家将无法提取能量。
第二,我们认为AR世界是一个异构的环境,能反映出我们地球的多样,丰富和美丽。自然,这吸引着我们同时探索真实世界和虚拟世界,而用于构建虚拟体验的数据应该紧密地与现实结合在一起。以《Pokemon Go》为例,当真实世界下雨时,游戏将出现相应的情景。感官体验应该彼此对应,因为这样可以推动着我们以一种连接的和有意义的方式来发现这个崭新的AR世界。
第三,我们认为虚拟世界可以促使我们进行活动锻炼。利用人类运动和休息的自然节奏,我们可以创建出引人入胜的体验,邀请我们活动起来并确保AR和地理空间体验以主动有意的速度展开。例如,《Codename:Neon》是第一种鼓励玩家在大型开放空间(如公园)移动的AR游戏机制。《Ingress》和《Pokemon GO》同样如此,步行里程是一种MMO资源,为激励玩家探索社区或城市开辟了众多可能性。
我们为满足上述目标而开发了什么样的技术呢?为了令我们的体验存在于单个虚拟世界中,我们需要能够实现大规模的单个实例,一个可实时查询地理空间的环境,并允许共享地理空间对象的创建和变异。因此,我们平台的核心是实时地理空间存储,索引和服务引擎,它管理着开发者能够控制的全球地理空间对象。但由于我们设想的是世界规模的单一AR游戏,其需要整合每一个人的现实,我们对技术方面的投入主要是水平可扩展性并同时维持单一世界实例,重新思考如何在水平可扩展的Kubernetes容器技术和NoSQL非规范化数据储存的基础上实现服务器授权式的游戏,而非过去MMO通常所基于的单实例关系SQL数据库。《Pokemon GO》完全基于这个平台构建,并且在单一,一致的游戏环境中实时支持数百万玩家,而数亿的月活跃数据已经证明了这一点。
另外,在最初开发《Ingress》的过程中,我们发现使用程序生成或抓取的内容难以实现一个看起来真实且具体的游戏世界。这样做会产生一种认知失调感,算法敏感的高亮位置在实际上却平淡无奇。因此,我们利用了全球数百万最有趣和最易访问的地点所提供的综合数据集。随着工具链加载并根据元数据标准将相关位置到游戏场景之中,玩家在过去六年中的游玩正不断提交数据和更新数据集。因此,这个数据集对基于我们平台构建的体验至关重要,可以激励用户探索真实世界,并从一个地方走到另一个地方。
这些功能是通过一组移动客户端Unity API进行管理,后者可以映射至高性能的原生插件,可实现真实地图信息,以及地理空间游戏对象的高性能渲染和样式化。游戏中最不直观的代码部分可以因而对服务可扩展性和客户端性能产生最大影响,而我们发现解决这一问题的关键是维持玩家位置与周遭游戏世界状态之间的实时联系。因此,我们致力于构建一个直观的API,当玩家在世界各地移动时查询和缓存地图和地理空间对象,它能够处理器中的复杂性,并允许开发者编写世界规模的单实例实时多人游戏,从而允许其专注于在游戏设计中寻找乐趣,而非分心应对一系列令人生畏的技术挑战。
最后,我们为实时多人AR体验创建了一套完整的API,将智能手机作为控制设备,以及浏览虚拟世界的门户。我们专注于解决计算机视觉,网络,以及游戏原型设计工具中的难题,从而确保开发者能够主要专注于构建体验。我们的技术优化了实时AR,实现了数十毫秒的点对点多人延迟。游戏的流畅运行需要以60fps渲染,每一新图像以约16ms显示,所以我们渲染玩家的实际真实位置。这意味着当在多人AR游戏中使用我们的技术堆栈时,你可以看到朋友正站在哪里,而非单纯的大致位置。我们同时在客户端库中内置了先进的计算机视觉算法,以实现更优秀的终端用户体验,及更快地同步和追踪多人AR。所有这一切都支持跨平台应用,使得开发者能够在几秒钟内进行迭代。
在结合在一起的时候,我们的技术平台可以帮助你快速开发出令人难以置信的世界规模AR体验。从黑客马拉松到早期的游戏原型,再到我们即将推出的AR游戏《Harry Potter:Wizards Unite》,我们一直都在践行使用。但我们知道,这项技术同样可以赋能世界各地的伟大创意者和开发者。如果你希望测试我们的平台,请访问官网并注册https://niantic.dev/。我们非常乐意帮助你开发出令人惊叹的作品。
来源:映维网
原地址:https://mp.weixin.qq.com/s/v1P9XjG6N0w9c6m1yk5nzQ
|
|