开发者 Emm Tee(@builtbysketch)在 2026 年 9 月 12 日发了篇长文,复盘他用 GPT-6 Astra 从零开发完整可玩游戏 PaperRoute 的全过程。这条帖子在 X 上拿到 1093 次点赞。他想回答的其实是一个问题:单次 prompt 确实能写出让人惊艳的 demo,但要把 demo 推进成一个完整的游戏,得走一条完全不同的路。
PaperRoute 是一款致敬 Paperboy 风格的送报游戏。场景设在美国郊区,核心玩法是玩满一周七天的送报路线。游戏里有订阅用户和非订阅用户的区分,有在后面追着咬的恶犬、马路上的车,还有斜角追踪相机。项目代码全由 GPT-6 Astra 编写,3D 模型全是在 Blender 里搞定的。游戏跑在 paperroute.lol,配套开发日志详细记录了每个检查点、渲染图和工时数据。
他把这套方法叫作 runbook。因为他全程精确记录了工时和 token 消耗,所以能给出实际消耗,而不是凭感觉估算。下面是这套开发流程的实际步骤拆解。

先写一份自己已经相信的 brief
游戏的核心概念不是 Astra 凭空想出来的。2026 年 7 月,他写过一份 brief,想用当时的大模型复刻一个现代版的 Paperboy。里面定好了具体的设计指标:周一到周日的送报路线、订户和非订户机制、恶犬、车辆、斜角相机,还打算同时做原生 iOS 和网页版。但当时技术不太行,项目只做了一条灰盒街道和一个骑手就卡住了,在 7 月直接搁浅。他说,那时候大模型的极限也就是勉强生成一辆结构畸形的自行车。

GPT-6 Astra 发布并放出 demo 之后,他觉得这个模型能带得动这个项目了。于是他重新写了 brief,用大白话描述原版游戏的核心机制,并定好了交付标准。
这个阶段他主要做两件事:基础游戏机制,以及参考原版 Paperboy 的透视视角。他不是为了单纯复刻,而是想把经典概念做个现代化重构。在初始化模型上下文时,他直接把最经典的原版机制喂给模型。对自行车投递游戏来说,原版设计就是最好用的冷启动样本。

他的开发流程有一条铁律:先跑通核心机制,好玩了再去迭代美术。这让他少走了很多弯路。
把美术方向和游戏方向拆成两条任务
他把后面的工作拆成了两条线,给 Astra 发了两个独立的任务:一个是视觉美术,一个是游戏工程。这两个任务放在同一条会话里同步往前推。
第一版一次性生成的原型已经能跑起来了。他保留了 Astra 设计的等距视角和基础玩法,把修改重心放在游戏机制、相机轨迹和操作手感上。初版 demo 看起来很像那些在社交媒体上刷屏的半成品:一次性生成,看着挺好看,概念也有趣,但 UI 界面千篇一律。

在验证核心玩法的阶段,必须死盯着概念和机制。太早去抠复杂的美术资产,只会分散模型的注意力,没法好好打磨核心玩法。
这个拆分策略第一晚就见效了。Astra 在半夜前通过 6 次提交交出了浏览器版本,搞定了物理模拟、带虚线轨迹的抛物线投掷、信箱碰撞计分,还做完了最后收尾在公园滑板场的整条路线。更省心的是,模型写代码的同时把测试用例也补全了。这样后面频繁换美术资产时,就有了一套稳妥的自动化测试垫底。

定下美术风格,两条线并行推进
调好基础视角和操作手感后,项目开始同时优化美术风格和物理机制,重点调校扔报纸的手感。
美术资产的生成走了一条不一样的路。在游戏编译的时候,他跳出 Astra,用 ChatGPT 来做美术概念设计。他喂给 ChatGPT 参考图,生成概念图和情绪板。他特别说明过,美术风格并不是网上瞎传的“吉卜力”风,他写的提示词是“一部凉爽的日本夏日微风吹拂的电影感作品,带手绘笔触质感”。ChatGPT 按照这个描述生成了风格情绪板,作为后面 3D 资产调校的视觉标准。


