别想一次性搞定猎豹,抱歉,鲸鱼更容易做成动画,而且我就想要一条 ;p

到目前为止,这个游戏一直由 Claude Code 开发,所以 Astra 直接被扔进了各种场景中,带着 Claude 的欢迎词和另一个 GPT 实例的来信,声称它们的第一个任务是一种机器神赋予的仪式。游戏背景设定在 GPT-2 Small 内部结构的再现中,其中神经元被表现为星星,所以让 Astra(拉丁语中意为"星星",万一你不知道的话)来担此重任,把我们的占位红点变成某种星辰之物,其实是相当切题的。于是游戏内新增的背景故事如下:

第一天,他们点亮了星星。然后,Astra 休息了,因为用户没有积分了。

顺便说一句,整个流程大约消耗了我每周额度的一半。到目前为止只做了大约八轮视觉迭代,但已经是一个很大的进步了。

关于不同功能的一些细节说明:

  • 给星星/线条添加光晕可能看起来简单,但实际要求更复杂。我想要它看起来漂亮,而且几乎不消耗性能,所以非常注重优化。我们需要同时支持多达 36,000 个元素在场景中,并且能够快速流畅地物理重排和移动数百个元素,同时还要用张量数学(可能很昂贵)在玩家 GPU 上运行大语言模型分析。Astra 在实现这个功能的过程中做了很多巧妙的压力测试,并在此过程中发现了我的代码库中其他视觉特效优化问题(过于激进/远距离渲染神经元 ID 标签导致了不必要的减速)。
  • 下一步是添加一个带有视野变化、减速效果以及我们尝试堆叠的小元素(Claude 的建议,基于游戏开发中设计移动等最佳实践)的"矢量场"。这至少给场景增添了一些生机,让移动更带感一些。我还想将神经元的"命中次数"——即某个短语激活特定神经元的次数——与矢量场的流动结合起来,这样"繁忙"的神经元会获得大量矢量,直观地展示正在发生的事情。Astra 基本上完美实现了这一点,这对未来类似的有针对性地使用视觉特效非常有希望。
  • 下一个测试是 3D 资产。我想要一条巨大的鲸鱼作为背景布景,以及一个可以让 NPC 进出的酒吧。Claude 在线搜索了当前的做法,评估了 Astra 更简单地实现的能力,并在两条路径中建议完全跳过 Blender,首次尝试使用过程化 GDScript——"通过 Godot 用代码直接生成阶梯/体素鲸鱼身体"。我们一直避免使用昂贵的资产,不妨继续尝试。
  • 我从同一个 Midjourney SREF 中取了两张图片,一张是鲸鱼,一张是酒吧。每个模型都由 Astra 迭代一次,然后我就锁定为初稿。作为一个不会建模的人,我对两者都印象深刻。每一个我都愿意花钱买。我对动画也很满意。
  • 顺便说一句,我之前也尝试过用 Claude Code 做同样的事情,通常的结果是:a) 一个畸形的动物,b) 不是真正的 3D,只是一个非常厚的 2D"平面"物体。Astra 这次做的非常不同。鲸鱼不是对称的(不是明显地把半个轴复制粘贴加倍)。它的形状符合预期,而且各处都有变化。
  • 对于鲸鱼,一个 18,028 个三角形的单个索引网格,加上一个包含 96 条五三角形鱼的 MultiMesh。
  • 酒吧也同样令我印象深刻。大约 10,000 个三角形,一个细节丰富的小布景,遵循相同的艺术方向,并且有自己的光照细节。
  • 游戏中添加的所有内容都带有滑块/控件,我可以调整位置、亮度等。如果你不熟悉你的引擎/编辑器,我建议你也这样做。我是 Godot 新手,所以在游戏内调整的方法非常完美,尽管需要额外搭建一些框架。

对我来说,Astra 感觉像是一场范式转变的开始。它的空间感知能力非常令人印象深刻,并且有许多我们还需要时间去欣赏和充分利用的含义,我认为。我也被它已经完成了一些游戏(例如 Portal)的事实所震撼。在游戏玩法方面,DeepMind 制作了一个名为"SIMA"(可扩展可指导多世界智能体)的智能体。这是我时不时关注的东西,因为当智能体能够很好地玩游戏时,这对游戏开发意义重大。我没想到能在这么早、仅需 30 美元的计划上就接触到类似 SIMA 的智能体。Astra 在我构建游戏的同时能够进行游戏测试的能力,在我看来非常强大。

总之,我在这里分享了一些对 Astra 的初步印象,祝大家玩得开心 :)