火车上,我做出了人生第一款VR游戏

一个 Arduino 平台,一根 LED
灯,然后一些日常生活中随处可见的小零件,我们可以用这堆东西制造点什么呢?答案是创造一个非常有趣的游戏。Robin
Baumgarten 就是如此勤劳的一名开发者,他花费了 48
个小时左右时间,创建了这样一个看起来非常酷的游戏,游戏的性质是地牢爬行逃脱类,游戏通过
Arduino Uno 开发板获得驱动的能量,虽然没有华丽的 3D
画面,但是这游戏的趣味性依然十足,而且视觉效果简直就是一流。

火车上,我做出了人生第一款VR游戏

来自 界面 2016-04-14 深度

图片 1

[ 转载自 界面 ]

图片 2

本文转载自界面,原作者Charlie Hall ,翻译陈梦黛。

“你会编程吗?”Robin问我,“不会。”我摇了摇头。

Robin Baumgarten是一位知名独立开发者,GameJam的老手,游戏《Line
Wobbler》的创造者。而我,Charlie Hall,是游戏站点Polygon的一名编辑。

我们并肩坐在塑料板凳上,窗外是大片的爱荷华农田,绵延直至地平线。火车飞速地行驶着,两边巨大的白色风车掠过我们的视线。

“好吧。”他带着富有魅力的德国口音,“那艺术呢?你做过3D模型吗?动画呢?”

“都没有。”

Robin想了一下,问我:“那你有什么特长吗?”

我已经不止一次跟他提过我是个游戏制作新手,但也许他在此之前并没有充分理解。

“我是个编辑。”我说。

“我懂了。”

他又想了想,做了个深呼吸,说道:“那你可有得学了。”

他将他的电脑屏幕转向我,打开了一个叫Unity的软件,然后想我介绍游戏的制作过程。

当然,他是对的。在接下来的三天里,我亲自体验了制作团队是如何在game
jam上开发游戏的。我们四人一组,成功做出了一款游戏。而且如果没有Robin和其他人的话,这款游戏可能没法面世。

在这个过程中我并不仅是一个旁观者,但现在我要回归本职,讲述我们制作《Runaway
Train》的故事。

图片 32016年Train
Jam第一天的日落。摄影:Robin Baumgarten

TRAIN JAM(开发者们登上前往游戏开发者大会的火车,在这数小时内制作游戏)

2014年,我非常幸运征得了编辑的许可,让我参加了首次Train
Jam。一群独立开发者登上火车,前往在旧金山举行的游戏开发者大会(Game
Developers
Conference),他们坐在普通人之间,试着在途中开发游戏。这在当时是一个非常荒唐的想法。

然而在历时52小时,2500英里的旅途后,大家都带着惊人的新游戏安全抵达,我和其他所有人一样吃惊。自那以后,Train
Jam吸引了来自世界各地的开发者。今年的车票在35秒内就抢售一空,这些开发者有来自南美、澳洲的,还有从沙特阿拉伯和赞比亚远道而来的。

我想再体验一次,组织者Adriel
Wallick告诉我她为我留了票。但我要答应她一个条件,如果我想再次登上这趟列车,那么我也要做出一款游戏来。所以今年我决定接受这个提议。

提前一天,我就开始准备了。我疯狂地下载了好几个游戏开发软件,包括Unity,Unreal和GameMaker。我听从了几个推特评论的建议,从YouTube上下载了一些如何使用这些软件的视频。不是单纯的教程和工具提示,而是如何制作首款游戏的完整系列视频。

Train
Jam出乎我意料的一点在于我们几乎无法联网。如果我独自工作的话,就无法连上安全的网络,那样一来,我极有可能失败。但至少这个失败也许会成为一场笑谈。撇开这些不谈,一路上,我还能欣赏秀美的风光。

但当我来到联和车站时,Train
Jam的成员对我表示了热烈的欢迎,Adriel第一个走过来给了我一个拥抱。

图片 4在芝加哥联和车站集合。图片来源:Polygon

其中,我就遇上了Robin
Baumgarten,在2014年的列车上,我们就认识了。在车站的小酒吧里,我们畅谈人生,他邀请我加入他的团队。在此之前,他已经邀请了他的朋友Gorm
Lai,Gorm是一名富有经验的游戏设计师,也是国际Game Jam的创始人之一。

这趟列车上可能没有人能比他们更经验丰富了,所以我抓住机会加入他们的队伍,也告诉了他们我并没有什么游戏制作经验。

“你总要找到起点。”Robin痛快地说,“哪有比这更好的起点呢?”

要知道各种型号的 Arduino 板正在变成一款越来越受大家欢迎的开源硬件,
Robin Baumgarten
说他的灵感来自于视频网站的一段视频,他看见一只猫正在和一扇灵活的门戏耍,就是这一幕,让
Robin Baumgarten
灵光一闪,随即他便为我们设计创造出这款看起来非常不错的游戏。

最大载荷

