预告片: https://youtube.com/shorts/u7S5ETozDOk

Ninelock 是一款拼图 Roguelike:每一行、每一列和每一个 Sudoku 方框都是一个锁。你从牌组中抽取数字并按常规 Sudoku 规则放置,但没有固定的解法。填满一个单元格后它会打开、清空并获得 × mult 倍的分数。在锁之间你可以购买护身符来改变规则。击败 8 个金库,收集 8 把钥匙,打开大门并面对最终首领。

玩(免费、浏览器、适用于手机): https://ninelock.guidocatalusci.com/?ref=reddit-aigamedev

它是如何制作的

第一次提交是在 10 月 23 日。从那以后大约已经进行了 48 次迭代。几乎全部都是通过在云会话中与 Claude Code(Opus)交流,主要使用手机上的 Claude 应用完成的。我负责设计决策、进行游戏测试并指出感觉不对的地方。Claude 编写了代码、测试和工具链。

做得好的事情:

  • 一个“游戏工作室”模板。 该仓库最初是克隆了一个带有专家代理、技能和规则(设计 → 原型 → 生产)的 Claude Code 模板。它强制执行一种我喜欢的习惯:每一次可见的改动都需要保存为截图作为证据,每一次决定都要在日志中留下一行。经过 48 次迭代后,这份日志就是项目的记忆。

  • 先做一次性的网页实验室。 计划以后改用 Godot。现在它是纯 HTML/JS,没有任何依赖,这样我可以在更改后几分钟内在手机上进行测试。

  • 通过机器人进行平衡。 游戏逻辑是一个纯模块,因此 Claude 编写了贪婪模拟机器人和随机购买机器人,在 Node 中运行数千局游戏。当我说 “我在第 5 个金库达到了 10 亿分,太容易了”,它就调整了目标、价格和稀有度概率,然后检查每个金库的通过率。虽然机器人不是人类,但我的亲自游玩仍然发现机器人从未见过的构建。

  • 无头浏览器检查。 Playwright 驱动游戏,拍摄意大利语和英语的截图并捕获控制台错误。制作这个预告片时实际暴露了一个真实错误:在英文中,巨大的 “NINELOCK!” 组合文字渲染为 “NTHENELOCK!”,因为翻译层将单个字母 “I” 替换成了 “The”。

  • 不使用图像模型。 艺术全部由 Claude 编写的 SVG/CSS:钢板、黄铜瓦片、旋钮标志、钥匙、护身符标签。音乐在浏览器中通过 WebAudio 生成。预告片是用 ffmpeg 从已录制的游戏画面剪辑,并与节拍同步。

不太顺利的事情:

  • 很容易让功能堆积起来。对 AI 说 “还有其他想法吗?” 很危险 😅

  • 视觉品味仍然需要人类。我让多个标志和背景草图并排展示并从中选择。相比直接接受第一个输出,这样做效果好得多。

  • 难度:机器人说还行,但单人一次游玩就证明了它不够。

给你的问题:

  1. 核心规则在第一个锁上是否已经被理解?

  2. 对于使用代理进行构建的人:你如何控制范围?

乐意回答关于工作流的问题。