Day 2 · 共 10 节

地图制作

今天不追求开放世界。目标只有一个:用 TileMap 铺出一小块能站、有路、有墙的古风村庄地面。你是导演,AI 是铺砖帮工。

学习目标

搞懂 Tile、TileSet、TileMap(Layer)分别是什么
用 AI 生成古风地砖并导入 Godot 做成 TileSet
铺出带碰撞的最小村庄地图,角色不会穿墙

今日课程

今天怎么学

承接 Day1:项目已通电、角色图已就位。今天只加「地」。每节都有可验收成品;卡住就复制 Prompt,别死磕菜单英文。

Lesson 1 · 地图是什么

游戏里的地图,很少是一张超大背景图硬贴上去。大图好看,但很难改、也难精确做碰撞:你想挪一条路,往往得重画整张。更常见、也更适合 AI 协作的做法是:把地面切成很多小方砖,像铺地板一样拼起来。草地一块、石板一块、墙一块——拼多了,村子就出现了。

为什么导演必须关心这个?因为你对 AI 下指令时,不能只说「给我一张美丽村庄」。那常会得到一张不可玩的插画:没法切片、没法铺、也没法当碰撞用。你要说:「给我能重复拼接的地砖,尺寸统一,风格一致,包含草/路/墙。」——可拼接,才可铺;可铺,才可走;可走,才叫游戏地图。

今天的成品定义请写清楚,并贴在备忘录置顶:屏幕上有一块用方砖铺成的区域,有路、有边界,角色以后走在上面不会掉出宇宙。先别管精美建筑群、动态天气、日夜循环、河流桥梁。那些是后面剧集,不是今天这一场戏的杀青标准。

地砖拼地图示意
地图 ≈ 用统一尺寸的地砖在网格上涂色
地砖样品 → 按网格铺 → 可走的村子
知识点

网格地图的好处:好改、好扩、好做碰撞。改一路石板,不用重画整张插画。指挥 AI 时,优先要「可复用地砖」,不要只要「一张完成图」。完成图可以当概念设定,但不能替代施工材料。

生活比喻:装修时你买的是「瓷砖型号」,不是让厂家直接浇筑整间永久混凝土房。Godot 的 Tile 系统,就是游戏世界的瓷砖系统。导演负责选型号与验收;帮工(AI)负责出砖与协助切片。

AI Prompt
【角色】你是 Godot 4.7.1 Standard 2D 地图概念教练,面向零基础古装 RPG 学员。 【项目约定】主场景 res://scenes/village.tscn;地砖图 res://assets/tiles/village_tiles.png;TileSet res://assets/tiles/village_tileset.tres 【任务】用「铺地板瓷砖」比喻解释:为何游戏地图常用小地砖拼接而非一张大背景图;并说明今天最小可玩地图应包含哪 3 种地砖。 【输出格式】口语化正文 ≤280 字;末尾列出 3 种砖名及用途。 【约束】Godot 4.7.1 Standard;禁止插件;禁止建议换版本。

再提醒一次工作流:先写完成定义,再让 AI 出砖,再进 Godot 铺。顺序反了,就容易在「找感觉」里耗掉整天。零基础最贵的不是软件,是注意力。把注意力花在可验收的小成品上,你才会越做越稳,而不是越学越虚。

本节小练

在纸上画 3 个小格子,分别写:草地、石板路、墙。这就是你今天的采购清单——三种砖,够搭一个院子。写完再开工,别边做边临时加「雪山」「码头」。

Lesson 2 · Tile 与 TileSet

先把两个词分清,后面菜单才不吓人。很多人卡在 Godot,不是因为手笨,而是因为「样品」和「施工现场」混着叫。

Tile(图块/地砖):一小块可重复使用的地面或墙面单元,通常是固定边长的方块,比如 16×16、32×32。你的草地砖、石板砖、墙砖,都是 Tile。它像单片瓷砖,可以在地图上出现很多次。

TileSet(图块集):把很多 Tile 收进一本「样品册」。常见流程是:先有一张「砖册贴图」(tileset 图集 PNG),Godot 再按格子切开,登记成一本可点选的 TileSet 资源(例如 .tres)。你在编辑器底部点选的那一排小图,就是样品册打开的样子。

