乐于分享
好东西不私藏

pdf2game:一本推理笔记变为AI无限推理游戏全过程

pdf2game:一本推理笔记变为AI无限推理游戏全过程

PDF进去  GAME出来

(以下以第一人称叙述,创作者是一位00后热爱推理的小姑娘)

我做了一个推理游戏。一本 70 年前的日本推理笔记,821 条经典诡计,AI 每局随机组合——案件永远不重复,永远玩不完。

这是游戏地址:http://skills2app1.memect.cn/

这篇文章是完整的制造手册——从一本 PDF 到一个可玩的游戏,我全部拆给你看。

但在拆解之前,我想先说说为什么要做这件事。


我从小就是推理迷。

看《名侦探柯南》会暂停画面自己先推理,读东野圭吾会把嫌疑人列表画在纸上排除,玩剧本杀永远抢侦探位。推理对我来说不是”解谜”,是一种上瘾的思维快感——从一堆混乱的信息里,把那条唯一的真相拽出来。

我一直想做一个自己心目中的推理游戏。

不要猎奇的故事,不要血腥的噱头,只要纯粹的、烧脑的、怎么推都推不完的谜题。但推理游戏最大的问题是——案件是有限的。写一个案件要几周,玩完就没了。

直到我自己开始上手AI,如果让 AI 从一本推理经典中学会所有诡计的”设计模式”,它就能无限生成新案件。

于是我把江户川乱步的《诡计集成》丢了进去,出来了一个推理游戏。

这是你玩儿游戏的体验:


“你那天晚上真的在家?”

屏幕上,嫌疑人蔡宏微微一顿,嘴角挤出一丝不太自然的笑:“当然,我一直在家看书,问我妻子就知道了。”

你注意到他回答时目光停留在桌面,没有看你。你翻了翻线索箱——现场发现的一根纤维,与蔡宏常穿的灰色羊绒外套材质一致。加上目击者说看到一个身影在案发当晚出现在死者家附近……

你按下了”质疑”按钮。

蔡宏的表情变了。他沉默了几秒,声音低了下去:“好吧……那天晚上我确实去了老周家附近。但我只是路过,我没有进去。”

谎言被拆穿了。 新的线索浮现——蔡宏确实到过现场。你还剩 2 次质疑机会,5 个嫌疑人中已经排除了 2 个。凶手的轮廓正在从迷雾中显现。


这就是那种感觉——像剧本杀一样审讯,像侦探小说一样推理,但案件是 AI 从 821 条经典诡计中现场生成的。 密室、变装、毒杀、伪造不在场证明……5 个嫌疑人各怀鬼胎,有人说谎是为了隐藏罪行,有人只是不想惹麻烦。你只有 3 次质疑和 3 次搜查的机会,必须在有限资源内找到真相。

如果你手边也有一本书、一份资料、一套专业知识——它也可以变成游戏。

强烈建议你先打开链接去玩一玩儿,感受一下这个体验,再往下看我是如何做的。 

http://skills2app1.memect.cn/

想要一起来探索用书来做游戏的,可以来这里一起交流

我把这个流程流程抽象成了 Skills2Game 框架——输入任意 Skills 技能包,通过结构化问答引导用户选择游戏形式和核心机制,自动生成设计文档,再从文档直接生成可运行的游戏代码。

工具在这里:https://pdf2skills.memect.cn/quick-start

使用手册看这个 pdf2app:把书变成可以玩儿的 APP

(若加满,可以加上 18501790646)

下面开始拆解,我会把我的完整思路,拆解给你看,非常长和细节预警。

提前的准备:

如果你自己有 vibecoding 的实操经验,你可以参考我的思路,拿到了 pdf解析后的skill包自己试试。

如果你不熟悉AI,你可以用我们 pdf2app 这个工具一键生成游戏。

欢迎来和我们一起讨论游戏模板。


01

第一步:把人理解的知识变为 AI 可以调用的技能,PDF 变 Skills

先认识一下我选的这位大牛

1954 年,一位被誉为”日本推理小说之父”的作家完成了他毕生最疯狂的工程。

江户川乱步,这个名字本身就是对埃德加·爱伦·坡的致敬(Edgar Allan Poe 的日语谐音),他做了一件没有任何推理小说家做过的事:把自己读过的上百部日本和欧美侦探小说中出现的所有诡计,逐条拆解、分类、编号,写成了一本工具书。

这本书叫《诡计集成》(原名《续幻影城》),收录了 821 条推理诡计

不是 821 个故事,是 821 条”设计模式”——密室怎么造、不在场证明怎么伪造、尸体怎么藏、凶器怎么隐匿、时间线怎么篡改。用今天的话说,这是一本推理游戏的”设计素材库”。

