你的 AI 工具,你的 GODOT 项目。

用 AI Agent 和 Godot MCP 制作游戏。

把 Codex、Claude Code 等 AI Agent 连接到 Godot,找到合适的 MCP,完成接入,将下一个创意变成可玩的游戏。

本站提供工具与指南,开发操作在你自己的环境中完成。

开源精选·实用指南·真实项目
3D Platformer / Godot 官方示例
platformer.tscn
2D3D脚本
Godot 官方 3D Platformer 示例,色彩丰富的悬浮关卡
从真实项目开始
官方示例源码探索项目
试试第一个提示词

“检查场景,做一处小修改,然后运行并核对结果。”

Godot 贡献者的示例,作为起始项目展示,并非 AI 生成结果。

从创意到迭代的一套工作流
编写脚本
编辑场景
运行与调试
检查结果

你现在从哪里开始?

我刚开始学 Godot

先理解节点、场景和一个小型完整案例。请 AI 修改之前,先追踪一次从输入到反馈的过程。

我已有 Godot 项目

围绕一个具体任务选择工具,连接项目副本,先检查再修改。下方两条学习路径始终都可访问。

AI 能帮我完成哪些开发任务?

能力取决于服务器、客户端、引擎版本和权限。先确认工具清单:读取文件、检查实时场景、获取运行反馈是不同操作。

理解场景

询问节点、挂载脚本与依赖,定位应修改的位置。能读文件的工具不一定能读取实时节点状态。

小步修改脚本

要求小范围差异,例如一个速度值,并审查受影响文件。不同工具的编辑能力和编辑器集成不同。

获取运行反馈

若工具支持,可请求启动输出、错误或截图;否则自行运行 Godot 并提供结果。工具调用成功本身不证明玩法正确。

继续查看现有能力指南

看看 AI 能在 Godot 中帮你做什么

选择一项边界明确的任务:检查场景、修改脚本或排查错误。可用操作取决于 MCP 与客户端;在自己的环境中审阅差异并检查结果。

检查场景

修改前请求节点树和相关属性,并与编辑器对照。

修改脚本

选择一种行为,请求小范围差异,再检查正常与失败路径。

排查错误

提供准确错误与复现步骤,一次应用一个修复,再重复同一检查。

01 / 下一步

从下载到首次工具调用。

从兼容引擎开始,连接一个 MCP,验证一次小修改。

新建 GDScript 项目?从 Godot 4.7.2 stable 开始。

GDScript 选 Standard,C# 选 .NET。旧项目与教程需另行核查版本。

选择版本

连接本地编程客户端

通过 stdio 使用 Coding-Solo Godot MCP。按客户端完成配置,再用只读工具核对引擎版本。

选择你的 MCP

适合你的工作流的安装方案。

先选一个服务端,每种工具都有自己的要求。

Godot 4.7+ · uv / uvx

Godot AI

  1. 1安装 Godot 4.7+ 和 uv,然后选择已发布的 Godot AI 版本。
  2. 2按该版本的校验说明操作,将插件放在 addons/godot_ai/,确保其中有 plugin.cfg。
  3. 3在 Project → Project Settings → Plugins 中启用 Godot AI。
完整安装与验证

02 / 首次操作

小步修改。
让游戏不断
变得更好。

让 AI 协助下一个功能,把创意决策、项目文件和最终检查掌握在自己手中。

查看完整工作流
01

打开可运行项目

运行官方示例,建立起点。

02

给 AI 一个明确任务

选择结果可观察的小型脚本或场景修改。

03

编辑、运行、检查

审查差异、阅读错误、检查游戏行为。

04

保存检查点,再做下个功能。

保留能回退的可运行版本,用新目标重复流程。

选择工具、接入,再检查一次修改

如何接入?

使用所选服务器的安装指南,配置项目路径与客户端,再确认只读请求可用。

第一次操作做什么?

检查一个场景、提出一处修改、审查差异并验证行为,保留已知可用副本以便恢复。

连接或结果不对怎么办?

先检查客户端日志、服务器命令、项目路径和版本要求。若是游戏运行问题,先在 Godot 复现并检查输出,再继续改代码。

03 / 下一步

做 Godot 游戏,需要理解什么?

概念 → 实现 → 完整源码

从 Godot 官方基础出发,回答六个开发问题。Brackeys 平台游戏是贯穿实例,不是本站的目录模板。理解概念,追踪它在工程中的职责,再用一项小修改检查结果。

游戏各部分如何协作

世界容纳玩家、平台、金币与敌人;规则把交互转成状态变化,标签、动画和音频让变化可见或可听。下面的关系归纳自固定源码,不是另行设计的架构。

意图与移动

  1. 输入动作
  2. 玩家速度
  3. 地形接触与摄像机跟随

拾取与状态

  1. 金币重叠信号
  2. 直接调用 add_point()
  3. 分数状态与标签更新

失败与生命周期

  1. 接触敌人或坠落
  2. 死亡区与计时器
  3. 重载关卡,保留 Music

同一个金币处理函数还启动拾取动画,完成隐藏、禁用碰撞、播放音效和移除节点。一次事件同时触发规则与反馈。

GameManager 随关卡重新创建,因此分数重置;Music 是关卡外的 Autoload,生命周期不同。

带有收集与死亡重开循环的小型平台游戏。史莱姆不会追踪或战斗;没有检查点、进度存档或多关卡解锁。“Great job!”只是预放置标签,并非胜利系统。

先理解基础,再按需选择功能

