Axıs
技能目录

恐惧设计通则

恐惧设计通则

给 coding agent 的执行参考。每条纪律都带判据,判据必须能被写成断言或人工过一遍的检查。

读法:一条一条往下走,只执行命中的条。没命中就跳过,不要顺手「顺便优化一下」。


0. 先确认交付的是哪种商品

shock 和 dread 是两种不同的商品,不要混算。

  • shock 在一秒内飙升又消失,成本低、可批量生产,是廉价的惊吓单位。
  • dread 可持续数分钟,且主要由玩家自己生产:玩家怀疑、猜测、回忆,才会 dread。

把目标定在 dread 上。理由很实际:dread 由玩家的想象供能,作者供能一旦停止就停;shock 供完即尽,且玩家会脱敏。

换掉验收口径:不要用「好玩吗」「刺激吗」验收恐怖内容。这两个问题会把所有工作导向堆惊吓。改用:这一段是否兑现了既定原则——氛围、主题、脆弱感,三者至少各有一个可指认的具体承载物。

评估问题 结论
「这段好玩吗」 拒绝作为验收口径,会导向堆惊吓
「这段兑现了脆弱感吗」 采纳
「这段的主题有具体承载物吗」 采纳

判据:任何一段恐怖内容的验收记录里必须出现氛围/主题/脆弱感三项中至少一项的具体指认,不允许只写「效果好」。


1. 剥夺赋能是引擎

一旦玩家感到自己有能力、有武装、在控制中,身份就从猎物变成猎手,游戏变成穿恐怖皮的射击游戏。

  • 把敌人设计成打不死或打不赢。不要留「火力足就能赢」的路径。
  • 把玩家的诚实选项收窄到三类:躲、逃、熬。别的选项都是玩家自己骗自己。
  • 不要把「血量条」当安全感的替代品。能被打死的敌人会把叙事推向战斗收敛。

判据:列出玩家在任意时刻可用的动词清单,清单里出现「击败」「造成伤害」「压制」之一即判不合格,必须重排——不是删掉战斗数值,而是把战斗的收益改为信息或位置而非消灭。


2. 工具决定玩家对自己的想象

给枪等于告诉玩家「你是射击的人」。想去掉战斗的玩家,永远不会在打斗之外产生别的想象:想象是被工具写死的。

  • 先决定希望玩家想象自己是谁,再决定玩家手里拿什么。顺序反过来会失控。
  • 玩家手里每一件东西都要问:它把玩家钉成什么身份?「拿着它能杀死」和「拿着它能活下去」是两种完全不同的设计。

判据:对每一件可持物写一行身份断言「持有它时,玩家把自己理解为 ____」。出现同一份清单里两种互斥身份(例如「幸存者」与「猎手」)即判冲突。


3. 题材是「你最怕失去什么」

不要从「最惨的事」出发。团队坐下来回答「你人生中最糟的事是什么」,答案永远是「失去」。

  • 把命题写成一句损失句:如果 X 没了,我无法承受。X 必须是具体的一个人、一段关系或一种能力,不是「世界毁灭」。
  • 让损失在整个体验里反复逼近但不到达。真正夺走的东西会在玩家离开后还留着后劲,但要给出一次「差点」。
  • 避免用惨状做恐怖:越惨的场面越容易被读成猎奇,猎奇不产 dread。

判据:损失句必须能映射到至少三个场景的具体载体(一个地点、一次声音、一次界面/道具变化)。映射不到三个,说明写的是主题口号不是命题。


4. 停在不确定性的甜区

大脑的基本任务是最小化预测误差。恐惧住在「可解决的误差」上:误差太少则无聊,太多则不适。

  • 留一个玩家能靠观察自己解决、但尚未解决的缺口,然后停手。不要替他解完,也不要加大到不可解。
  • 间歇性刺激比确定性刺激更有效。赌博研究里,提示与奖励 100% 配对反而降低唤起,50% 配对最唤起。这是「假惊吓、假线索」手法的科学依据:稳定兑现的奖励是无聊的。
  • 反面警告:游戏内不许有反证。没有反证的假线索才是留白;一旦出现反证,假线索就变成撒谎,玩家的整个信任模型崩塌。

