用 Blender 和 Astra 构建完整游戏

我用 GPT 5.6 Astra 构建了一款完整游戏,结果在 X 上有点火了。

用 Blender 和 Astra 构建完整游戏
梯形图转SCL | 博途AI辅助编程文档 | AI模型价格对比 | AI工具导航 | ONNX模型库 | Vibe Coding教程 | PLC在线仿真器 | Tripo 3D | Meshy AI | ElevenLabs | KlingAI | ArtSpace | Phot.AI | InVideo

我用 GPT 5.6 Astra 构建了一款完整游戏,结果在 X 上有点火了。

最初只是个演示,但四天后我们有了完整可玩的版本。好吧,不只是个垃圾的一局演示。

paperroute.lol 看看 PaperRoute 吧。

这是一款纸男孩风格的送报游戏,背景设定在美国社区,整个游戏是在几次会话中用 GPT 5.6 Astra 写代码、用 Blender 做模型构建出来的。

关键是,非常令人印象深刻的一键生成是一回事,构建一整款游戏完全是另一回事,而且让东西看起来有风格、令人印象深刻,不仅仅是提示一次就行。

这是我用来做出一款抛光(四天内尽可能抛光)的游戏的运行手册,它能运行、看起来很棒,而且不只是个一招鲜的把戏。其实甚至都不到四天——视频在 X 上火了之后,剩下的时间基本都花在调整网站、为你们准备就绪上了。

每小时和每个 token 都被追踪了,所以我可以告诉你们实际花了多少,而不是感觉上花了多少。这是完整方法,按发生的顺序。我也做了每一步的完整开发日志。

在这里阅读完整开发日志 ,每一轮、每一个屏幕、每一个统计数据

0、背景

七月份时,我想让 Fable 试着构建纸男孩。但是一个现代版本——所以我写了一份简报

从周一到周日一周的送报,订阅者和非订阅者,狗、汽车,对角线相机。我还想让它是原生 iOS 构建。以及网页版。但只做到了一个灰盒街道和骑手就在七月停滞了。稍后会讲更多。)

进展不顺利,我放弃了

Fable 只能弄出一辆侧向自行车

AGI?不,伙计,还不行(目前)

好吧,也没那么糟。Fable 相当令人印象深刻,我确实有所进展,但就是没达到我想要的地方。

1、从一个你已经相信的简报开始

这个概念不是来自 Astra。

当 Astra 发布,我看了 OpenAI 演示时,我觉得它会是完美的匹配。

所以我重写了原来的简报,而不是重用它。

老实说,提示超级简单。

用通俗英语描述了原版游戏、一些机制,然后我给了它一个我想让它做什么的描述。

我们此时只专注于机制,并给了它一个透视视图图像参考。原版纸男孩的透视。

想法从来不是克隆原版纸男孩游戏。而是拿这个概念给它一个新的旋转。但如果你要给模型一个起点,就给它最好的那个,对于自行车送报游戏,最好的基础就是原版。

先把机制弄对,然后一旦可玩就旋转它。

2、调整游戏方向

此时我把两件事分开。

我给了 Astra 两个单独的任务。

  • 艺术方向
  • 游戏方向

都在一个线程里。

第一次“一键生成”后,Astra 给了我一些可演示的东西。它给的等距视图和游戏风格,我打算保留,我只是要改变游戏方向和机制,改变相机以及它看起来和感觉如何。看,最初它给的第一个演示基本就是你在 Twitter 上看到的那种东西。

一键生成,看起来不错,真的很有趣,有自己有主见的艺术风格,而且几乎是你在每个其他演示中看到的相同 GUI。

在那个阶段,我只关心概念和游戏机制,一大堆艺术方向只会稀释它。

那个决定在第一个晚上就回报了。

Astra 构建了一个浏览器版本,带有确定性模拟,瞄准弹道纸张投掷,落在虚线弧指示的地方,邮箱计分,以及一条以公园课程结束的路线,在午夜前六个提交。它一边写一边写测试,这比我预期的更重要,因为之后每次艺术改动都有一套测试可以运行。

是时候调整它了。

3、调整艺术方向

在我得到第一版角度和我想要的游戏感觉后。我现在可以在改进游戏机制、纸张投掷等的提示旁边,调整艺术方向。

我用 GPT 生成了一堆图像。

实际上,在游戏编译时我跳出了 Astra,和 Chat GPT 一起工作,给它几个参考图像来想出一些概念艺术和情绪板。

不,它不是“吉卜力”风格。我一次都没用过那个词。