节点、场景、实例、资源、脚本、输入与通信,是理解交互式 Godot 工程的基础。物理知识解释这个平台玩法;标签、动画、音频与 Autoload 属于实现选择,并非每个游戏都要用全。

请在副本中一次只改一项,检查后恢复。下面的练习是本站建议,不是已经加入原版的功能,也不是已完成的运行实测。

游戏世界如何组织?

先定义对象和归属,再区分可复用定义、放置的实例与共享数据,让后续每条规则都有明确的位置。

节点、场景与场景树通用基础
通俗解释 · 官方概念
节点是承担职责的对象,场景保存一组有层级的节点;场景树是当前运行中的层级。子节点的变换相对父节点,因此层级也能表达哪些对象一起移动。
为什么需要 · 本站归纳
写行为之前,先明确对象归属。清晰的树结构让你能找到修改对象,并判断重载场景时哪些对象会被移除。
Brackeys 实例 · 源码事实
game.tscn 包含关卡、玩家与 GameManager。Camera2D 是 Player 实例的子节点,视角随角色移动;音乐通过 Autoload 位于该关卡之外。
动手验证 · 本站建议练习
在工程副本的编辑器中移动 Player,查看 Camera2D 的全局位置:它应随玩家移动,而地形不动。随后撤销。
Godot 4.2 官方参考(英文)
场景实例通用基础
通俗解释 · 官方概念
实例是对保存场景的一次使用,可以拥有自己的位置和局部覆盖属性。可以把它理解为一份可复用对象定义,以及由它创建的多个对象。
为什么需要 · 本站归纳
把共有行为与放置位置分开,就能修改一份金币场景,而不用为每个位置维护不同实现。
Brackeys 实例 · 源码事实
game.tscn 放置了九个 coin.tscn 和两个 platform.tscn 实例。第二个平台添加自己的移动动画,不会让第一个平台也移动。
动手验证 · 本站建议练习
复制一个金币实例,移到可到达的空位置。运行工程,新金币应沿用相同的计分与拾取行为。检查后删除新增实例。
Godot 4.2 官方参考(英文)
资源通用基础
通俗解释 · 官方概念
节点执行工作,资源提供它们使用的数据。纹理、字体、形状或动画可以被多个节点引用,无需复制进各个脚本。
为什么需要 · 本站归纳
修改前先理解数据是否共享:改变共用资源可能影响多个对象。因此完整工程必须包含素材与资源配置,不只是代码。
Brackeys 实例 · 源码事实
TileSet 与 SpriteFrames 嵌入场景文件,图像与字体位于 assets/。coin.tscn 中的 SpriteFrames 引用 coin.png,并定义共用的旋转动画。
动手验证 · 本站建议练习
在 coin.tscn 中把 SpriteFrames 的 default 动画速度从 10 改为 5。运行后所有金币实例应旋转得更慢,而玩家动画不变;最后恢复 10。
Godot 4.2 官方参考(英文)
追踪原工程实现
项目与素材为游戏准备工程和可复用数据。
源码映射与编辑器上下文
创建项目、导入素材包并保存主场景。完成版声明 Godot 4.2 / Forward Plus,入口为 res://scenes/game.tscn。
待检查的预期行为
检查文件系统面板中是否有场景、脚本和素材。
原工程文件
打开教程 0:00

从开场总览进入;项目准备在玩家章节之前。

关卡与摄像机为玩家提供可行走的世界和跟随视角。
源码映射与编辑器上下文
用 TileSet 绘制 TileMap 并设置地形碰撞。game.tscn 的 Camera2D 在玩家实例下,开启平滑并设 limit_bottom = 120。摄像机映射来自源码核对,章节链接对应 TileMap。
待检查的预期行为
检查地形实体碰撞,以及视角跟随和下边界。
原工程文件
打开教程 16:57

本案例使用 Godot 4.2 的 TileMap 与嵌入式 TileSet。请配合所链接的 4.2 文档阅读;使用新版 API 前应另行核对迁移,不能直接混用。

单向平台加入可从下方穿过的平台。
源码映射与编辑器上下文
在 game.tscn 中实例化 platform.tscn;其 AnimatableBody2D 的 CollisionShape2D 开启 one_way_collision。
待检查的预期行为
从平台下方跳穿,再落到上面。
原工程文件
打开教程 23:28
移动平台为可复用的关卡对象添加动画。
源码映射与编辑器上下文
最终 game.tscn 在 Platforms/Platform2 下添加 AnimationPlayer;move 轨道以往返循环在 (370, 52) 与 (462, 52) 之间改变位置。
待检查的预期行为
检查平台是否往返移动并承载玩家。
原工程文件
打开教程 52:56

移动平台映射来自源码;此链接打开前面的动画章节。

玩家意图如何改变世界?

先识别动作,再选择物理或非物理效果。输入是通用基础;重力与碰撞则是本平台玩法设计所需的选择。

