Godot - 使用AI+MCP开发游戏教程2(godot-ai作为MCP服务器)
作者:hangge | 2026-11-05 08:41
在上一篇文章中,我使用了 Claude Code 驱动 godot-mcp 开发打飞机游戏(点击查看)。但细心的朋友会发现:那套方案里 AI 是"盲改",它通过命令行在引擎外部创建场景、运行项目,却从来"看"不到编辑器里实时的样子。这次我们换一个由内向外的思路:godot-ai,一个直接安装在 Godot 编辑器里的 MCP 插件,让 AI 实时操控打开着的编辑器。
本文我将演示 godot-ai 的完整用法:安装 uv 与插件 → 在编辑器 dock 里一键配置 MCP 客户端 → 让 AI 一边"看"(智能截图)一边搭建包含普通敌机、会发射子弹的炮台敌机 和 Boss 战的打飞机游戏。








(2)AI 便会直接在编辑器里对血条代码进行修改,并自动截图进行验证。
一、基本介绍
1,godot-ai 是什么
(1)godot-ai 是一个安装在 Godot 编辑器内部的 MCP 插件(MIT 开源),它把编辑器本身变成一个 MCP 服务器:插件在编辑器进程里启动 WebSocket 服务,AI 客户端的每一次工具调用都会实时作用于当前打开的编辑器——读写场景树、修改节点属性、附加脚本、连接信号,全部即时可见。
- GitHub 主页:https://github.com/hi-godot/godot-ai
- Godot 资产库页面:https://store.godotengine.org/asset/dlight/godot-ai
(2)它的核心能力:
- 实时操控:插件直接跑在编辑器进程里,AI 的修改立刻反映在编辑器界面上,我们全程肉眼可见。
- 46 个工具、120+ 操作:覆盖场景、节点、脚本、动画、UI、主题、材质、粒子、相机、环境等,甚至能配置 AnimationPlayer(内置 fade / slide / shake / pulse 动画预设)和粒子系统(内置 fire / smoke / explosion 等 七种特效预设)。
- 智能截图:AI 可以对场景截图并"看"到画面,这是外部 CLI 方案做不到的。
- 一键配置 18 种客户端:Claude Code、OpenCode、Codex、Cursor、VS Code、Cline 等,在编辑器 dock 里点一下按钮就完成 MCP 配置。
2,由内而外 vs 由外而内:与前两篇方案的架构对比
(1)前一篇文章用的 godot-mcp(Coding-Solo) 走的是"外部驱动"路线:AI 通过命令行拉起 Godot 进程、以 --headless 方式运行脚本完成场景创建,再把调试输出抓回来。优点是不需要打开编辑器、适合无人值守;缺点是 AI 全程看不到编辑器,属于"盲操作"。
(2)godot-ai 则反其道而行,插件本体就安装在编辑器里:MCP 客户端 → godot-ai attach(stdio)→ Python 服务器(HTTP,端口 8000)→ 编辑器插件(WebSocket,端口 9500),AI 的每一步都实时作用在打开的编辑器上。
(3)两者对比如下:
| 对比维度 | godot-mcp(前篇) | godot-ai(本篇) |
|---|---|---|
| 架构 | 外部 CLI 驱动,无头模式执行 | 编辑器内插件,WebSocket 实时通信 |
| 编辑器状态 | 不需要打开编辑器 | 必须打开编辑器(AI 实时操控它) |
| 运行方式 | 命令行启动项目、抓取输出 | AI 在编辑器里编辑场景,运行仍按 F5 手动 |
| AI 能否"看" | 不能,只能读文本输出 | 能,智能截图让 AI 看到画面 |
| 运行时调试 | run_project + get_debug_output 闭环 | 编辑态操作为主,运行态能力较弱 |
| 适用场景 | 无人值守、自动化、CI | 人机协作、可视化调场景、美术向调整 |
提示:两套方案并不冲突,甚至可以同时装在一台电脑上:改代码、跑测试交给 godot-mcp,调场景、配 UI、做特效交给 godot-ai。
二、安装配置
1,安装 Godot
Godot 引擎的安装可以参考我之前的文章。注意:Godot 4.2 ~ 4.6 等旧版本引擎无法使用 godot-ai v4(插件要求 4.7+)。
2,安装 uv(Python 服务器运行器)
(1)godot-ai 的 MCP 服务器是 Python 程序,官方没有用传统 pip 安装,而是选择 uv(Astral 团队用 Rust 编写的极速 Python 包管理器)的 uvx 命令来免安装运行。Windows 下在 PowerShell 执行官方安装脚本:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
(2)也可以用 WinGet 安装(现代 Windows 自带),效果相同:
winget install --id=astral-sh.uv -e
(3)安装完成后重开一个终端,验证:
uv --version
(4)能输出 uv 0.x.x (xxx x86_64-pc-windows-msvc) 之类的版本信息即可。
注意 uv 与 WSL 的关系:如果是在 WSL 里使用 godot-ai,必须把 uv 安装在 WSL 内部(用 Linux 版安装脚本),Windows 侧的 uv 在 WSL 里不可见。