相反,我给它的是凉爽日本夏日微风电影的描述性参考,带有绘画纹理效果。

GPT 然后为我制作了一个风格参考情绪板,我随后将其作为基础来调整。

我还不想用关于游戏应该确切看起来如何的细节来压倒模型或提示。

3.1 运行工作流,在一个线程里

我通常不这么做,我通常会分叉出去,但有了我新的工作流和我自定义的 T3 代码表单,我觉得这是保持在一个线程的完美机会。而且看起来 Astra 比 Fablecap 更能处理这个,你可以打断它,它似乎不会掉球,这太棒了。

我一个提示一个提示地迭代,在艺术方向和游戏上——看着它烧着我的 MacBook,同时 Blender 在后台隐形运行,随机送来相当令人印象深刻的渲染和测试。整个过程中,演示都在 URL 上直播,基本全程可玩。

引擎流运行游戏引擎——我一边实时玩一边调整,是无聊重复的那个,也是我会完全用同样方式再做一遍的那个。

松手就停止转向。一个崩溃恢复窗口,这样同一个垃圾桶不能吃三条命。狗真的会追,而且可以跑掉或用报纸分散注意力。移动控制,拖动转向、按住踩踏板、点击投掷。这些每一个都是一个提示,在浏览器里看一次结果,一个提交。

3.2 通过 Python 运行 Blender。

风格流是 Blender。Astra 不打开 Blender,它写 Python,让 Blender 无头运行,不是通过 mcp。

游戏中的每一栋房子、树、栅栏和邮箱都是一个脚本来构建网格、分割材质并导出 GLB。第一遍是独立的夏季艺术研究,一页房子剪影和树形以及街道道具单独渲染,然后才触及可玩世界。

然后房子家族进去了,然后更密集的花园,然后绘画表面。第二天早上十点前七个房子家族。

把两个流分开是我会告诉任何人去复制的事情。当一栋房子看起来不对时,你不想在同一个线程里和模型争论投掷物理。

4、自定义模型

当事情变得有挑战时使用 Meshy。

老实说,Astra 在制作房子和相当简单的东西的模型方面很好,但让它们看起来好需要对每栋单独的房子投入很多注意力和提示。

我的主骑手看起来像个木制木偶,老实说 Astra 也做不了更好——而且它肯定做不出脸。

所以最好的办法要么是去免费下载一些 Blender 资产,要么如果你有特定角色在心中(我有),使用 meshy,在 chatGPT 中创建图像

把它们发给 meshy,花 8 美元。我基本上得到了 300 次图像生成,而且我还远低于配额。

你可以直接上传图像到 meshy,它会把它们做成 3D 模型,你可以下载,丢进 Astra,让它简化多边形,Boom,你就有了游戏里看起来不烂的 3D 自定义模型。和 Astra 迭代,烧了一大堆 token,我哪儿也没到

在使用这个 meshy 工作流之前,模型绝对是垃圾。

把模型贴到我做的另一辆自行车上有点挑战,来回了一些,但最终我做到了,得到了一个还过得去的结果。不完美但过得去。我可能可以在这里烧更多提示来调整它。

顶级提示:如果正确绑定,天空是极限

5、添加细节

一键游戏缺乏细节。

一键游戏缺乏努力。

当然,它们可能内建了新奇感,但自定义动画、更好的 UI 让游戏感觉真实。

这不是说我们正在见证的是不可否认的。能做到的事情太疯狂了。

但品味目前仍是护城河(以及耐心)

我实际会话时间和代理轮次的 80% 都花在抛光、修复坏网格和提示细节上。不是构建游戏

对于 paper route —— 精细处理结果证明很重要。

Astra 写了 Blender 脚本来把身体减少到游戏预算多边形,同时保留原脸、头发锁和帽子缝,重建袖子和手臂这样皮肤不会从衬衫里戳出来,把短裤下摆和腿分开,把整个东西拟合到现有自行车上,有正确的手把和踏板接触,并用 23 根骨头绑定,包括三根给头发和三根给衬衫下摆,这样它们会随着速度移动。

我有大约 30 个提交,读起来像裁缝的笔记本。

修复骑手服装几何,重建骑手手臂和袖子,保留短裤下摆,给自行车更直的 BMX 车把。

然后同样的循环对从房子里出来的拿报纸的暴躁男人和拿玩具控制器的男孩运行。

概念在 ChatGPT,网格从 Meshy,脚本通过 Astra 在 Blender,绑定,审查渲染,进游戏。一旦管道存在,第二个角色的成本是第一个的一小部分。