玩家意图与输入动作通用基础
通俗解释 · 官方概念
输入动作表达玩家意图,不绑定于某个具体按键。事件处理一次按下,轮询则询问动作此刻是否处于激活状态。
为什么需要 · 本站归纳
把控制方式与玩法规则分离,改键就不用重写游戏逻辑;同时明确动作是触发一次,还是按住后持续执行。
Brackeys 实例 · 源码事实
project.godot 映射 move_left、move_right 与 jump。player.gd 轮询方向轴来移动,用 is_action_just_pressed 检测跳跃,并要求玩家接地。
动手验证 · 本站建议练习
在输入映射中为 jump 添加一个未使用按键,不修改 player.gd。在地面上分别测试空格与新按键,再移除新增绑定。
Godot 4.2 官方参考(英文)
坐标、速度与重力本 2D 平台玩法所需
通俗解释 · 官方概念
移动把意图转为位置变化。本平台游戏使用水平速度与重力;Godot 2D 坐标中的负 Y 速度向上。其他类型游戏可以采用完全不同的移动规则。
为什么需要 · 本站归纳
区分方向、速度与经过时间,才能解释跳跃高度,也能避免把速度误当作位置。
Brackeys 实例 · 源码事实
player.gd 设置 SPEED = 130、JUMP_VELOCITY = -300,用 delta 累加重力,并调用 move_and_slide()。Camera2D 的跟随不依赖这些速度常量。
动手验证 · 本站建议练习
在副本中只把 SPEED 从 130 改为 100,比较到达同一地标的时间,再检查跳跃与落地仍正常;最后恢复 130。
Godot 4.2 官方参考(英文)
碰撞体、区域、层与遮罩本 2D 平台玩法所需
通俗解释 · 官方概念
物理体处理实体接触,区域检测重叠,形状定义边界。碰撞层表示自身归属,遮罩选择检测对象;这些都与可见美术不同。
为什么需要 · 本站归纳
决定哪些交互阻挡移动,哪些只触发规则。这个平台游戏需要碰撞,但以菜单为主的游戏可能完全不需要物理系统。
Brackeys 实例 · 源码事实
玩家属于第 2 层,金币与死亡区的遮罩为 2,地形使用第 1 层;platform.tscn 的 CollisionShape2D 开启单向碰撞。
动手验证 · 本站建议练习
暂时取消一个金币实例遮罩中的第 2 层。穿过它时应不再触发拾取;恢复遮罩后检查拾取恢复。
Godot 4.2 官方参考(英文)
追踪原工程实现
玩家控制让输入驱动移动和跳跃。
源码映射与编辑器上下文
创建带 AnimatedSprite2D 和 CollisionShape2D 的 CharacterBody2D,挂载 player.gd,映射三个输入动作。原版 SPEED 为 130,JUMP_VELOCITY 为 -300。
待检查的预期行为
在有碰撞的地面上测试 A/D 或方向键及空格;跳跃要求接触地面。
原工程文件
打开教程 7:31

谁管理规则,规则何时运行?

添加更多效果前,先理解状态与变化:敌人改变方向,死亡改变时间速度并最终重建关卡;它们是触发方式不同的规则。

GDScript 与更新时机通用基础
通俗解释 · 官方概念
脚本表达状态以及改变状态的规则。Godot 调用生命周期方法:就绪时初始化,_process 跟随渲染帧,_physics_process 按物理帧运行;@onready 延后到节点就绪时获取引用。
为什么需要 · 本站归纳
每条规则都先问:谁持有状态,什么时候改变?分数应在拾取时变化,而不是每帧变化;物理角色则需要持续更新移动。
Brackeys 实例 · 源码事实
game_manager.gd 持有 score,在 add_point() 中改变;player.gd 用 _physics_process,slime.gd 用带 delta 的 _process。这是原版选择,不是适用于所有对象的更新方式。
动手验证 · 本站建议练习
在 add_point() 中暂时把每次加一改为加二。拾取一枚金币应显示二,原地不动不应持续加分。检查后撤销。
Godot 4.2 官方参考(英文)
追踪原工程实现
敌人巡逻加入移动危险物。
源码映射与编辑器上下文
slime.gd 使用 delta 横向移动 Node2D,RayCastLeft 或 RayCastRight 命中时转向;slime.tscn 实例化 Killzone 处理接触死亡。这是巡逻,不是追击或战斗。
待检查的预期行为
检查遇障碍转向,以及接触史莱姆后重开。
原工程文件
打开教程 41:58
死亡与重开处理坠落或接触敌人后的重开。
源码映射与编辑器上下文
连接 Killzone.body_entered 和 Timer.timeout。killzone.gd 将 Engine.time_scale 降至 0.5,移除玩家碰撞体并启动计时器;超时后恢复 1.0 并重载当前场景。
待检查的预期行为
检查慢动作之后是否重新开始关卡并重置分数。
原工程文件
打开教程 34:20

对象如何协作?

沿一个事件追踪职责:金币负责检测,GameManager 管理分数,显示反映分数。既要追踪信号,也要追踪直接调用。

信号与计时器通用基础
通俗解释 · 官方概念
信号通知某件事已经发生,连接的方法决定如何响应;直接方法调用则要求已知对象立即做事。两者都有用途,但不是同一种连接。
为什么需要 · 本站归纳
把检测与响应分离,一个事件就能影响多个职责。调试时既要检查处理函数,也要追踪连接本身。
Brackeys 实例 · 源码事实
coin.tscn 把 body_entered 连接到 coin.gd;处理函数直接调用 %GameManager.add_point() 并播放 pickup。killzone.tscn 把 Timer.timeout 连接到重载处理函数。金币并没有发出自定义计分信号。
动手验证 · 本站建议练习
在金币的 body_entered 处理函数中临时添加一条输出。拾取时检查输出与分数变化一起发生,然后移除输出,不要重复连接信号。
Godot 4.2 官方参考(英文)
追踪原工程实现
收集物检测接触金币并给出反馈。
源码映射与编辑器上下文
coin.tscn 使用遮罩为 2 的 Area2D 并连接 body_entered;coin.gd 调用 GameManager.add_point() 并启动 pickup。动画隐藏精灵、禁用碰撞、播放音效,并在一秒后调用 queue_free。
待检查的预期行为
收集后金币消失,拾取反馈播放后移除节点。
原工程文件
打开教程 28:20
计分与提示显示进度并说明操作。
源码映射与编辑器上下文
在 game.tscn 添加 GameManager 及其 ScoreLabel;game_manager.gd 增加分数并更新文字。Labels 包含预先放置的提示,其中 Great job! 没有胜利触发逻辑。
待检查的预期行为
收集金币检查计数,再重载检查重置。
原工程文件
打开教程 62:35