导演为什么要懂?因为你对 AI 说「生成 tileset」时,必须加约束:尺寸统一、缝尽量对齐、风格一致、尽量无文字、内容分类清楚。否则帮工给你一张氛围插画,你根本切不开、铺不齐,一天都会耗在修图上。

Tile 与 TileSet
Tile = 单块砖 · TileSet = 样品册
一张砖册 PNG → 按格切开 → TileSet 资源
知识点

新手建议全项目统一用 32×32 或 16×16,不要混用。混用会让地图「牙齿不齐」,角色站位也别扭。今天选定一个尺寸,写进项目现状备忘录,之后所有出图 Prompt 都带上它。

比喻再钉一次:Tile 是单片瓷砖;TileSet 是你从建材市场买回来的「同系列色卡」。没有色卡,工人(TileMap)就没东西可铺。色卡不统一,铺出来就像三家装修队同时施工。

AI Prompt
【角色】你是 Godot 4.7.1 Standard TileSet 概念教练,面向零基础学员。 【项目约定】地砖图 res://assets/tiles/village_tiles.png;TileSet 资源 res://assets/tiles/village_tileset.tres;砖尺寸 32×32 【任务】解释 Tile 与 TileSet 的区别;给出「向 AI 索要古风 tileset 图」必须写进提示词的约束清单。 【输出格式】先两段通俗解释;再 ≤8 条约束清单(尺寸、透明、风格、内容分类等)。 【约束】Godot 4.7.1;禁止插件;禁止编造资源路径。

你可以把 TileSet 想成剧组的「道具册」:每一页都是可反复使用的标准件。道具册越乱,现场越慢。所以今天宁可砖少而齐,也不要砖多而杂。三种主砖够用;第四种砖若不能服务完成定义,就先不进册。

本节小练

决定你的砖尺寸:写下「我选 32×32」或「我选 16×16」。从现在起所有地砖 Prompt 都带上这个数字——统一尺寸是地图不翻车的第一保险。

Lesson 3 · TileMap 怎么工作

TileMap 是施工现场:它拿着 TileSet 这本样品册,在网格上「涂砖」。你点一下草地,那一格就变成草地;按住拖,一路石板就铺出去了。

TileMap 工作原理
用样品册在网格上涂出地图

Godot 4.7.1 里,地图施工靠 TileMapLayer 节点:每个 Layer 像一张透明片,拿着 TileSet 样品册在网格上「涂砖」。地面、装饰、墙各用一个 TileMapLayer,职责清楚,也方便给 AI 下精确指令。

工作流记三拍:在 res://scenes/village.tscn 添加 TileMapLayer → Inspector 指定 TileSet(res://assets/tiles/village_tileset.tres)→ 底部选砖后在 2D 视口网格绘制。画错了用橡皮/右键清除。

添加 TileMapLayer → 指定 TileSet → 在网格上涂
知识点

在 Godot 4.7.1 里,真正施工的是 TileMapLayer:没有 TileSet,它是空包工头;有 TileSet 不绘制,世界仍是虚空。验收标准:视口里能看见你铺出的格子图案。

导演口令模板:「在 res://scenes/village.tscn 根下添加 TileMapLayer 命名 Ground,TileSet 使用 res://assets/tiles/village_tileset.tres,先铺 20×15 的草地。」——成品、路径、尺寸都写清了。

AI Prompt
【角色】你是 Godot 4.7.1 Standard TileMapLayer 操作教练,面向零基础学员。 【项目约定】场景 res://scenes/village.tscn;TileSet res://assets/tiles/village_tileset.tres;图层名 Ground / Decor / Walls 【任务】手把手教我:在 2D 场景添加 TileMapLayer → 指定 TileSet → 进入绘制模式铺第一块砖。 【输出格式】编号步骤,每步含「点击路径」+「成功现象」。 【约束】Godot 4.7.1 菜单名;使用 TileMapLayer 节点(非 Godot 3 旧式单层 TileMap);禁止插件;禁止编造节点名;禁止建议换版本。

本节小练

1. 打开 res://scenes/village.tscn → 选中根节点 → Add Child Node → 搜 TileMapLayer → Create → Rename 为 Ground。
成功现象:场景树出现 Ground (TileMapLayer)。
2. 再各添加一个 TileMapLayer,分别命名 Decor、Walls 并保存场景。
成功现象:三层都在场景树里,本节过关——施工队先入场,砖可以后到。