5.1 提示:设置审查循环

审查渲染是实际工作。

我只是中途才明白这点。

早期我提示并构建了一个 harness,总是循环审查工作。我会让它自己看模型有什么问题,做那个模型的隔离渲染,然后发回给我审查,然后从渲染 1 到渲染 2 的 60-70% 改进都是代理自己做的

你通过看渲染来审查模型的 3D 工作。

Astra 设置了捕获脚本,让实际的 Three.js 骑手通过转向、投掷、冲刺和跌倒姿势,并每次保存正面、侧面、背面和粘土转体。

开发日志中的每个检查点都有那些渲染在旁边。当有东西不对时,你指着那帧,说帽子没盖住头发,那就是提示。

6、添加品味和点缀

以上都是流程。流程让你得到一款能运行的游戏。它不会让你得到一款任何人想玩两次的游戏,而那个差距是品味,那是你必须自己带来的部分。

你不能一键生成出好看且完整的游戏。你会得到垃圾

这里的一些品味是扔掉东西。

原模型走了,几乎全部,换成了完全自定义角色。(或者会是)

你可以看到游戏艺术如何转化为老头和拿遥控器的孩子。如果我要花更多时间,那就是我会花的地方。更多角色,让我有的那些更生动一点,这样街道感觉有动态和一些个性。

然后是点缀。

砸窗户效果有了自己的整个分支。雨天也是。再次,在一个流里,但两个单独的子代理线程。新工作树和新版本游戏隔离测试,准备合并进来。

我甚至花了一大块时间调整跌倒。

5.2 提示:运行实验和游戏分支来测试功能想法,然后再折叠进去。

我想要窗户砸——但我不确定它是否会起作用,所以我在自己的分支里测试了它。
就只是窗户砸,有一个完全单独的相机,放大到窗户,停留在撞击上,然后摆回骑手。第一遍后,我拉长了末端的滑板公园,让它更像训练场,这样路线结束在有趣的东西上,而不是就停了。

随着进行,我建造了更大的豪宅,把它们放在街上,给它一些动态。最重要的是,我做了一整套新天气系统。先是小东西,水花和从水坑出来的轮胎印,然后是一整天纯雨天。

这些是让游戏活起来并增加维度的东西。

这个很容易就变成一条平坦的路,你重复玩一次到最高分。混合这些东西给它新维度,那才是品味真正重要的地方。

网站也一样。阻止我立即上线的是让网站可信,并把整个概念包装进去。落地页是报纸,结果是报纸,排行榜是报纸。我觉得我做得还行。

6、花了多少浅

DevClocked 追踪了所有数据。从 7 月 1 日的首次规划提交到 9 月 12 日(托管发布后四天):

  • 追踪覆盖时长 39 小时,其中 25.2 小时为人工,13.8 小时为仅代理
  • 15.6 亿个令牌,其中 15.3 亿次为缓存读取
  • API 价值 2,175 美元,与我无关
  • 11 天内共提交 90 次

需要注意的是,七月原生 iOS 尝试包含在这些数字里,而且没有产出任何上线的东西。Swift、RealityKit、模拟器构建管道、从我后来放弃的参考复制的赛璐珞着色外观。

八个提交,然后两个月空档。九月的浏览器重建花了四天构建和第五天发布,那就是人们在玩的游戏。我不完全后悔七月,因为简报和模拟设计幸存了下来,但如果我从浏览器开始,第一天就会有可玩的东西。

还有未解决的,我宁愿说出来也不假装。手机上持续 60fps 还没被证明。一次受控运行保持了它,另一次平均 58。Meshy 骑手是 88,550 三角形,因为我保留了脸,我还没在真正的手机上基准测试过。

TLDR:如果你想自己做这个,顺序是:

  • 先用自己的话写简报,选最接近你想要的参考,即使它是你不被允许克隆的东西。
  • 给模型简报和两三张粗略图像,把艺术方向压到机制可玩之后。
  • 把引擎和外观作为单独对话运行。
  • 用 Python 从 Blender 构建道具,这样每个资产都可复现。
  • 当角色需要脸时,在 ChatGPT 做概念,从 Meshy 获取网格,交给 Astra 减少、绑定和拟合。
  • 每次改动都获取审查渲染。留一天给点缀、天气、窗户砸、末端的公园,因为那才是让它值得再玩一次的东西。
  • 追踪你的小时和 tokens,因为你会想知道。

然后上线。


原文链接:How to build a full game with Blender and GPT 5.6 Astra (not just a demo)

汇智网翻译整理,转载请标明出处