《过滤器》(暂定名) — 叙事游戏设计文档 v0.1

腾讯云黑客松 2026 · 赛题三:叙事类游戏(剧情驱动类) 一句话简介:一对回避型×回避型的情侣,一段没有争吵、却在沉默中耗尽的关系。玩家说出真心话,角色说出口的却永远是别的。


0. 备选名称

  • 《过滤器》(The Filter) — 直指核心机制
  • 《没说出口》(Unsaid) — 直指主题
  • 《体面》 — 反讽:这段关系从头到尾都很体面
  • 《隔靴》 — 隔靴搔痒,永远差一层

待定,原型阶段先用《过滤器》。


1. 核心设定

1.1 主题陈述(一段话讲清楚这个游戏在说什么)

两个回避型依恋的人相爱,是一场没有凶手的慢性死亡:没有争吵,没有背叛,没有任何一个”可以归罪的瞬间”。每个人都在等对方先伸手,每个人都把”不伸手”合理化为体贴、独立、成熟。这个游戏让玩家亲身体验”心里有话、出口全是防御”的失控感,并在最后从第三视角看见:对方也在做一模一样的事。

1.2 角色

角色说明
阿沉(玩家扮演)回避型。内心戏极其丰富,出口极其贫瘠。口头禅:“都行""随便""没事”
阿默(AI 驱动 NPC)回避型。看起来云淡风轻,实际同样在等、在退、在自我合理化

设计原则:两个角色性别可模糊化/可选(用中性名字、避免性别化描写),让主题落在”依恋模式”而非”性别脚本”上。既普世,也规避刻板印象风险。

1.3 玩家体验目标(按优先级)

  1. 失控感:我想说的和我说出口的不一样,而且我拦不住
  2. 共谋感:每一次回避的理由,单看都成立——玩家自己也会选择回避,然后意识到”我也是共犯”
  3. 对称性揭示:最后发现对方的内心戏和我一模一样,心碎点在此
  4. 自我认知:走出游戏时,玩家带走的不是剧情结局,而是”我在关系里是不是也这样”

2. 核心机制:回避过滤器 (The Filter)

2.1 机制描述

每个场景中,玩家在关键节点自由输入阿沉真正想说的话(内心真实意图)。游戏不直接输出这句话,而是经过”回避过滤器”(AI 实时改写)后,输出阿沉实际说出口的话——通常是防御性的、疏离的、轻描淡写的版本。

玩家输入(真心):  "其实我今天特别想见你,一整天都在等你消息"
     ↓  [回避过滤器 · AI 实时改写]
角色说出口:      "哦,今天还行吧。你呢,忙不忙?"
     ↓
阿默(AI NPC)基于"说出口的版本"回应 → 剧情继续

关键规则:

  • 阿默永远只能听到过滤后的版本 → 误解是系统性的,不是偶然的
  • 屏幕同时显示两个文本:内心话(灰色/半透明,只有玩家看得见)和出口话(正常显示)——这个视觉落差本身就是叙事
  • 过滤强度是一个隐藏数值,随剧情推进可变化(见 2.2)

2.2 过滤强度系统(核心数值设计)

强度表现触发条件
高(默认)真心话被完全改写成客套/防御游戏初始状态
真心话漏出一半,但会立刻找补(“我挺想你的……我是说,顺路的话”)玩家在前序场景中做出微小的”暴露”选择
接近原话说出,只削弱语气累积足够多的暴露时刻
穿透(特殊)原话原样说出,一字不改每局游戏仅有极少数机会,需特定条件触发(见结局设计)

设计意图:玩家会逐渐发现”我可以通过某些行为让过滤器变弱”——努力的方向不是”说服对方”,而是”卸下自己的防御”。这就是主题的机制化表达。

2.3 AI 实现要点(对应赛题 AI 创作要求)

  • 过滤器改写:LLM 实时改写,prompt 中注入”回避型依恋的语言特征”(轻描淡写、转移话题、反问、用玩笑消解)+ 当前过滤强度
  • 阿默的回应:LLM 驱动,人设 prompt 固定(回避型、有自己的内心逻辑),输入为”过滤后的话”+ 场景上下文 + 关系状态数值
  • 阿默的内心独白(第三视角用):同一 LLM 以”阿默内心”身份生成,玩家在第三视角重放时才能看到
  • 世界观/人物小传/场景背景文本:AI 生成,满足”世界观&剧情完全 AI 产出”要求

3. 场景清单与考点

结构:独幕剧合集,按关系时间线排列。每幕 5-10 分钟。开发优先级标注 P0(原型必做)/ P1(初赛前完成)/ P2(有余力再做)

