总结:Astra 很有趣,可能足以让像我这样的人(游戏开发以外的全职工作,还有两个孩子)继续制作可以发布的游戏。

过去几周我一直在开发一款塔防游戏,目前的状态我认为已经可以“发布”以获取更多反馈等。我想回顾一下构建这款游戏的经验,并分享哪些做法有效,哪些效果不佳。

关于我制作游戏的一些背景

我大约在 2010 年开始制作游戏,最初使用 GameMaker,后来用了一段时间 Unity,制作了一些粗糙的 3D 游戏。我发布了几款 iPhone 游戏,广告收入大约赚了 1000 美元。大学毕业后,我转向全栈开发,没有再过多专注于游戏开发。这些年来,我时不时参加 Ludum Dare 比赛,使用过不同的引擎,比如 HaxeFlixel,最近用的是 Phaser。

用 AI 再次尝试制作游戏

工作中,我们获得了企业版 GitHub Copilot 账户的使用权限,这极大地影响了我们的工作流程和效率。我想在工作之外尝试这些前沿模型,做一些更有趣的事情,于是自己开了一个 GitHub Copilot Pro 账户,开始着手制作一款塔防游戏。

我首先让 Claude Opus 4.8 用 Phaser 搭建了一个游戏框架。我保持提示词简单,尽量一次只迭代一个小功能。我从核心游戏循环开始。这款游戏只有一个塔,你可以随着时间升级它,敌人会从四面八方一波波来袭。起初,除了这个核心概念,我没有任何具体的计划或想法。第一个提示词:

使用 Phaser.js,地址为 https://github.com/phaserjs/phaser/releases/download/v4.2.1/phaser.js - 构建一个塔防游戏的框架,要求能成功构建,包含一个菜单和开始游戏的功能。在这个塔防游戏中,屏幕中央有一个塔,可以进行多种升级。有多种可选择的投射物类型,每种都可以独立升级。每种投射物对敌人有不同的效果,例如冰系会减速敌人,电系会使敌人短暂眩晕,火系会造成持续伤害。敌人从四面八方一波波来袭,如果进入射程会攻击塔。有些敌人可以远程攻击,而有些只有到达塔时才能攻击。当敌人被杀死时,玩家获得金币,用于升级塔。

经过一个周末的调试,我决定专注于让游戏适配移动端。从那时起,我使用计划模式,在执行计划前调整输出。我开始注意到,用 Claude 4.8 完成所有任务在 Token 成本上相当昂贵。我开始尝试决定何时使用 Claude vs Codex 5.3 或其他模型。GitHub Copilot 有一个有趣的“AI 代币”概念,将不同模型的 Token 成本换算成一种货币。这很有帮助,但当 Token 成本大幅飙升时,仍然难以理解。例如,每月 99 美元的 GitHub Copilot 给了我“20,000 AI 积分”,看起来很多,但在为安卓构建游戏的那个周末,我在两次 3 小时的会话中用光了这些积分。我对结果很满意,但就我所获得的而言,似乎有点贵。另外,Phaser 在渲染数百个敌人时出现了一些性能问题,我想切换到 Godot。

转向 Godot(以及 Astra)

然后 Astra 发布了。我一直看到其他人使用 Astra 的有趣帖子,我的 GitHub 账户上还剩大约 4,000 个“AI 积分”。我决定尝试一下 Astra,如果能看到显著的改进,我就取消其他订阅,全力使用 GPT Pro 账户。

我用剩余的积分让 Fable 5.1 编写了一份技术规格说明,详细描述了我到目前为止构建的所有特性和功能,以便可以在任何其他语言中重写。这花费了 1,700 个“AI 积分”来编写一份 44 页的规格说明。仅此一项就几乎让我取消了订阅。

有了新的 GPT Pro 订阅,我将规格说明和简单的指令交给 Astra,让它用 Godot 实现这个游戏,并使用 Blender 创建基本的 3D 模型(这些模型最初是在 Three.js 中用 Claude 制作的)。我对结果印象深刻,再没有回头。根据任务的不同,我使用了 Astra 的不同思考级别,到目前为止,我注意到“轻量”模式似乎使用了不同的工具链,与其他模式不一致。Astra 能够处理建模、游戏循环、响应式 UI 以及许多性能优化,使得游戏在移动设备上运行流畅,即使有数百个敌人。从想法到实现只需几分钟,这种自由感非常令人满意。

最后的想法

我将继续开发这款游戏,并用 Astra 开始制作其他游戏——每周的使用限制有点难以理解,但从精心设计的提示词中构建出可靠功能的方式令人上瘾。这与我从头开始制作游戏的方式不完全相同,但工作流程非常相似:专注于系统及其工作方式,在计划中将其做对,然后实现。我不是自称的“提示工程师”,也不是经验丰富的游戏开发者,但我制作过几十个复杂程度不同的游戏,所以对这类游戏的代码应该是什么样子有一些概念。

添加了一些截图来记录游戏的进展,这里有一个演示链接:https://dkdwrek.itch.io/towermaxxing —— 仍在努力将其上架到 App Store 和 Google Play。