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. 双路径生成:先尝试 AI 生成,失败了自动降级到本地模板生成 -
2. 多层 JSON 解析:正则提取 → 直接 parse → 清理尾部逗号和未加引号的键 -
3. 字段修复:缺失的简报自动从受害者信息生成,场景不够自动补默认场景 -
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 位分享码,发给朋友可以重玩同一个案件,你可以试试这两个:PAY9BN、2XQ296)、档案库(查看历史案件的完整复盘)。
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) 主导 & 审校:鱼头头
夜雨聆风