离奇的动机、曲折的情节、怪诞又合理——这是江户川乱步笔下犯罪世界的底色。唐探里秦风随身带的那本推理秘籍?大概率参考的就是它。

问题来了:一本 PDF 怎么变成游戏素材?

pdf2skills:把书”打碎”再”重组”

这里要介绍一个工具——pdf2skills

它做的事情用一句话概括:从 PDF 中提取结构化的知识单元(Skills),过滤掉案例和叙述,只保留可操作的知识。

你可以把它理解为一个”知识炼金炉”。一本书丢进去,出来的不是全文摘要,而是一张张独立的”技能卡”。每张卡都有:

  • • 名称:这条知识讲的是什么(比如”密室诡计-机械密封法”)
  • • 原理:怎么运作的
  • • 线索与破绽:有什么漏洞可以被发现
  • • 适用场景:什么情况下会用到

《诡计集成》经过 pdf2skills 处理后,产出了 24 条有效 Skills,涵盖了完整的 9 大类分类体系

821 条诡计,9 大分类,24 张技能卡。

这一步的关键洞察是——游戏需要的是结构化的知识。 你不需要自己发明 821 条诡计,江户川乱步已经替你整理好了。你要做的,只是把这些知识”解锁”出来,变成机器能理解、能随机组合的格式。AI 能够基于这些技能,无限继续创造。

同样的逻辑适用于任何领域:一本中医方剂学能变成”配药游戏”,一本《孙子兵法》能变成”战略模拟”,一本《博弈论》能变成”囚徒困境”的交互实验…… 如果你有这样的想法,可以来一起交流。

知识是燃料,Skills 是火柴。你要做的是点火。


02

第二步:设计你的游戏——从 Skills 到可玩框架

有了 821 条诡计,下一步是什么?

不是写代码。是设计游戏

很多人在这一步犯的错误是直接开始”做功能”——先搞个界面、再接个 AI、然后看看能跑什么。这就像拿到一堆食材直接丢进锅里,不考虑是炒还是炖。

正确的顺序是:先想清楚玩家的体验是什么。

“上帝视角”:案件的底层架构

推理游戏的核心悬念是”谁是凶手”。但要让这个悬念成立,你需要一个自洽的案件——这意味着你得先站在上帝视角,把整个案件设计出来,然后再让玩家从碎片中拼凑真相。

我设计了一个叫做“上帝视角 Schema”的结构,它是每一局案件的底层蓝图:

这个 Schema 里的”动机”“诡计”“凶器”三个核心元素,直接从《诡计集成》的 Skills 中随机抽取。每一局游戏,AI 拿到三张随机的”技能卡”,然后在这个框架内编排出一个完整的案件。

一个 Schema + 随机 Skills = 无限案件。

AI 的任务不是”创作”,而是”在约束内填充”——就像给一个编剧发了剧本模板和素材包,让 TA 据此编故事。结构保证了案件自洽,Skills 保证了案件丰富,AI 保证了案件永不重复。

谎言体系:推理的”厚度”从哪来

如果每个嫌疑人都老实回答,那推理就不存在了。

推理的本质是从谎言中分辨真相。所以我设计了一个”谎言体系”——不只凶手会撒谎,其他嫌疑人和目击者也可能出于各种原因说假话:

7 种撒谎理由,让每一次对话都暗藏玄机。

凶手一定会撒谎,但不代表所有说谎的人都是凶手。这种设计让侦探必须区分”恶意的谎言”和”无害的谎言”——就像真实的刑侦一样。

红鲱鱼:让侦探走弯路

推理小说中有个经典术语叫”红鲱鱼”(Red Herring)——故意放置的误导性线索,让侦探往错误方向追查。

在游戏中,我为每一局案件自动生成红鲱鱼线索。比如:

  • • 在非第一案发现场留下可疑痕迹
  • • 让无辜嫌疑人有与案件看似相关的行为
  • • 在法医报告中放入看似关键但实际无关的信息

被误导是推理的一部分。 不走弯路的侦探,不是好侦探。

资源限制:紧张感的来源

最后一个设计要点——限制玩家的行动资源

无限质疑、无限搜查,推理就变成了穷举。所以:

  • • 3 次质疑机会:质疑成功不扣,质疑失败扣 1 次。用完就再也无法拆穿谎言。
  • • 3 次场景搜查:每次搜查一个场景,发现隐藏线索。5 个场景只能搜 3 个。
  • • 侦探评级:≤15 次操作为”果断侦探”,≤30 次为”谨慎侦探”,>30 次为”多疑侦探”。

资源有限,信息也有限。你必须在不完整的信息下做判断——这才是推理游戏”上瘾”的核心。

有一句话值得记住:好的游戏设计不是给玩家更多选择,而是让每个选择都有代价。