玩家如何知道发生了什么?

按操作选择反馈:数字变化、姿势、消失或声音。这些实现帮助玩家理解,不是每个游戏都必须使用的引擎功能。

UI 与关卡状态按反馈需求选择
通俗解释 · 官方概念
界面元素把状态呈现给玩家。显示的文字是数据的表现,不等于数据本身;只改标签不会改变分数变量。
为什么需要 · 本站归纳
选择能回答玩家疑问的反馈:我的操作生效了吗?本例用标签回答,其他游戏可以用不同视觉反馈,也可以没有数字分数。
Brackeys 实例 · 源码事实
GameManager 在拾取后更新子节点 ScoreLabel。标签位于关卡中,不是固定 HUD;Great job! 是预先放置的文字,不是胜利条件。
动手验证 · 本站建议练习
只修改 game_manager.gd 中计分文字的前缀。拾取一枚金币,文案应变化,但计数仍加一。随后恢复原文案。
Godot 4.2 官方参考(英文)
动画与反馈按反馈需求选择
通俗解释 · 官方概念
动画随时间改变图像或属性。AnimatedSprite2D 切换帧;AnimationPlayer 可以协调多个属性与方法调用。
为什么需要 · 本站归纳
用动画解释状态,或让事件有清晰的反馈顺序。改代码前先看轨道,行为可能保存在场景里,而不是脚本中。
Brackeys 实例 · 源码事实
player.gd 选择 idle、run 与 jump 帧;coin.tscn 的 pickup 轨道隐藏金币、禁用碰撞、播放音效并延迟释放节点;game.tscn 为第二个平台的位置添加动画。
动手验证 · 本站建议练习
只调低 player.tscn 中 run 动画的播放速度。跑动再停下,腿部动画应变慢,但角色位移速度不变。检查后恢复。
Godot 4.2 官方参考(英文)
音频、项目配置与 Autoload按反馈需求选择
通俗解释 · 官方概念
音频播放器播放流,总线混合一组声音,Autoload 让节点存在于当前场景之外。Autoload 是生命周期选择,不是每个游戏必需的组成。
为什么需要 · 本站归纳
决定哪些反馈应该跨重开保留。把音乐与音效分开,也方便平衡持续背景声和短促事件声音。
Brackeys 实例 · 源码事实
project.godot 中 Music 是 Autoload,通过 music.tscn 在 Music 总线上播放;金币 PickupSound 使用 SFX。GameManager 属于 game.tscn,不是 Autoload。
动手验证 · 本站建议练习
只调低 Music 总线音量,然后拾取金币并重开关卡。背景音乐应变小,拾取音效设置不变。检查后恢复总线音量。
Godot 4.2 官方参考(英文)
追踪原工程实现
角色动画让移动状态一目了然。
源码映射与编辑器上下文
在 player.tscn 配置 idle、run 和 jump 的 SpriteFrames;player.gd 根据接地与方向选择动画并水平翻转精灵。
待检查的预期行为
观察地面静止时待机、移动时跑动、空中跳跃的帧。
原工程文件
打开教程 52:56
音乐与音效让事件可听见,并独立控制背景音乐。
源码映射与编辑器上下文
将 music.tscn 注册为 Music Autoload,把自动播放的 AudioStreamPlayer2D 路由至 Music;coin.tscn 的 PickupSound 路由至 SFX。default_bus_layout.tres 定义两个总线。
待检查的预期行为
听取背景音乐和拾取音效,并检查关卡重载时的音乐。
原工程文件
打开教程 67:46

如何知道修改真的有效?

完成闭环:预测结果,在正确上下文中运行,检查错误,并在失败或重置后重复。继续修改或导出前先保留可运行副本。

运行上下文、重置与验证通用基础
通俗解释 · 官方概念
项目指定主场景,运行它会组装规则所依赖的上下文;运行孤立场景是另一种测试。导出则为目标平台打包工程,需要单独检查。
为什么需要 · 本站归纳
编辑成功不等于行为正确。先定义可观察结果,再检查正常操作、失败与重置,然后继续下一项修改。
Brackeys 实例 · 源码事实
入口是 scenes/game.tscn,它为金币提供 %GameManager。死亡重载这个场景并重置其状态,Music 则保留。固定源码没有导出预设或现成构建。
动手验证 · 本站建议练习
运行项目,拾取两枚金币后落入死亡区。重开后再拾取一枚,显示计数应为一而不是三。记录结果与错误;未执行的检查不要标为通过。
Godot 4.2 官方参考(英文)
追踪原工程实现
运行与导出把源码工程导出为目标平台构建。
源码映射与编辑器上下文
运行主场景,再使用 Project > Export,安装匹配的导出模板并配置目标平台预设。固定仓库没有 export_presets.cfg 或现成构建,需要自行配置与测试导出。
待检查的预期行为
在编辑器外打开导出构建,重复移动、拾取与重开检查。
原工程文件
打开教程 74:16