判据:(a) 断言:不存在「必定在某时刻触发 X」的可观察规律——若存在,把它至少拆成两种触发条件且比例不低于 3:1。(b) 人工:抽查每个假线索场景,确认现场没有任何一项证据能证伪它。


5. jump scare 是标点,不是散文

jump scare 的价值主要在于它的威胁存在,而不是它真的发生。玩家一旦确认「这里会跳出东西」,他进新房间时就在焦虑,即使什么都没跳。

  • 只在两种情况下使用:兑现已经建立的 dread,或给已经适应的玩家做重置。用来替代 dread 的 jump scare 是无效的——它只买一次钱,第二天玩家就免疫。
  • 先卖出铺垫时间。关键是把紧张拉长到玩家「快要希望它发生」的那个点。跳过铺垫直接吓,等于没拿到收益。
  • 假 jump scare 是合法工具(空响、突然关上的门、扑空的影子),用来告诉玩家「这一轮你可以松口气」。它的作用是重置适应曲线,不是欺骗。
  • 每个 jump scare 都应该同时是一条永久性世界规则。经典案例之所以经典,是因为它告知了一条可复用的新事实:敌人能从环境外攻击你。此后玩家每次进新房间都会自己产生紧张。
  • 玩家行为触发的系统生成惊吓 > 脚本 ambush。脚本化首通有效,二刷归零;由玩家操作结果衍生的惊吓每次都成立。
  • 散布惊吓反而更吓人。某工作室最初在研究区塞了大量 jump scare(书掉下来、门砰、钢琴响);减少到只剩几个、把重点放在让玩家自己探索秘密后,玩家反而更害怕。
  • 假阳性会提高长期成本感:玩家会怀疑每一个影子与声音。允许偶发的无源惊吓,比例保持低但非零。
  • 假线索可以伪装成敌人行为:让巡逻路径刻意次优、经常回头走,制造「它在怀疑、它在复查」的错觉。这比任何文字提示都便宜。

判据:(a) 对每个 jump scare 写一行「它同时告知的新世界规则:____」。写不出来的是纯消费型惊吓,把它删掉或降频。(b) 断言:脚本 ambush 的触发条件不依赖玩家操作;二刷后该触发点的唤起评级下降超过一档。


6. 不要线性

来源强度:来自工作室自述,不是行业共识。它的价值在于给出了机制解释(焦虑来自不可预期的路径密度,不来自拓扑),读的时候连解释一起读。直接相关的一手复盘在公开材料里没有找到成文专文。

「恐怖关卡要线性」是错误通则。某工作室自己承认,他们的 hub 式非线性地图增加了焦虑,而更线性的续作恐怖感反而下降。

  • 不要把地图结构当成恐怖变量去优化。非线性本身既不加分也不减分。
  • 把调节力放在尺度上:沿着张力-释放曲线把环境尺度调小——走廊更窄、天花更低、可见距离更短、水位更高、掩体更少。
  • 尺度比拓扑便宜。改一条走廊的宽度比改关卡连接关系风险低得多,且效果可判定。

判据:任何一次「把非线性改线性」的重构,若没有附带一份「尺度收紧了多少」的具体改动,就拒绝合并。


7. 留白是节奏机制

恐怖堆满等于没有恐怖。留白不是修饰,是节奏装置。

  • 给每段高压内容配一条回落通道,并给它设硬上限:超过上限的回落就是第二段内容,必须替换掉其中一段。
  • 强制静默窗口。窗口内事件数 = 0。这是可断言的。
  • 接受「什么事都没发生」是恐怖里的独占合法内容。它建立「随时可能有事发生」的契约;在其他类型里三分钟无事发生是灾难。
  • 把「重访旧区域」当作打破安全感最廉价的手段:同一个空间在玩家心里已经有了一份预期,改变它即可。