在我们上车前,Robin,Gorm和我就今年的主题展开了激烈的讨论,最后确定的主题只有一个词“最大载荷”。我们的想法是,玩家可以在一列载满乘客的通勤火车顶上奔跑,这是没有尽头的,背景是掠过的各种景色。

唯一的难点在于,Robin和Gorm想让这款游戏适用于Oculus
Rift,但对我这样一个新手来说,难度太大了。

玩家体验这款游戏时,要站在列车中间的过道上,面朝前方,弯曲膝盖。Rift可以感应玩家的动作,蹲下代表躲避,站起来代表跳跃,而且能一直进行下去。

尽管如此,Robin还想更进一步。他带了一个Arduino微型电脑和一个加速传感器。加速传感器可以能测出我们所在的列车的速度,Arduino则能将信息反馈到游戏中,这是我们游戏的另一个特色。如此一来,虚拟的列车就会和我们乘坐的列车保持一致。

这是个绝妙的想法,但我们能否在规定的时间内完成呢?Robin和Gorm都认为我们可以做到,这时我们只缺一个美工。

我们开始考虑可以给玩家设定哪些障碍。游戏中会有常规的火车车厢,表面不平的车厢和装载管道和其他东西的运货车厢,玩家需要跳起越过这些车厢。我们可以加入装载煤和木材的车厢。也许可以让玩家左右摇晃脑袋来向两侧移动。

“放只长颈鹿怎么样?”我问道。Robin和Gorm茫然地看着我。

“你们没看过《夺宝奇兵》吗?印第安纳·琼斯就在马戏团的火车车厢顶上跑过。”他们都没看过,但这个想法很有趣,成为了我们设计中的主要元素。我们的想法都记在餐巾纸上,写了满满两张,正反面都有。

我们只有二十分钟的准备时间。在周二中午,我们集合,前往站台。

图片 5在加利福尼亚的某处,开发者正在测试游戏。

说到游戏的工作原理,Robin Baumgarten
利用小小的弹簧,一个加速度计,以及一个坚固的物体,来回摆动的控制器和触觉非常惊人精确的操纵杆,这个操纵杆拥有一个非常独特的“抖动”行为,我们将其往回拉的时候,放开手后它会来回迅速摆动。

洲际旅行

当天下午三点,我们在观察车厢集合。数字艺术家Raymond
Stump加入了我们的队伍,他来自印第安纳大学,是一名计算机科学和游戏开发专业的学生,非常热忱。他尽快创作那些火车车厢和其他的元素。Gorm则忙着为游戏人物创作原型。

同时,Robin打开了电脑,快速简明地向我解释他们现在在做什么。

这是我经历过的最令人称奇的二十分钟游戏开发教程。

我们使用的开发引擎Unity非常高效,有两个界面。Robin在两个界面之间操作。第一个是游戏设计界面,有许多平铺的窗口,第二个是编程界面,上面是各色代码。

我对游戏设计界面上的某些窗口略有了解,毕竟我这一生都在玩游戏。其中有一个是第一人称的动作画面,也就是玩家在玩游戏时看到的画面。另一个是第三人称的画面,设计者可以用它来设计周边的场景。还有些窗口中是可以调整游戏参数的变量。

Robin说,为了让玩家跳得更高飞得更远,他可以改变其中的一个变量,然后运行游戏查看效果。但如果不在另一个界面输入编程代码,这些变量是无法显示的。

他又切换回了那个神秘又五彩斑斓的代码界面。

“我可没法在20分钟内教会你如何编程。”Robin说。但他还告诉我,幸运的话,等他和Gorm搞定了,我也许可以试着操作设计界面。

吃晚饭的时候,我在Gorm的电脑上试玩了游戏的初级原型。我们从Unity的数据库中选择了一个粗糙的胶囊符号来代替玩家模型,上面还粘着个摄像头。快要撞车的时候,胶囊会从长方形的车厢上跳起,以稳定的速度从下面通过。按空格键可以在车厢之间跳跃。

这个原型还比较粗糙,特别是落地的时候。而跳跃的动作让这个胶囊看起来有上千斤。在接下来的几天里,Gorm花了很多时间完善这个问题。但对于一个几小时创作出来的作品来说,我还是很敬佩他们的。

Gorm和Robin非常谨慎。但他们也说,这是一段很长的旅途。

图片 6Robin在焊接加速传感器。摄影:Izzy
Gramp

与此同时,Robin开始连接Arduino。他用一对钢丝钳将加速传感器和微型电脑连接在了一起,通过USB与他的个人电脑连接,开始变成。他解释说,他的目标是让Unity将加速传感器识别为一个摇杆。在传感器的X轴和Y轴上输入的所有信息都会被识别为摇杆的动作。在编程过程中,Unity的设计界面也会显示相应的参数,将这些不流畅的动作变得更顺畅有趣。

但Arduino比Robin想象中的更具有挑战性。直到第二天上午,他才完成。

第一天晚上,我静静看着窗外,思考在这个过程中,除了精神支持我还能做些什么。

“你知道吗?”Robin一边捣鼓着Arduino一边说道,“我们需要一些音效。”

相关文章