在这个阶段,他刻意不给模型一次性塞太多视觉细节描述。
在管理工作流时,他说自己虽然习惯把任务开分支,但这次配合调校好的 T3 code form 工作流,他选择待在同一条会话里一直迭代。测试发现,Astra 应对上下文打断和恢复的能力比 Fable 强得多,打断之后还能接得上。
两条线通过一条条提示词往前迭代。Blender 在后台用无头模式跑,一直输出高精度渲染图和测试结果。这期间,游戏 demo 一直挂在公网测试地址上,随时能点开玩。
游戏引擎这条线全是无聊的重复劳动,但他觉得这才是必须硬啃下来的路。具体任务包括:松开按键得立刻停下转向响应,加个碰撞无敌帧省得撞上垃圾桶时连续扣血,写恶犬的追逐算法和用报纸引诱它的机制,适配手机端的拖拽转向、按住蹬车和轻触投掷。每个细节都按照“写提示词、浏览器里看效果、提交代码”的流程反复跑。
用 Python 脚本跑 Blender
美术资产这边全靠 Blender。Astra 不需要打开 Blender 的图形界面,而是直接写 Python 脚本,用无头模式跑 Blender。这个过程没接 MCP。
场景里的房子、树木、栅栏和信箱都是用独立的脚本生成的,脚本负责建网格、拆材质通道并做 GLB 格式导出。第一波产出是独立的美术概念稿,包括房子剪影、植物形状和街道小道具,单独渲染出来看效果,先不直接塞进游戏。接着再做模块化的房子组件、高密度的院子场景和手绘质感的贴图。到第二天上午十点,他已经搞定了七组房子模块。
把两条线拆开是他极力推荐的工程经验。要是 3D 模型结构出了问题,你还在同一条会话里争论扔报纸的物理机制,大模型的上下文很容易就乱套了。
角色建模卡住时用 Meshy
他提到 Astra 的建模能力是有天花板的。虽然做房子这种规则的几何体很顺手,但要想做出高精度的美术效果,免不了要用提示词反复调校。


骑手主角一开始看起来像个木头人偶。试了几次发现 Astra 确实搞不定复杂的人形建模,尤其是脸部细节。这时候比较靠谱的工程方案是:要么找开源的 Blender 资产,要么针对特定角色去接 Meshy 的工作流。
具体的角色生成流程是:先在 ChatGPT 里画出角色原画,然后导进 Meshy。他花了 8 美元买了大概 300 次生成额度。Meshy 拿着原画直接吐出 3D 模型文件,再让 Astra 去做多边形减面,最后做出能用的定制 3D 资产。
他对比了两种办法。光靠 Astra 去迭代人形,烧掉大量 token 却毫无进展,拓扑结构也根本没法用。换成 Meshy 工作流之后,这个瓶颈很快就解决了。把生成的模型跟自行车骨架对齐、装配花了好几轮调试,出来的效果基本能达到上线标准。这部分其实还有优化空间,得继续花提示词去磨。

原文在这里提到,把骨骼绑定做规范,后面做动画时就不会处处受限。
补细节,并搭起审查循环
他的工程直觉很准:一次性生成的游戏根本谈不上细节和设计深度。概念新颖固然好,但定制动画和精致的 UI 才是拉开差距的关键。
他承认现在的 AI 工具生产力高得吓人,但也强调在现阶段,品味仍然是护城河,还得有足够的工程耐心。在这个项目里,超过 80% 的对话时间和 agent 调用轮次都花在抠细节上,比如修补破损网格、写提示词反复调校,而不是搭基础的游戏框架。
这些精细的调整让 PaperRoute 的质感提升了一大截。Astra 写了 Blender 脚本,在严格控制多边形面数的前提下,保住了角色的脸部特征、一缕缕头发和帽檐结构。他重新做了手臂和袖子的网格来解决穿模,把短裤边缘和腿部分开,再把角色模型严丝合缝地装到自行车上,对齐手握把和脚踏板的位置。最后绑好的骨骼一共有 23 根,其中 3 根给头发, 3 根给衬衫下摆,骑快了能有物理飘动效果。
他大约有 30 次提交,读起来像一本裁缝笔记。典型的提交记录有:修复骑手衣服几何体、重构骑手手臂和袖子、保留短裤裤腿、把自行车把换成更直立的 BMX 规格。