以下源码按职责归组。视频时间戳只是实例旁的可选参考,不表示开发顺序;文件对应完成版,包含后续添加的内容。

章节引用保留此前记录的视频简介。本轮核对官方文档与固定源码,不宣称观看视频、运行 Godot 或生成了 MCP 游戏。

完整原版工程

Brackeys 原工程不是 MCP 生成的游戏。固定版本包含 7 个场景、5 个脚本以及素材和配置。project.godot 声明 Godot 4.2 与 Forward Plus,未标注确切补丁版本;本站未测试较新引擎的导入兼容性。

388257461dbd07b1e5020270c72fca48b30c493d
  1. 下载并解压 ZIP,保留完整的 First Game 文件夹。
  2. 在 Godot 4.2 中选择导入,打开 First Game/project.godot;等待素材导入后打开 scenes/game.tscn。尝试较新引擎前先复制工程,并单独核对转换改动。
  3. 使用运行项目(F5;macOS 为 Cmd+B),不要单独运行金币场景。尝试 A/D 或方向键、空格、拾取、接触史莱姆及坠落,对照上面的预期检查。

源码:Brackeys 的 first-game-in-godot(Unlicense/公有领域)。重新分发源码时保留上游 LICENSE。CC0 素材包署名 analogStudios_ 与 RottingPixels(美术)、Brackeys/Sofia Thirslund(音乐)、Brackeys/Asbjørn Thirslund(音效)、Jayvee Enaguas - HarvettFox96(字体)。建议保留署名,CC0 不强制要求。

这个 2D 游戏由哪些部分组成?

玩家在碰撞世界中移动;金币把接触连接到计分和反馈;史莱姆与坠落区域把危险连接到重开。摄像机、文字与声音帮助理解这个循环。这些是本平台游戏的职责,不是所有游戏必须实现的清单。

输入→玩家运动→世界碰撞 · 接触金币→计分+拾取反馈 · 危险→计时器→关卡重载

来源边界:二维案例为 Godot 4.2;三维原型为 Godot 4.3+附带 Jolt。对应版本的官方文档解释概念,案例描述依据固定源码;所有练习均为本站可选建议,不是已完成的运行测试。

玩家控制与动画

作用 · 本站解释
把操作意图变成玩家能看懂的移动。
相关概念 · 官方参考
输入动作给意图命名;角色物理体负责运动,动画传达当前状态。
固定工程中的实现 · 源码事实
player.gd 在物理更新中施加重力和落地跳跃,调用 move_and_slide(),并选择 idle、run 或 jump 动画及精灵朝向。
查看文件并尝试一处修改

可选小练习 · 本站建议

在副本中把 SPEED 从 130 改为 100,检查移动距离、跳跃和动画后恢复。

阅读对应版本官方参考

关卡、碰撞与平台

作用 · 本站解释
定义哪些地方可通行、哪些地方可站立。
相关概念 · 官方参考
场景用于复用对象;碰撞形状与层独立于美术画面定义物理接触。
固定工程中的实现 · 源码事实
game.tscn 使用 Godot 4.2 的 TileMap 和内嵌 TileSet。platform.tscn 是单向碰撞的 AnimatableBody2D;关卡让其中一个平台往返运动。
查看文件并尝试一处修改

可选小练习 · 本站建议

在副本中移动一个平台,检查从上方落地和从下方穿过;这不是迁移到 TileMapLayer 的练习。

阅读对应版本官方参考

金币与计分

作用 · 本站解释
把一次交互连接到规则,再展示发生了什么变化。
相关概念 · 官方参考
Area2D 信号报告重叠,脚本保存状态,Label 显示状态;不必让每个步骤都通过信号完成。
固定工程中的实现 · 源码事实
金币的 body_entered 处理器直接调用 GameManager.add_point(),然后启动拾取动画。管理器累加分数并更新 ScoreLabel;动画隐藏金币、播放声音并移除金币。
查看文件并尝试一处修改

可选小练习 · 本站建议

在副本中增加一个金币实例,检查拾取后是否只加一次分。

阅读对应版本官方参考

敌人行为

作用 · 本站解释
用可理解的规则制造移动危险。
相关概念 · 官方参考
帧更新移动这个 Node2D,射线检测墙壁,独立区域处理有害接触。
固定工程中的实现 · 源码事实
slime.gd 水平巡逻,在左右射线命中时转向。slime.tscn 包含死亡区域实例;它不是追踪、战斗或寻路系统。
查看文件并尝试一处修改

可选小练习 · 本站建议

在副本中降低巡逻速度,同时观察撞墙转向和接触玩家的结果。

阅读对应版本官方参考

死亡与重开

作用 · 本站解释
让失败进入下一次尝试,并明确哪些状态重置。
相关概念 · 官方参考
区域检测进入,Timer 延迟动作,SceneTree 替换当前场景;Autoload 可比该场景存活更久。
固定工程中的实现 · 源码事实
killzone.gd 放慢时间、移除玩家碰撞体并启动计时器。超时后恢复时间并重载关卡。GameManager 被重建,Music Autoload 保留。没有检查点或胜利界面。
查看文件并尝试一处修改

可选小练习 · 本站建议

先拾取金币再坠落,检查关卡与分数状态重置时音乐是否继续。

阅读对应版本官方参考

摄像机、提示、UI 与声音