Lesson 4 · 用 AI 生成地砖

现在去「进货」。你要的不是一张风景海报,而是一张可切片的砖册:多块同尺寸小图排在一张 PNG 上;或者至少是若干张同尺寸单砖,稍后由你导入。海报只能看,砖册才能施工。

对 AI 出图,请把下面约束写进 Prompt:古风村庄;2D 游戏素材;顶视或清晰可切片的方块风格;指定像素尺寸(如 32×32 网格);无文字无水印;内容至少包含草地、石板路、墙;背景干净或透明。若一次出不齐,就分三次生成:先草地,再路,再墙——分批进货比一次求全更稳。

审美标准今天要刻意放低:能辨认「这是草、这是路、这是墙」就够。统一比精美重要;可拼接比单张惊艳重要。导演验收的是「能不能铺进 Godot」,不是「能不能进美术馆」。太好看但切不动的图,反而是进度杀手。

AI 生成的古风地砖册
要砖册,不要一张不可分割的海报
知识点

平铺(tileable)意识:草地砖四边颜色最好能相接,否则大地会有缝。若 AI 做不到完美无缝,先用「能认出」的版本推进;Day6 换装也不迟。完成定义大于皮肤。

导出时用 PNG,命名别玩梗:建议 village_tiles.png。文件名稳定,Prompt 和路径说明才好写。把图放到一个你找得到的文件夹,准备拖进 Godot。

AI Prompt · 砖册
【角色】你是 2D 游戏 tileset 美术 Prompt 助手,产出将导入 Godot 4.7.1 TileSet。 【项目约定】目标路径 res://assets/tiles/village_tiles.png;砖尺寸 32×32;TileSet 将存为 res://assets/tiles/village_tileset.tres 【任务】生成一张中国古风村庄 tileset 图集的可复制绘图 Prompt。 【输出格式】一段可直接复制的绘图 Prompt;注明整图尺寸建议(256×256 或 512×256)。 【约束】32×32 网格对齐;含草地/石板路/土墙或石墙;顶视或可切片方块风;无文字无水印;透明或纯色背景;禁止不可分割的海报大图。
AI Prompt · 修图
【角色】你是 Godot 4.7.1 TileSet 素材质检助手。 【项目约定】图将用于 res://assets/tiles/village_tiles.png;切片尺寸 32×32;Godot 4.7.1 Standard 【任务】判断我提供的 tileset 图是否容易按 32×32 切片;若不容易,给出裁切/补齐的具体步骤(可用手机相册或任意看图软件)。 【输出格式】先结论(能切 / 不能切);再编号修复步骤;每步可立刻执行。 【约束】只针对 32×32 Atlas 流程;禁止建议换引擎版本。

如果 AI 连续两次都给你海报风大图,请换策略:明确要求「seamless tile」「32x32 grid」「top-down game asset」,并要求「separate tiles in a sheet」。仍不行就让它一次只生成一种砖。导演的职责包括:发现帮工理解偏了,就改口令,而不是硬用错材料。

本节小练

导出至少一张 PNG 到电脑并命名。文件落地,本节完成——货到了,才谈上架。若出图很惨,也先收下,下节用「能用」标准继续。

Lesson 5 · 导入并创建 TileSet

货到了,开始上架。把 village_tiles.png 拖进 Godot 的 res://assets/tiles/(没有文件夹就新建)。看到文件系统出现缩略图,说明素材已进入片场仓库。

导入创建 TileSet
PNG → 拖入 → Atlas → 挂到图层

1. 导入地砖 PNG
把 village_tiles.png 拖进 Godot 下方 FileSystem 的 res://assets/tiles/(没有文件夹就右键 New Folder 创建)。
成功现象:FileSystem 出现 res://assets/tiles/village_tiles.png 及缩略图。

2. 选中 TileMapLayer 并新建 TileSet
打开 res://scenes/village.tscn → 场景树选中 Ground(TileMapLayer)→ Inspector 找到 Tile Set → 下拉选 New TileSet。
成功现象:Inspector 的 Tile Set 显示 [TileSet];编辑器底部出现 TileSet 面板。

3. 添加 Atlas 并设置切片
底部 TileSet 面板 → 点 + Add Element → 选 Atlas → 在 Atlas 的 Texture 指定 village_tiles.png → 设置 Tile Size 为 32×32 → 在图集上框选区域让 Godot 切出多块砖。
成功现象:TileSet 面板底部出现一排可点击的小砖预览。