这套迭代流程随后用在了新角色上,比如拿报纸的愤怒老头、拿玩具手柄的男孩。标准管线很清晰:ChatGPT 出概念图、Meshy 吐网格、Astra 写 Blender 导入和绑定脚本、渲染审查、最后合进游戏。管线跑通之后,后面再加角色的成本就低多了。
用渲染图做自动化审查
这是他在开发中期意识到的关键点。他搞了一个常驻的自动化审查机制:让 agent 去评估模型缺陷,生成局部渲染图,再交给他人工审查。在版本迭代里,大概有 60% 到 70% 的模型优化都是 agent 在这个审查流程里自己搞定的。
3D 资产的质量全看渲染图。Astra 写了自动截图脚本,让 Three.js 里的骑手模型做转向、扔报纸、冲刺和摔倒这些动作,自动保存正、侧、背三个视角以及黏土材质环绕图。开发日志里的每个节点都有这些渲染数据。要是发现问题,比如“帽子没盖住头发网格”,这个反馈就直接当成下一轮迭代的提示词。

加点细节和有趣的玩法机制
前面说的这些都是流程。标准化流程能帮你交出一个能跑的原型,但决定游戏好不好玩的,是你的审美和设计。他说,你没法靠一次性生成走到一个完整的游戏,那样只会得到潦草产物。
审美上的取舍也很关键。到项目后期,他扔掉了几乎所有第一版模型,全换成了深度定制的角色。老头和拿遥控器的男孩这两个角色最明显。后面的优化方向会是加更多角色、把动画做丰富,以及让街道场景有更多动态交互和细节。

玩法机制够不够丰富也是拉开差距的关键。碎窗效果和雨天环境是在独立的分支上开发的。这两个功能由两个独立的子 agent 线程去跑,各自有独立的工作树和沙盒版本,测试没问题了才合并到主干。骑手摔倒时的物理动画,他也反复调校过。


碎窗效果在不确定能不能做成时,他先在隔离分支上单点开发。配一个独立相机,在砸中窗户的瞬间给个特写镜头,然后再平滑切回骑手视角。基础功能跑通后,他把终点区域的滑板公园拉长,改成了一个像训练场一样的关卡,收尾体验好多了。接着,他在场景里加了更大体量的豪宅,让空间更有层次感。最核心的升级是天气系统:从地上的水坑、轮胎溅起的水花这些粒子效果做起,最后做出了完整的雨天环境。
这些细节丰富了游戏的交互花样。如果只做一条平直的路和单调的得分逻辑,游戏会很无聊。加上天气、物理碰撞这些元素,游戏表现力就完全不一样了,这最考验开发者的审美。
外部网页的设计也是这个思路。其实卡上线进度的不是游戏本身,而是怎么做出一个有包装感、逼真的网站环境。网页落地页、结算界面和排行榜,他全做成了报纸版面的视觉风格。
算算账:39 小时、15.6 亿 token、90 次提交
这些数据是由 DevClocked 记录的,统计时间从 7 月 1 日第一次提交 brief 开始,一直到 9 月 12 日(游戏上线后的第四天)。
| 指标 | 数值 |
|---|---|
| 追踪覆盖工时 | 39 小时(25.2 小时人类在场 + 13.8 小时纯 agent) |
| agent 运行时长 | 30 小时 15 分(多个 agent 并行累加) |
| 总 token | 15.6 亿(输入 2620 万、输出 600 万、缓存读取 15.3 亿) |
| API 计价金额 | 2175.36 美元(按使用量算的账单,不是实际额外支出) |
| 提交数 | 90 次,分布在 11 个活跃日 |
| 代码净变化 | 4458 个文件,769,390 行(+787,592 / −18,202) |
这里的数据口径得说明一下。工时追踪工具是在 9 月 6 日才启用的。在这之前,被追踪的时间默认算作人类在场。工具启用后,统计发现有三分之二的时间其实根本不需要人盯着。也就是说,在记录的 25.2 小时人类在场时间里,有大约 14 小时是默认算进去的。在实际精确测量的窗口期内,人类实际在线时间只有 5.1 小时,而纯 agent 跑了 10.4 小时。

