下载 App
【开发者日志8】如何用四个元素让它们以动画的形式涌现主题
投票修改于10/1915 浏览
大家好,还是啊哈工作室。
前面几篇我们讲了纸飞机、讲了雾、讲了楼梯、讲了那天晚上的冲突。这一篇,我们想聊聊动画。
他呼吸的节奏、标题里那个永远走不完的人
以及一件我们憋了很久、特别想跟你们说说的事:
我们想让你,亲手把自己走过的那一层楼,烧掉。
后半篇全是还没做的设想,你可以把它们当成我们在你面前摊开的一本设计稿。目前这些都是设想,不一定能做完。
一、动手之前,我们先问了一个问题
做第一个动作之前,团队里有人问了一个特别土的问题:
"这一下,是在替谁说话?"
然后我们就定了个规矩——这个游戏里的每一次"动",都必须能回答这个问题。答不上来的就得pass。
后来我们给它定了三条规矩,所有的动画都要围绕这三条规则来做:
- 每个动画只替一个动作说话。 要么是说"他要醒了",要么是说"他想起来了",不能又醒又想又抖,一次只说一件事。
- 不让动画夺走你的手。 我们做的是游戏,不是片头。任何长过10秒的演出,你都能跳过,或者随时可以按 Esc。
- 这个世界只有四种东西:纸、灰、雾、光。 任何新加的东西,都要能用这四个词解释清楚。解释不了的,再好看也不要。
这三条规矩,后面会一直出现哦。
二、那些已经做出来的动画,和它们背后的"为什么"
待机:他不是一个站着的人,他是一个累的人
玩家什么都不按的时候,他站在原地,呼吸。
你可能不知道,第一版这个呼吸快了一倍。就是"吸——呼"的速度整整快了一倍,
结果看久了会特别别扭。说不上来哪儿不对,就是感觉这个人像快要迟到了一样。
于是我们把节奏放慢一半。同一个人,同一批画,整个人立刻从"赶点"变成了"很累的喘气"。
标题界面:那个人,永远走不完
开始界面里,画面左侧有一个人,一直在走。背景有三层:最远的那层基本不动,中间那层是一条很长的手绘循环,在慢慢退,最近那层在滚。
他走不完。走到画面边缘,又从另一边出来,继续走。永远走不完。
这是我们故意的。
如果他能走过去——走到某个地方,停下,游戏开始——那意味着"故事开始了"。但他走不完,因为他还没出发。 故事还早,他甚至不知道自己要去哪儿。
还有个小细节:三层背景里,我们只让最近的一层滚。因为远景如果跟着滚,会显得整个世界都在陪他走;远景不动,你才会有那种"世界没因为他停下,它根本不在乎"的感觉。
孤独不是没有人,是世界根本不看你。
上楼:黑幕不是"切换",是"涌出来"
捡到该拿的东西,走上楼梯,画面一跳,你就到二楼了。
现在上楼有两档过场:快的那档,直接黑掉,屏幕上是"第 N 层",停一会儿,淡出——我们内部调试用它。慢的那档,只给第一次上楼用:
黑幕不是淡出来的,是从上往下落下来的——像有人把一层布,慢慢盖在你头上。层名在黑幕快落完的时候浮出来,然后是那句"有一段新的记忆正在涌出",一个字一个字地,像从水里被捞出来那样地出现。
为什么是逐字,而不是整句话一起蹦出来?
因为"想起来",从来不是一下子完成的。整句弹出来的是通知,一个字一个字浮出来的,才是记忆。
但其实这里我不是很满意,后面有对这个的完善想法
打工小游戏:文件像雪一样飘下来
第 2 层有一段打工,是我们做得最"不严肃"的一段:文件从画面上方飞过来,一边飞一边自己转。
它不吓人,甚至有点荒诞——一堆纸像雪一样往你身上砸,躲都躲不完。
重复、荒诞、躲不完。 这就是我们想让你在打工里感觉到的东西。
(砸中你的那一下掉一节体力——而且不是"啪"地一下扣完,是看着它慢慢地流走。)
三、接下来想加的那些(全是设想,一个字都还没落地)
先说清楚:下面这一整节,一个都还没做。写出来是因为,我们觉得它们比已经做出来的那些的更符合主题,更好看!同时也想听听你们的想法
先说那套"语言":这个世界是一本书
在加任何新东西之前,我们想先把话说死:
这座记忆宫殿,就是一本摊开的书。
一层 = 一页。上楼 = 翻过去。雾 = 还没想起来的部分。光 = 想起来的那一块。灰 = 记忆烧剩下的东西。
记住这四个词——纸、灰、雾、光。后面所有的设想,都是拿它们拼出来的。
设想 1(我上面提的最想做的):上楼的时候,把这一页,从中间烧掉
重头戏来了。
现在的上楼是"黑幕落下来"。黑一下,换层。功能上没问题,但我一直不甘心。
换层,是整个游戏里出现最多次、也最"没感觉"的一个瞬间。 你离开第一层的记忆、走进第二层的记忆——这么重要的一件事,就只是黑了一下?就像电视剧换场?不行。
我们想做的,也是这一篇最想跟你们讲的:
让你亲手,把自己刚刚走过的那一层楼,从中间,点着。
为什么是"烧",而不是黑幕、不是白光、不是传送门?
因为上楼这件事,在这个故事里,是"离开这一层的记忆"。如果只是黑一下,那是切换场景,什么感觉都没有。如果是烧掉——那是有代价的。
你会犹豫半秒。
就这半秒,是白送给你的情绪。你明明知道自己该上楼,明明点了方向键,可看着脚下的东西烧起来,你还是会停一下。
火从中间往四周烧,也是因为:火是从你脚下起来的。
中间是你站的地方,是你待了一整层的地方。不是天降火,不是外面烧进来——是你在消耗自己这一层。 这一点,如果你懂了,这个游戏的主题你就懂了。
为什么是"烧纸"而不是"放火"?
因为我们整个游戏都是平的、纸做的。烧纸不是"加了一个火特效",是把这个世界的材质点着了。火线要沿着纸的纤维走,曲折、跳跃、边缘有毛边——不能是写实的火。写实的火会让我们一秒钟变成另一个游戏。
这段过场在我脑子里演过很多遍,分给你们看看:
| 拍 | 画面 | 声音 |
|---|---|---|
| 0 | 你刚踏到楼梯顶,世界先停半拍——不是黑,是声音先走 | 环境音被抽掉,只剩纸张的沙沙声 |
| 1 | 镜头轻轻上抬。你脚下的地板开始泛出焦黄色,像被炭笔描了一圈 | 很低很低的,纸被烤焦的噼啪声 |
| 2 | 火从中间爆开:一张纸从中心开始,火线沿着纤维往四周咬过去 | 火声从中间往两边跑 |
| 3 | 烧穿的地方露出来的不是黑,是下一层。 洞里面能看见二楼的地板、二楼的雾 | 火声里,悄悄混进二楼的环境音 |
| 4 | 焦边吃掉整屏。灰烬往上飘,穿过屏幕顶 | 火声退成风声 |
| 5 | 飘上去的灰,在半空里排成一行字——"有一段新的记忆正在涌出";停一拍,被吹散 | 只剩一声很轻的风 |
| 收 | 你已经站在第二层了。雾,比刚才薄了一档 | 二层的 BGM 淡入 |
这里面有三件事,是我不想让步的:
第一,全程没有一次黑屏。 真正的场景切换发生在第 3 拍那个"洞里"——你以为自己在看火,其实你已经在看下一层了。这是这一整套里,我们认为最漂亮的一点。
第二,灰不能白飘。 它得飘上去,变成下一层的雾。这样它就和我们已经做好的雾连在一起了。玩家会隐约觉得"雾是烧剩下的东西"——而我们一个字都不用解释。好的叙事,是不用解释的。
第三,那行字是灰拼出来的,不是弹出来的。 现在的逐字涌现已经很好了,但如果字本身是灰烬聚成的,那两个系统,就成了同一套语言。
回忆则与上面的相反,它们互为镜像
一张空白的纸,从中间往四周浮出画面,像一张老照片泡在显影液里,边缘是暖白色的。
烧 = 失去、代价、有点残忍。 显影 = 得到、想起来了。
烧,给"上楼"——你在失去这一层。 显影,给"回想册解锁"——你想起来了一段记忆。
上楼在烧,回忆在显影。一失一得,用的是同一张纸。 到最后一层的时候,两边合上——这就是结局。
(这套的风险我们也想过了:重复会烦、低端机会掉帧、必须留跳过键——跳过的方式都设计好了:不是硬切,是让火加速一倍,烧完为止。硬切会让"燃烧"变成"一段你必须忍的时间"。如果最后时间和人手都不够,就做最便宜的版本:一层火线遮罩、一声纸的噼啪、一行灰拼的字,八成味道也出得来。)
这个设想是我的意难平。它要是能做出来,就是我们想要的那种感觉!!!
设想 2:死亡回归——倒着烧回来
如果"烧"那套做出来了,死亡回归就顺理成章是反着的:
屏幕四周先焦,火线从外往中间合,最后收成一张焦掉的纸,轻飘飘地落在床上——那张纸,就是他。
然后,他从这张焦纸里,醒过来。
同一个动作,正着是上楼(离开),反着是回床(回来)。 连死亡,都是这本书的同一页。
而且它会告诉玩家一件很重要的事,一个字都不用说:
你每次被抓住,都会烧掉一点东西。
(还要细节点的话就是这一版:死得越多,床边那堆焦纸越多。不用说话,玩家自己会数。)
设想 3:被抓住的那一下,是"睡着",不是"死"
现在被抓住,是黑幕 + 音效,处理得很糙。
想做的是这样的:
- 被抓住的前 0.3 秒——世界的颜色先褪掉。不是变黑,是变灰,像血从脸上退下去;
- 抓住的那一下——眼皮合上:画面从上下两条边往中间压合,像眼睛闭上;
- 然后,才是黑。
为什么非要"眼皮"?
因为开场是"睁眼醒来"。整个故事里,他一直在睡 → 醒 → 睡 → 醒地循环。如果连"被抓住"都是眼皮合上,那这个循环就在玩家的眼睛里成立了——
他不是被打死了。他是又睡过去了。
这一句"又睡过去了",比任何死亡音效都可怕。因为他还会再醒来,还会再被抓,还会再合上眼。循环,才是最吓人的。
设想 4:开场,让你真的"睁眼"一次
现在的开场是黑屏 → 特写。我们想让它变成真的睁眼:
- 黑屏中间先出现一条极窄的缝,慢慢张开;
- 张开的过程里,画面从虚到实——一开始什么都看不清,像刚醒;
- 光太亮了,所以第一次睁眼会过曝一下,然后才慢慢收回来。
这样电影感不靠切镜头,靠的是你自己在睁眼。
你就是这个角色。你睁眼,他睁眼。这件事比任何运镜都直接。
设想 5:雾散的时候,飘起来的应该是"碎屑"
现在的雾是五档浓度变化,已经很好用了。但我们总觉得,"想起来"这件事,太干净了。
想加的是:雾变薄的那一下,有几片很轻很轻的碎屑从地面往上飘,飘到光边上,就化了。
不是"雾淡了",是"雾里有什么东西,被放走了"。
(这条也是"灰"的复用:同一套粒子,烧的时候往下飘,想起来的时候往上飘。一个往下落,一个往上升,你品。)
设想 6:捡到东西的时候,让它变成一张纸,飞进背包
捡道具现在是"东西消失 + 背包多一格"。
想改成:那个东西先被折了一下(折纸那样),然后飞进画面右下角。
——对,就是第 2 篇里那架纸飞机的手感。在这个世界里,所有"被收起来",都是折纸。 你捡起的不是道具,是这个故事的某一页。
设想 7:打开日记,是"翻开一本书"(日记还没做,所以这条只是一个想法)
书脊的影子从左边压过来,然后整块像纸一样被翻开。
翻开的瞬间,还可以露出一点点"上次读到哪"的痕迹——比如一条很淡的折痕。
不用做系统,不用做存档标记。就凭那一条折痕,心里就会"咯噔"一下。
设想 8:影子靠近的时候,世界会"不对劲"
这个不是做给眼睛看的,是做给后背看的:
- 它靠近的时候,屏幕四角的暗角,跟着某个节奏轻轻起伏——像有人在你旁边呼吸;
- 它走过的地方,雾被踩散一下,再慢慢合回来;
- 越近,画面越冷,色温一点一点往蓝里走。
我们不打算给它任何张牙舞爪的动画。 它慢,它不慌,它只是走过的地方,空气会变。
让人不舒服的从来不是怪物,是空气变了。
设想 9:结算的时候,把一路攒的东西烧尽
通关现在只有一行日志,太冷了。
我们想:这一路捡到的东西、想起来的页码、和那堆……烧剩下的灰。
然后一阵大火,一阵风,把它们烧净,又吹走,然后只留下一片光明(主角放下过去的所有,找回自己,开始新的一天)
再然后,才是游戏名的涌出


四、最后
写这篇的时候,我又想起了那个问题:这一下,是在替谁说话?
那会儿我们觉得,动画就是"让图动起来",哪有那么多为什么。现在我觉得不是。
动画,是我们替玩家做的那部分思考。
他待机的时候,呼吸必须是慢的,所以我们把节奏放慢了一半; 他上楼的时候应该是"烧掉一页记忆",所以我们不甘心让它只是一块黑布;
所有的一切服务于主题,让动画通过这四个纸、灰、雾、光的词以动画的形式涌现出我们的主题:回忆!










