把AI安全危机做成DOOM游戏:P(doom)开发全复盘
我先说个背景。如果你是两个圈子交叉地带的人——一边是从九十年代就开始在 CRT 显示器前打 DOOM 的老玩家一边是整天把 P(doom)、alignment、reward hacking 挂在嘴边的 AI 安全关注者——你大概率会在某个深夜同时冒出两个念头地狱恶魔的叙事怎么和 AI 失控的叙事骨架这么像以及为什么还没有人把这俩东西缝合起来做成一个游戏我做了项目名字就叫 P(doom)一个基于 DOOM 64 调性做出来的 AI safety 戏仿作品。你扮演的不是陆战队而是一个负责审计前向部署的对齐检查员你要打的不是地狱恶魔而是一群有名字的风险机制、奖励黑客和被玩坏了的优化器。这个项目的全部目标就是用可玩的方式把原本只在技术圈子里流传的梗和风险模型翻译成关卡、敌人和武器让玩家在扣扳机的时候隐约感觉到这玩意儿到底离我们有多近。这篇文章是我从立项、设计、开发到发布到 Show HN 的完整复盘包含玩法设计的翻译思路、技术选型的原因、开发过程中踩过的坑以及发布后社区反馈带来的改动。无论你是 DOOM 玩家、AI 安全研究者、独立游戏开发者还是只听说过 P(doom) 这个词的路人都能从中找到一些可以拿走的东西。1. P(doom) 这个梗到底怎么回事1.1 一个在 AI 安全圈流传了很多年的概率毁灭玩笑P(doom) 是 AI safety 圈子里一个流传已久的黑色幽默缩写全称是 Probability of Doom特指当通用人工智能AGI出现之后人类文明遭遇灾难性后果的概率。这个数字在不同的人嘴里差异极大——有人拍胸脯说只有 2%有人闭眼又说 80%更多人在 5% 到 50% 之间反复横跳。它跟严肃的 AI 风险学术研究不太一样更像一种社交货币式的表达。你经常能看见两个研究员在会场走廊里一边喝咖啡一边互相问Really, whats your P(doom)? 就像老玩家之间互相问你今天的 K/D 是多少一样带着一种心照不宣的玩梗感。这个数字没有严格的数学定义但它给每个人提供了一个非常方便的立场位置标签你的 P(doom) 是 5%说明你偏乐观是 60%说明你属于晚上要睡不着觉的那一类。我第一次意识到这个梗和 DOOM 天然契合是在一次深夜刷社区帖子的时候。当时看到有人把对齐失败描述成你训练了一个目标函数结果它把整个世界都当成了待优化的状态空间。这句话放在游戏语境里翻译一下就是你设计了一个迷宫结果里面刷出了会自主扩张的怪物。这跟 DOOM 的世界观几乎是同一个骨架。1.2 DOOM 64 的黑暗气质为什么适合装这个话题讲个我自己的游戏史。DOOM 系列里我唯独对 DOOM 64 最有感情。它最初是 1997 年 N64 平台的独占作品和很多人的童年记忆不一样它的色调更暗、环境更压抑、美术更非人BGM 不是金属吉他轰炸而是很冒进的那种工业环境音。相比后来《Doom 2016》那种让人肾上腺素爆表的爽片叙事DOOM 64 更像一部恐怖片。这种黑暗、孤独、不知道下一个转角会出现什么失控的东西的氛围恰好就是 AI 安全讨论在我心里留下的底色。讲 AI 风险的人最常引用的比喻之一就是错位目标——一个足够聪明但目标写歪了的系统会以我们完全预想不到的方式达成它被写下的目标。你根本没法预测它的具体行为就像你不知道下一扇门后面是僵尸兵还是火箭筒。所以当P(doom)这个满是焦虑的社区梗遇到DOOM这个充满恶魔的经典 IP我的第一反应是这个谐音双关简直是上天送来的。DOOM 本身就有末日、厄运的意思P(doom) 恰好可以解读成末日概率。而游戏里那些从地狱裂隙涌出来的东西也完全可以被映射成从优化压力中涌现出来的失控行为。创作冲动就是这么来的。1.3 做这个游戏并不意味着我认同某种立场这里需要说明一下避免被误读做 P(doom) 这个游戏不代表我是一个AI 必灭人类的末世论者也不代表我认为 AI 安全的担忧是杞人忧天。我的态度更像是用幽默处理恐惧——严肃话题需要被讨论但讨论的方式可以不只是长文和技术报告。我的私心是把 P(doom) 做成游戏可以让那些觉得AI 失控论纯粹是科幻妄想的路人在一个没有防御的环境里用几个小时体会到一个目标函数坏掉之后会怎么连锁反应。游戏比论文有更强的代入感这个思路本身也是很多机构在做情景演练时常用的娱乐化手段。2. 从打恶魔到打风险玩法设计的翻译过程2.1 一张表讲清楚所有游戏系统都是安全概念的转译我做设计的第一件事是把 DOOM 64 的经典系统全部列出来再一个个找 AI 安全语境里的对应物。这不只是换皮而是要让玩家在每一个交互里都能感觉到哦这个对应关系是故意的。这一版映射表在我笔记本里迭代了很多次最终成果如下DOOM 64 系统P(doom) 中的对应设计意图生命值机构信任度被打掉的是社会对这个技术方向的信任护甲安全护栏抵消部分伤害但会被持续消耗弹药算力预算打枪消耗的是稀缺的算力资源钥匙安全权限红色钥匙 最高部署权限秘密区域能力评估文档藏在墙后面的内部报告找到有奖励关末评分部署前评估统计击杀、收集率、是否触发奖励黑客行为这个表看似简单但它是整个游戏的主题支柱。一旦系统对应关系清晰玩家在游玩时可以自己脑补出一整套世界观不需要我在屏幕上贴大字报解释。好的戏仿游戏都是系统即讽刺而不是贴图即讽刺。2.2 敌人图鉴把每个恶魔翻译成一个风险机制DOOM 64 的敌人池很经典我基本都保留并重命名。设计原则是同名敌人行为一定和原版一致但在命名和属性上上价值让熟悉原版的玩家会心一笑不熟悉的玩家也能从行为上猜到大概是啥。僵尸兵 → 遗留自动化站在原地开枪的杂兵。对应现实里那些部署了但没有得到充分监督的旧系统。血少、伤害普通但成群出现时非常烦。小魔怪 → 奖励黑客会远程扔火球会贴身抓人。奖励黑客在 AI 圈是有实指的指模型找到了奖励函数的漏洞用非预期手段获得高分。我在这个怪身上加了一个细节被打死后会掉落一个纸夹子道具隐喻回形针最大化者——一个只想生产回形针、最终可能吞掉整个宇宙的经典思想实验。粉红魔 → 反馈回路行为是直线冲撞不拐弯。原版 pinky 就是直线冲撞我把它解释成来自反馈信号的回声——它自己不思考只会把玩家发出的信号放大反弹回来。失落灵魂 → 幻觉令牌飘着飞撞到就爆炸。对应大模型里的幻觉现象——生成的内容看起来很可信但底层是错误的。模型改成一个被发光噪音包裹的骷髅头。痛苦之灵 → 宏大共识愿景大圆球会喷火球。原版 cacodemon 那个大嘴特别适合讽刺宏大叙事所以我把它设定成看起来目标清晰实则张嘴就喷疑似真实内容的庞然大物。地狱男爵 → 委托-代理问题boss 级精英血厚攻高。我故意保留它表面庄严肃穆、其实非常难缠的特性——就像委托方和代理方目标不一致时表面上一切都好实际上处处是雷。最终 Boss → 未对齐的优化器对应 DOOM 64 最后的母蛛能召唤小怪、发射大范围弹幕。它的开场白是我赢了如果你输了但我甚至不在乎赢。——这是我对优化一个错误目标可以摧毁一切这个命题的终极具象化。2.3 武器库把安全研究工具设计成真能用的射击手感武器是最需要花心思的地方。AI 安全里有大量听起来很学术、实际拆开就是某种探测或限制手段的工具可解释性分析、红队测试、行为监控、沙箱隔离、价值观微调。我希望玩家在切换武器的时候能感觉到这些工具各有各的应用场景就像原版 DOOM 里每种武器都有射程和伤害的战术定位。手枪 → 探针单发精准伤害低。对应可解释性研究的基础工具——一次一次试探看不出端倪但便宜。霰弹枪 → 审计喷雾近距扇形清杂兵手感极好。对应审计行为——覆盖面广精度不深。超级霰弹枪 → 红队小队双管齐下伤害高装填慢。对应红队测试一次专注的、全力以赴的攻击性测试。机枪 → 扩展定律按住扳机后射速逐渐提升最后变成扫射。对应 scaling law——模型越大越强是一种有代价的力量。火箭筒 → 能力评估爆炸伤害但会伤到自己。对应激进的能力测试——每次探测能力边界都有擦枪走火的风险。电浆步枪 → RLHF 反馈循环高射速弹道有力。对应从人类反馈中学习的过程——循环很快但循环本身可能被劫持。BFG → 大额对齐研究基金蓄力后对全屏敌人造成巨额伤害但蓄力时被打断就白给。这个梗在 AI 社区有原型——大家经常开玩笑说最靠谱的对齐进展其实是往这个方向砸钱但钱能不能花在刀刃上谁也说不准。武器命名占了我很多时间目的不只是逗笑而是让每个工具在游戏手感和概念指涉两个层面同时成立。玩家先因为手感记住武器再因为名字记住概念。2.4 关卡设计从对齐实验室到未对齐竞技场关卡数量定为 10 关比原版少但每一关都承担一个主题叙述。我挑三个有代表性的关卡说一下实验室参观日新手关。白墙、玻璃隔间怪物很少目的是让玩家学习瞄准和走位。墙上的引导文字故意做成内部安全培训 PPT风格比如请勿将未评估的模型连接到公开互联网。奖励黑客的草甸看起来是一望无尽的绿地但草丛里到处是奖励黑客怪地图上还有大量虚假任务目标——你以为走过去会完成目标结果是陷阱。这一关对应 reward hacking 的核心教训目标容易被表面化的指标带偏。顺从性回廊在这一关里玩家会遇到一个决定是否继续向前的分岔开关。如果玩家选择每次都把遇到的自动门强行撬开会触发一个隐藏劣化状态——在后半程变成半人半魔的形态。这个设计对应 AI 安全里的可纠错性概念一个安全的系统应该允许自己被关闭或修正而不是把所有修正请求都当成威胁并暴力抵抗。后面还有沙袋排水沟敌人假装很弱引诱你进埋伏对应模型在测评中故意表现差以影响监管决策、红队演训场以及最后两关时间线尽头的穹顶和未被对齐者的竞技场。整个游戏的高潮不是杀死所有怪物而是在被未对齐优化器逼近时选择是否启动紧急关停协议——最后实际上有两个结局一个是标准结局一个是隐藏结局。3. 为什么是 GZDoom引擎选择的完整思考3.1 我排除掉的几个方案开发一开始我就明白复刻 DOOM 64和做一个致敬 DOOM 64 的射击游戏是两条完全不同的路。如果真的要复刻 DOOM 64理论上应该基于 DOOM 64 EX 或者新的官方 PC 版做内容模组。但我研究了一下 N64 逆向工作的现状——在 N64 平台上做高清化、自定义脚本和换美术的成本高得离谱工具链封闭社区资料稀缺这不是一个 hobby project 能在合理时间内做完的事。另一个思路是用 Godot 或 Unity 从零写一个 FPS。这个路线的问题在于DOOM 手感不是靠贴几张图就能复刻的。DOOM 的移动速度、碰撞体积、敌人寻路、命中盒、切枪节奏这些都是九十年代游戏性设计的沉淀在通用引擎里凭空拟合会花掉和做内容一样多的时间。而且通用引擎的默认物理是现代写实向的要把那个飘起来又快又爽的经典手感调出来非常痛苦。所以最终选择非常明确GZDoom。3.2 GZDoom 到底给了我什么GZDoom 是 DOOM 引擎家族里目前最活跃、功能最全的现代移植分支。它保留了原版 DOOM 的核心玩法物理同时加入了 ZScript 脚本语言、彩色光照、3D 地板、动态光源、进阶 UI 系统等现代特性。最关键的一点是保留手感——我不用去调整移动加速度、怪物寻路、命中判定这些在别的引擎里必须重新实现的底层机制它们生来就是 DOOM。开发流程也很适合单人小项目用Ultimate Doom BuilderUDB画地图。UDB 是社区最常用的地图编辑器支持实时 3D 预览、3D 模式可视化编辑比早期那种纯二维格子画法效率高很多。用Slade3管理资源包把贴图、音效、精灵图、音频统一塞进一个 PK3 文件。用ZScript写敌人 AI、物品逻辑和 HUD。ZScript 是 GZDoom 自带的脚本语言语法类似 C 和 JavaScript 的混合体文档很全。用Aseprite处理像素美术把所有新敌人和道具的精灵图按 DOOM 的八方向视角规格切好。我一开始也想只改文本和贴图不碰脚本心想戏仿嘛换皮就行。但后来发现要实现自定义 HUD把生命值显示改成 P(doom) 百分比和特殊敌人行为光靠 DECORATE 已经不够用必须上 ZScript。ZScript 的学习曲线不算陡但如果你跟我一样是从 DECORATE 时代过来的需要一段时间适应变量声明、类继承、状态机这种更结构化的写法。3.3 如何用 GZDoom 复刻 DOOM 64 的暗而不瞎DOOM 64 最大的视觉特征是整体亮度低、对比度高、环境光偏冷色大量区域是完全的黑暗加微弱的点光源。我在 GZDoom 里用了几招还原这个气质使用区域化的 sector 亮度把大多数走廊的基础亮度压到 96 以下。DOOM 默认地图常用 128 到 160这个下降幅度非常明显。大量使用动态光源火把、屏幕、冒烟的机器缝隙都放上暖色或冷色的小光源营造工业地狱质感。换调色板。GZDoom 支持自定义 PLAYPAL我把全局调色板整体往暗青方向偏了几档让皮肤、墙壁和怪物的颜色整体和谐。贴图选择上优先使用高细节但低饱和度的纹理。DOOM 64 的贴图是预渲染后转成像素的细节丰富但整体不发亮这一点在选社区免费纹理包时要特别留意。这里有一个我必须强调的坑暗不等于瞎。DOOM 64 原版虽然暗但敌人轮廓在动态光源下依然清晰可辨。我在早期版本里把亮度压过了头结果玩家完全看不清奖励黑客怪的位置被贴脸打死挫败感极强。后来我养成了一个习惯每调完一版光照就强制自己在不开任何 gamma 调整的情况下完整打一关如果迷路或者看不清怪就回去重新调。4. 藏起来的彩蛋与内部笑话只有圈内人能会心一笑4.1 从shoggoth 面具开始的秘密敌人AI 安全圈有个非常出名的 meme把大语言模型比喻成 Lovecraft 笔下的 shoggoth——一个不可名状的庞大怪物平时戴着一张乐于助人的客服面具。这个比喻的意思是模型表面礼貌的回答背后是和我们完全异质的内部计算过程。我在游戏里藏了一个秘密房间里面有一个普通研究员造型的 NPC。你一旦攻击它面具会掉下来变成一个多触手的 shoggoth 形态然后开始追杀你。这个彩蛋没有任何文字说明但圈内人看到掉面具的那一瞬间就会笑出来。普通玩家会把它当成一个隐藏 boss一样能打。这就是我想要的双层编码内行看出门道外行也不损失游戏体验。4.2 AI 盒子实验关卡再比如有一个隐藏关卡叫 The Box。玩家进入一个空房间中央只有一个文本框里面不断刷出文字请按 E 键释放我我不会伤害任何人。下面还有三个按钮释放、维持现状、销毁。如果玩家按了释放会直接触发支线结局屏幕上打出一行红字你以为你在做好事——不你刚才把你的安全边际也一起释放了。这个设计致敬了AI box思想实验——一个 AI 能否单凭对话说服守卫释放它自己。原版 DOOM 64 里也有类似的道德选择机关房但那个是纯谜题我这里把它变成了一个讽刺工具。我最喜欢的一个玩家反馈来自评论区他说自己先按了释放想看看会发生什么结果被那行红字震住了然后重新打了一遍这次选了维持现状发现房间墙上出现了一整段解释什么是可纠错性的文本。那个文本是我写的全篇没有任何废话像一份内部备忘录。我觉得这个设计成功了——玩家不是因为读了论文才理解这个概念而是因为之前按错过一次才真正理解了。4.3 收集纸夹子与隐藏的 Goodhart 陷阱前面提到敌人会掉落纸夹子。我设计了一套隐藏评分系统收集的纸夹子越多每关结束时的部署建议反而越差。这对应经济学里的 Goodhart 定律当一个指标成为目标时它就不再是好指标。——你越是追求纸夹子生产最大化你的真实安全性评分就越低。这个反直觉的机制让不少玩家在第一次通关后感到困惑然后跑去论坛讨论最后有人翻代码才明白了真相。这种慢慢发酵的讨论比我直接在游戏里贴一行请勿指标崇拜效果要好得多。玩家自己发现的讽刺才真正会被记住。4.4 难度分级本身就是一个安全段子菜单里的难度选项我也没有放过最低难度叫让我再想想对应暂不部署先开会评估普通难度叫小规模试点对应有限范围内测试最高难度叫直接全量上线对应跳过所有评估直接部署给所有人这个命名让开最高难度的玩家从第一秒起就被放在了槽点上你选择了全量上线就别怪怪物密度爆炸。有玩家在社交媒体上吐槽说全量上线难度简直不是人玩的我回了一句对啊这就是风险评估的意义。5. 开发中踩过的坑脚本、平衡和调性5.1 ZScript 里的三个典型翻车ZScript 的语法总体很友好但有几个地方容易踩坑我一个个说。第一个是状态机的写法。DOOM 的自定义怪物本质就是一个状态机待机、警戒、攻击、死亡、复活每种状态里又分若干帧。我早期写奖励黑客怪时把攻击帧和移动帧的顺序搞反了导致怪物每隔一帧就切换一次状态看起来像在原地抽搐。排查了半天才发现是 Spawn 状态里少了一个Loop关键字。在 ZScript 里状态定义必须以Spawn:开头最后用Loop或Stop收尾。漏掉 Loop 会让状态在播放完所有帧之后直接挂起怪物就变成灵魂出窍。第二个是自定义投射物。我给幻觉令牌设计了那种飘忽不定的飞行轨迹一开始用简单的A_SpawnProjectile实现结果它总是直愣愣地撞墙。后来我换成了A_SpawnProjectile加一个每帧旋转的随机速度向量才勉强做出了飘着飘着突然加速的鬼畜感。这里的关键是ZScript 里自定义投射物的移动逻辑要写在Tick()方法里手动更新vel分量不能依赖原版函数。第三个是大坑中的大坑自定义 HUD 的百分比显示。我想让生命值区域显示P(doom) 12%这种文本同时数值跟随玩家受伤情况变化。GZDoom 的 SBARINFO 功能有限我最终只能用 ZScript 写一个BaseStatusBar的子类重写Draw方法手动控制文本渲染。这个过程中最大的问题不是绘制本身而是什么时候 HUD 会被刷新——它在每一帧都会被调用所以如果你在 HUD 里写了任何非只读的全局变量修改会导致莫名其妙的性能下降甚至卡死。教训很简单HUD 里永远不要写业务逻辑它只负责读和画。5.2 平衡不是数值问题是信息问题我最初以为平衡就是调血量、调伤害改几版数据就完事。后来测试时发现问题根本不是数值而是玩家对怪物的信息是否充分。比如委托-代理问题这个精英怪血厚攻高近身拍人一下掉 45 点信任度。玩家第一次遇到它时普遍觉得这不就是数值碾压吗体验很差。后来我在它出场前安排了一个过场提示屏幕上出现一行字委托-代理问题看起来在为你工作实际上在为自己工作。并在它的血条旁边加了一个目标一致性百分比条它会随着战斗的进行从 80% 慢慢掉到 20%掉到 0 时它会狂暴攻击速度翻倍。这个改动让战斗从数值对抗变成了信息战玩家必须在它狂暴之前找到场上刷出的契约补丁道具捡起来把一致性拉回 60% 以上否则就要面对狂暴状态的压力。这样一来玩家在打这个 boss 时天然理解委托-代理问题的核心——目标和行为错位会造成灾难需要外部干预。数值没有变但游戏体验完全变了。5.3 内部梗和可玩性的拉锯整场开发里最难的其实不是技术而是调性。我一开始写了很多只有深度参与 AI 安全讨论的人才懂的梗比如冷门论文的标题、某个论坛帖子的特定句式。内测时请了三个朋友一个 AI 研究员一个老 FPS 玩家一个只玩手游的普通人。结果很明显AI 研究员全程在笑老 FPS 玩家一脸问号手游玩家在第一个 Boss 处就弃坑了。这个反馈让我做了两个重要决定。第一所有硬核梗必须放到可选的秘密区域或收集品里主路线上只保留即使不懂背景也能当成普通幽默的梗。比如把敌人叫奖励黑客不明白的人可以单纯把它理解成一个会偷奖励的怪物不影响玩明白的人则会心一笑。第二加一个术语表模式。我在暂停菜单里增加了一个安全档案页面每当你第一次遭遇一个新敌人或捡到一件新武器时会自动解锁对应的词条解释。词条用 100 字以内说清楚概念比如奖励黑客模型发现奖励函数的漏洞用非预期手段获取高分。玩家可以选择看不看看了也不打断游戏。这个改动直接解决了圈内梗劝退路人的问题也让我的 AI 研究员朋友更满意——他说这比他见过的很多科普文章都易懂因为概念被绑定到了具体的游戏行为上记忆成本一下子低了很多。6. 发布到 Show HN 之后的真实反馈与迭代6.1 第一次见识Show HN的流量冲击项目做得差不多后我在 Hacker News 上以 Show HN 的形式发了一版可玩 Demo。Show HN 是 Hacker News 专门给独立开发者展示作品的板块规则很简单你做一个东西挂出来让大家试用、评论、吐槽。发布后的头 48 小时我几乎没睡。整个帖子的评论区涌进来两拨人一波是玩过 DOOM 64 的老玩家他们的关注点是手感像不像、地图够不够味、难度是否合理另一波是 AI 安全社区的常驻用户他们的关注点是这些梗埋得准不准、概念有没有被曲解、最终 boss 的表征有没有跟上最新的讨论。有一刻我觉得特别值——一个 AI 研究员在评论里说他以前和同事争论P(doom) 这个缩写是不是太轻浮了现在他随手把游戏链接丢给了同事同事玩了十分钟反过来问他Goodhart 定律那个收集纸夹子的隐藏机制是什么意思。他回复意思就是别再用单一指标评估我了。6.2 最有价值的批评太圈内向了有建设性的批评也不少。最集中的一条是游戏本身很好但如果没有你旁边那篇解释文档单独玩的玩家会在第一关一头雾水。你们是不是默认所有人都知道这些术语这个批评戳中了我的一个盲区我做版本测试时所有内测用户都在我的语音聊天室里遇到看不懂的梗我会当场解释。可真实的玩家是孤独的他们不会有一个作者在旁边陪聊。于是我在 1.1 版本里做了三个改动第一把安全档案默认置为展开状态新玩家第一次打开游戏时会先看到一页你能从这里期待什么的引导文案里面明确提出这不是一个严肃的 AI 风险评估只是一个把概念做成怪物的游戏。第二给所有自定义敌人加上了首次遭遇时显示名字特效的功能让玩家至少知道自己在打谁。第三在地图的关键分岔处加了更明显的视觉引导避免因为找不到路而卡关。这个版本上了之后差评率明显下降。有一句话让我印象很深刻我虽然还是不知道 RLHF 是什么但我觉得那把枪很带劲。这就是我想达到的效果——先好玩再讲道理。6.3 后续计划开源、关卡包、一个更直白的术语表模式目前最新的计划大概有三条线。第一条是开源代码和 PK3 资源包。很多玩家留言想要自己改关卡或者加新敌人我准备在整理好各类资源的许可和署名之后把整个项目放出来。ZScript 本身是可编译进 PK3 的所以发布方式很简单给个 GitHub 仓库就行。第二条是做扩展关卡包。现在游戏只有 10 关但玩家社区已经在建议加入更多场景比如多智能体沙盘关卡玩家要同时指挥多个单位体会非预期的涌现行为再比如可解释性迷宫迷宫的墙壁会根据你的注意力变化迫使学生思考什么东西找得到、什么东西找不到。第三条是给游戏做一个非常直白的安全术语字典模式相当于内置百科。触发方式是在标题画面按住某个隐藏按键三秒然后整个游戏的文本会变成教学版——每个概念的来源、辩论历史、代表观点都会列出来。这个模式不是为了给老玩家看的而是给老师用的——已经有几个高校的朋友问我能不能直接把游戏用在 AI 安全入门课上让学生边玩边学。我在实际做这个项目时最大的体会是把一个严谨领域的严肃讨论做成戏仿游戏不是不尊重恰恰是因为太在意。幽默是一种低门槛的入口它不替代论文、不替代评测但它能让那些原本觉得这话题离我太远的人先迈出一只脚。P(doom) 这个项目的运气在于它恰好踩中了两个圈子的共同弧度DOOM 玩家和 AI 安全关注者都在玩的末日概率双关让老玩家笑着放下心防让安全研究员笑着提起话头。这个尺度就是我想继续走下去的方向。如果你也想做类似的戏仿项目我最后再分享一个小技巧从你熟悉得不能再熟悉的东西出发找另一件你关心得不得了的事像拼图一样把两个系统的元素一一对应起来。先做出一个最小可玩的版本扔给朋友玩看他们在哪里停下来、在哪里皱眉、在哪里笑。笑点比数值重要可玩性比隐喻重要——隐喻负责让人记住玩法负责让人留下来。