作用 · 本站解释
帮助玩家理解所在位置,并感知规则的结果。
相关概念 · 官方参考
Camera2D 取景,Label 显示文字,音频播放器与总线控制声音。这些是本案例的体验选择,不是所有游戏的必需项。
固定工程中的实现 · 源码事实
玩家带有平滑跟随摄像机。game.tscn 把提示和 ScoreLabel 放在世界中,并非固定 HUD。音乐自动播放;金币拾取使用 SFX 总线。“Great job!” 标签不等于胜利条件。
查看文件并尝试一处修改

可选小练习 · 本站建议

在副本中只静音 SFX 总线,检查金币仍能加分且背景音乐保留。

阅读对应版本官方参考

从 2D 到 3D:哪些保持不变,哪些需要重新实现?

玩家输入与移动、关卡碰撞、交互、敌人、计分与状态、开始与死亡重开、UI、动画和声音等职责都可以延续;变化的是空间实现。Brackeys 三维工程展示第一人称场景原型,不是二维游戏的完整三维版。

输入、移动与摄像机

作用 · 本站解释
保留意图→运动→反馈的关系,为纵深重新设计方向和视角。
相关概念 · 官方参考
3D 使用 Vector3 与变换:X/Z 构成地面,Y 朝上。CharacterBody3D 与 Camera3D 替换二维移动和视角实现。
固定工程中的实现 · 源码事实
ProtoController 根据自身基变换输入方向,处理重力和跳跃,并旋转身体与头部实现鼠标视角。其场景启用了冲刺与自由飞行,project.godot 配置动作映射。
查看文件并尝试一处修改

可选小练习 · 本站建议

在副本中降低 base_speed,转向 90 度后检查前进方向,再恢复。

阅读对应版本官方参考

关卡、碰撞与物理道具

作用 · 本站解释
保留定义可通行空间的职责,在三维中重做形状与摆放。
相关概念 · 官方参考
Node3D 场景组合世界。StaticBody3D 表示固定障碍,RigidBody3D 响应物理;可见网格本身不等于碰撞形状。
固定工程中的实现 · 源码事实
main.tscn 实例化模块化墙体、地板与道具。wall.tscn 使用静态碰撞,barrel.tscn 使用刚体与凸形状。project.godot 选择随项目提供的 JoltPhysics3D 扩展。
查看文件并尝试一处修改

可选小练习 · 本站建议

在副本中复制一面墙,同时检查外观和是否阻挡角色。

阅读对应版本官方参考

交互、计分与状态

作用 · 本站解释
规则仍需决定交互的含义;三维模型不会自带拾取规则。
相关概念 · 官方参考
信号、方法调用与状态变量也适用于 3D;需要交互时可用 Area3D 检测重叠。
固定工程中的实现 · 源码事实
coin_stack.tscn、key_ring.tscn 和 chest.tscn 是物理道具,没有拾取、背包、任务或计分逻辑。my_script.gd 只是空的 Node3D 模板,不是游戏管理器。
查看文件并尝试一处修改

可选小练习 · 本站建议

可选扩展:在自己的副本中设计 Area3D 拾取与计数,验证每个道具只加一次;这里没有提供该功能实现。

阅读对应版本官方参考

敌人、开始、死亡与重开

作用 · 本站解释
无论二维还是三维,完整游戏仍需明确挑战和流程。
相关概念 · 官方参考
脚本与场景生命周期仍有用;敌人移动可能需要三维感知。菜单、胜利、死亡与检查点是设计选择,不是引擎自动提供的流程。
固定工程中的实现 · 源码事实
配置的主场景打开第一人称环境。此原型没有敌人行为、积分流程、死亡重开循环或胜负界面;链接的主场景与控制器是核查范围。
查看文件并尝试一处修改

可选小练习 · 本站建议

可选扩展:编码前定义坠落边界和重置规则,验证重开时状态也恢复;不要假定二维死亡区域脚本可原样使用。

阅读对应版本官方参考

UI、动画、材质与灯光

作用 · 本站解释
反馈仍用于解释状态;纵深还需要考虑表面、光照与可读性。
相关概念 · 官方参考
Control UI 仍可放在屏幕上;按需用三维模型与材质替代精灵。光照改变表面的呈现,并不定义游戏规则。
固定工程中的实现 · 源码事实
原型组合导入的 GLB 模型、WorldEnvironment 和 DirectionalLight3D;torch_mounted.tscn 添加 OmniLight3D。它没有与二维案例对应的游戏 HUD 或角色动画状态机。
查看文件并尝试一处修改

可选小练习 · 本站建议

在副本中调整火把灯光强度并比较可见性;增加状态标签或角色动画属于另行扩展。

阅读对应版本官方参考

音乐、音效与空间声音

作用 · 本站解释
二维和三维都可用声音回应动作;是否需要距离与方向感取决于体验。
相关概念 · 官方参考
AudioStreamPlayer3D 根据监听者(通常是摄像机)的位置播放空间声音;非空间背景音乐可使用 AudioStreamPlayer。
固定工程中的实现 · 源码事实
不同于二维案例的音乐与拾取音效,三维原型未接入游戏音频。其主场景与控制器没有对应播放器配置;火把模型并不等于声音发射器。
查看文件并尝试一处修改

可选小练习 · 本站建议

可选扩展:在自己的副本中为火把添加声音,比较远近播放;UI 反馈可按需选择非空间播放。

阅读对应版本官方参考

05 / 下一步

不必从空项目开始。

打开 Godot 官方示例,理解运行方式,再改造成自己的作品。

浏览全部资源

由 Godot 贡献者制作的官方项目。导入前选择匹配的引擎与项目 ref。

边做边学

学习 2D 与 3D,
跟随 Brackeys。