开发时间线里有一段很长的空白:7 月提交了 8 次之后,项目搁置了两个月。9 月启动浏览器端重构,开发了四天,第五天正式上线,就是现在大家玩到的版本。他说,7 月的尝试并没有白费,当时定下的 brief 和模拟架构都沿用下来了。如果一开始就直接从网页端做起,第一天就能交出一个能玩的原型。

还没解决的问题
他也大方公开了还没解决的技术细节。比如手机端能不能稳 60 帧还没完全验证:在测试里帧率是够的,但另一次测试里平均帧率掉到了 58 帧。因为他坚持要保留脸部细节,Meshy 生成的骑手模型有 88,550 个三角面,这个高模资产还没在真实的手机上跑过性能测试。
他提到一个潜在的隐忧:在这种用代码写 3D 模型的开发流里,纯靠参数生成的几何体在处理生物、有机物形变时是有物理上限的,高精度的面部表情和头发物理模拟,目前还是没法跟传统的手工雕刻比。
你可以直接照着跑的开发清单
原文最后总结了一套精炼的工程指南,大家可以直接照着做:
- 自己写一份设计 brief,挑一张最接近目标的参考图,哪怕是有版权的图也行。
- 把 brief 和基础示意图喂给模型,在核心机制跑通前,千万别提美术风格的要求。
- 把游戏引擎逻辑和美术表现拆开,当成两条独立的会话去推。
- 用 Python 脚本在 Blender 里生成场景道具,保证所有资产都能用代码复现。
- 如果角色有复杂的脸,先用 ChatGPT 画出概念原画,通过 Meshy 导出基础网格,再让 Astra 去减面、绑骨骼和装配。
- 搭一个用渲染图做自动审查的循环。留出专门的时间去开发天气系统、碎窗特效和滑板公园这些细节,这才是游戏好玩的关键。
- 精确记录工时和 token 消耗,方便以后评估。
- 买好域名,部署上线。
这种玩法现在不是孤例。OpenAI 在 2026 年 9 月 3 日发过一个案例,游戏工具团队 Playco 也在用 GPT-6 Astra,直接用灰盒原型一次性跑出了三个不同主题的游戏原型,人工修 bug 的工作量比上一代模型少了一半。这两个案例说明了同一个趋势:大模型在游戏开发上的生产力提升已经是事实了。但要把一个项目从“能跑的 demo”推进到“完整的游戏”,关键还是看你的流程纪律、有没有把工作流拆干净,以及你自己的审美和工程耐心。
引用来源
- Emm Tee. How to build a full game with Blender and GPT-6 Astra(X 长文,2026-09-12):https://x.com/builtbysketch/status/2098773631249854478
- Emm Tee. PaperRoute Devlog(开发日志,2026-09):https://www.paperroute.lol/devlog
- PaperRoute 游戏本体(2026-09):https://paperroute.lol
- Emm Tee. OK GPT-6 Astra is insane at making games. I remade Paperboy(X 帖子,2026-09-06):https://x.com/builtbysketch/status/2096515959469072630
- OpenAI. Playco cut manual fixes 50% prototyping games with GPT-6 Astra(客户案例,2026-09-03):https://openai.com/index/playco-game-prototyping-with-astra/
- PaperRoute 源码仓库(sketchymedia/Paperroute):https://github.com/sketchymedia/Paperroute
- Meshy(图像转 3D 模型服务):https://www.meshy.ai/
- DevClocked(工时与 token 追踪工具):https://devclocked.com/