判据:(a) 断言:静默窗口内 event_count == 0,且窗口时长 ≥ 该段高压时长的 1/3。(b) 断言:任意连续窗口内的事件密度存在一个下限以上的空档,不允许整段高压无空档。


8. 威胁计量表:压力是被调度出来的

来源强度:具体形态(三个上升条件 + 超阈值退场)来自开发者访谈转述,不是成文设计方法论。可迁移的是它的形状——压力是量,不是事件。

事件不随机撒。压力是一个被测量、被调度的量。

  • 计量上升的三个条件:敌人处于近距离行走范围;玩家对敌人有实际视线;敌人已经非常接近但尚未被发现。第三项上升较慢——它是最有价值的张力源,因为玩家知道自己不知道。
  • 计量超过阈值后强制退场,进后台模式。这不是慈悲,这是工程手段:不靠玩家自己休息,panic 循环才能持续。
  • 事件池按紧张度加权:低紧张只发远处类事件,高紧张只发贴耳类事件。不要用一个均匀的随机池。
  • 触发间隔随进度单调缩短。不要用带尖峰的平均值。

判据:(a) 断言:pressure > threshold → enemy.retreat_to_background() 强制调用,不可被其他分支覆盖。(b) 断言:事件权重表是紧张度的单调函数。(c) 人工:抽查一次事件序列,确认低紧张期没有任何贴耳类事件。


9. 信息的灰色地带

雾化雷达模式:只告诉你「有东西在附近」,不告诉你有多近、在哪个方向、有几个。

  • 关键不是「信息少」,而是刚好足够让你担心、又不足以让你行动。信息少到无法担心就没有意义。
  • 全 HUD 数值化 = 破坏恐怖。某游戏因为血条画在角色背上、弹药显示数字、导航器指路,被评价为「信息令人安心,恐怖感丢失」。
  • 默认给信号而不是读数:状态恶化时让某个声音越来越响、让画面脉动,而不是在角落画一条进度条。

判据:(a) 逐项列出玩家可读到的连续量,默认全部降级为三档或信号;出现连续可读数值的项必须在设计文档里写明它为什么豁免。(b) 断言:连续数值渲染的禁止清单存在且被检查。


10. 保持系统部分不可知

  • 内部用连续值,玩家只看到三档(良好/注意/危险)。模糊度必须刚好窄到能支撑决策,又宽到保留恐惧。
  • 了解系统的那一刻,幻想就死了。玩家完全理解某条规则后恐怖感崩塌。
  • 让玩家的解释力超过真实实现:玩家以为自己总结出的规律比真实规则更完整、更优雅。这种「过度理解」是资产,不是 bug。
  • 不要把规则写进说明书。写进说明书的东西会被当成接口,被当成接口的东西不会被当成世界。

判据:(a) 机械检验:把当前实现的全部规则写成一篇完整说明书——写得出来,说明隐藏程度不够,恐怖会在通读后崩塌。(b) 断言:玩家可见档位数量 ≤ 3。


11. 救命道具会杀死氛围

  • 某一类道具临近交付时被整体删除:因为它破坏氛围。典型形态是「恢复理智/恢复状态的药剂」。
  • 加任何「消除负面状态」的道具之前先问:它是不是让恐怖失效?答案是是,就砍。
  • 允许恢复进度(一个检查点),不允许恢复状态(把已建立的恐惧擦掉)。恢复状态等于告诉玩家刚才的恐惧是可回收的。

判据:断言:存在道具时,逐件标注它清除的是「进度」还是「状态」;出现任何一个清除状态的道具即判不合格。

边界情况:区分「消除负面状态」与「降低风险概率」——两者都不删,但时效完全不同。前者是即时的(恐惧被清零,玩家立刻回到安全状态),后者是持续的(恐惧还在,只是下一次被发现的概率变了)。前者杀氛围,后者只是把紧张度重新分配。混淆这两者是最常见的误判:把一个「降低概率」的道具当成「消除状态」砍掉,会砍掉本来该留的东西。判据:逐件标注它是改变状态量还是改变概率,两者都不许写进同一列。