交互设计:让 AI 扮演所有 NPC

最后是交互。传统推理游戏的对话是预设脚本——你问什么,NPC 回答都是固定的。

我的做法不同:让 AI 扮演所有 NPC。每个嫌疑人、目击者、法医,都有自己的人设、秘密和情绪。你可以自由提问,AI 会根据角色背景实时生成回答。

这意味着——

你问”那天晚上你在哪”和”你跟死者最后一次见面是什么时候”,同一个 NPC 可能给出完全不同的信息量。提问的角度决定了你能获取多少真相。

审讯是一门艺术,不是点击选项。

到这里,游戏的框架设计已经完成了:

玩家体验流程: 阅读案件简报 → 审讯嫌疑人(AI 实时回答)     → 搜查场景(发现隐藏线索)→ 质疑谎言(拆穿或失败)     → 填写档案卡(凶手、动机、凶器、死因、第一现场)     → 提交 → 揭晓真相 → 完整案件复盘 

请注意,到目前为止,我们一行代码都没写。


03

第三步:一天做出可玩 Demo

Vibecoding:让 AI 写代码

三个月前,”把设计变成代码”是整件事最难的一步。但现在,这是最简单的一步。

我把《诡计集成》生成的 24 个 Skill 文件放进一个文件夹,打开 Claude Code,输入需求。

Claude 先进入了 Plan Mode——它读完了 30 多个 Skill 文件,理解了整个推理知识库的结构,然后设计了完整的架构方案。我确认后,它开始往外”吐”代码。

82 个模块,604 毫秒构建完成。

第一天下午 4:30 开始,到晚上——一个完全可玩的推理游戏原型已经在浏览器里跑起来了。

一次性生成的文件结构: ├── types/          # 类型定义(案件、角色、场景、游戏状态) ├── data/           # 数据层(动机模板、诡计模板、凶器模板、人名库) ├── engine/         # 引擎层 │   ├── caseGenerator/   # 案件生成(含线索生成、谎言生成、不在场证明) │   └── npcEngine/       # NPC 对话引擎 ├── store/          # Zustand 状态管理 ├── pages/          # 4 个页面(开始、简报、调查、结果) └── components/     # 6 个组件(头部、侧栏、对话面板、场景面板……) 

整个项目用的技术栈:React 19 + TypeScript + Vite + Zustand + Tailwind CSS。如果你不懂这些技术名词,没关系——重点是,你不需要懂。Claude Code 全包了。

AI 案件生成管线:对抗不确定性

最有意思的技术环节是 AI 案件生成管线。

每一局新游戏开始时,系统从 Skills 中随机抽取 1 个动机、1 个诡计、1 个凶器,拼成一个 prompt 发给 AI 大模型,让它生成完整的案件数据。但 AI 的输出是不确定的——有时候 JSON 格式错了,有时候字段缺失,有时候返回的内容逻辑不自洽。

Claude 为此构建了一整套容错机制:

  1. 1. 双路径生成:先尝试 AI 生成,失败了自动降级到本地模板生成
  2. 2. 多层 JSON 解析:正则提取 → 直接 parse → 清理尾部逗号和未加引号的键
  3. 3. 字段修复:缺失的简报自动从受害者信息生成,场景不够自动补默认场景
  4. 4. 超时兜底:从最初的 90 秒一路调到 180 秒

这套管线的设计哲学是:永远有降级方案,永远不让玩家看到空白屏幕。

推理深度的打磨

Demo 跑起来后,第一轮试玩发现了一个严重问题——凶手太明显了

原因是 NPC 对话引擎给凶手和无辜者设置了完全不同的情绪标签:凶手被问到不在场证明时”眼神闪躲”,无辜者”坦然”;凶手被追问动机时”防备”,无辜者”诚恳”。

AI 把凶手的心虚演得太到位了——根本不需要推理,看表情就知道谁是凶手。

解决方案:消除情绪差异。

统一所有角色的情绪表现——按性格分配,而不是按身份分配。一个性格暴躁的无辜者,回答问题时照样横眉冷对。一个沉稳内敛的凶手,说谎时面不改色。只有在关键话题被反复追问时,凶手才会流露出轻微的不自然。

好的推理游戏不让你”看出来”,而让你”推出来”。

类似的打磨还有很多——

档案卡选项的正确答案总排在第一位(Fisher-Yates 洗牌算法修复),质疑成功后的回应太模板化(改为基于性格的多变体随机生成),线索重新解读的文本直接暴露凶手(改为第三人称、聚焦可观察事实)……

这些细节,每一个都需要真实试玩才能发现。游戏设计 30% 是框架,70% 是打磨。

从 1.0 到 2.0:后端、Roguelike、和一个有记忆的法医

