写在 GGJ 2018 回来
第四年参加 GGJ 了(算上下半年的 GameJam 貌似都已经 7、8 次了?),从第一年做了一个 flash 游戏开始,一发不可收拾。和每一年都在进行激进的尝试一样,今年我们又一次挑战了自己。无论从游戏题材上,还是制作的技术上。无论怎么看,我们都可以骄傲的说自己是有独立游戏精神的,很膨胀。
组队
去年下半年的那次 GameJam 回来,没有写成文章,主要是因为游戏质量一般。题目是一棵有树冠有树根的树,本来觉得会是个好题目,然而最后做了一个差强人意的点子。17 年上半年那次的豪华阵容里,连连看程序员、BAT 程序员,美术大大多拉、菜菜,以及我都参加了下半年这次 Game Jam,另外加入了一个我的同事,脑洞非常大的 JC,就叫他脑洞程序员吧,不过他是来做策划的。
说回今年,BAT 程序员和菜菜没有继续参加,所以就是四个人,连连看程序员,多拉美术,脑洞程序员策划,和我。6 个人的队伍叫「点33」,因为有 2 个人是色弱。所以延续这个命名方法,这次叫「点五零」。(对你们可以排除两个人不是色弱了)
第一天,题目/思路
周五下班后大约 8 点多赶到了会场拿到题目「Transmission」,连连看程序员要回家照顾高烧的家人,于是号称 11 点要走,大家就想在他走之前把做的东西定下来,按照往年一般是在 12 点之前可以确定做什么。因为我最后一个到,所以先说了说我的脑洞,不出意外的,他们全都提到过了。讨论集中在,传递一个手机来进行的游戏(但是实在想不到一个比 1-2-Switch 摇汽水更有意思的点子),传递基因的游戏(还顺便讨论了乌龟是怎么受精的 =。=)。一边夜宵一边脑洞,按照我们的思路,这样的活动做一个单机同屏 party game 是最合理的,场景小,甚至可以没有关卡,不依赖网络,又比较容易在演示的时候表达清楚自己的主意。这算是这些年来的经验,但也正因为此,我们的思维被局限在了一个框架里。
一直到 12 点(当然连连看程序员已经溜了溜了),仍然陷入死胡同中,留下来的三个人昏昏欲睡,于是开始聊起了各种八卦,打了打手游,墨迹到 1 点。戏剧性就发生在这个时候,正在闲聊电影,什么《Contact》之类的,脑洞程序员(大概是过了自己最困的点)打开了 App Store 找灵感突然有了点子。他看到一个专题,叫做「这些游戏可不按常理出牌」,点进去一看,什么传递手机的点子、什么脑洞大合集的点子,类似的游戏都一个一个列在那里。唯独,列表的第一名,是一个神作:「山」………………
于是脑洞程序员提出来做一个这样的「佛系」游戏,很禅,很装逼。你是一个 NASA 员工,工作是监听来自地外文明的声音,当然啦你每天的工作都是收听一个几乎不会真的存在的信号,一个白噪音。这个白噪音,可以代替很多白噪音软件,给玩家在日常工作、学习的时候听。但是满足一定条件后(比如日期、地理位置、时间甚至其他脑洞),你真的可以在白噪音里收获一些真正的地外文明的信号,找到这些信号,就是你的游戏目的,同时我们应该提供一个成就列表,完成各种声音的收集。
这是脑洞的最初形态,他最后进化了…… 后面会提到。
1 点半左右,决定做这个东西之后,我们就坐下来开始尝试搭建一个框架。因为想利用地理位置之类的东西,觉得用 iOS(虽然什么都做,但我主要,还是一个 iOS 程序员)提供的 SceneKit 会更方便一些。事实上后来证明这个决定,有很多优越的地方,也添了很多麻烦。
不眠之夜,脑洞程序员还在给这个设定不断加料。多拉画出了最基本的模型,从最初的一个圆角的立方体开始。而我尝试把这个模型放进一个 SceneKit 环境里跑起来。因为多拉也是刚刚开始用 C4D,而我也是第一次拿 SceneKit 正儿八经做个游戏,所以模型能不能用,导出的格式能不能兼容,参数要怎么设置,着实花掉了不少时间。
用一个 Vlog 记录下了凌晨四点时候游戏的样子,和我们的精神状态。第一个萎靡不振的是多拉,叨逼叨逼话很多的是脑洞程序员,另一个是我 -。- 这之后稍微再弄了会儿,大家就各找地方休息了。多拉趴在桌上,我拿几个凳子拼了下,马子比较大的脑洞程序员不知道单飞到哪里去了。
不能看的请去这里观看
第二天,开发开发开发
昏睡了几个小时,醒来几次看到多拉已经醒了,两个人去楼下罗森买早饭吃,外面在下雪。在罗森遇到了脑洞程序员,听说他醒来之后用了 5 分钟才回忆起来我们打算做什么东西…… 第二天白天的开发就这样正式开始了。
多拉一直在继续修这个模型,示波器是这个游戏最关键的东西了,所以多拉的核心工作就是这个东东。相对来说做这样一个放置类,没什么操作,没什么场景的游戏,工作量真的不高。到了中午 12 点,游戏已经有了几个旋钮什么的比较基本的东西了。依然机智的用 Vlog 记录了下来,我们还是很 high 的。
下午,心系会场,放心不下,前主程连连看程序员,带着病恹恹的老婆一起来到了会场。我在搞示波器的动态波形图,脑洞程序员也操起了老本行开始各种 debug。多拉…… 嗯还是在画旋钮,精雕细琢,可歌可泣。算了我实在懒得写还是放视频吧。
之后,因为发现 1 月 28 日(demo 的那天)在 32 年前,是挑战者号失事的日子,于是我们决定这就是我们想收到的第一个声音。脑洞程序员瞬间化身成为音效师,开始了音效之路。我在添加音效、波形的逻辑。多拉不断完善着模型。这是这一天效率最高的几个小时,游戏不断不断被迭代,不断不断变得更好看,不断的增加特效,提升帧率。这几个小时的进化之快,可以从这个对比里看出来。
当晚 12 点左右,我们已经完成了这天的全部工作,因为感觉时间剩的比较多,我们当晚找了一个便宜的浴室洗了个澡,但不知道为什么周六晚上在浴室过夜的人这么多,最后我们三个在地暖上睡了一觉,7 个多小时的睡眠时间,补足了精神。0 点多结束之前拍了一个视频,东西已经做的差不多了。
第三天,成就系统
早上 9 点来到会场,开始做 UI 和成就系统。因为 SceneKit 的选型,让 iOS 原生 UI 可以很方便的用在游戏里,所以就回到我的老本行了,做起来很迅速,抠了很多用户体验上的细节。哎呀和往年做到这个时候开始砍功能的节奏完全不一样,膨胀。
多拉昨晚 UI 开始做 splash screen、app 图标等等素材。连连看程序员远程提供了其他的音频。脑洞程序员不但完成了复杂的矩阵计算(最后没有用到游戏里,感觉是 SceneKit 的锅)后,做起了文案,给成就系统里写了一堆成就。因为 demo 5 点开始,场地网络上行带宽有限,我们决定在 3 点开始提交程序,所以一些合照啦什么的素材都是这个时候弄的。在提交游戏前,3点不到的时候,我拍了一个视频
演讲
虽然上面行文都是用的 demo,不过其实脑洞程序员的发挥真的是不错,可以说是演讲。这个时候游戏的主旨已经不是找地外文明了。更高维度的空间里,时间是可以任意追溯的,所以声音这个时间维度变化的东西,可以轻而易举的得到。也因此,我们的机器,是一台我们这个维度生物,通过高维度的科技去捕捉过去的声音。用脑洞程序员的话说,所有的声音都还在这个时间里回荡(echo)。
演讲本身不是很顺利,因为模拟器没有硬件加速,所以 SceneKit 开发的游戏只能用真机来演示。这就必须用 Quicktime 之类的东西投射到电脑里,但因为只有我们这一家,会场没有调试好,我们的音频没法输出,但又因为这个游戏的声音非常重要,所以演示本身并不觉得很好。但脑洞程序员尬聊的能力真是突破天际:「All those moments will be lost in time, like tears in rain. 而我觉得,不一定,不是真的!」
我们自己拍了一段演讲的视频,不过效果不是很好,如果回头找到更好的,我再放过来。
放个脑洞程序员写的游戏介绍:
「
万物有声,你可曾想过自己曾经忽略掉多少神奇而有意思的声音,你又可曾想过这世界还有多少已经被遗忘的声音等待着被重新聆听,这是个你需要静心去等待、去探索、去发现的游戏。
加入 Project Auditory,你会收到一台时刻接收着周围一切有趣声音的接收器,打开游戏,戴上耳机,你会听到大自然的背景声:白噪音。白噪音非常有助于集中注意力,你可以听着工作或学习,当然,根据不同的时间和地点,你会时不时地听到那些可能被遗忘的、不寻常的声音,同时相关成就也会被解锁。
有些声音会在永恒中不断回荡,希望大家能够通过 Project Auditory 发现并感受更多具有意义的事情。
」
总结和展望
这次有很多突破:
- 多拉第一次用 C4D 建模
- 真正美术加入后的第一个 3D 游戏
- 第一次用 SceneKit(应该不会再用了)
- 做了 n 次 party game 之后,第一次做这样一个佛系游戏
- 不算连连看程序员的话,第一次一个程序一个策划一个美术
如果说有什么展望的话,就是能把这个 app 做完然后发到 AppStore 上卖钱;希望下半年的题目好玩一点;下次用 Unreal?下次不用我做主程 =。=
最终的成品截图,晒两张:
Splash 和 icon 是这样的:
没有对比就没有伤害的模型渲染图是这样的(当然手机的即时演算是达不到这个水平的):
话说读者你如果看到这儿且有兴趣想玩玩的,可以把邮箱告诉我,我发 TestFlight 邀请给你。 arthraim#at#gmail.com