幕一:AA 制 【P0 · 教学关】

  • 场景:两人第 N 次约会,吃完饭,账单放在桌上。
  • 表层事件:谁付钱、怎么付。
  • 考点:公平作为距离。AA 制表面是现代、体面、互相尊重,底下的潜台词是”我们互不亏欠”——不亏欠,就不纠缠,就随时可以全身而退。谁先说”这次我请”,谁就先暴露了”我想让这段关系欠着点什么”。
  • 关键输入点:服务员站在桌边,阿默摸出手机说”扫这个吧,我们 AA”。玩家输入阿沉的真心(可能是”其实我想请你/我讨厌这种清清楚楚”),看过滤器如何把它变成”好啊,AA 挺好的”。
  • 教学目标:让玩家在最低压力的场景里理解核心机制(内心话 vs 出口话的落差)。
  • 本幕金句候选(第三视角旁白):“账算得越清的两个人,越不敢欠对方一句真话。“

幕二:烧烤局 【P0】

  • 场景:阿默的朋友攒的烧烤局,阿沉第一次以”对象”身份出席。
  • 表层事件:在朋友面前的社交表演。
  • 考点:公开亲密 vs 私下疏离的反差。人前两人默契十足、有来有回,朋友起哄”你们感情真好”——散场后并排走回家,一路无话。回避型往往擅长表演亲密,因为表演是安全的:有观众、有脚本、不用真的交付什么。
  • 关键输入点:
    1. 朋友起哄”讲讲你们怎么在一起的”,阿默看向阿沉——玩家输入,看真心话如何被过滤成一个得体的玩笑。
    2. 散场后的夜路,阿默说”今天他们人还不错吧”——最后一个开口的机会,玩家输入,过滤器照常工作。
  • 视觉设计钩子:热闹的桌面特写 → 镜头拉远 → 桌子底下,两只离得很开的手。(此镜头在第三视角重放时才出现)

幕三:那晚之后 【P1 · 谨慎处理】

  • 场景:亲密关系发生后的深夜/清晨。不呈现过程,只写之前的犹疑和之后的沉默
  • 表层事件:事后,两人背对背各自看手机;或一方的手抬起来想环住对方,停在半空,又放下。
  • 考点:身体的贴近 vs 心理的设防。对回避型来说,身体亲密有时反而触发更强的逃离反应——因为那是防线被突破得最深的时刻,事后需要立刻”扳回”安全距离。最贴近的时刻紧接着最远的疏离,这个反差是本幕全部的戏。
  • 关键输入点:黑暗中阿默轻声问”睡了吗”。玩家输入真心话(可能是”没睡,我在想我们算什么”),过滤后可能只剩”嗯,快了”。
  • 内容红线(比赛评审 + 浏览器平台):
    • 无任何直接描写,一切发生在幕后/画面全黑,只用声音留白和事后场景
    • 文本分级对标青春文学而非成人内容
    • 若评估仍有风险,本幕可降级为”同居后的第一个失眠夜”——考点(贴近后的逃离)不变,事件外壳更安全
  • 本幕金句候选:“离得最近的那晚,是他们各自退得最远的开始。“

幕四:见家长 【P1】

  • 场景:阿默带阿沉回家吃饭(或反过来,可做成玩家选择)。
  • 表层事件:一顿饭,长辈在场。
  • 考点:承诺压力下的同步逃跑。长辈问出那个问题——“你们打算什么时候……?”两个人同时看向对方,同时等对方接话。回避型的大考不是外部压力本身,而是”承诺被摆上桌面、无法再模糊处理”的瞬间。两人事后甚至会为”刚才的尴尬”共同打个圆场(“我爸妈就那样,别放心上”),用共谋的轻描淡写把这一关糊弄过去——又一次成功回避,又一次共同失败。
  • 关键输入点:
    1. 长辈提问后的沉默瞬间,玩家输入(限时!倒计时 10 秒,超时自动输出”啊,还没想那么远,哈哈”)——限时机制模拟社交压力下大脑空白,是本幕独有的机制变体。
    2. 回程路上阿默说”别放心上”。玩家输入。
  • 本幕金句候选:“两个人一起打的圆场,是这段关系里少有的默契。“

幕五:没有争吵的结束 【P0 · 终幕】

  • 场景:普通的一天,没有导火索。可能只是一句”最近好像都挺忙的”。
  • 表层事件:分手——但没人说出”分手”两个字。关系以”淡了""缓缓吧""都挺忙的”这种模糊语言结束,体面到残忍。
  • 考点:回避型分手的本质——不是决裂,是搁置直至风化。没有一场架吵过,没有一句重话,谁也说不清是哪天结束的。“可以归罪的瞬间”不存在,这才是最窒息的部分。
  • 关键输入点(全游戏高潮):阿默说完”那就……先这样?”之后,玩家获得最后一次输入机会——此时触发结局分支判定(见第 5 节)。
  • 本幕金句候选:“他们的爱情没有死因。它只是没有活下去。“

备选/扩展幕(P2,时间富余再做)

考点速记
生病那天被照顾 = 欠人情 = 危险。“我没事,你别过来了”的真实含义
纪念日仪式感是承诺的具象,双方都”忘了”,都松了口气,都有点失落
对方的眼泪阿默罕见地情绪决堤(可能因家事),阿沉手足无措——想安慰,身体却在后退
朋友的婚礼他人的承诺现场,两人全程没敢对视

4. 双视角系统

