20 年前我在书店翻到过一本《电脑游戏设计》,扉页印着「用 C++ 从零开始」。我当时十六岁,把书抱回家,翻了两页,被指针卡在了第一章第三行——然后就没再碰过它。
那是 2006 年。我 16 岁。
18 年后我打开一个终端,敲了一行命令,38 天,一个可玩的独立 RPG 上线了。80 只灵兽、24 条进化线、6 个 BOSS、11 章剧情、可玩的每日挑战、可看的内容热更后台——不是「demo」,是能上手机能存档能挑战别人的成品。
这篇文章不是「AI 帮你写代码多快」的爽文,也不是「5 大技巧教你造游戏」的清单。它是踩坑记录——AI 帮了我什么、AI 坑了我什么、AI 判错的判据长什么样。
老魏 · 工程实践 · 38 天上线实录 | 80 灵兽 · 24 进化线 · 5 个 AI 反例 · 1 个 20 年闭环
PART 01 · BACKGROUND · 起点
20 年前那本《电脑游戏设计》我没读完,指针那一章后来我自己绕过去了。这二十年里我做过 Java 后端、做过 PHP 电商、做过 React 前端、做过 AI 应用——从来就没做过一个完整的游戏。
不是不想。是门槛。
一个可上线的 RPG,你需要什么:游戏引擎、渲染、状态机、AI 生图管线、数值平衡、后端内容管理、发布流程、监控、版本迭代。任何一环你不懂,都会卡住。传统路径是——先花一年学 Unity/Cocos,再花半年看数值,再花一年做内容——三年起步,还没开始。
AI 编程把这三年压到了 38 天。
9 月 18 日(Day 1),我在终端里跟 AI 敲了一句话:「搭一个 Phaser 3 的回合制 RPG 骨架,vanilla JS,不引任何 UI 库。」
AI 给的第一个建议是「纯 Phaser 全栈做菜单+结算+战斗」——我把它怼回去了。理由很简单:菜单和结算页是 DOM 的自然形态,硬塞到 canvas 里是给自己挖坑。菜单要读表单、要显示文本、要有可点击的元素;DOM 天生就有。canvas 得自己造一遍。
这条架构判断 AI 给不出。它给的是「主流做法」,我给的是「哪个部分不该用主流做法」。
Day 1-3:Phaser 3 + vanilla JS 骨架跑通。战斗是回合制的,先不追求好看,先追求「能打、能死、能重来」。3 天搭完。

PART 02 · TIMELINE · 38 天是怎么过的
整个项目的 38 天,我按阶段拆成 6 段。每一段的产出,都是能被截图证明的。
Day 1-3(骨架):Phaser 3 战斗核心 + vanilla DOM 菜单/结算。无框架 UI 库。这一层 AI 帮的最大忙是让我不用去看 Phaser 那本 600 页的 API 手册——它记得比我清楚。
Day 4-15(内容爆发):80 只灵兽立绘 + 数据管线。这一步 AI 生图 + 我写提示词 + 我人肉编排 sprites.js。80 个不是「生成 80 个」——是「生成 → 挑 → 修 → 挑 → 修 → 挑」,每只灵兽平均过 4-5 版。
Day 16-25(后端 & 内容热更):Express 后端 + Admin 后台 + 内容热更。核心设计是 6 张 content_* 覆盖层表——把游戏内的灵兽、道具、遗物、词缀、天气、成就都做成「覆盖层」,游戏客户端启动时拉一份 /api/manifest(30 秒缓存),本地拿不到就 fallback 到代码里的默认值。这一步的意义是:我不再需要发版就能改数值。
Day 26-32(数值 REVAMP 收官):从 P6 到 P15,跑了 10 轮。审计脚本从 7/19 通过涨到 20/20,模拟测试从 8/13 涨到 12/13。剩下没通过的那 1/13,是我算了一遍决定「这条用例本身就是错的」。
Day 33-35(视觉补齐):Swap 蓄势 chip、印记 Layer dots。UI 的最后 5% 花了 3 天。
Day 36-38(R164 上线):过闸门 → 部署 → 监控 → 收工。
38 天。不是「用了 AI 之后 38 天」,是从空目录到上线的 38 天。
PART 03 · SCALE · 一个能上线的 RPG 到底有多大
先摆数字,2026-10-24 我自己跑的 census:
- 80 只灵兽——普通 24 / 稀有 24 / 精英 24 / 传说 8
- 24 条进化线——每只可进化 1-2 次,链路不重复
- 81 个招式 · 74 件遗物 · 44 个道具
- 6 种地形 · 敌方词缀 24 + 敌怪 12 + 特性 8 · 招式改造 7
- 11 章剧情——最后一章「裂隙回廊」51~60 波
- 6 个 BOSS · 每日挑战 7 + 天气 6 · 双形态 · 回廊之心
- 30 个成就
这个量级意味着什么?不是「80 张图画」——是 80 × 招式分配 × 属性表 × 进化链 × 剧情定位 × 落地测试。任何一个数字改坏,都会让某条路径走不通。
内容热更的价值在这一刻才体现:我不用发版就能调数值。改一次 content_spells 表的 JSON,30 秒内所有在线玩家的手机都能读到新数据。