12. 资源紧缺余量优先于加敌人

  • 玩家资源充足时不会害怕,因为每个问题都有采购单式的解法。
  • 某一章节不吓人时,先减资源,再加敌人。这个顺序要写死。
  • 黑暗与遮蔽必须是可计量的资源,而不是免费的环境光。玩家能靠消耗它换信息,两者才构成取舍。
  • 让资源的恢复点稀疏且可见。看不见的自动恢复会摧毁紧张感。

判据:(a) 人工诊断表:对每个不可怕的段落,先填写「本章可获得资源总量相对上一章的增减」;增减为正或持平时,禁止以「敌人太少」为理由调参。(b) 断言:主资源存在耗尽路径,且耗尽后有唯一的恢复点。


13. 首次遭遇的纪律

首次遭遇决定玩家是否建立「恐慌 = 死」这个映射。映射一旦建立错,后面所有内容都救不回来。

13.1 首遇必须可逃

  • 先给一次低威胁、看得见的遭遇,无武器也能通过。再给致命版本。
  • 教学必须在玩家建立「恐慌 = 死」之前完成。教晚了,他会把你的教学当成死亡确认。

13.2 先听觉后视觉

  • 真正的恐惧始于你听到的东西。信息投放顺序固定为:环境变化 → 声音 → 文字。文字最后,因为它是最无力的通道。
  • 预遭遇设计的硬教训:用持续的巨响和低吼来「预告」威胁体,结果是玩家反复听到却从来看不见,有人以为出了 bug。沉默与不确定优于反复预警。
  • 判据:每个威胁体在上线前,它的信息通道必须至少有一条是纯音频的;断言「首次出现必须有音频先于视觉」。

13.3 位置永远可读

  • 把威胁体的位置做成机制(例如它的光会扫过走廊、它的呼吸随距离变响),而不是文案。
  • 反例(亲历):玩家在还没看见敌人的地方就被提示引导去躲避。这破坏了所有后续遭遇的可信度——玩家会认为遭遇是导演安排的,之后每次警戒都要打折。
  • 判据:断言:不透明提示系统(提示它不知道的事)不存在;抽查引导文案,确认它只描述玩家已观测到的状态。

13.4 首触点只给两个动词

  • 在首次触发点处放一个可判定的二选一:例如「站着不动三秒 = 活 / 做某个动作 = 死」。两个选项,不要三个。
  • 选项越多,选择本身的重量越低。首触点的目的是让玩家记住「选择有代价」。

判据:人工:为首触点写一张两行表(两个选项、各自可观测结果)。写不出结果判定,说明首触点不合格。

13.5 动作教学的环境条件必须与该动作的实际用途一致

  • 教一个动作,就必须把它放在真的需要这个动作的场合:教「闭眼」就放在只有闭眼才能过的场合,教「用光逼退」就放在真的有威胁的场合。
  • 反面警告:在明亮安全处教一个只在黑暗中才生效的动作,玩家会把结论记成「按了没反应」,并且这个错误结论会跟着他进真正的黑暗场景——他之后不会用这个动作,因为他已经认定它没用。
  • 推导:教学的信息量不在动作本身,在于「此动作在此处有效」这个因果。环境条件不匹配时,传出去的是「此动作无效」,而不是「此动作在别处有效」。
  • 判据:对每个教学动作写一行「首次教学点的环境条件 = 该动作的哪一条真实用途条件」。两侧不是同一条件即判不合格。

13.6 教学完成条件必须明确

  • 给每个教学区一条显式退出条件:拿到某件工具,或通过某道门。不给退出条件,玩家会在教学区内无限刷,把教学当成安全区——而教学区通常是最没有威胁的空间,于是首遇永远建立不起来。
  • 推导:教学区与「恐慌 = 死」的映射是互斥的。玩家一旦判定某处安全,就不会在那里建立任何威胁预期,映射也就无从建立(呼应 13.1 的时序要求)。
  • 判据:写出教学区的退出条件,并断言「条件满足即退出教学状态」;教学状态进入教学区后必须在有限步内退出,不依赖玩家走出门外。

