我是如何构建 LennyRPG 的

用 AI 将 300+ 集播客转录稿变成一个有趣、可玩的 RPG 游戏。

摘要

本文作者 Ben Shih(Miro 的产品设计师,非技术背景)用 AI 工具将 Lenny's Podcast 的 300 多集转录稿变成了一个宝可梦风格的 RPG(角色扮演游戏,Role-Playing Game)——LennyRPG。玩家在像素世界中探索,遇到播客嘉宾,通过产品知识问答对战,胜出后"捕获"嘉宾加入收藏。文章完整呈现了从构思、AI 访谈生成 PRD(产品需求文档,Product Requirements Document)、概念验证、规模化处理数据、到最终发布的全流程,并分享了三条核心经验:用创造力而非执行速度取胜、把 AI 当协作者而非工具、AI 不能替代好的 UX 判断。


一、核心构想:宝可梦 + Lenny's Podcast

几个月前,Lenny 将 300 多集播客转录稿结构化并公开发布。作为多年听众,Ben 感到这是一个时机窗口——正如 Brian Balfour 所说,如果你抓住正确的时机,就找到了真正的机会窗口。

最初的想法是做一个"Lenny 面试模拟器"——让用户与 Lenny's Podcast 的嘉宾练习求职面试。但 Ben 越想越觉得不对:面试练习工具天然带有压力感,而他想做一个有趣的产品

于是核心构想诞生了:

把 Lenny's Podcast 变成一个宝可梦风格的 RPG。玩家探索像素世界,遇到播客嘉宾,通过产品知识问答与他们对战,获胜后"捕获"他们——就像抓宝可梦一样。

对于视觉密集型产品,Ben 强调花时间做可视化能极大帮助后续 AI 理解需求。他把宝可梦截图拖入 Miro(在线协作白板工具),在上面用文本框和方框标注出地图、对战界面和角色外观的构想——不需要精致的设计稿,足够让 AI 理解意图即可。

同时,他用 ChatGPT 生成了一批测试用像素风角色头像(avatar),核心目的是验证内容生成工作流和调试提示词(prompt)。关键操作:把目标风格参考图和真人照片一起输入 ChatGPT,生成后让 AI 反推出完整的风格描述提示词,以便后续批量复用。


二、PRD:让 AI 面试你

Ben 的 AI 构建流程六步法:核心构想 → PRD → 概念验证(POC,Proof of Concept) → 添加功能 → 打磨 → 发布。这与 AI 时代之前并无本质不同,但前两步的投入决定后面 80% 的顺利程度。

他的 PRD 策略非常独特——不让 AI 替你写 PRD,而是让 AI 面试你

具体做法:把核心构想和可视化草图粘贴给 ChatGPT,然后用以下提示词:

"向我提问,帮助你为以下网页游戏整理一份简要 PRD:我想创建一个小游戏,把 Lenny's Podcast 的所有集数生成问题,做成宝可梦 RPG 风格的游戏……"

ChatGPT 返回了 17 个问题。Ben 把问题搬到 Miro 中可视化,用 Wispr Flow(语音输入工具)口头回答。这个过程不仅给了 AI 远超一段描述所能提供的上下文,还迫使他思考想法中的漏洞和假设

回答完所有问题后,他将答案与 Miro 中的所有素材(截图、草图)链在一起,让 AI 生成了一份全面的 PRD。这份文档成为整个构建过程中的唯一真相来源(single source of truth)——每当 AI 遇到瓶颈或上下文窗口耗尽,都可以让它回到 PRD 重新对齐。


三、概念验证:从 RPG-JS 到 Phaser 的曲折之路

Ben 的编码工具栈是三人分工:

工具 角色 职责
Claude Code 首席工程师 起草实现计划、架构推理、搜索开源库和解决方案
Codex 执行工程师 按实现计划精确执行任务,Token 限制更宽松
Cursor Composer 辅助助手 格式化文档、JSON 文件、简单脚本等小任务

他将 PRD 转为 Markdown 放入 Cursor,首先让 Claude Code 搜索开源项目加速。很快就找到了 RPG-JS,一个 RPG 游戏框架——五分钟就跑通了基本流程:地图移动、遭遇区域、基础 UI。

但问题很快暴露:RPG-JS 围绕背包系统和武器战斗设计,而 LennyRPG 的战斗是问答和逻辑驱动的。越尝试扭曲框架,AI 越难理解系统。与 Claude Code 讨论后,Ben 果断放弃,转向 Phaser 3——一个更灵活的 HTML5 2D 游戏框架。

然而灵活性意味着更多工作量。在 Phaser 中搭基础地图就花了很多精力。Claude Code 找到了一篇包含开源地图模板的 Medium 文章,大幅提速。但 Phaser 的复杂性意味着大量细节需要迭代:字体导入、UI 定位、Canvas 编辑……

一个关键技巧:让 Claude Code 创建一个 Markdown 文件记录所有尝试(什么有效、什么无效),随着代码库增长,这个日志让 AI 能持续理解上下文,哪怕是改字体这样的小事也不容易出错。

经过这些挑战,游戏终于达到了可玩状态:起始界面、地图、对战界面端到端跑通。Ben 在办公室做了轻量级非正式测试,核心问题是:玩家第一眼能理解怎么玩吗?核心循环合理吗?最重要的是——感觉好玩吗? 这些反馈给了他将 POC 扩展为完整游戏的信心。