4. 保存 TileSet 为外部资源
在 TileSet 面板左上角菜单 → Save As → 存为 res://assets/tiles/village_tileset.tres → 回到 Ground 的 Inspector 确认 Tile Set 指向该 .tres。
成功现象:FileSystem 出现 village_tileset.tres;选中 Ground 后能在 TileSet 面板点选不同砖块。

5. 试铺第一块砖
选中 Ground → 视口上方切换到 TileMap 绘制工具 → 在 TileSet 面板点选一块草地砖 → 在 2D 视口网格点击一格。
成功现象:视口出现第一块地砖;Decor / Walls 层可重复步骤 2 共用同一 .tres 或各自引用。

若菜单名称不一致,把 Godot 4.7.1 版本号与面板截图发给 AI,要求按你的界面逐步指点——导演靠描述现状 + 要逐步清单,不靠背按钮。

拖入 PNG → 新建 TileSet → Atlas 切片 → 能点选砖块
知识点

TileSet 保存成独立资源,才能在多个场景复用,也方便备份与给 AI 指路。这是「管项目」:资源有固定地址,口令才准确。

AI Prompt
【角色】你是 Godot 4.7.1 Standard TileSet 创建教练,面向零基础学员。 【项目约定】已有 res://assets/tiles/village_tiles.png(32×32);目标 TileSet res://assets/tiles/village_tileset.tres;场景 res://scenes/village.tscn;图层 Ground (TileMapLayer) 【任务】逐步教我:新建 TileSet → 添加 Atlas → 设置 32×32 切片 → 保存 .tres → 挂到 TileMapLayer → 试铺第一块砖。 【输出格式】编号步骤,每步含「点击路径」+「成功现象」。 【约束】Godot 4.7.1 菜单;使用 TileMapLayer;禁止插件;禁止编造节点名;禁止建议换版本。

本节小练

让样品册里至少能点到 2 种不同砖(草与路,或草与墙)。点得动,就过关——上架成功比铺完美更优先。

Lesson 6 · 铺地面

施工开始。选中 Ground 图层,选中草地砖,在视口里拖出一大片区域——比如大约 20×12 格。这是村子的「院子底板」。别先抠细节,先让世界「有地」:大面积底色能立刻降低空虚感,也会让你更敢继续。

再换石板路砖,从一侧通向中心画一条路,或画一个简单「十」字路口。路的职责是可读:让玩家(和明天的你)一眼看出该往哪走。路不必弯成真实古道,也不必铺满装饰纹样。先让结构成立。

绘制时记住:你在铺「逻辑网格」,不是自由绘画。砖会对齐。若整体错位,多半是 Tile Size 与素材不一致,回到 TileSet 检查。若只是不好看,先继续——功能地图可以丑,但不能没有底板与路径。

把 Day1 的角色 Sprite 挪到草地或路中央,保存场景,按 F5 看一眼。即使角色还不会走,你也应感到:「世界有地了。」这种可见进展,是零基础项目里最值钱的燃料。

铺地面示意
先有大片草地,再画出可读的路
大面积草地 → 画一条路 → 放上角色占位
知识点

地面层一般不需要碰撞(角色走在上面)。碰撞留给墙和障碍。过早给草地加碰撞,角色会像踩在隐形弹簧上,排查非常耗时。今天 Ground 只负责「能看见的地」。

AI Prompt
【角色】你是 Godot 4.7.1 Standard 地图铺设教练。 【项目约定】TileSet res://assets/tiles/village_tileset.tres;场景 res://scenes/village.tscn;Ground 层 (TileMapLayer) 【任务】教我用绘制工具在 TileMapLayer 上快速铺大片草地,再画一条石板路;并给 3 个「像村子入口」的简单布局建议(用文字描述格子即可)。 【输出格式】编号铺设步骤(含点击路径 + 成功现象);末尾 3 条布局建议。 【约束】Godot 4.7.1;TileMapLayer;禁止插件;禁止改碰撞层。

铺地时还有一个导演习惯:每铺完一步就保存。Godot 很稳,但人会误触。保存是廉价保险。铺完草地保存一次,铺完路再保存一次。未来你让 AI 帮忙改场景文件时,也更有回退点。管项目,往往就是这些不起眼的小动作。