PART 04 · PAIN POINTS · AI 判错的五个现场
写到这里,我本来可以开始写「AI 帮我省了多少时间」的爽文。但我不能。因为接下来要讲的这五个反例,每一个都是 AI 自信地错了,而且每一个都是我人肉发现、不是 AI 自己发现。
如果你也在用 AI 做严肃项目,这一节值得截图存下。
反例 1:weather RNG 泄漏,AI 没发现
问题:模拟测试(sim)跑出的 baseline 分数,从 5.34 / 4.54 漂到了 5.06 / 4.67。两个数字都是真的、都是「今天跑出来的」。但它们不对。
AI 的诊断:AI 说「数值整体下移了 0.3-0.4,可能是最近改的某个数值平衡」,然后给了一个改动建议列表。
真相:sim harness 没冻结日期。代码里有个 weatherForDate(date) 函数按日期取天气。我跑 sim 那天恰好是 w_scorch(灼烧天气),w_scorch 会给玩家加一层额外伤害。baseline 的数字不是被改坏的,是被当天天气改的。
AI 没发现的原因:它看的是「数字变了」,没看「数字为什么变」。冻结日期这个操作,是测试工程层面的常识,不在它看的那份数值 diff 里。
教训:所有随机源都要能冻结。AI 不知道这件事,你必须知道。
反例 2:判据本身写错了
问题:AI 说 SQUAD 阶段(双敌同屏)的「精英怪威胁度」不是最高的。
AI 给的判据:把两只怪的 total-threat 相加比较。
AI 的结论:total-threat 最高的往往是普通双怪,不是精英。所以「精英更强」这个直觉是错的。
真相:判据错了。SQUAD 机制下 total-threat 数学上必然让精英非峰——因为精英通常只有 1 只但强,普通怪有 2 只但弱,加起来总量普通怪更高。per-foe threat(单怪威胁)才是对的判据。
教训:AI 会给你一套「逻辑上自洽」的判据。你要做的是判断这个判据本身对不对。这一步 AI 帮不了。
反例 3:记忆过时,AI 自信地给了错误答案
问题:我让 AI 检查第 11 章「裂隙回廊」的进度。
AI 的回答:「CHAPTERS_11 目前未启用,需要等 P15 之后。」——引用了一份它之前写给我的开发笔记。
真相:R165 就把它做完了。这份笔记是 R150 那会儿的,已经过时 15 个迭代。
教训:AI 会读它自己写的旧文档并「自信地引用」。你必须 grep 代码、看真实状态。任何「AI 说的」都要能落到代码行号。
反例 4:发布闸门三误报
Day 36 上线那天,AI 跑了三遍发布前检查,报了三个警报:
- 「Chrome 环境抖动导致页面 404」——不是真故障,是检查脚本自己刷新时机不对。
- 「weather RNG 未冻结」(同一个坑第二次)——上次教训没被内化。
- 「敌方词缀池应该 14 个但只加载了 8 个」——扩容滞后,词缀池从 8 扩到 14 是这版本的事,但检查脚本还是老版本。
三个警报,三个都是 AI 误报。我人肉逐条核完,全部拦下,没让任何一个进入上线。
教训:AI 会重复犯错。教训不会因为讲过一次就内化。检查脚本要跟着版本走。
反例 5:Phaser 全栈强推
Day 1 那个架构分歧(PART 01 结尾)没白吵。Day 5、Day 12、Day 20,AI 每次都会建议「用 Phaser 场景管理把菜单也搬进去」。
我全部拒绝。
不是「AI 错」——菜单确实可以搬到 canvas 里做。是「没必要」。DOM 菜单能读表单、能无障碍、能改文案不发版。canvas 菜单得自己写一套表单解析器。
AI 会推荐「统一技术栈」这种「主流做法」。你需要判断的是「统一」值不值这个成本。

PART 05 · JUDGEMENT · 到底谁在决策
写完五个反例,你会发现一个模式:
- AI 帮的最大忙:查 API、写样板、生成图片、跑脚本。
- AI 判错的地方:判据本身对不对、测试该冻结哪些随机源、旧文档什么时候过时、检查脚本该跟哪个版本走、某个「主流做法」值不值得用。
共同点:AI 判错的五件事,全都是「判断」层面的问题。它写代码没问题,它给建议没问题,但判断「这个建议对不对」这件事,它做不到。
这不是 AI 编程工具的局限,是所有工具的共同边界——工具不能替你做架构判断、不能替你判断判据、不能替你判断测试覆盖。
20 年前我没做成游戏,卡在「不懂 Unity」;今天我能做完,不是 AI 教了我 Unity,是 AI 让我不用查 API 就能推进到「要判断架构」的那一层。判断这一层我 20 年里在别的地方练过了——后端、前端、AI 应用——所以 AI 一松手,我就接住了。
这大概是这次项目最反直觉的一点:AI 编程并没有降低门槛,它只是把门槛往前挪了 20 年,让那些早就跨过了前 20 年门槛的人,能跨过下一段。

PART 06 · SUMMARY · 一句话结论
20 年前那本《电脑游戏设计》我一直留着。38 天前我把它拿出来重新翻了一遍扉页——然后没翻第二页。因为我知道第二页那本指针的书已经不重要了。
38 天后我做完了。
如果你也在用 AI 做严肃项目——不管是什么品类,游戏只是巧合——记住这五句话:
- 冻结所有随机源
- 判断「判据本身对不对」
- 不信 AI 引用的旧文档,去 grep 代码
- 检查脚本跟版本走,不然会重复误报
- 「主流做法」不等于「你该这么做」
AI 帮你省时间,但不是替你判断。工具越锋利,握刀的手越重要。
20 年前那本《电脑游戏设计》,我合上它,走进终端。
游戏地址:https://www.walert.xyz/rogue/ · 备用:https://spirit-rogue-phaser.app.workbuddy.host/
我是老魏,一个把 AI 编程工具踩了几年的程序员。这篇文章所有数字来自 2026-10-24 census 与 38 天开发日志,作者本人记录,未经第三方审计。
觉得有用就点个关注,咱们下期见。