从可玩的 2D 平台游戏或可探索的 3D 地牢开始,了解各项目功能,再跟随原版课程学习。

2DBRACKEYS / 入门教程

跟随 Brackeys 制作 2D 平台游戏

制作包含移动、角色动画、金币、巡逻敌人及死亡重开循环的像素平台游戏。

2D 平台跳跃游戏 · 77 分钟

  • 移动与动画
  • 金币与计分
  • 敌人与重开
查看 10 项项目功能

7 个场景 · 5 个 GDScript 脚本 · 一个可玩关卡

  • 玩家移动

    左右移动、从地面起跳,并响应重力和碰撞。

    7:31 教程章节
  • 角色动画

    切换待机、跑步和跳跃动画,并翻转精灵使其朝向移动方向。

    52:56 教程章节
  • TileMap 关卡

    使用图块搭建像素关卡,包含地形碰撞、平台与障碍。

    16:57 教程章节
  • 跟随相机

    使用平滑 Camera2D 跟随玩家,设有下方视野边界,配置位于游戏场景中。

  • 单向与移动平台

    从下方穿过平台后落在上面。动画平台水平往返移动。

    23:28 教程章节
  • 金币拾取

    带动画的金币触发加分与拾取音效,随后消失并从场景移除。

    28:20 教程章节
  • 巡逻史莱姆

    史莱姆横向移动,射线检测到障碍时转向,接触玩家会导致其死亡。

    41:58 教程章节
  • 死亡与关卡重开

    落入死亡区域或接触敌人会触发慢动作,然后重新加载整个关卡。

    34:20 教程章节
  • 提示与金币计数

    关卡内标签说明跳跃操作并显示金币收集数;场景重载后计数归零。

    1:02:35 教程章节
  • 音乐与拾取音效

    autoload 播放背景音乐。金币拾取有音效,并使用独立 Music 与 SFX 总线。

    1:07:46 教程章节
项目覆盖范围

带有收集与死亡重开循环的小型平台游戏。史莱姆不会追踪或战斗;没有检查点、进度存档或多关卡解锁。“Great job!”只是预放置标签,并非胜利系统。

视频中还讲解了
  • 导出游戏

    视频讲解导出;所链接仓库提供源码,并非各平台的现成构建包。

    1:14:16 教程章节

核对依据为官方视频章节及 此 GitHub 源码版本 ,核查日期: 2026 年 10 月 10 日。仅核查源码,未在本地 Godot 运行。Brackeys 原创作品,并非 MCP 生成游戏。

3DBRACKEYS / 入门教程

跟随 Brackeys 制作 3D 第一人称场景

探索包含第一人称控制、物理、材质与光照的模块化地牢。这是可扩展自定义玩法的场景搭建原型。

3D 第一人称场景 · 50 分钟

  • 第一人称控制
  • 模块化地牢
  • 物理与光照
查看 10 项项目功能

28 个可复用建筑与道具场景 · 第一人称控制器

  • 从灰盒到成品场景

    从简单 3D 形状起步,用模块化模型及可碰撞地板替换白盒布局。

    6:13 教程章节
  • 第一人称移动

    WASD 移动、鼠标视角、跳跃、重力与碰撞。点击捕获鼠标,按 Escape 释放。

    11:11 教程章节
  • 冲刺与自由飞行

    附带控制器场景启用了冲刺与自由飞行模式;飞行会禁用玩家碰撞体,方便探索场景。

    11:11 教程章节
  • 模块化建筑

    组合墙体、转角、T 形连接、拱门、窗户、门洞、柱子、石木地板与天花板。

    26:53 教程章节
  • 地牢道具

    用桌椅、桶、箱子、旗帜、蜡烛、火把、食物、宝箱、金币堆、钥匙及剑盾布置关卡。

    18:45 教程章节
  • 物理与碰撞

    包含刚体桶、静态建筑与道具碰撞体,以及可动画的门碰撞体。项目配置使用 Jolt 物理。

    14:15 教程章节
  • 模型与材质

    导入 GLB 模型、应用纹理与 StandardMaterial3D 材质,并将模型作为独立场景复用。

    22:38 教程章节
  • 天空与环境

    HDR 全景图提供天空,并为地牢设置环境亮度与环境光。

    39:24 教程章节
  • 光照与阴影

    方向光与壁挂火把上的暖色点光照亮关卡并投射阴影。

    42:00 教程章节
  • 渲染润色

    项目配置了环境遮蔽、辉光、色调映射、曝光、颜色校正及 MSAA 抗锯齿。

    45:38 教程章节
项目覆盖范围

可探索的场景原型。金币、钥匙和宝箱只是道具,未接入拾取、钥匙开锁、背包或任务逻辑。没有射击、敌人 AI、战斗或胜负循环。28 个可复用场景是建筑部件与道具,不是 28 个关卡。

视频中还讲解了
  • 地形

    地形属于视频讲解主题;项目未包含地形编辑工具。

    9:31 教程章节
  • 动画角色

    视频讨论了动画角色,成品项目不含完整第三人称角色或敌人系统。

    35:43 教程章节
  • 相机与渲染质量

    结尾课程讲解 3D 场景的相机设置与渲染质量。

    47:18 教程章节

核对依据为官方视频章节及 此 GitHub 源码版本 ,核查日期: 2026 年 10 月 10 日。仅核查源码,未在本地 Godot 运行。Brackeys 原创作品,并非 MCP 生成游戏。

丰富的免费 2D 与 3D 素材。

Kenney 和 Brackeys 提供的像素角色、模块化世界与自然场景套件。

浏览素材包

06 / 下一步

Godot 商业游戏参考

已登陆 Steam 并公开销售里程碑的 Godot 游戏。

展开商业游戏辅助参考
Dome Keeper Steam 封面

采矿 / Roguelike

Dome Keeper

100 万美元总营收

发行商声明 · 2022 年 9 月

发行商 CEO 称游戏上线不久即盈利,并达到 100 万美元总营收里程碑。信息引自报道;总营收不等于净利润。

Buckshot Roulette Steam 封面

3D / 恐怖

Buckshot Roulette

Steam 销量超 600 万份

官方公告 · 2025 年 5 月

2025 年 5 月 8 日公布的历史 Steam 销量里程碑,非当前总销量或利润。

Halls of Torment Steam 封面

生存 / 动作 RPG

Halls of Torment

Steam 销量 100 万份

开发者公告 · 2024 年 10 月

开发者于 2024 年 10 月 17 日宣布 Steam 销量达 100 万份。

Brotato Steam 封面

2D / 竞技场生存

Brotato

销量超 150 万份

合作伙伴新闻稿 · 2023 年 4 月

Seaven Studio 于 2023 年 4 月 26 日公布该里程碑,未限定平台范围。

这些是历史里程碑,不是当前总量或收入预测。它们是 Godot 游戏;我们不宣称其由 AI 或 MCP 制作。

07 / 引擎选择

Godot、Unity 还是 Unreal
谁适合 AI 游戏开发?

对于开始制作 2D 或中小型 3D 游戏的独立开发者,我们首推 Godot。了解 2026 年各引擎的适用场景。

阅读客观比较
Godot

小步开始,保持掌控。

我们的推荐
Unity

沿用现有 C# 工作流。

Unreal

面向高要求、高保真 3D。

08 / 常见问题

开始之前,
先了解这些。

解答工具选择与首个项目运行中的常见问题。

打开 Godot 文档
什么是 Godot MCP?

Godot MCP 服务端将兼容 MCP 的 AI 客户端连接到 Godot 工具。不同服务端可让助手检查场景、编辑节点、启动项目或读取运行反馈。“Godot MCP”指社区项目生态,并非单一 Godot 官方产品。

应该从哪个 Godot MCP 开始?

编辑器工作流首推 hi-godot 的 Godot AI;以运行游戏和检查交互为主要任务时选择 Godot MCP Runtime。安装前比较要求与限制。排名依据公开文档、发布和问题记录,而非实测性能基准。

应该下载哪个 Godot 版本?

截至 2026 年 10 月 10 日,新 GDScript 项目建议从 Godot 4.7.2 stable Standard 开始。Godot AI v4 要求 Godot 4.7+。旧项目与教程应在升级核查前保留记录的版本。仅 C# 项目需要 .NET 编辑器。

用 AI 编写 Godot 游戏必须使用 MCP 吗?

不必。AI 编程工具无需 MCP 也能编辑项目文件。需要编辑器状态、场景操作、日志或运行交互时再加入 MCP。工具更多并不自动意味着更快或更便宜。

这些 MCP 服务端免费吗?

四个精选项目均采用 MIT 许可。AI 客户端或模型供应商可能另行收费。Godot MCP Pro 等其他方案需要付费服务端;公开 GitHub 仓库不一定包含完整产品。

哪里可以下载项目和素材?

下载库链接到 MCP 原始发布、Godot 官方示例、Brackeys 项目与素材作者。仅在软件包以固定版本、文件大小、校验和及许可核查发布后才显示镜像。

Brackeys 项目能搭配当前 MCP 使用吗?

先通过原教程学习玩法并查看源码。项目元数据记录 2D 使用 Godot 4.2、3D 使用 4.3。较新 MCP 可能需要更高引擎版本;请适配副本并测试后再结合使用。

工具调用成功能证明游戏正常吗?

不能。请检查保存文件、重开场景、运行游戏并重复预期交互。运行截图与输入模拟有帮助,但画面质量、操作和趣味性仍需人工检查。

不会写代码可以开始吗?

可以:先打开小项目,找到玩家场景,修改一个可见属性。AI 可以解释代码,但仍需逐步学会审查修改和测试行为;生成代码不保证正确。

直接写 GDScript 与使用 MCP 有何区别?

GDScript 定义游戏行为;MCP 把 AI 客户端连接到可检查、编辑项目或运行检查的工具。它不会替代语言或 Godot,单纯编辑文件也能发挥作用。

这些案例适用哪些引擎版本与 AI 客户端?

固定二维源码声明 Godot 4.2;三维源码声明 4.3 并附带 Jolt 扩展。两者均未声明 MCP 客户端。请核对各服务器当前要求及客户端传输与配置支持,在副本上测试升级。

Brackeys 案例是用 MCP 生成的吗?

不是。这些是 Brackeys 原始教程工程,用于解释职责与源码结构。本站 MCP 提示词和可选练习是独立建议;本轮内容核查未运行这些游戏。

AI 改坏项目后如何恢复?

修改前提交可用版本或复制整个项目。审查差异并运行针对性检查,失败时撤销该次修改或恢复副本。保留无关工作与导入资源,不要让助手盲目重置一切。

两个案例的完整源码在哪里?

二维固定版本的目录和 ZIP 见“完整原始工程”;三维对照后有“三维原型完整源码”。现有项目卡片也连接下载与署名。导入时请保留完整工程文件夹。

下一个项目从这里开始

选好工具。
做出游戏。

浏览下载需要帮助?从安装指南开始