A NOTE FROM THE MAKER

BEHIND
THE GAME.

two tarantino films · made into a galgame · in three weeks

关于 DgA 这个名字

很多年前,我在一家二手书店里翻到一本边角发黄的语言学小册子。书里写到一个早已死掉的希腊字母——Digamma(Ϝ)。它在公元前八世纪以前发 "w" 的音;后来希腊人决定不再需要这个声音,就把它从字母表里删掉了。

但它没有彻底消失:希腊人继续用它当做数字 "6" 的记号,于是它在文字里被淘汰,却继续在数字里活着。

我从那时候起开始用 DgA 做创作的署名。它对我意味着两件事:被语言抛下也无所谓,作品自己会找到它的位置;真正重要的从来不是字母,而是数字。

但说穿了名字只是一个壳。东西做出来才是答案。

"Just because you are a character
doesn't mean you have character."
— Mr. Wolfe, Pulp Fiction

事情是怎么开始的

那是 2026 年春天的某个失眠夜。我重看了一遍《Pulp Fiction》。看到 Jules 念以西结书 25 章 17 节那一段,我突然意识到这部电影的非线性结构,本来就长得像 galgame。

三段独立的故事,三组人物,一个会重新撞回来的早晨。每个观众的脑子里其实都在做"路线选择"——只不过电影规定了顺序。

那要是把顺序的权力还给玩家呢?

第 1 周 · 试着写一个引擎

DAY 1

写完第一版对话引擎。从零开始,只有一个 #dialogue-text 和一个打字机循环。台词数据用 JS 对象。引擎一晚上就跑通。

DAY 2 — 4

把电影的 22 段关键场景拆出来序章餐厅、Royale with Cheese、Brett 的"Say what again"、米娅的肾上腺素针、Butch 的金表、当铺的"把皮人放出来"、最后的"Bad Motherfucker"钱包。每一段都按章节切开,做成 4 条主线 + 1 条隐藏真路线。

DAY 5 — 7

用 Gemini 2.5 的图像模型做了 13 张人物立绘和 14 张场景背景。最先做的是 Vincent 长长的黑发、黑西装、垂着的眉。最后一张做的是 Captain Koons,那个在 1972 年的客厅里向七岁的 Butch 讲述金表的男人。

第 2 周 · BGM 一比一对位

关键段落必须有原声。Misirlou 不能放在标题屏,必须放在 Pumpkin 喊出 "Everybody be cool" 那一秒;Son of a Preacher Man 必须在 Mia 赤脚下楼梯的时候起;You Never Can Tell 必须在跳扭扭舞那两分钟无缝衔接。

我写了一个简单的 BGM 引擎。每首歌带 fade-in 时长(毫秒)、crossfade 时长(让上一首叠着淡出),所有切换都不会硬断。Misirlou 是个例外它必须硬切,因为电影里就是硬切。

第 3 周 · 加入了第二部电影

有一天我在重看《Kill Bill》,看到 Bride 的"死亡名单五人"——名单天然就是路线。第二部电影几乎是顺手做出来的,因为引擎已经写好。Vernita / O-Ren / Budd / Elle / Bill。蓝叶居酒屋砍 88 个人那段,玩家要划屏 24 次才能过。雪庭对决那场戏要等 O-Ren 先动你点早了就死。

五雷正心拳那段我做成了一个迷你 QTE:你按一下"迈一步"按钮,屏幕走一步一步,两步,三步,四步,五步。心脏就停了。

"I'm tryin', Ringo.
I'm tryin' real hard
to be the shepherd."

关于"橡皮筋"

昆汀的电影有一种节奏感平静的对话被拉到极限,然后突然爆破。我管它叫 橡皮筋

放进 galgame 里,要怎么做?

我加了三种行类型:

pause ——强制玩家停留 N 秒。屏幕中央会浮出一个慢慢呼吸的省略号。
silence ——瞬间杀掉所有 BGM 和环境音。dead air。
noskip ——这一行你不能跳过。哪怕按住空格也得等。

然后我把它们用在了:Brett 的眼睛闭上前 1.6 秒;Vincent 扣下扳机前那一瞬间汽车颠簸;Mia 倒下那一刻所有声音瞬间消失只剩一道心跳;Bride 的第五步之前那段空白。

这是 galgame 比电影多出来的力量电影按帧走,你坐着看。游戏可以让你真的等

关于双语

有一些台词是不能翻译的。

"Royale with Cheese" 翻成"皇家芝士",丢了一半的笑点。"Bad Motherfucker" 没办法翻。"Zed's dead, baby. Zed's dead." 用任何中文说都软。

所以我做了双语对照每一行中文台词下面,都有一行小字英文原文。切换语言只是上下交换 + 字体改变。中文用思源宋体(小说报刊感)、英文用 Special Elite(打字机字体,正是 Pulp Fiction 海报字体的家族)。

关于音效

最初的枪声是 Web Audio API 合成的。Brett 那场十二声枪响,听起来像有人在敲玻璃罐子。

后来我把 Counter-Strike 1.6 的 USP / Glock / Deagle / M4A1 的 wav 偷过来那些音效比我合成的好十倍。十二声枪响现在是真的十二声,三种枪交替响,有微小的随机抖动。听起来像是一间公寓里真的发生了一件事。

关于做完这件事意味着什么

三周。两部电影。22 + 12 章。23 + 17 张 AI 生成图。23 段原声。一个橡皮筋引擎。一个会让你输入身体动作(划屏、连点、走步)的 QTE 系统。

没有人付钱让我做。

但做完之后我大概想通了一件事:"galgame" 这个词不重要。重要的是我把一个我喜欢的电影,变成了一个我可以反复打开、反复进入、随便选哪条线的东西。

电影会结束。这个不会。

"Hamburgers.
The cornerstone of any nutritious breakfast."

下一部

暂时没定。Memento 的失忆机制做成游戏会比电影还狠。Rashomon 是 galgame 路线的祖宗,做出来对懂的人有特别意义。In the Mood for Love 的 23 件旗袍可以做服装系统。Reservoir Dogs 七个色名是天然的七张路线卡。

但说不定下一个根本不是电影。说不定是一首歌、一本书、一段我自己梦见的东西。

Made between failed sleep and morning coffee,
Spring 2026, Beijing. — DgA
EZEKIEL · 25:17