编者按:非常感谢Luden.io团队抽出时间与我们分享2017年App Store最佳应用之一——《ARrived》的开发故事。若想了解更多虚幻引擎AR开发的相关信息,请访问此处。
9月,清晨6点,旧金山——这是进入iOS 11首发应用阵容的最后机会。我们必须赶在截止日期之前完成所有工作,整个团队的成员都过着日夜颠倒的生活。然后,一条“构建失败”的信息大大咧咧地显示在我的屏幕上。我是怎么陷入这种窘境的?让我来告诉你们吧。
(本视频转载自YouTube:视频原址)
按计划行事
我们之前一直在进行AI和绘画识别的实验,打算制作一款VR上帝模拟游戏。我们Luden.io的所有成员都是《黑与白》的狂热粉丝;我们喜欢在VR世界亲手绘画,而大家都认为操纵虚拟世界中的小人是个天才般的创想。你在天上画下“雨”的标志 — 然后就真的开始下雨,听起来很棒不是吗?
没时间解释了
我必须补充的是,我们当时已经在VR领域奋斗了一段时间,但我们都认为AR比VR有趣得多。在6月份举办的苹果全球开发者大会上,苹果公司宣布将在2017年秋季发布ARKit。我们在考虑了5分钟之后,就毅然决定要搭上这班顺风车。而我们在那5分钟内都做了些什么呢?搞清楚虚幻引擎是否支持ARKit。
(本视频转载自YouTube:视频原址)
限制
从VR转成AR本身就耗费了不少时间,而此时距离发布也只剩两个月的开发时间,所以我们决定不再更改游戏类型。某些开发成果(例如神经网络)依然可以使用。关于这一点,我之后还会详细介绍。根据时间表和自身的能力,我们决定在更新后的Sequencer编辑器上赌一把,力图在玩家的房间中创造出一个可每周进行互动的部落。我们想让这个部落的住民能够看着玩家,并对镜头做出反应。
这么做有不小的风险。我们还不知道什么样的AR才能算是好的AR。但我们很清楚的是,一次游戏时间超过5-10分钟的AR游戏对于手机电池将是沉重的负担。最初,我们以为展现广阔的世界是个不错的想法,但很快,我们就意识到,我们必须在AR的屏幕上展现尽可能小范围的真实世界。因此,我们就回归我们最喜欢使用的技巧 — 用预先做好的虚幻商城资源创建了整个场景。我们强烈推荐这种方法,因为它能让你立即预览全部场景,随后再处理细节问题。
除了程序员之外,我们还有两位3D美术师和一名游戏设计师进行着蓝图开发。因此,我们创建了一个系统,以方便他们进行场景合成和逻辑转换。所以,三名团队成员才能协同工作,轻松在同一个系统中进行场景嵌入操作。三周之后,基本脚本已经实装,于是我们决定进行游戏测试,听听大家对我们的想法和精妙技术的赞叹,并收集大众的反馈。
游戏VS现实
当第三名玩家开始体验游戏的时候,我们才意识到自己碰到麻烦了。我们注意到,所有玩家都在以约每秒五次的速度戳着屏幕上的可怜小人。他们想让这些小家伙能够与他们互动,并能通过手机常用的手势进行缩放。被我们引以为豪的脚本和故事转换根本没能引起玩家的兴趣。我们如遭雷劈,而在这时,留给我们的时间只剩下一个月了。
此时我们已经别无选择了。受一款当时比较流行的游戏——口袋上帝的启发,我们开始着手将游戏改造成可交互的沙盒游戏。幸运的是,我们能够利用设备上的感光功能以及现实世界中的灯光来影响游戏中的事物。当房间中的光线暗下来时,部落居民就会上床睡觉,并在场景中放出一些萤火虫。当我们将这个功能发到Twitter上时,瞬间引起了热烈讨论,大家都很喜欢这种AR与现实世界的结合。
(本视频转载自YouTube:视频原址)
对游戏系统迟来的反思带来了许多新的设计难题。我们尝试着保留在过去几个月中我们已经制作出来的所有游戏内容,包括动画、场景和转换。为了实现这种融合,我们为游戏中的重要时刻添加了选择按钮,而其他管理世界的操作只需通过点击小人来进行。
更多技术
游戏还缺少令人惊叹的元素。我们知道要怎样解决这个问题,但因为时间紧迫,我们不敢动手处理它。但在鼓足了勇气之后,我们终于决定冒险尝试一下。我们在游戏中添加了能够识别出现实物体的功能。想象一下,如果虚拟部落的居民能够对现实世界中的一只狗做出反应,该是多么炫酷的事情啊。如果部落居民想要吃东西,你可以向他们展示真实世界中的香蕉,而他们也会在游戏中得到一根虚拟香蕉。我们使用自制的虚幻引擎插件将苹果CoreML系统引入到了游戏之中。
科隆国际游戏展
在登上飞往2017科隆国际游戏展的飞机之前,我们尽快完成了游戏测试。互动功能表现良好,我们也可以开始进一步打磨游戏了。物体识别功能带来的惊人效果也如预想的一样令人赞叹。对玩家来说,这绝对是前所未有的新奇体验。我们还要向媒体记者展示我们的游戏,并祈祷它不会崩溃。幸运的是,一切都非常顺利,我们来自VRFocus的朋友甚至认为这款游戏已经稳定了,但我们知道这不是真的。
(本视频转载自YouTube:视频原址)
(本视频转载自YouTube:视频原址)
除了在科隆国际游戏展中与广大的媒体朋友们见面,我们还有另外一项更为重要的任务——那就是与虚幻引擎团队进行交流。随着iOS 11发布日期的临近,苹果公司对数据格式进行了些许调整。我们虽然能够在自己的设备上进行游戏测试,但没办法将其载入TestFlight。在开始苹果的审核流程之前,我们必须先进行这步操作。经过与虚幻引擎团队的交流和后续跟进,这个问题得到了解决。
PAX游戏展
我们的游戏一天比一天好,在PAX游戏展进行展示时,我们的底气已经足多了。我们甚至还有时间为游戏添加改变物品大小的功能,就像在iPhone中缩放图片一样。当人们发现这种功能时,一定会觉得非常有趣。玩家可以让小人长得与2017年西雅图PAX游戏展举办地——华盛顿州会议中心一样高。
在PAX游戏展闭幕一周后,iOS 11的发布日期公布了。对于我们来讲,这意味着我们必须在9月15日之前提交游戏。我们非常紧张,就怕不能够按时完成所有工作。我们甚至草草制作了界面,在右上角以任务的模式提示玩家游戏中可能实现的事。之后,玩家就能随心去做任何疯狂的事情,或是完成有趣的任务,比如“用闪电劈开一棵树”。
此外,我们还意识到,不同房间内的照明条件也千差万别。所以我们必须为玩家添加质量追踪指示器,并为玩家推荐提升追踪质量的方法。不然的话,玩家就会认为这是游戏BUG,并认为这才是3D场景无法移动到指定位置的原因。
发布
直到发布日当天,我们还认为一切顺利。我当时在旧金山,而来自莫斯科和塞浦路斯的伙计们构建了一个程序包。由于过去3个月加班加点的工作,他们已经筋疲力尽了,所以在收集完最后的程序包后就去睡了。我看了日出,将程序包载入iTunes,然后就被拒绝了。
你知道,当你不知道该怎么解决某个复杂问题是,俄语中的某些特殊语句能够表达你试图解决它的意图。我利用这些语句,清理缓存,并复原编辑器之后,总算在3小时内完成了必要的构建。iTunes Connect接受了它。我记得当时我们离最终期限仅剩几个小时了。
在iOS 11发布之后,我们的游戏出现在了App Store的首页。看到这一幕时,我们都激动地跳了起来!后来,我们也收获了其他惊喜,比如苹果在2017年底颁发的奖项,但这已经是另一个故事了。
总结
从这个故事中,我们能够得到什么结论呢?
- 向玩家展示AR追踪的质量并向其说明如何提升AR追踪品质非常重要,因为这样能够让玩家得到更加舒适的游戏体验。
- 大部分玩家都希望自己能够与AR中的物体互动。
- 一局AR游戏所需的时间应该保持简短,最好控制在5-10分钟之内。因为长时间举着设备并不方便,而且长时间的游戏运行对于设备的电池也是很大的负担。
- 比起构建恢弘的场景,开发一个能让玩家与虚拟或现实物体互动的游戏才是更好的选择。
- 诸如物体识别和感光等新技术的加入,能够吸引更多的玩家。他们喜欢有趣又充满科技感的东西。
- 在测试新技术的时候一定要多加注意。我们的自定义识别系统将记者的猫识别成了狗,结果收到了差评。
- 利用商城,你能够快速完成项目原型的创建。用它吧,准没错。
- 游戏测试应该越早越好。玩家们对游戏的认知与我们开发者是不同的。
- 多与引擎开发团队交流,他们会尽力帮助你。
- 制作你自己喜欢的游戏,否则在游戏发布之前出现的每一个困难都会成为你半途而废的借口。