视角何时玩家看到什么功能
第一视角(默认)每幕首次游玩阿沉的全部内心独白 + 自我合理化;阿默只有言行,内心不可见制造共情与失控感:“我的每个理由都成立”
第三视角(重放)单幕通关后解锁 / 或仅在终幕后一次性解锁全部内心独白全部消失,镜头拉远,只剩两个人的动作与沉默;同时首次显示阿默的内心话(灰色文本,与阿沉的并置)揭示对称性:“对方也在做一模一样的事”。全游戏的情绪暴击点

原型阶段取舍:P0 只做”终幕后一次性解锁第三视角合集”(开发量小、情绪冲击集中);单幕重放做成 P1。

第三视角的呈现形式建议:文字冷静化(去掉所有情绪形容词,只剩动作白描)+ 双方内心话左右并置排版——同一时刻,两颗心里几乎相同的话,谁都没说。排版本身就是控诉。


5. 结局设计

原则:不做”努力就能 HE”的谎言。结局差异不在”在一起/分手”,而在”有没有人说出一句没被过滤的真话”。

结局判定依据:①全程累积的”暴露时刻”数量(过滤强度是否曾降到低档);②终幕最后一次输入时,玩家是否争取到并使用了”穿透”机会。

结局触发内容
结局 A:风化全程高过滤,终幕照常被过滤关系无声结束。数月后两人在共同朋友的饭局重逢,客气寒暄,像从未认识过。第三视角解锁后,玩家看到当年每一幕里阿默没说出口的话
结局 B:一句真话终幕触发”穿透”,原话说出真话说出口了——但不承诺任何结果。阿默沉默很久,可能只回一句”……我也是”。然后呢?游戏在这里停住,不给答案。说出真话的意义不在挽回关系,在于阿沉终于没有背叛自己一次
结局 C:看见(隐藏)全程暴露时刻 ≥ 阈值 + 特定场景选择关系仍然结束(诚实:模式不会因单方努力而痊愈),但结束得清醒——最后的对话里两人第一次谈论”我们好像都在等对方”,互相看见了。分开,但不再归因于”不合适”这种糊涂账

结局后统一进入 “你的过滤器报告”:AI 将玩家全程的”真心输入 vs 出口输出”做归纳,生成一份个人化的回避语言画像(“你最常用来代替’我想你’的词是:‘随便’”)。这是玩家带走的东西,也是社交传播的钩子(截图友好 → 对应比赛 +5 分传播加分项)。


6. 与赛题要求的对照(自查清单)

赛题要求本方案如何满足
完整可运行原型、有开始与结束独幕剧结构:P0 三幕(AA制/烧烤/终幕)+ 结局 + 过滤器报告,即构成完整闭环
部署至浏览器纯 Web(HTML/JS 或 React),文本为主、轻美术,天然适配
必须使用 CodeBuddy 开发并导出对话记录全部编码在 CodeBuddy 内进行;本文档作为需求输入喂给 CodeBuddy,对话留痕即开发史
AI 内容完全产出(至少一环节)世界观&剧情:人物小传、场景背景、旁白金句由 AI 生成;更进一步,过滤器改写与 NPC 回应是运行时 AI 生成,深度高于静态生成
主题契合度(30分)“AI 重塑叙事”:过滤器机制 = AI 不是讲故事的工具,而是”横在两人之间的那层东西”本身,机制即隐喻
AI 工具使用(40分)运行时 LLM 双角色(过滤器 + NPC)+ 生成式结局报告,展示深度而非贴皮
游戏品质(30分)机制新颖(过滤器/限时输入/双视角)、情绪曲线完整(教学→反差→高潮→暴击→报告)

7. 开发路线图(倒排,截止 7 月 15 日)

时间里程碑
第 1 周在 CodeBuddy 中搭建:对话 UI + 自由输入框 + LLM 过滤器管线(单场景验证手感)
第 2 周完成 P0 三幕内容 + 过滤强度数值 + 结局 A/B
第 3 周第三视角合集 + 过滤器报告 + 结局 C;部署上线(Cloud Studio)
最后 3 天Demo 视频、介绍 PPT、CodeBuddy 对话导出、社媒发布(加分项)、提交

风险预案:

  • LLM 改写质量不稳 → 过滤器降级为”AI 改写 + 规则模板兜底”混合方案
  • 时间不足 → 砍到两幕(AA制 + 终幕)仍是完整闭环;第三视角只做终幕
  • 幕三内容风险 → 启用降级版”失眠夜”

8. 创作备忘(给自己的提醒)

  • 素材来自真实经历,但角色是典型化的”回避×回避”,不是任何真实的人。写的时候如果某个场景过于贴近真实记忆、开始不舒服,允许自己换壳、绕行、或者停一停。
  • 警惕把游戏写成”控诉”或”辩护”——两个角色必须同等地可理解、同等地有责任、同等地值得心疼。第三视角的对称性是这个游戏的良心,不能偏。
  • “典型化”的检验标准:一个焦虑型依恋的玩家玩完,也应该能看懂并被击中,而不是只有回避型玩家才有共鸣。