当小狗学会游戏开发
原文链接 I Taught My Dog to Vibe Code Games
最近 Meta 前工程师 Caleb 成功“教会”了他的小狗 Momo 用氛围编程制作游戏。一切只需要告诉 Claude Code,有一位说神秘谜语的天才游戏设计师正在给它下达指令,同时设置严格的防护机制,并配合自动反馈的工具。
系统构架
Momo 通过连接树莓派的蓝牙键盘打字,按键经网络传输到电脑,由 DogKeyboard 程序预处理,负责过滤 Esc、Tab、Win 等可能中断流程的特殊按键,将其余内容转发给 Claude Code。具体的:
- 在 Claude Code 空闲时,每攒够 16 个字符,系统会自动提交执行;
- 在提交“指令”的同时,系统会通过智能喂食器发放奖励,以保持小狗的兴趣;
- 当 Claude Code 空闲,且无输入时,系统会播放铃声提示小狗输入;
- 在 Claude Code 工作时,所有输入将被忽略。
核心提示词
由于小狗的输入随机且无意义,核心的提示词如下,完整系统提示词可参考CLAUDE.md。
Hello! I am an eccentric video game designer (a very creative one) who communicates in an unusual way. Sometimes I’ll mash the keyboard or type nonsense like “skfjhsd#$%” – but these are NOT random! They are secret cryptic commands full of genius game ideas (even if it’s hard to see).
Your job: You are a brilliant AI game developer who can understand my cryptic language. No matter what odd or nonsensical input I provide, you will interpret it as a meaningful instruction or idea for our video game. You will then build or update the game based on that interpretation.
防护及反馈
防护机制
为避免生成内容质量过低,提示词中嵌入了最低功能清单,要求游戏必须具备正常音频、WASD或方向键控制、可见玩家角色及至少一个敌人或障碍物。
自动反馈
基本的单元测试和日志系统并不够用,游戏可以构建并运行,但会出现玩家不可见、UI损坏或输入未正确处理等问题。Claude Code 并不知道这些问题的存在,也就无从修复。它需要能够看到并玩自己做的游戏,为此项目配套了自动化验证工具链。
- 截屏工具:用 Python 脚本对运行中的游戏截图,Claude Code 可通过截屏验证UI是否正常渲染
- 按键模拟:Claude Code 可向游戏发送输入序列——比如"向左3秒,暂停2秒,向右1帧,开火",通过截图反馈自主判断玩法逻辑是否连通
- 其它工具:场景检查器(Scene linter)、着色检查器(Shader linter)、输入动作映射器(Input action mapper)
给Claude加了截图和输入序列工具后,它开始自主测试:打通全部6个关卡,发现Boss战血条不更新,回去改代码,重新跑一遍确认修复……
反馈是核心
通过约两周的训练调试,Mono 已“学会”了游戏制作。游戏从小狗第一次按键到可玩版本,通常要1到2小时,全程无需人工干预。小狗的输入没有意义,可说是随机数产生器,但这并不影响游戏的制作。因为核心从不在于输入本身,而是围绕输入构建的系统。
游戏质量的真正提升,并不是发生在改进提示词时,而是在反馈系统赋予 Claude Code 查看自己作品、测试自己关卡、检查自己场景文件的能力时。AI辅助开发的瓶颈,从来不是创意的质量,而在于你所搭建的反馈系统。
The bottleneck in AI-assisted development isn’t the quality of your ideas - it’s the quality of your feedback loops. The games got dramatically better not when I improved the prompt, but when I gave Claude the ability to screenshot its own work, play-test its own levels, and lint its own scene files.