若你发现角色比地砖大很多或小很多,先不要慌。今天允许「比例奇怪」。比例可以 Day3/Day6 再调 Scale。先保证地存在、路可读、人站得上,就已经打赢结构仗。

本节小练

截一张「有草有路」的视口图。有路可读,本节完成。若路歪了,允许重铺——地砖地图的美德就是可重来。

Lesson 7 · 墙与碰撞

只有贴图的墙,是「绘景墙」:好看,但角色会穿过去,像穿过布景板。游戏要的是「真墙」——引擎知道这里走不通。所以墙砖通常要配置 Collision(碰撞):给砖加上矩形(或多边形)碰撞形状。

在 TileSet 编辑里选中墙类砖,进入 Physics/Collision 相关面板,为该砖添加覆盖砖面的碰撞。然后在 Walls 图层用这些墙砖围出边界,记得留一个缺口当「村口」。封死四合院却不留门,明天角色一能走就会把自己关进监狱。

1. 给 TileSet 添加 Physics Layer
打开 res://assets/tiles/village_tileset.tres(或在场景选中 Walls/Ground 后在底部 TileSet 面板编辑)→ TileSet 面板上方找到 Physics Layers → 点 + 添加一层(默认 Layer 0 即可)。
成功现象:Physics Layers 列表出现 Layer 0。

2. 为墙砖绘制碰撞形状
TileSet 面板选中一块墙砖 → 切换到 Physics / 物理编辑 → 选 Physics Layer 0 → 用矩形工具在砖面上画满格碰撞(或点 Create Default Rectangle)。
成功现象:墙砖预览上可见半透明碰撞矩形覆盖整个 32×32 格。

3. 在 Walls 层围墙并留村口
场景树选中 Walls(TileMapLayer)→ 选带碰撞的墙砖 → 在视口围出矩形院子,一侧故意留 2–3 格缺口 当村口 → Scene → Save Scene。
成功现象:Walls 层可见闭合围墙与一处开口;墙砖在 TileSet 里仍有碰撞形状。

生活比喻:贴了壁纸不等于砌了承重墙;碰撞才是钢筋水泥。导演验收时不要只看截图好不好看,还要追问:如果角色会走,他会不会穿墙?今天即使还不能实测走路(Day3 才做移动),也要先在 TileSet 里确认墙砖有碰撞形状,把真墙准备好。

贴图墙与碰撞墙
看见的墙 ≠ 引擎认的墙,两者都要有
知识点

碰撞层/掩码(layer/mask)以后会细讲。今天只要保证:墙砖有碰撞形状;Walls 层确实用了这些砖。若配置迷糊,把 TileSet 碰撞面板截图给 AI,比干问「为什么穿墙」更高效。

AI Prompt
【角色】你是 Godot 4.7.1 Standard TileSet 碰撞教练,面向零基础学员。 【项目约定】TileSet res://assets/tiles/village_tileset.tres;Walls 层 (TileMapLayer);场景 res://scenes/village.tscn 【任务】逐步说明:给 TileSet 添加 Physics Layer → 为墙砖绘制矩形碰撞 → 在 Walls 层围墙并留村口。 【输出格式】编号步骤,每步含「点击路径」+「成功现象」;末尾列 3 个「有墙却仍穿墙」的常见原因。 【约束】Godot 4.7.1 TileSet 编辑器;禁止插件;禁止 StaticBody2D 等替代方案除非我明确要求;禁止建议换版本。

关于「现在还不能走路,做碰撞有没有用」:有用。碰撞是地图的规则层,移动是角色的能力层。规则先就位,能力一接上就能测。反过来,角色会走了才发现满地图穿墙,你会被返工淹没。预埋真墙,是给明天的自己减少灾难。

若你实在找不到碰撞面板,不要空耗超过 15 分钟。截图 + 版本号问 AI,或先用静态 StaticBody2D 墙体顶替(进阶做法,可让 AI 说明)。目标是「有挡住」的可能性,不是背诵官方文档目录。

本节小练

围出矩形院子并留一个口,保存场景。同时确认墙砖具备碰撞形状——真墙先上岗,明天移动测试才有意义。

Lesson 8 · 分层布置

