one man · no short-term memory · backwards
很多年前,我在一家二手书店里翻到一本边角发黄的语言学小册子。书里写到一个早已死掉的希腊字母——Digamma(Ϝ)。它在公元前八世纪以前发 "w" 的音;后来希腊人决定不再需要这个声音,就把它从字母表里删掉了。
但它没有彻底消失:希腊人继续用它当做数字 "6" 的记号,于是它在文字里被淘汰,却继续在数字里活着。
我从那时候起开始用 DgA 做创作的署名。它对我意味着两件事:被语言抛下也无所谓,作品自己会找到它的位置;真正重要的从来不是字母,而是数字。
但说穿了名字只是一个壳。东西做出来才是答案。
《Memento》是 Christopher Nolan 把电影倒着剪给你看。每一段三分钟结尾接到上一段的开头你和主角一样,只能记住眼前正在发生的。
galgame 通常是顺着读。我做了一个反过来的你从结局开始玩。每一次"翻页"是去到 *上一段* 的故事。
在屏幕上你看不到自己的状态卡。所有"决定"都是 polaroid 照片上的几个字 —— Don't trust him.
我重写了引擎的渲染顺序:每一次玩家点"下一句"——其实是回到上一句。状态变量是反的。
主角身上的纹身、polaroid 照片上的批注 —— 是玩家唯一的"记忆"。每个章节里这些会用画外音读出来。
Sammy Jankis 是一个嵌入故事主角讲的、不一定是真的、最后揭穿是他自己的故事。这是结局也是开局。
《Memento》的整部电影是倒着剪给你看的。我把这个机制翻译成了 galgame 的章节顺序你从最后一段开始玩,每读完一章,下一章是更早的那一段。
这听起来简单,但需要重写状态机。我加了一个 "rewind state"——主角的纹身、polaroid 上的批注,必须在每段开始前"已经写好",因为玩家上一章看到了它们。引擎里这是一个反向因果链。
Sammy Jankis 是主角讲的那个 "另一个失忆者" 的故事。看到一半你以为你懂了其实那是主角自己在欺骗自己。
我把 Sammy 的章节做成了一段嵌入式的小游戏:主角讲到 Sammy 的时候,画面切换到棕色调老照片色温你以为你在听他讲故事。但游戏会偷偷记下你为 Sammy 选的回答。
到最后一章、当真相浮出来的时候画面会一帧一帧把 Sammy 换成主角自己你给 Sammy 选的答案、原来全是主角给自己选的。
Memento 的"信息层"在英语里是分层的:主角讲述、纹身上的批注、Polaroid 上的批注、Sammy 的故事。每一层用不同口吻。中文翻译里我用三种字体来区分:主角对白用宋体、纹身/Polaroid 用打字机字体、Sammy 段用棕色调老照片字体。这是 Memento 的视觉文法 galgame 必须翻译它。
David Julyan 的 score 是一道一道的"心跳"——每段倒叙之间都有一道低音脉冲。我用 Web Audio 给每一章的开头加了一段 1.5 秒的低频 sub-bass(40Hz)+ 一道金属敲击声(来回响 3 次)。这是给玩家的"重置信号"——告诉你:你又跳到了更早的时间。
做 Memento 让我意识到 galgame 状态机的一个隐藏能力:因果链可以反向。引擎不在乎你"现在在第几章",它在乎"你已经看过哪些"。这意味着我可以做一个游戏,让玩家从结局往开头读,每读一段都"已经知道结果"。Memento 的悲剧不在于主角失忆在于他每一次行动都已经注定了后果。游戏让你和他一起体验这种"已经"。
Eternal Sunshine of the Spotless Mind 也讲记忆但讲的是反过来的事:记忆被擦掉。下一部应该是它。
但说不定下一个根本不是电影。说不定是一首歌、一本书、一段我自己梦见的东西。