我花了大约三个月的时间独立开发 Genius Simulator,共有 476 次提交。AI 写了一部分代码。但是,决定要做什么、要剪掉什么以及告诉 AI 停止做什么?这就是实际工作的主要部分。游戏围绕着一个笑话: “天才”几乎什么也不做。你喝茶,向右看一眼,或者做一些其他完全普通的动作。专家们会将其解释为深刻的战略举措,将其转化为改变世界的发明,并且奇迹般地使用它来阻止末日。末日是真实的。天才是可疑的。专家们绝对确定他们已经理解了每件事。即使玩家也看到了天才的……逻辑? Genius Simulator, Tea, Sip, Apocalypse. https://store.steampowered.com/app/5142470/Genius_Simulator
我原本想分享这个游戏,但我觉得开发流程可能更有用。以下是实际上有效的、失败的和我最终做得不同的事情。
1. 我必须教 AI 玩我的游戏
一开始,我会让 Claude 进行测试。它会截图、思考一下、点击一些东西、截图,然后重复。游戏在 60 FPS 运行。Claude 的反应时间以秒为单位。即使拖动菜单也是一个挑战,截图也会消耗大量 token。最终,我添加了一个 debug 模式,暴露了战斗状态和开发者对游戏系统的控制。代理可以直接将小控制循环注入正在运行的页面,让游戏以全速运行。它读取结果后。截图现在主要是为了显示发生了什么,而不是为了让代理了解每个帧。
我甚至有一个 bot 可以解决倾斜迷宫小游戏。这可能是我做出的最有用的改变。不是改善 AI 点击的能力,而是改变它与游戏的交互方式。
2. AI 生成的像素艺术并不是像素艺术
这花费了我更多的时间 than 我预期。图像模型可以产生看起来像素化的东西,但实际上,像素并没有遵循一致的网格。不同的部分有不同的像素大小,形状在动画帧之间会漂移。我的第一个解决方案是自动清理:量化颜色、采样每个单元格、选择最常见的颜色。它扭曲了精灵。动画帧闪烁了。解决方案不那么聪明:通过眼力测量形状,工作在一个合适的低分辨率网格上,重复使用相同的基本图像。我的当前规则很简单。如果自动修复结果错误,我就停止尝试自动解决这个问题,并手动解决它。AI 可以节省时间,但有时你节省的时间用来生成资产后会花在修复它上面。
3. 重建某些东西在 3D 中并不意味着它会变得更好
我有一个倾斜迷宫场景,我已经在 2D 中手动调整过。然后 AI 重建了整个东西在 WebGL 中。它看起来糟糕,运行速度慢。然后我重新转回了原来的 2D 场景,只保留了 3D 球。这个教训对我很有用:切换到新技术并不自动改善完成的作品。有时正确的解决方案是保留已经工作的部分。
4. 我必须写规则之前让 AI 写喜剧
游戏的中心笑点是人们将普通动作解释为非凡的天才证据。让 AI 自由发展,它会解释笑点、添加不必要的背景信息,并将短暂的弹出窗口转化为段落。所以我自己写了一份写作指南,并让 AI遵循它。一个规则产生了明显的效果: 一个单独的文本弹出窗口必须在三行或十秒钟内。 如果玩家需要停止玩游戏太长时间才能理解笑点,事情就出错了。Localization 有同样的问题。翻译笑点通常会杀死它。对于十二种语言,我决定先确定适当的声音和语气,然后再为该语言重写笑点。它是本地化,而不是翻译。
5. 向 AI 请示 AI 的审查主要是浪费 token
我尝试使用子代理来比较不同版本并选择更好的一个。它消耗了 token 没有产生可观的改进。实际上更有效的方法是自己写一个具体的检查清单,然后让代理检查它。例如:
- 戏剧开头是否实际上是游戏玩法?
- 是否有任何截图重复?
- 场景是否传达了它应该传达的内容?
我还学到不要让 AI 随意调整我的游戏平衡。它会“改进”我已经决定的数字。现在的规则是,规范中的数字是要求,而不是建议。
6. 电影需要更少的镜头,而不是更多
我使用编辑工具生成概念艺术动画,并使用 FFmpeg 脚本将电影组装起来。每个剪辑都定义在一个编辑列表中,并与音乐的节拍对齐。第一个 AI 生成的剪辑有 73 个镜头在 50 秒内,几乎每个节拍一个镜头。它是闪烁的垃圾,没有明显的进展。然后我将镜头数量大约减半,并将电影围绕一个想法: 天才做了什么小事 →世界将其解释为大师计划。 这给了电影一个实际的线索,而不是快速发生的一系列事件。
我学到的东西
AI 让我能够以我可能单独无法实现的速度来建造这个游戏。但是困难的决定并没有消失。它们被移到了另一个地方。我花了更少的时间敲击代码,更多的时间思考:
- 如何让 AI 可靠地访问游戏的内部状态。
- 哪些任务值得自动化,哪些不值得。
- AI 需要遵循什么规则才能产生可用的结果。
- 何时拒绝输出而不是试图修复它。
我还在继续开发这个游戏,所以这不是说我已经解决了所有问题。这些只是我工作流程中实际上有效的、失败的和我最终做得不同的事情。
评论 (0)