如果故事到这里结束,它只是一个 Demo。但一个推理迷不会满足于”能玩”——他要的是”上瘾”。

Day 4-5,完整的后端架构上线——Express + PostgreSQL + Redis + JWT。游客登录、自动存档(10 秒防抖)、种子码系统(6 位分享码,发给朋友可以重玩同一个案件,你可以试试这两个:PAY9BN2XQ296)、档案库(查看历史案件的完整复盘)。

Day 9-16,让游戏真正”上头”的东西来了——Roguelike 元素。

每局开始,系统随机给你一个”侦探状态”。可能是 Buff,让你如虎添翼;也可能是 Debuff,逼你在绝境中破案。4 种 Buff + 5 种 Debuff

同一个案件,抽到”官方授权”和抽到”宿醉侦探”,完全是两种游戏体验。这就是 Roguelike 的魅力——每一局都是全新的牌局。

然后是那些让这个游戏有”温度”的设计:

法医伙伴系统——法医是侦探永远的搭档。我给法医加了跨案件记忆。你的每一次探案,法医都记在心里。下一局开始时,它会根据你上一案的表现问候你:”上次那个案子你做得不错,这次的情况有些棘手……”从今天开始的所有探案,法医都会记住。

神秘人的信件——当你问询次数达到 25 次时,一封匿名信件会悄然出现,暗示与动机相关的场景。不会直接告诉你答案,但会把你推向正确的方向。

警察厅的重视——当你问询达到 35 次时,警方总部会额外授予你搜查机会。这两个机制像侦探小说里的”转折”——在你快要放弃的时候,突然出现一线曙光。

每日挑战——每天系统自动生成一个案件,所有侦探面对同一个案件竞争。排行榜上比的是:谁用更少的操作、更精准的判断破案。你可以和其他侦探同台竞技了。

成就系统——11 项成就,4 大类。有些很容易(“完成第一个案件”),有些极难(“在 10 步以内破案”)。成就猎人狂喜。

从 Day 1 到现在,一个人 + Claude Code,从一个 Demo 长成了一个有 9 种 Roguelike 状态、每日挑战、法医记忆、神秘人信件、完整后端的推理游戏。

整个过程中,我始终是”导演”角色——提需求、做决策、试玩找 Bug、想新点子。Claude Code 是不知疲倦的”全栈工程师”——写代码、调架构、修 Bug。

人机分工的精髓在这里体现得淋漓尽致:人类负责创意和品控,AI 负责执行和迭代。


04

从一个游戏到无限游戏

做完推理游戏后,一个更大的想法浮出水面。

如果《诡计集成》能变成推理游戏,那《孙子兵法》能不能变成战略模拟?《本草纲目》能不能变成中药配方实验?《心理学导论》能不能变成心理咨询情景练习?

答案是能。因为底层逻辑是通用的:

这不是一个游戏的故事,这是一个框架的故事。

我后来把这个流程抽象成了 Skills2Game 框架——输入任意 Skills 技能包,通过结构化问答引导用户选择游戏形式和核心机制,自动生成设计文档,再从文档直接生成可运行的游戏代码。

PDF → Skills → App。这是一条通用管线。

这个模板还不够丰富以及细致,我正在迭代,邀请你一起。

若加满,可加 18501790646,备注pdf2game

你也可以做一个

回到最开始的问题:如何创造一个好玩的游戏?

三步:

第一步,找到你的”知识燃料”——任何一本 PDF、一份技术文档、一套专业知识。用 pdf2skills 把它打碎成结构化的 Skills。网站在这里:https://pdf2skills.memect.cn/quick-start

第二步,设计你的”玩家体验”——不要从功能出发,从体验出发。玩家在你的游戏里要做什么决策?承担什么后果?知道什么、不知道什么?用什么资源限制来制造紧张感?

第三步,把 Skills + 设计文档交给 AI,让它帮你实现。Claude Code、Cursor,任何 Vibecoding 工具或者 我们pdf2app都行。不需要你会编程,但你需要会”说需求”。

游戏好不好玩,取决于你的游戏设计,而不是代码。代码只是把设计变成现实的手段。

知识 × 设计 × AI = 游戏。

如果你也想试试,推理游戏在这里:http://skills2app1.memect.cn/

打开它,试着找出凶手。然后想想——你手边有什么知识,可以变成什么样的游戏。

那 821 条诡计正等着你。


本文作者是我们团队一个00后小姑娘,本文用第一人称视角撰写。

全文完,感谢您的阅读。

调研 & 撰写:AI(Claude) 主导 & 审校:鱼头头

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » pdf2game:一本推理笔记变为AI无限推理游戏全过程

评论 抢沙发

1 + 4 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