14. 没被看到的事件等于不存在

图出现了、音效响了、几秒后消失,但玩家当时看向反方向——这次事件没发生过,而且不会有第二次机会。

  • 把事件从「定时触发」改成「等待条件成立」:玩家进入某区域 且 视线大致朝向正确,两个条件都要满足才播。
  • 刻意保留一批纯可选的、余光范围内的事件。它们不承载信息,只让环境「活着」。这类事件不需要被看到就有价值,但不能用它们替代 13.2 的必需通道。
  • 判据:断言:所有承载信息的播报条件包含一个视线朝向检查;纯装饰事件在代码里显式标注为 optional,计数时分开统计。

15. 给玩家甩掉威胁的地方

  • 关卡必须包含威胁走不到的路径、利用玩家独有机制的通道、以及能绕到它前后的环路。
  • 但必须先给玩家明确目的地。没有目的地的玩家只会躲在角落不动,而躲角落不动是最廉价的通关方式,会让整个关卡设计失去意义。
  • 软谜题优于限制性屏障。让守卫「被发现时」才拦住玩家,使直接路线可行但不占主导。正确做法不是竖一堵隐形墙,而是让路本身变难走。
  • 判据:人工:画出关卡拓扑,确认存在至少一条不依赖「墙」就能通过的分支;断言:存在隐形墙即要求同关卡存在等价的难走分支。

16. 反面教材:强制凑近

有一款以走廊循环闻名的作品,其转角必须让玩家反本能地凑近去看才触发事件。这破坏了恐怖。

  • 任何要求玩家主动凑近转角、缝隙或黑暗处才触发的事情,都在训练玩家「好奇心 = 危险」。
  • 这个训练有效一次就够。玩家学会之后会停止好奇,机制当场失效,而且永久损失了「主动探索带来恐惧」这条通道。
  • 判据:断言:不存在「玩家靠近 X 距离内才触发」且 X 是不可见或未探索区域的触发器。替代方案:让区域自己在玩家身上产生效果(声音、光线变化),不需要玩家主动接近。

17. 可复用的走廊循环三要件

一套独占于恐怖的结构,能单独撑起一段体验:

  1. 一个你无法从一端看到另一端的转角。承担全部「未知在后面」的负荷。
  2. 三个信息来源(钟、电话、收音机),各自被放在一个壁龛里。分散的信息源让玩家每次只能确认一部分。
  3. 一扇永远不打开的前门,作为永远存在的出口幻觉。它让「离开」这个选项一直可见但一直无效。

每轮循环往下走几级(单调递增的不可逆位移,消除「再试一次就行」的念头),同时用上方黑暗的阳台制造「被注视」的体感。

  • 判据:三条要件逐条标注在本关卡的哪一处;缺任一条,重构时优先补回,而不是加新事件。
  • 来源见文末(该循环形态的公开分析)。

18. Demo 的正确定义

Demo 是概念验证,不是内容切片。目标只有一个:确认方向是否有趣。

  • Demo 应该证明核心机制可被玩家发现,而不是被讲解。案例:即使角色台词明说「这是谜题」,玩家仍然没把它当谜题——他们像水一样流向阻力最小的路径。
  • 迭代以「玩家反馈里出现了什么误解」为主线,不是「哪个数值不对」。误解是设计信息,数值分歧是实现信息。
  • 恐怖天然适合短时长。给自己立一条硬规则(例如单次不超过 20 分钟),并从这条规则反向决定什么算完整:砍掉多关卡,砍掉教程关。
  • 先发粗糙原型做 playtest,再发半成品 Demo + 商店页,然后继续开发。原型阶段不体面不重要。
  • 第一版 blockout 几乎一定有严重问题。定期真实 playtest 并迭代,找目标受众而不是只做内部测试——内部测试会被你已经知道的东西污染。
  • 给 Demo 一个「第二次变短」的设计:捷径从一侧被发现后变得显然。既降低挫败又制造重玩价值。
  • 判据:验收问题只有一个——「方向是否有趣」,用一次目标受众 playtest 回答。其余问题不在 Demo 阶段处理。