把所有东西画在一层,就像把台词、布景、灯光全写在一张草稿纸上——你想改路边小草,可能误擦掉墙的碰撞。地图一复杂,返工成本会指数上升。所以我们分层,像叠透明片。

建议至少三层,名字用英文,方便写进 Prompt:
Ground:草地、土路、石板(可走,通常无碰撞)。
Decor:花草、石灯、水缸等装饰(默认无碰撞,或极少数障碍)。
Walls:围墙、挡住去路的障碍(有碰撞)。

分层的导演收益非常具体:你可以对 AI 说「只调整 Decor 的密度,禁止改 Walls 的碰撞形状」。边界清晰,AI 就不容易「顺手帮你重构全世界」。这是管项目,不是洁癖。

地图三层结构
透明片叠法:地面 → 装饰 → 墙
Ground → Decor → Walls
知识点

以后做角色走进屋檐、被物体遮挡,会遇到 Y 排序等问题。今天不必深挖。先保证层存在、名字清楚、职责不混。名字是给未来的你和 AI 用的路标。

装饰点到为止:村口两盏灯、路边三丛草就很豪华。装饰过多会让你明天找「为什么卡住」时眼花。克制是审美,也是进度管理——导演会说「够了」。

AI Prompt
【角色】你是 Godot 4.7.1 Standard 地图分层架构教练。 【项目约定】场景 res://scenes/village.tscn;TileSet res://assets/tiles/village_tileset.tres;图层 Ground / Decor / Walls(均为 TileMapLayer) 【任务】给出古装村庄地图分层方案(每层命名、放什么、是否需要碰撞);再列 5 个适合 Decor 层的古风小物件点子。 【输出格式】表格或分条:层名 / 内容 / 碰撞;末尾 5 条装饰点子。 【约束】Godot 4.7.1 TileMapLayer;禁止插件;禁止编造节点名。

分层也会影响你怎么写 Prompt。坏口令:「把地图弄好看点。」好口令:「仅在 Decor 层增加 3 个石灯,沿石板路两侧放置;不要改 Ground 与 Walls;不要改任何碰撞。」看见差别了吗?好口令自带边界,AI 才像可控帮工,而不是乱改现场的实习生。

建议你在场景树里把三层排好顺序,并检查绘制时选中的是正确层。画错层是最常见的「我明明删了怎么还在」——其实删错层了。选层,是地图导演的基本功。

本节小练

确认场景树里至少有 Ground 与 Walls 两层(Decor 可选),命名完成并保存——名字清楚,明天的你会跪谢今天的你。

Lesson 9 · 做出最小村庄

把今天收成一个「可交差的院子」。请按杀青清单施工,不要临时加戏。加戏是进度的天敌:你以为只是多一座桥,结果碰撞、分层、素材尺寸全被带跑。

杀青清单:
1)Ground:铺满院子草地。
2)Ground:画一条从村口通向中心的石板路。
3)Walls:四面围墙,一侧留口。
4)Decor(可选):路口放不超过 2 个装饰。
5)Day1 角色放在路中央。
6)保存 village.tscn,F5 看一眼,备份整个项目文件夹。

这就是最小村庄 Demo 地图。它不宏大,但完整:有范围、有路径、有边界、有演员站位。Day3 角色一能走,这场戏就能开拍。完整小东西,胜过残缺大世界。

最小村庄验收图
验收:围墙 + 路 + 草地 + 出口 + 角色占位
知识点

把完成定义写进备忘录:「Day2 Done = 最小村庄地图已保存」。以后每次想加河、加夜市、加悬崖,先问是否影响这条定义。不影响就记到「以后」,影响就忍痛砍掉。

AI Prompt · 验收教练
【角色】你是 Godot 4.7.1 Standard Day2 验收教练。 【项目约定】场景 res://scenes/village.tscn;TileSet res://assets/tiles/village_tileset.tres;角色 res://assets/characters/hero.png 【任务】根据我填写的现状,判断是否达到「最小村庄」标准;给出 ≤3 条 Day3(角色移动)前的修补建议。 【输出格式】先结论(达标/未达标);再修补建议;语气像导演验收。 【约束】Godot 4.7.1;禁止插件;禁止建议换版本。 【现状】(我会填空) - 砖尺寸: - 图层: - 是否给墙加了碰撞: - 村口位置: - 截图问题(可选):