3,安装 godot-ai 插件

(2)把压缩包解压到项目的 项目根目录/addons/ 目录,假设我的项目名字为 space-shooter,那么确保最终插件描述文件位于如下地址:
space-shooter/addons/godot_ai/plugin.cfg
(3)回到 Godot 编辑器,进入 项目 → 项目设置 → 插件(Plugins),在插件列表找到 Godot AI,把状态切换为启用(Enable)。

(4)随后插件会立即启动 MCP 服务,编辑器界面会出现一个 Godot AI dock 面板,显示连接状态。

4,在 dock 里一键配置 MCP 客户端
(1)上一篇教程中我们需要手动写 mcp 配置 或执行 claude mcp add,godot-ai 把这一步也自动化了。我们点击 Godot AI dock 里的“Configure an AI client”按钮。

(2)在弹出框中列出了 Claude Code、OpenCode、Codex、Cursor、VS Code、Cline 等所有支持的客户端,每个客户端旁边有一个 Configure(配置)按钮。以 Claude Code 为例,找到它并点击其右侧“配置”按钮。插件会自动把 godot-ai 的启动配置写入当前项目的 .mcp.json 文件(写入前会清掉旧的 godot-ai 条目,不影响其他 MCP 服务器配置)。写完后重启 Claude Code 客户端即可生效。

(3)接下来我们需要验证一下,在项目目录启动 Claude Code(首次需在项目内运行一次 claude 完成授权确认),输入 /mcp 查看 godot-ai 的连接状态与工具列表。

(4)确认无误后,再对 AI 说一句"截一张当前场景的图给我看看",如果它真的"看到"了我们的场景并描述出内容,整条链路就通了。

三、实战:godot-ai 版打飞机游戏
1,布置总提示词
(1)打开命令终端,进入项目目录启动 Claude Code,然后把我们这个打飞机游戏的总需求一次性发给它:
请帮我开发一个 Godot 竖版打飞机游戏,要求如下: 1. 技术约束: - 全部使用 GDScript,不使用 C# - 不使用任何外部美术素材,玩家/敌人用内置 icon.svg 代替,子弹先用 ColorRect 代替 - 每个角色独立场景(.tscn)+ 独立脚本(.gd),放在 scenes/ 和 scripts/ 目录 - 分辨率 600x800(竖屏) 2. 玩家: - 方向键/WASD 移动,限制在屏幕内 - 按住空格连射子弹(射速 0.15 秒一发) - 3 条命,被击中后 2 秒无敌闪烁 3. 敌人(分三类): - 普通敌机:从顶部随机 x 位置生成,直线向下俯冲,1 血,击毁 +10 分 - 炮台敌机:飞到顶部 1/4 处悬停,悬停持续5秒,期间每1.5秒朝玩家发射一发瞄准弹; 悬停结束后继续向下飞出屏幕,2 血,击毁 +30 分 - Boss:每 500 分登场一次,从顶部进入后左右巡航,30 血,顶部显示血条; 每隔 2 秒朝下方扇形发射 5 发子弹;血量低于 50% 后扇形加密为 9 发、间隔缩短为 1.2 秒; 击毁 +200 分,屏幕上所有敌弹清除 4. 界面: - 左上角显示分数(Score)和剩余生命(Lives) - 游戏结束后显示 Game Over 和"按 R 重新开始" 5. 实现完成后: - 检查所有场景的碰撞层设置(玩家子弹 layer 2、敌方子弹 lay
(2)发送后,Claude Code 会开始自主工作。并且在工作过程中 AI 会自动调用 godot-ai 的实时编辑与截图工具,对游戏进行不断的测试和修改。

2,优化改进
(1)如果对最终的效果不满意,比如我对 Boss 血条效果不是很满意。可以直接给 AI 发送相关要求:
Boss 的血条高度减半,填充色从绿色 (0.2, 0.8, 0.2) 到红色的渐变按血量百分比切换。完成后截图确认血条位置不遮挡 Boss 碰撞体。
(2)AI 便会直接在编辑器里对血条代码进行修改,并自动截图进行验证。

全部评论(0)