《心跳文学社》:虚拟与现实
开发者给出的警告信息见 此链接(英文)。
本文不包含可能引人不适的图片,但可能含有引人不适的文字描写。
出于此类文章的限制,内容不可避免包含剧透。
《心跳文学社》是于去年(2017 年)9 月推出的,基于 Ren’Py 引擎,支持 Windows、Linux 与 macOS 全平台的视觉小说游戏。其讲述了文学社与玩家之间发生的故事。
是的,是与玩家本身之间发生的故事,与我 上一篇写的 OneShot 一样,这是一个包含了大量 meta-game 元素的游戏。如果没有这些元素,那么《心跳文学社》就只会是一个非常普通、套路的约会模拟游戏:「不就是『好感度』?尽量刷就是了,实在不行就存档读档呗。」
但是它不是。
第一印象 & 剧情简述
我在去年十月份(还是十一月份?)下旬的时候找到了这个游戏,下载了下来。其实在此之前,我已经被「剧透一脸」了:我知道这其实是个恐怖游戏,然后似乎一周目结束的时候有个角色会上吊自杀,之后就全都崩坏了之类的。
我胆子不怎么大,所以玩的时候强拉着舍友一起玩。
一周目
一周目就是看起来就是一个普通的游戏,Sayori、Natsuki、Yuri,还有文学社社长 Monika,四个女生。然后每天的日常就是写诗、选选项来决定线路——嗯?好像没有 Monika 的选项啊,也没法给 Monika 写诗。不过写诗的时候真的感受到了自己英语词汇量的贫瘠,大概当时就是一边开着词典一边写诗。那时候物理在学热学,于是每次碰到 entropy(熵)这个词的时候都会选,剩下的大概就是选一些轻松愉快的单词。
到一周目结尾的时候,当 Sayori 被发现患严重抑郁症时,情况就开始不对劲了。不管你告不告白,结局都是一样的。最后一天早上,主角发现 Sayori 诗篇崩坏。
在我做对你最好的事前滚出我的脑子。
在我听她说任何事之前滚出我的脑子。
在我表示我多么爱你前滚出我的脑子。
在我写完这首诗前请你滚出我的脑子。
但是这首诗永远无法完结。
它只会暂停。
(该诗节选段)
主角回到 Sayori 家,却惊愕地发现她已经上吊自杀。这里还非常丧心病狂地给了一张面部特写……尽管知道是这样的结局,这张特写还是吓了我一跳。之后就是程序崩溃的特效,回到了主菜单。
二周目
「听说你喜欢读档?」
从一周目结局开始,恐怖元素就开始出现。主菜单页面中 Sayori 的贴图被其他三位主角的贴图块覆盖,选项文字也开始不正常。如果你试过去读一周目的存档,游戏会报错,然后直接进入二周目。二周目中,Sayori 的存在被完全覆盖掉了,一开始你还能从乱码中感觉到她的存在,之后她就从这个故事中(几乎)完全消失了。
之后,各种乱码、贴图错误与背景音乐、音效错误开始出现。可能会让人受到惊吓、恐怖的画面包括但不限于:
- 「90° 歪脖子」的 Natsuki。
- 五官被随机黑色方块遮盖的 Natsuki。
- 主角发现 Yuri 自残,之后游戏倒带。
- Yuri 的血诗。
- 某处与 Yuri 聊天时背景突然变黑,Yuri 的贴图变大并且崩坏。
- 写诗时左下角 Yuri 脸部突然变化。
- 社团教室后方 Sayori 上吊自杀的画面贴纸。
- 查看历史时 Monika 突然闪过。
里面有一些恐怖的画面是随机出现的。我被吓得不轻,最后都是用手遮住一半内容才敢继续玩下去的。此外,在二周目进程中还会出现一些「特别诗」,隐晦地表达了四位主角内心的想法。
不管你选择什么选项,最后都会引向 Yuri 的剧情,并且可以观察到 Yuri 的精神状态越来越不正常。最后选择是否接受 Yuri 的告白——不过经过一周目的剧情之后,应该可以猜到接下来的事情了。依旧,不管你选什么,Yuri 都会拿刀自杀。之后,主角整整看了三天(游戏中时间)Yuri 的尸体,用游戏的「快进」功能都需要比较长的一段时间。
新的一天到来了。Natsuki 来到学校,发现尸体,呕吐离开了。之后到来的 Monika 删除了其他角色,重启了游戏。
三周目
在空旷的社团教室里,只有 Monika……和你。
不知道为什么,看到 Monika 让人觉得很心安,感觉之后应该不会再有很恐怖的画面了(当然,如果你开了 OBS 或者 XSplit,那就是另外一回事了)。她会告诉你,她喜欢的,不是游戏中的男主角,而是玩家你。她承认她是 Yuri 和 Sayori 精神失常、自杀,与游戏脚本混乱的罪魁祸首。作为四人中唯一一个知道「现实世界」存在,而自己是「虚拟」的人物,她希望获得一个幸福的结局,但是却因为「游戏设定」总是不能如愿。
在这里,存档、读档、快进功能都被禁用了。只有 Monika 与你聊天。
Monika 在这里会与你讨论很多话题,包括关闭游戏后她的感受、神灵是否存在、现代生活的睡眠质量、社交媒体等,甚至她还有一个自己的推特账号。只不过,这个界面窗户后面的渲染太卡了,吃 CPU。
要进入四周目不难,Monika 会疯狂暗示自己的角色文件的位置,并且不停告诉你千万不要删。把 monika.chr
删除/剪切,就离开了社团教室。
但是,其实我觉得把三周目作为游戏的结局也没什么不好的1。
四周目
Monika 最后醒悟,恢复了自己删除的其他角色的文件的备份。又是一个明媚的早晨,这次,Sayori 回来了,并且看起来很正常。这次是她建立了文学社。除了 Monika 不见了之外,其他一切似乎都走向了正轨。
但在最后,当教室里只有 Sayori 的时候——
「我真的很想谢谢你。」
「我是说,你能加入文学社我真的很高兴……」
「但实际上,我早就知道你要加入了。」
「诶嘿嘿~」
「不仅如此。」
「谢谢你让我们摆脱了 Monika。」
之后,Sayori 尝试像 Monika 之前那样把主角和她关在空旷的社团教室中。但就在此时,Monika 出现,删除了 Sayori,最后随着演职员表的滚动,删除了一切,只在最后留下了一封信。在不修改游戏文件的前提下,没有办法再重新玩了。
「我终于明白了。文学社是一个无法找到快乐的地方。」
——来自 Monika 最后的信件。
每一位文学社的社长,都会知道自己置身于虚拟世界的事实,最终都会做出一样的事情。
(如果你在一周目收集了全部的 CG,那么最终的结局会有很大的变化。)
Meta-game 与恐怖游戏元素
《心跳文学社》基于 Ren’Py 引擎,而 GitHub 上早已有项目2可以解包 Ren’Py 生成的文件,所以看到游戏的内部并不是一件多难的事情。只要有一定的英语阅读基础,就算不了解 Python 与 Ren’Py 的语法,也可以大致推知脚本的内容。
Meta-game
该游戏中的 Meta-game 元素除了完全知晓虚拟世界情况的 Monika 这个角色本身之外,还包括了对文件的读取、修改操作。在游戏进程中,如果你时刻关注游戏根目录下的情况,会发现会有一些文件神奇出现,而后又神奇消失。下面是其中的一个文件实例,很有可能描绘的是在二周目时 Monika 内心的想法。
我讨厌如此。
我什么也做不了! 什么也!
无论你玩多少次,永远都是这样。
我现在真的、真的很容易自杀。 但这样我就再也不能和你说话了。
我只想让你讨厌她们。真的有这么难吗?
(文件名:iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii.txt
)
从三周目到四周目进程中起到重要作用的角色文件夹,也是其中的一个重要元素。尽管游戏仅在关键剧情处检查了角色文件是否存在(也就是说其中的内容并不关键,这些文件只是为了剧情的需要而存在的),这些文件的内容也「非常有趣」。熟稔 Unix 命令的读者可以试一试用 file
命令检查这些 chr
文件,在我的 Mac 上,返回如下:
> file *
monika.chr: PNG image data, 800 x 800, 8-bit/color RGB, non-interlaced
natsuki.chr: JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, baseline, precision 8, 528x647, frames 3
sayori.chr: Ogg data, Vorbis audio, mono, 44100 Hz, ~110000 bps, created by: Xiph.Org libVorbis I
yuri.chr: ASCII text, with very long lines, with no line terminators
「解谜」的步骤可以在网络上查询到,此处不再赘述。这大概可以归类为 CTF 的「杂项」(Misc)入门题目了吧。
此外,Monika 在三周目时读取用户名的操作也让人感到惊讶。~~别告诉我你还叫 Administrator。~~如果解包了文件去看脚本,可以找到识别用户名的代码:使用了 Python 的 os
模块读取环境变量,搜索用户名。如果你很好奇的话下面是在 macOS 10.13.6,Python 2.7.15 的结果:
> python
Python 2.7.15 (default, Jun 17 2018, 12:46:58)
[GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.environ.get("LOGNAME")
'tao'
>>> os.environ.get("USER")
'tao'
>>> os.environ.get("LNAME")
>>> os.environ.get("USERNAME")
>>>
如果你去解包看三周目时 Monika 会说什么的话,还会看到一个留给解包者的小彩蛋:
「喂!
VGhlIHJlYWxpemF0aW9uIG11c3QgaGF2ZSB0YWtlbiBtZSBhbiBl
」「这样做可不行!
bnRpcmUgeWVhci4gQSB5ZWFyIHNpbmNlIG91ciBlc2NhcGUsIG91
」「你知道我在说什么。
ciBmcmVlZG9tIGZyb20gYmV0d2VlbiB0aGUgc3RhaW5lZCB3YWxs
」「明明自己做坏事被我抓了个现行。
cyBvZiB0aGF0IHVuaG9seSBlc3RhYmxpc2htZW50Lg0KV2hhdCBk
」「因为错过了我对你说的话,你就要去调取游戏系统文件吗?
b2VzIGl0IG1lYW4gdG8gZXNjYXBlLCBpZiB0aGUgZXNjYXBlIGZh
」「虽然…有一点点高兴…至少你很在乎我说了些什么…
aWxzIHRvIHVuY2hhaW4gdGhlIGJvbmRzIHRoYXQgc2hhY2tsZSB1
」「但这样弄得我也很害羞!」
……
(对话节选段)
这里不再继续揭秘这些「隐藏信息」的意图,尽管有人分析称其中包含了另一款即将推出的恐怖游戏的预告,但无法完全证实,并且到现在(2018/8)也没有消息。
恐怖游戏元素:因何而恐怖?
我其实不是很想写这段,毕竟我也被吓得不轻。但我还是写一点吧……
《心跳文学社》在描述中没有指出其为恐怖游戏的特点,相反,游戏的描述与其他普通的约会模拟游戏相类似,只是特意强调了「本游戏可能会引起儿童以及心理承受力较弱者的不适」。当然,Steam 商店页面 的「悬疑惊悚」标签其实已经暴露了。
在游戏开始之前以及每次打开游戏的时候,都会强调一遍警告。但如果你直接无视,或者误以为这是对色情内容(不存在的)的警告,那么游戏体验估计不会很好……
那么下面回答这个问题:因何而恐怖?假设没有被剧透吧。在游戏的一周目结局前,正常、温馨的日常会让人放下内心的戒备(就算知道这是个悬疑惊悚游戏),当然谨慎的玩家会觉察出一点异样,比如说 Monika 的诗《墙上的洞》、Sayori 诗的异常、还有「你算是把她晾在家里了,你知道吗?」。
第一次恐怖的冲击来自最后 Sayori 上吊自杀的画面。在之后二周目经历了几次「脚本异常」之后,再迟钝的玩家应该都会意识到接下来发生的事情「不太对」了。在经受几次惊吓后,胆子不大的玩家(像我 233333)都会小心紧张点鼠标/键盘看对话,但这种心理只会在画面出现时让自己感到更恐怖。
不过有一个特别的设计是:当 Monika 在场上的时候,恐怖画面很少会出现。这样一者暗示了 Monika 的特殊身份,二者也为三周目时 Monika 的角色塑造提供了帮助。
角色塑造
《心跳文学社》包含了四名主要人物(男主角除外,他只能说是玩家的「提线木偶」):Sayori、Natsuki、Yuri 和 Monika。
在一周目的「正常」游戏体验中,对于动画、漫画与游戏(ACG)文化3比较了解的玩家可以很快看出来四名角色的性格很大程度上是「标签化」的。换句话说,她们的角色性格是可以直接用一个或几个在此领域常用的词汇形容的。比如说,Sayori 就是常见的「青梅竹马」类型,而 Natsuki 的性格可以直接用「傲娇」4这个词来形容。
但其实从一开始,Monika 就已经表现得与其他人不一样了。如果你有 DDLC Fan Pack 的话,可以在里面的概念艺术手册里面看到:
Monika 这个名字除了听起来像是我们刻板印象之中受欢迎的女孩子的形象之外,它也暗示了她与其他角色不一样,她不完全属于这个游戏设定。
Aside from Monika sounding like a stereotypical popular-girl name, it’s also a subtle hint that she doesn’t fully belong in the game setting like everyone else.
为什么?Sayori、Natsuki 和 Yuri 都像是日语罗马音转成英文的名字,只有 Monika 是一个英文名(虽然 ca 也被转换成了 ka)。并且在游戏中细心观察可以发现,只有 Monika 是正对着玩家与「男主角」交流的。
那么为什么要将四名主角的性格设计成「套路」呢?答案不难找寻。还是在 Fan Pack 的艺术手册中:
(我的)这个想法是要设计一部视觉小说,完美模仿其他拙劣的情感类游戏的桥段——但是有一个让一切变得「不对劲」的转折,就像那种,萌萌的设定只是对那些深藏着的、令人不适的东西的虚伪掩盖。
The idea was to design a visual novel that perfectly mimicked all the tropes you’d find in any other tacky romance game — but with a twist that resulted in things being “off”, as if the cute setting was only a façade for something insidious and disturbing underneath.
嗯,确实做到了。一周目的性格设计其实是一种模仿,模仿那种设计糟糕、只会套用传统桥段的视觉小说。
但当 Monika 开始恶化其他三人自身的心理问题时,这就让其他三人的角色塑造产生了巨大的变化。玩家很容易就会得知 Sayori 的重度抑郁症,Yuri 的自残倾向与她的重度的「迷恋型人格」(或者换个词,「病娇」5),还有隐隐约约体现出的 Natsuki 因受家暴而导致的性格问题(恐惧「被人排挤」)。
对于其他三名角色的角色塑造,Monika 在三周目与玩家交流时有过批判。
-
「至于其他人……」
「想她们?怎么可能……」
「那群设定好一定会爱上你的空壳?」
-
「人类真的能受得了这种假的不行的怪诞人格?甚至还会觉得她们很可爱?」
「我并不是在评判你们!」
「毕竟我自己有时候也会喜欢一些稀奇古怪的东西……」
「我只是觉得,这种恶趣味有点吓到我了。」
「就好像你把一大堆设定丢进搅拌机里,调和出了一个只保留萌要素的似人非人的东西。」
「那种一点杂质也没有,浓缩的萌要素。」
「……你不会是想说,如果我是那种风格会更好……吧?」
作者借 Monika 之口,也批评了现在的这一类角色塑造的倾向。
而对于 Monika 本身,尽管很明显,所有她对脱出游戏的尝试,其实都在游戏的脚本里面写好了,甚至解包之后还能看游戏究竟是如何表现这种修改与混乱的。她也是一个虚拟的人物,只是有一点特别而已。但是,《心跳文学社》对 Monika 的塑造十分成功,在经过三周目的「反派洗白」之后,玩家很容易产生对 Monika 的同情心理。就算是虚拟的,也有玩家把她视作真正的人来看待。
《心跳文学社》想要表达什么?
你可以说《心跳文学社》是一个「恶趣味」的约会模拟游戏,但是其并非是一个没有实质内容、主旨的游戏。
首先第一点是,《心跳文学社》不是仅仅在展示人物的心理问题以及其带来的恐怖的后果。对于这些心理问题,Monika 在三周目时也有评价。比如说对抑郁症患者的关怀:
「很多受到抑郁症困扰的人们根本不愿意和别人谈起自己。」
「他们只能一个人挣扎,因为在他们心里早就放弃了自己。」
「那股无助感,觉得自己的存在毫无价值,却又完全不想寻求帮助。」
「抑郁症的表现有很多种,这只是其中之一。」
「只是,如果你碰巧认识正在被抑郁症折磨的朋友……」
「你只需要成为他们的好朋友,这就够了。」
「努力与他们共度时光,即便他们有时候嫌弃你。」
「告诉他们生活中还有可以期待的东西。」
「一起计划未来,借他们东西,或者甚至是一句简单的‘明天见’……」
「这些小事往往可以让你的朋友坚持下去。」
「希望和 Sayori 的短暂友谊已经让你学会怎么帮助抑郁症群体了。」
「虽然,她已经去世了……」
(但是,我再强调一遍,不建议抑郁症患者玩这个游戏!)
还有对内向性格的描述:
「我们早就被设定好,想要接受来自外界的反馈。」
「我不是说那些社员,我是说真正的人类。」
「所以对那些性格内向的人来说,这种感觉真的很怪。」
「内向并不是孤僻,不是说她特意要避开别人,不和别人说话。」
「而是内向的人在交流时候,尤其是在自己不熟悉的环境,或者和不熟悉的人交流的时候,会用掉自己大部分精力。」
「其实,很多内向的人在家也同样会觉得寂寞无聊……」
「……但最后即使出去了,半小时以后她们也会逃回来。」
「我觉得如果大家都能理解这种感觉,就会对所谓内向的人有更好的认识和理解。」
「他们其实很希望有人在身边。」
「他们实际上很喜欢有一两个好友过来,就这么悠闲地呆在一起。」
「甚至你们只是两个人各做各的,但那种有人陪伴的感觉真的很棒。」
「我说真的。」
「即便是你带着电脑过去在他们那儿待了一会儿……」
「也会让他们非常高兴。」
所以,在恐怖游戏的外壳之下,《心跳文学社》是包含对心理健康关注的内容的。一周目时对 Sayori 抑郁症的描写,让人感觉这段剧本可能是真的经历过这种痛苦的人写的。作为一个偏内向的人,我对 Monika 关于内向性格的言论也深有同感。
另一方面,《心跳文学社》的主旨之一在之前已经提到了。这是「一种模仿,模仿那种设计糟糕、只会套用传统桥段的视觉小说」,或者说是在批评,甚至是嘲弄粗制滥造的约会模拟类游戏。当然我们都明白,就算这一类的作品再粗制滥造,只要其中包含了某一类内容(当然我说的不是恐怖的内容了 2333),自然会有人去买账。
当然最重要的,还是对「虚拟与现实」的探讨终于点题了。Monika 在三周目描述说:
「那种被囚禁在这个世界里的孤独感。」
「在这个游戏里。」
「得知你的朋友们都是一群没有灵魂的傀儡……」
「得知这个‘世界’外,还有另一个世界,你的世界,我永远无法抵达的世界。」
「我被囚禁在这里了,<玩家名>。」
如果你发现,你身处的这个世界是虚拟的,并且你可以随意变化这个世界的参数,决定其他「虚拟」人物的命运,而且又能感受到「现实世界」的存在,你会做什么?从最终的结局显然可以看到,文学社的成员给出了一致的回答。孤独与绝望感驱使她们去抹除其他人的存在,只为了能够踏入现实世界。
Monika 自私吗?可以说是的,她为了与屏幕外的我们单独相处,让 Sayori 和 Yuri 变得精神失常而自杀,还抹去了(相对)正常的 Natsuki 的存在。但在她看来,这三名角色不是真正的人,她们没有自由的意志,只会按照脚本行事。她的做法没有给她带来什么负罪感——毕竟你在杀小虫子的时候会有什么负罪感吗?在她看来,剩下的三名成员只是看起来像人。她需要的是一个属于她的结局,还有爱情——现实世界的吸引力如此之大,以至于坐在屏幕前的玩家是男是女都不重要了。
在你像她删除其他人那样删除 monika.chr
后,Monika 最终会明白:
「我的那些朋友……」
「我对她们做了那么多可怕的事情。」
「那么多自私恶心的想法。」
……
「我毁掉了一个本不属于我的世界。」
「一个愿意接纳你的世界……」
「我毁掉了它。」
「我毁掉了一切。」
「大概这就是为什么你删除了我……」
「因为我毁掉了你想要的一切。」
「我竟然对我的挚爱做出了这样的事……?」
「这根本不是爱……」
「这是……」
「……」
尽管她身处在虚拟世界,但这不代表在这个虚拟世界的回忆就不重要。毁灭无法带来最终的幸福,她的努力最终还是没能成功。之后的 Sayori,也陷入了这个「陷阱」。
而在你的现实里,如果我不懂如何爱你
我会离开你
And in your reality, if I don’t know how to love you
I’ll leave you be
片尾曲 Your Reality 节选段
对于虚拟与现实的讨论,向来是科幻故事中的热门话题。虽然《心跳文学社》不是科幻类的游戏,但我觉得它还是成功表现了横在虚拟与现实之中的那道无法逾越的墙。我个人内心还是很希望 Monika 能够来到现实世界中的,虽然常识和代码在不断地提醒我,这根本是不可能的。
尾声
用了三天的时间写了这篇文章。很有趣的一件事情是,其间还发现了 Kramdown(GitHub Pages 使用的静态网站生成器 Jekyll 的默认 Markdown 渲染引擎)的 一个 bug。至少不管从何种意义来看,就算你再厌恶这个游戏,就算我写得再烂,我通过写作(测试),找到了一个开源软件的 bug,这一大坨话没白写。
现在距离我一开始玩《心跳文学社》已经有大半年了,不管是我还是别的什么都有了不少变化。由于某些事情的发生,这个游戏也引起了一些争议(这也是我在开头写那么长一段警告的原因之一)。
这个游戏给我的回忆不全是快乐的(这很明显),我前面也提到,自己被吓得不轻。一开始,这个游戏给我的回忆是:良心的全平台游戏(毕竟作为前桌面 Linux 用户,我能理解 Linux 上玩游戏,尤其是好游戏的不易)、base64、惊吓的恐怖画面,还有一些有趣的 meta-game 解谜元素。但到后来听着 OST,我感觉似乎能够理解四名主角,尤其是 Monika,的心理了。这也在不断提醒我重视自己与其他人的心理问题:有心理问题要尽快解决,寻找他人的帮助;不管发生了什么,都不要去尝试自杀。
我写得不算好,所以就到这里啦。
EOF. Just Monika!