最小村庄还有一个隐藏收益:它会逼你做取舍。你不能同时拥有雪山、码头、夜市和完美美术。取舍本身就是游戏设计。今天你选了「院子」,就等于选了故事从院子开始。很多伟大 Demo 都是从一个可走的小空间长出来的,而不是从宏大设定长出来的。

杀青后请立刻备份。备份不是偏执,是允许自己明天大胆试验移动与碰撞的前提。没有备份的大胆,叫赌博;有备份的大胆,叫迭代。

勾完清单后,用一句话写给自己:「我的村子从 ___ 村口进入,沿着 ___ 路走到角色站位。」写得出来,说明地图可读。写不出来,就回去加路或加口,直到能写出来为止。

本节小练

按杀青清单逐项打勾,全部勾完再点页面底部「标记为已完成」。缺一项就补一项——完成是检查出来的,不是感觉出来的。

Lesson 10 · 总结

第二天收工。别急着加新大陆,先把今天的词收进导演词典,并确认你真的带走了可运行的结果,而不是只带走「好像懂了」。

Day2 总结
草、路、墙、口——最小村庄四件套
Tile 单砖 → TileSet 样品册 → TileMap 施工 → 碰撞真墙

你应该已经具备:

能向 AI 正确索要「可切片地砖」,而不是一张海报
项目中有 TileSet,并能在地图上绘制
最小村庄:有草、有路、有墙(尽量带碰撞)、有村口
图层命名清楚,场景已保存并备份
课程理念

地图阶段最容易贪心。导演的克制就是生产力:先小院,后天下。AI 很擅长提议「再加点山、再加条河」,但每加一项都在稀释今天的完成定义。你会说「不做」,才会按期杀青。说不,是导演技能。

明天 Day3,我们让角色真正走起来:CharacterBody2D、输入移动、朝向。那时你会感谢今天铺好的路与墙——有地可走,有墙可撞,移动才测得出来。若今天碰撞没做完,明天第一节就先补真墙,再写移动脚本。

AI Prompt · 日复盘
【角色】你是 Godot 4.7.1 Standard Day2→Day3 衔接教练。 【项目约定】已完成 TileSet + 最小村庄;路径 res://scenes/village.tscn、res://scenes/player.tscn、res://assets/tiles/village_tileset.tres、res://scripts/ 【任务】写一段给明天用的「项目现状说明」模板(含路径占位符);列出 Day3 做角色移动前需检查的 3 项(如碰撞、Camera2D Enabled、CharacterBody2D)。 【输出格式】① 可填空模板;② 3 条检查项,每条含验收标准。 【约束】Godot 4.7.1 Standard;Camera2D 用 Enabled(非 Godot 3 的 Current);禁止插件;禁止建议换版本。

最后用三句话给 Day2 定性:材料要对(可切片砖),结构要小(最小村庄),规则要真(墙有碰撞)。做到这三句,你就已经超过很多「看了十小时教程却仍停在空场景」的人。差别不在天赋,在完成定义是否写死,以及你是否真的点了保存。

把今天的截图、路径、砖尺寸放进同一条备忘录。明天 Day3 开头,先把这条备忘录贴给 AI,再开始做移动。开工速度会快到让你自己吃惊——因为导演终于带着档案进场,而不是两手空空地喊「帮我做游戏」。

若今天只完成 80%,也请备份再休息。缺的若是装饰,可忽略;缺的若是墙碰撞,明天优先补。进度可以不完美,但风险项要标红。导演看的是风险,不是面子。

本节小练

更新口令本:贴上 Day2 最有用的 2 条 Prompt、你的砖尺寸、村庄场景路径、TileSet 路径。五分钟写完——文档化,是导演的隐形外挂。

课堂练习

一次性过完清单:

项目里有地砖图,并做成可用的 TileSet
村庄场景中能看见铺好的地面与墙
墙体带碰撞(或你已明确下一步如何加碰撞)
场景已保存,项目已备份

今日作业

1)截图:TileSet 面板 + 铺好的村庄俯视图。
2)用一句话写:「我的三种主砖是 ___ / ___ / ___。」
3)把今日 Prompt 收藏进口令本,标注 Day2。

本日总结

地图不是一张画,是可铺的砖。TileSet 是样品册,TileMap 是施工现场,碰撞是「真墙」。今天胜利条件:院子成形,路通,墙在,项目可回档。