四、规模化:处理 300+ 集转录稿的系统化方法

从 POC 到完整游戏的核心挑战不是功能,而是系统化处理大规模数据

4.1 结构化处理 300+ 转录稿

Lenny 提供的转录文件只有纯文本。Ben 先用 Cursor Composer 拉取播客 RSS 源(RSS Feed),为每条转录附加标题、链接、封面图等元数据(metadata),形成完整的可用数据集。

然后用 Claude Code 创建了一个 CLI(命令行界面,Command Line Interface)工具,系统化地调用 OpenAI API 为每集生成 5 道问答题。指令很简单:

"创建一个 CLI 命令工具,逐个读取 /transcript 文件夹中的转录稿,为每份生成 5 道题,按制定要求输出 JSON 格式……"

大约 20 分钟后,得到一个直接可嵌入游戏的结构化 JSON 文件。

4.2 250+ 角色头像的生成噩梦

每个播客嘉宾需要一个像素风 RPG 头像,手动下载照片逐一生成将耗费大量时间。Ben 的解法:每集 Lenny's Podcast 的封面图本身就包含嘉宾头像。他让 Cursor Composer 从 RSS 源抓取封面图 URL,下载到本地作为头像生成输入。

一致性是最大难题。他在 OpenAI Playground 中反复测试和优化提示词,测试不同模型(最终使用 gpt-image-1.5),直到每张头像风格统一。

然后再次用 Claude Code 写了一个 CLI 工具,一键批量生成所有头像。但——每张输出仍需人工逐一检查尺寸、风格、是否与嘉宾真人匹配。这步还发现了好玩的边缘情况(edge cases):比如 Adam Grenier 的播客封面图上真的有兔耳朵,差点被删掉;还有两人同框的剧集(如 Jake Knapp 和 John Zeratsky),需要让 AI 为每个人单独生成头像。

4.3 Claude Code 的魔法:背景音乐

音频对游戏至关重要。Ben 只输入了一句:"帮我搜索每个阶段的背景音乐,带静音控制。" Claude Code 自动找到了 OpenGameArt.org(开源游戏音频库),不仅为地图场景添加了音乐,还自动为对战界面、胜利画面和失败画面分别配乐。只需微调时间和音量——"那部分真的像魔法一样。"

4.4 游戏机制设计

Ben 手动设计了规则:

他用常识和反复试玩来调试平衡性,AI 仅用于数学校验和边界情况检查——最终的感觉判断由人来做。

4.5 通过 MCP 连接 Supabase 排行榜

排行榜是游戏的竞争维度。Ben 在 Claude Code 中设置了 Supabase MCP(模型上下文协议,Model Context Protocol),只需描述"我要一个与 Supabase 同步的排行榜",MCP 就自动调用 create_projectapply_migration 等工具创建项目、数据表和连接——几乎不需要写后端代码。结果是一个实时同步玩家进度的可用排行榜。


五、打磨与发布

发布前聚焦于减少摩擦和明显问题,而非添加新功能。

QA 检查:从 Claude Code 的 Awesome Skills marketplace 下载了 review skill,用于全面审查代码库,尤其擅长捕捉场景间状态问题、缺失的错误处理和多次游玩才暴露的逻辑 bug。

UI 打磨:端到端过一遍,将所有 UI/UX 不一致(间距、文本溢出、标签不清、对齐问题、视觉层级)记录到 Markdown 文件中,然后让 AI 逐条修复。清晰描述问题后,这个方法出奇高效。

SEO(搜索引擎优化):用 Claude Code 处理了页面标题、meta 描述、社交预览和基础索引——对游戏类网站够了,主要确保可索引、可分享。

最终通过 Vercel 平稳部署。Ben 在 Lenny 的社区 Slack 中联系他做快速审核,得到了意想不到的热情回复——这就是那一下"推一把"就发布了的契机。Lenny 在 X(Twitter)上分享后,反响远超预期。


六、经验教训

1. 用手中的工具发挥创造力

AI 让"能不能造"不再成为瓶颈,创造力比执行力更重要。不要问"能做什么",而是问"什么有趣?""什么有点荒唐?""没有 AI 我绝不会尝试什么?"Ben 想做游戏很久了,但时间和技术的门槛一直太高——AI 把门槛降到了值得一试的程度。

2. 卡住时,信任 AI——不只求答案,更求清晰

最大的解锁:把 AI 当作帮助结构化思考的协作者(collaborator),而非执行命令的工具。 思路清晰后,一切都快得多。

3. AI 不是糟糕 UX 的借口

AI 生成的输出技术上能跑,但用起来可能别扭、令人困惑甚至沮丧。如果 Ben 发布了 AI 产出的第一版,游戏能运行,但不会好玩。

核心循环的感觉、UI 的细节、用户的情感体验——这些东西仍需意图、品味和判断力。AI 可以帮你跑得更快,但不能代替你对"真人如何体验你的产品"的深思熟虑。这部分,仍然靠你自己。


试试看! 玩游戏:www.lennyrpg.fun

Ben 是 Miro 的 Growth Designer,喜欢创建小而有趣、有想法的产品。更多作品:benshih.designLinkedIn

原文链接:How I built LennyRPG