Godogen
定义
Godogen 是文中介绍的一个开源项目,但它不是一个最终游戏项目,也不是普通意义上的代码模板仓库。
更准确地说,它是一个面向 Godot 的游戏项目生成器:先由 Godogen 生成一个新的 Godot 项目骨架,再让 Codex 在这个新项目里接管后续开发。
它想解决的重点,也不是“让 AI 写一段游戏代码”,而是把自然语言需求、项目结构生成、代码编写、引擎运行、截图检查、问题修复这些步骤串成一条可执行的 AI 游戏开发流水线代理|游戏开发流水线。
身份边界
Godogen 的边界需要特别说明:
- 它不是你直接拿来开发游戏的源仓库。
- 它不是单个可运行游戏。
- 它不是只提供几份示例脚本的静态模板。
- 它的职责是发布出一个新的目标项目目录,让 AI 代理在那个目录里工作。
因此,真正的游戏开发环境不在 Godogen 源仓库本身,而在它生成出来的新目录中。
正确使用方式
文中的正确流程,是在 Godogen 源仓库里执行发布脚本,而不是直接在源仓库里写游戏:
./publish.sh --engine godot --agent codex --out ~/my-godot-game
执行完成后,会生成一个新的游戏目录,例如:
~/my-godot-game
之后应该进入这个新目录:
cd ~/my-godot-game
然后再打开 Codex,在新项目目录中发出类似下面的提示:
$godogen 做一个 2D 平台跳跃游戏,有玩家移动、跳跃、金币、敌人、血量和胜利条件
也就是说:
publish.sh在源仓库里执行。- Codex 真正工作的上下文,在生成后的新项目目录里。
- 不应把 Godogen 源仓库误当成待开发游戏本体。
生成项目中的关键组成
文中明确提到,生成出来的新项目目录中,大致会包含以下关键文件或目录:
AGENTS.md.agents/skills/godogen/.agents/skills/godot-api/.codex/hooks/.gitignore
这些内容才是 Codex 真正会读取和使用的部分。
其中可以据文意理解为:
AGENTS.md:提供代理工作说明或项目级行为约束。.agents/skills/godogen/:放置与 Godogen 工作流相关的技能说明。.agents/skills/godot-api/:放置面向 Godot API 的技能说明。.codex/hooks/:提供与 Codex 运行流程配合的 hooks。.gitignore:用于项目版本控制时的忽略规则。
与 Codex 的配合方式
Godogen 的工作方式不是“自己把完整游戏一次性吐出来”,而是为 Codex 准备一个适合接管的 Godot 项目环境。
用户进入新项目目录后,可以直接输入 $godogen ... 风格的自然语言需求,例如:
$godogen 做一个俯视角射击游戏,玩家 WASD 移动,鼠标瞄准,敌人会追踪玩家,击杀后加分,达到 100 分胜利
这时,Codex 会读取 .agents/skills/ 中的技能说明,按 Godot 项目的组织方式生成内容。
文中对这条链路的描述包括:
- 规划游戏结构。
- 写代码。
- 生成项目结构。
- 运行 Godot。
- 截图检查结果。
- 根据发现的问题继续修复。
这也是它区别于普通 AI 写代码的重要地方:普通 AI 往往停在“我觉得我写好了”,而 Godogen 这类方案尝试把 AI 推向“运行、观察、修正”的闭环,更接近 Godot AI 原型闭环。
技术约束
必须使用 Godot .NET 版
文中强调,Godogen 的 Godot 输出是 C# 项目,因此必须使用 Godot .NET 版,普通版 Godot 不行。
这是一个硬性约束,不是可选优化项。
可用以下命令检查环境:
godot --version
dotnet --version
其中 dotnet 文中建议使用 9.x。
Godot 需要支持无头启动
还需要确认 Godot 可以无头运行:
godot --headless --quit
如果这里报出 C# assembly 相关错误,文中给出的高概率原因有两个:
- Godot .NET 安装不完整。
GodotSharp/没有和 Godot 可执行文件放在一起。
发布脚本依赖 Bash 工具链
publish.sh 是 Bash 脚本,会用到:
python3rsyncchmod
因此文中明确建议 Windows 用户直接使用 WSL,而不要硬在 PowerShell 里折腾。
最短检查路径可先确认这些命令可用:
python3 --version
rsync --version
dotnet --version
godot --version
角色职责
在整条流程中,Godogen 的职责主要有三层:
- 发布项目:从源仓库生成新的目标游戏目录。
- 注入代理工作环境:放入
AGENTS.md、skills、hooks 等文件,让 Codex 知道该如何以 Godot 项目方式工作。 - 把开发重点从单次代码生成推进到流程闭环:让 AI 有机会围绕运行结果继续修正项目,而不是只输出静态代码片段。
换句话说,Godogen 不是游戏内容本身,而是给 Codex 准备“可接管的游戏工程起点”。
使用建议与边界
文中建议,第一次测试不要一上来就给非常复杂的需求,例如开放世界、联机、背包、技能树、剧情系统同时要求。
更合理的方式是先做一个小闭环,确认整条链路能跑通:
- 能生成项目。
- 能编译。
- 能启动 Godot。
- 能截图。
- 能根据问题继续修。
适合的第一批任务示例包括:
做一个 2D 打砖块游戏,有开始界面、分数、生命、胜利和失败界面
或:
做一个 2D 横版跳跃游戏,有三枚金币、一个敌人、一个终点门
这说明 Godogen 并不是“魔法式一句话直接产出成熟大作”的工具,它仍然要求用户理解基本环境、能看报错、能接受命令行,并知道“源仓库”和“生成项目”不是一回事。
适用人群
根据原文,Godogen 比较适合三类人:
- 想用 Codex 做可运行互动作品的 AI 创作者。
- 想快速验证玩法原型的独立开发者。