Corner cases(独立条目)

  • 玩家选择不看:允许玩家绕开所有内容。恐怖不靠完成度吃饭,靠「他可能随时回来」的契约吃饭。给绕路留一个不惩罚的出口。
  • 玩家反复重试到免疫:重试次数上升时威胁必须升级或变化,否则他会用最优解刷穿整个游戏。判据:同一触发点第 N 次与第 1 次的可观测惊吓来源必须不同。
  • 玩家用截图/录屏互相交换信息:把「跳脸瞬间」之外的世界规则设为唯一可传播的价值。可传播的东西是设定,不是瞬间。
  • 玩家截图后离线思考很久:留白窗口要有上限,避免玩家在窗口里靠推理把所有谜底算光。判据:静默窗口时长不超过单次会话的合理停留。
  • 玩家开着攻略/攻略视频:不为此设计分支。改为保证谜底解出来后仍有「发现过程」的痕迹可回味。
  • 玩家对某类刺激麻木(高分玩家):只对已适应的玩家做重置式 jump scare,且重置要靠强度跃迁,不靠重复同类。
  • 同一场景既要教学又要吓人:拆成两段。教学段给低威胁可逃版本,吓人段再上强度。判据:首遇场景的「逃」选项必须存在。
  • 敌人被玩家用环境杀死:允许,但不要让收益归零以外的东西变成奖励(例如掉落道具改变核心循环)。环境击杀只给位置优势或时间。
  • 玩家故意站着不动等死:静默窗口的「安全」必须是不稳定的。不稳定由压力计量表保证,不由文案保证。
  • 多结局/多结局线索并存:结局线索也是事件,走同一套密度约束。结局提示不许突破「不数数」与「不指路」两条。
  • 玩家死亡后重开:死亡点前的静默窗口数量决定重开体验。三分钟内连续两次死亡后强制给一段长静默,把节奏拉回来。
  • 玩家通关后不再回来:第二次变短的捷径就是为此准备的。判据:存在一条被首次发现后变得显然的捷径。

判据速查

纪律 可机检判据
不解完不确定性 无 100% 配对的可观察规律(触发比例 ≥ 3:1)
jump scare 带世界规则 每处能填出「同时告知的新规则」一栏
假线索不撒谎 现场不存在可证伪该线索的证据项
静默窗口为空 event_count == 0,窗口 ≥ 高压段 1/3
压力强制退场 pressure > threshold → retreat() 不可覆盖
事件池加权单调 权重表对紧张度单调
信息给信号不给读数 连续可读数值 ≤ 豁免白名单长度
状态三档 玩家可见档位 ≤ 3
无救命道具 无任何清除「状态」的道具
资源先减后加 资源未减时禁止以敌人少为调参理由
首遇可逃 首遇场景存在逃逸分支
先听觉后视觉 每个威胁体存在纯音频首现通道
位置可读且不透明 引导文案只描述已观测状态
首触点二选一 首触点结果表恰两行
教学环境与用途一致 每个教学动作存在一行「教学点条件 = 用途条件」
教学完成条件明确 断言:教学区退出条件满足即退出教学状态
播报需视线条件 信息类播报含视线朝向检查
有甩威胁的路径 存在无隐形墙的可行分支
不强制凑近 无「靠近不可见区域才触发」的触发器

来源

亲历项目(原型实践中提炼,未经公开):首次遭遇纪律(13.1–13.4)、预遭遇硬教训(13.2 内)、不透明提示反例(13.3)、播报需视线条件(14)、走廊结构化信息源与壁龛分配(17 的实现形态)。

公开资料: