Day 1 · 共 10 节
今天不写复杂代码。目标只有一个:搞懂 Godot 是什么,建好项目,并学会把 AI 素材放进引擎。你不是程序员——你是 AI 团队的导演。
每一节都短、具体、能验收。遇到不懂的词,先复制 Prompt 问 AI,再回到 Godot 里点一点。别追求「全懂」,追求「今天能交差」。
先忘掉「引擎」这个冷冰冰的词。今天请把它想成厨房。
你想做一桌菜——也就是做出一款别人能玩的游戏。炒菜需要灶台、锅铲、计时器、装盘的碗;做游戏则需要「把图画到屏幕上」「把声音播出来」「判断两个人有没有撞上」「把进度存下来」。游戏引擎,就是已经替你装好这些设备的厨房。你不用从零发明炉灶,只要学会点菜,并指挥帮厨(AI)按菜谱干活。
如果没有引擎会怎样?你得自己决定每一帧怎么画、自己算角色有没有穿墙、自己设计存档格式、自己处理不同电脑的差异……这通常是专业团队几个月甚至几年的工作。引擎存在的意义只有一句:把重复又难的体力活包掉,让你专注讲故事。
很多人一听「学做游戏」就紧张,以为要从编程课本第一章开始。那是把「学做菜」理解成「先学冶金炼锅」。本课程反过来:锅已经买好了(Godot),菜谱可以让 AI 起草,你负责决定今天这道菜叫什么、成菜长什么样、够不够端上桌。
游戏引擎 = 现成工具箱。它提供渲染、输入、物理、资源管理等基础设施。你负责提需求与验收;引擎负责把「想玩」变成「能跑」。本课程不教你造引擎,只教你指挥 AI 用好引擎。
导演怎么开工?先别问「我该学哪个 API」。先问:「今天这道菜要出什么成品?」成品必须具体到可以检查。比如——「屏幕上出现一个能显示的少年角色」就比「我想做开放世界」好一百倍。成品越清楚,AI 越好干活,你也越好说 YES 或 NO。
今天后面的每一节,都会把大目标拆成这种「可验收的小成品」。请记住这种节奏:想清楚成品 → 写 Prompt → 让 AI 做 → 回引擎里看一眼。这就是你的工作流,比背名词重要得多。
用一句话写下来:「如果没有引擎,我做游戏时最怕的三件事是 ___。」写完就过关——今天不考试,只练把模糊恐惧变成清单。清单越清楚,后面越能拆给 AI。
引擎有很多品牌,就像厨具有很多牌子。本课程选定的厨房叫 Godot。读音接近 go-dough;你听别人叫「狗头引擎」也没关系,能下载、能打开才是硬道理。
Godot 是一款免费、开源的游戏引擎,由社区维护,对个人与独立开发非常友好。它在 2D 方面尤其顺手:节点树清晰、场景文件就是文本/资源组合、项目本质是一个文件夹——拷走就能备份。这对「边学边指挥 AI」极其重要:你随时可以把项目打包,丢给 AI 说「帮我看看哪里坏了」。
Godot 自带脚本语言 GDScript,长得有点像简化版 Python:缩进、冒号、函数名一眼能猜。你不需要先背语法书。正确姿势永远是:用中文描述想要的行为 → 让 AI 写一小段 → 粘贴进脚本编辑器 → 按运行看结果。通了就留下;不通就把报错原文复制回去继续问。
你会在网上看到 Godot 3 和 Godot 4。本课程默认 Godot 4。下载时选 Standard 版即可(不是 .NET 版,除非你明确要用 C#)。4.2、4.3、4.4 都可以,以你电脑能稳定打开为准。别在版本焦虑里耗掉第一天。
Godot 项目根目录里有 project.godot,看到它就说明「这是一个引擎工程」。资源路径以 res:// 开头,表示「从项目根算起」。以后你对 AI 说话时,尽量带上 res://... 路径,它更不容易指错文件。
记住品牌定位:Godot 不是「世界上最贵最豪华的厨房」,而是最适合你边拍边学的片场。片场干净,道具少而清楚,导演才指挥得动。我们要的是七天内能端出一盘可吃的菜,不是先装修米其林后厨。
打开 Godot 官网下载页,确认你能看到 Godot 4 的下载按钮,并把安装包下载完成。先别急着装插件、改主题、找资源商店——安装包到手就算本节完成。导演的第一天,克制比折腾更值钱。
你一定听过 Unity、虚幻引擎。它们很强,教程也多,但对本课程的目标来说,常常是过大的片场。
Unity 生态庞大:模板多、插件多、岗位也多。可对「完全零基础、七天做出古装 RPG Demo、主要靠 AI」的人来说,最大风险不是「做不出 3A」,而是还没开拍就在安装、账号、授权说明、版本分支和海量菜单里迷路。迷路会消耗信心;信心没了,再好的引擎也帮不上忙。
我们选 Godot,不是宣布它「永远全面碾压」,而是它此刻最符合三条原则:
1)零成本开工——少在许可证和心理负担上消耗注意力。
2)项目可搬运——文件夹拷走就能备份、压缩、发给 AI 排查。
3)2D 路径短——古装 RPG 我们先做 2D;节点树清晰,AI 生成的脚本更好粘贴、更好验收。
还有一个常被忽略的点:AI 训练语料里 Unity 内容可能更多,但「更多」不等于「对你更有用」。过时答案、混版本代码、把 3D 流程塞给你……都会让零基础导演更懵。Godot 4 + 明确 Prompt + 小步验收,反而更稳。
工具服务于目标。本课目标是「指挥 AI 做出第一款可玩古装 RPG」,不是「成为某引擎认证专家」。以后你若进团队改用 Unity,今天练的拆任务 / 写 Prompt / 管项目 / 验收方法依然通用——那才是可带走的能力。
所以请允许自己做一个「不完美但可执行」的决定:先用 Godot 拍完这七天。比较可以留给以后;比较本身不产生 Demo。
在备忘录写一句决策:「我选 Godot,因为 ___。」写完就关掉比较心态——选定片场,开拍比选型重要。若朋友劝你换引擎,把这句决策秀给他看,然后继续下载。
在 Godot 里,Scene(场景)最适合想成一整间戏棚,或者「一幕戏」。村里散步是一幕,和 Boss 对打是一幕,标题菜单又是一幕。每一幕通常保存成一个场景文件,扩展名是 .tscn。
为什么不全部塞进一个超大场景?因为导演不会把整部戏的道具堆进一个没有标签的仓库。村庄场景坏了,不该连战斗场景一起炸毁;你想让 AI「只改玩家」,也不该让它有机会误伤地图。拆分场景,是在给你的项目买保险,也是在给 Prompt 划边界。
一个场景里面会放很多东西:地面、角色、相机、灯光、NPC……这些「东西」叫 Node(下一节细讲)。你先建立直觉即可:Scene = 可复用、可单独打开的一幕戏。双击 .tscn,就能进入那间戏棚布置。
场景还能互相嵌套。最常见的做法是:把「玩家」做成独立场景 player.tscn,再把它拖进「村庄」场景里。这样玩家在竹林、客栈、副本里都能复用,改一次移动逻辑,到处生效。对 AI 下指令时,优先说「请新建独立的 Player 场景」,而不是「全都写在一个文件里图省事」。
主场景(Main Scene)是按 F5 时默认进入的那一幕。没设置主场景时,Godot 会问你要跑哪一个。养成习惯:重要入口场景设好 Main Scene,并放在 res://scenes/ 下,名字用英文。
验收标准很简单:文件系统里能看见 .tscn;双击能打开;运行能进到你指定的那一幕。看见文件,就说明片场立起来了——哪怕里面暂时空空如也。
# 推荐一开始就分好文件夹(先有秩序,再堆内容)
res://
scenes/
village.tscn # 村庄这一幕
player.tscn # 玩家(可嵌套进各地图)
main_menu.tscn # 标题画面(可后做)
assets/
characters/
tiles/
在纸上列出你的古装 RPG 前三个场景名(例如:标题、村庄、竹林)。名字俗一点没关系——能叫出来就能让 AI 开工。然后试着给每个名字后面加半句话用途,例如「竹林:第一次遇敌」。
Node(节点)是戏棚里的道具和演员:一张桌子、一盏灯、一位店小二、一台跟着走的相机。Godot 的世界几乎全是节点拼起来的——这是它最核心的积木思维。
节点会形成树:父节点下面挂子节点。比如「玩家」下面挂「精灵图」和「碰撞形状」。你移动父节点,孩子通常跟着走,就像人举起托盘,托盘上的碗一起移动。看懂父子关系,比死记二十个类名更重要。
节点类型很多,但古装 RPG 起步你只需要混脸熟这几个:
Node2D——2D 世界里带坐标的基础节点,常当容器。
Sprite2D——显示一张图(角色、道具、装饰)。
CharacterBody2D——可移动、可碰撞的角色身体(Day3 会重点用)。
CollisionShape2D——碰撞外形,告诉引擎「身体占多大」。
Camera2D——镜头;常见用法是挂到玩家下面跟着走。
TileMap / TileMapLayer——铺地图的地面与墙(Day2)。
给节点起名请用有意义的英文或拼音,例如 Player、NpcShop,不要一堆 Node2D2、Sprite2D3。名字是写给未来的你和 AI 看的路标。
对 AI 下指令时,尽量说清「节点类型 + 父子关系 + 命名」。例如:「根节点 CharacterBody2D 命名 Player,子节点 Sprite2D 显示角色图,再挂 CollisionShape2D」。关系清楚,生成结果才稳,也方便你对照场景树验收。
导演验收法:看左上角场景面板是否出现树;点选节点时,右侧检查器是否出现属性;在视口里拖一拖,坐标有没有变。能点、能改、能看见,就说明你握住了道具。
用缩进写出你想象中的玩家节点树(手写即可)。例如:
Player (CharacterBody2D)
Sprite2D
CollisionShape2D
Camera2D
写得不标准没关系——先有树,再让 AI 帮你校正名词。把这棵树保存好,Day3 会直接用上。
Script(脚本)是贴在节点上的「行为说明书」。节点是演员,脚本告诉演员怎么走、怎么说话、碰到敌人怎么办。同一张角色图,挂上不同脚本,可以变成玩家、路人,或只会晃的装饰。
没有脚本,场景也能摆得很漂亮,但一按运行,大家只会呆站着——那是静态展板,不是游戏。有了脚本,世界才开始「演」。
GDScript 对导演其实只需要先混脸熟三句口头禅:
extends …——我给哪种节点当说明书(必须和挂载节点匹配或兼容)。
func _ready():——开场时做一次的事,好比演员出场亮相。
func _process / _physics_process:——每一帧或每一物理帧重复做的事,好比持续走位。
此外你会见到 print():它不改变游戏画面,但会在「输出」面板打字,是最友善的验收工具。今天我们只要求你跑通一句 print,证明「脚本真的挂上了,而且运行到了」。
千万别一上来让 AI「写完整战斗系统」。脚本要短、可测、一次只做一件事。导演拆任务的能力,在这里见真章。
# 挂到任意节点上,运行后看「输出」面板
extends Node
func _ready() -> void:
print("你好,导演。片场已通电。")
脚本文件一般是 .gd。在节点上「附加脚本」后,检查器里能看到脚本槽位有文件。若运行没反应:先看是否附加成功、主场景是否正确、输出面板是否打开、是否有红色报错。
把上面的脚本复制到备忘录。本节后半或 Lesson 8 建好项目后,务必在 Godot 里跑通——看见输出,就等于剧本第一次被念出来。若有报错,不要害羞,把红字原文丢给 AI。
第一次打开 Godot 编辑器,面板又多又像飞机驾驶舱。请放松:你今天只需要认四块地盘,像认片场四个区。认路之后,菜单里 80% 的按钮可以暂时当空气。真正让你卡住的,往往不是「功能太少」,而是「眼睛不知道往哪看」。
1)场景树(左上)
当前戏棚里有哪些节点,谁是谁的孩子。选中谁,就等于选中哪个演员/道具。这里是你指挥的「场记单」。如果这里是空的,说明你还没创建或打开场景。
2)视口(中间)
你看见的舞台。可在 2D / 3D / 脚本之间切换。本课主打 2D。在这里拖动节点、看布局、确认「角色是不是真的出现了」。视口是验收的主舞台。
3)检查器(右侧)
选中节点后,改位置、缩放、贴图、脚本等属性。很多人「改了没效果」,其实是改错节点,或改完没重新运行。养成习惯:先看场景树高亮是谁,再改检查器。
4)文件系统(下方)
项目里的真实文件:场景、图片、脚本、音效。AI 素材先拖到这里,再挂到节点上。看见 res://,就看见你的片场仓库。文件不在这里,游戏就读不到。
另外两个按钮今天必须摸熟:右上角播放(常见快捷键 F5)运行游戏;旁边的停止结束运行。运行中的游戏窗口和编辑器是两套东西——在编辑器里改参数后,通常要停掉重跑才看得到最新结果。
迷路时用三步自救:① 我在改哪个节点?(看场景树高亮)② 属性有没有改到检查器?③ 文件是否真在 res:// 下?把这三步固定成你和 AI 的共同排查清单,排错会快很多。截图发给 AI 时,尽量把这四块区域都拍进去。
在编辑器里依次点这四处:场景树 → 视口 → 检查器 → 文件系统。再点一次播放和停止(即使场景是空的也没关系)。点完就算建立肌肉记忆——认路比记菜单英文更重要。若你愿意,给这四块各起一个外号写在贴纸上,也完全OK。
理论够了,开片场。请按下面做,每做完一步就打勾。卡住就复制本节 Prompt 问 AI,并写明你的系统是 Windows 还是 macOS。
步骤 1 · 安装 Godot 4
安装 Standard 版。macOS 若提示无法验证开发者,到「系统设置 → 隐私与安全性」允许打开。Windows 常见是解压即用。打开后应看到项目管理器(Project Manager)。
步骤 2 · 新建项目
点 New / 新建项目 → 选择一个空文件夹。路径尽量英文,例如 Documents/ancient_rpg,避免一堆空格和同步盘冲突目录。渲染器可先用默认;若笔记本显卡不稳,选 Compatibility。然后 Create & Edit 进入编辑器。
步骤 3 · 建第一个场景并保存
选 2D Scene(根节点多为 Node2D)→ 另存为 res://scenes/village.tscn(没有 scenes 文件夹就新建)→ 打开 Project → Project Settings → Application → Run → Main Scene,把主场景指到它。
步骤 4 · 挂脚本通电
选中根节点 → 附加脚本(可放到 res://scripts/boot_check.gd)→ 粘贴 Lesson 6 的 print 代码 → 保存 → 按 F5。输出面板出现「片场已通电」即成功。若弹窗问运行哪个场景,选你的 village。
步骤 5 · 备份
关掉 Godot 后,把整个项目文件夹复制一份到别处。这是导演的安全带:AI 改崩了,你还能回档。
成功长什么样:① 文件夹里有 project.godot;② 有 scenes/village.tscn;③ F5 能弹出游戏窗口;④ 输出有你的 print。四条齐了,Day1 工程骨架就算立住。
ancient_rpg/
project.godot
scenes/
village.tscn
scripts/
boot_check.gd
assets/
characters/
tiles/
ui/
把项目文件夹压缩备份一份。然后重新打开 Godot,确认项目还在列表里、场景还能打开。能回档,才敢让 AI 大胆改——这是长期工作流的第一块基石。
片场通电后,让画面出现「人」。请把下面三步背下来,后面七天会反复用:
生成 → 放进 res://assets/... → 拖到 Sprite2D 的 Texture
1)生成
用任意 AI 绘图工具,生成一张尽量透明背景或干净背景的古风角色 PNG。先不要追求完美立绘,能认出「青衣少年」即可。提示词写清:2D、游戏素材、全身或半身、无文字无水印、构图简单。出图后若背景杂乱,可再让 AI「去除背景,保留角色」。
2)放入项目
回到 Godot,确认下方文件系统可见。把 PNG 拖进 res://assets/characters/(没有就新建文件夹),建议命名 hero.png。看到缩略图出现,说明引擎已导入。旁边可能生成 .import 文件,别手动乱删。
3)挂到节点
打开村庄场景 → 添加子节点 Sprite2D(可改名为 HeroSprite)→ 在检查器里找到 Texture → 指定 hero.png → 视口中应出现角色。用移动工具把他放到画面中央。保存场景,再 F5 运行确认游戏窗口里也看得到。
常见翻车点:文件拖到了项目外;贴图挂在错误节点;场景没保存就运行;主场景不是你正在编的那一个。按 Lesson 7 的三步清单排查即可。
今天胜利条件是看见角色站在场景里,不是美术终审。图太大、风格不统一、比例奇怪,都可以以后再换。先完成闭环:AI 产出 → 进项目 → 显示成功。
extends Sprite2D
func _ready() -> void:
texture = load("res://assets/characters/hero.png")
print("角色贴图已挂上")
让角色出现在视口和运行窗口里,截一张图保存。这是你的 Day1 杀青照——从零到「看见人」。把截图和项目备份放一起,明天做地图时你会感谢今天的自己。
恭喜,片场第一天收工。我们不搞空洞鸡汤,只做一张「对照验收地图」。你按条打勾,就知道自己走到哪了;没勾上的,明天补也不丢人——丢人的是文件夹丢了还硬撑。
你今天应该已经具备:
你不是来背接口的。你是来练三种导演能力:拆任务、写 Prompt、管项目。Godot 只是片场;AI 是帮厨;成菜标准由你点头。以后每天课程,都会逼你用这三下拳法,而不是堆理论。遇到不会的,先问「成品是什么」,再问「谁去做」。
对照作业答案(厨房比喻):
Scene ≈ 某一道菜的整桌摆盘 / 某一幕戏棚
Node ≈ 盘里的碗筷与食材(道具、演员)
Script ≈ 这道菜的步骤说明书 / 演员的走位与台词
若你今天只完成了 70%,也请先备份项目再休息。进度可以明天补;片场文件夹丢了最痛。明天 Day2,我们要在这片场里「铺地面」——用地图瓦片让世界真正有地方可走。到那时,你已经不是两手空空,而是带着一个通电的项目进场:有场景、有角色图、有基本目录秩序。
最后提醒:把今天用过的 Prompt 收藏起来。好导演都有自己的「口令本」。口令本会越用越准,这比收藏一百个随机教程链接更值钱。
用五分钟写「项目现状」:Godot 版本、项目路径、主场景名、角色图路径、今天卡过的一个问题。发给 AI 也好,留给自己也好——写下来的现状,是明天最高效的开工燃料。
一次性过完这条清单(建议打勾):
scenes/village.tscn(或你命名的主场景)1)用手机拍下 / 截图:场景树 + 视口里的角色。
2)用一句话回答(可发到备忘录):如果 Godot 是厨房,Scene / Node / Script 分别像什么?
3)把今日用过的 Prompt 收藏到记事本,明天还能复制。
引擎是工具箱,场景是戏棚,节点是道具,脚本是说明书。AI 是帮厨,你是导演。今天的胜利条件不是「学会编程」,而是「片场通电,演员已就位」。