「合抱之木,生于毫末;九层之台,起于累土。」——《道德经》
欢迎来到《酒魂》的开发之旅,也欢迎你正式踏入游戏开发的世界!在你打开 Godot 引擎之前,我想先和你聊几件比技术更重要的事——心态。很多人在学习游戏开发的过程中,不是被技术难倒的,而是被自己头脑中错误的预设打倒的:「我不会数学」「我没学过编程」「一个人做不了游戏」。
本章的核心目标: 把「我也想做游戏」的冲动,变成可以立刻执行的起点。我们会把那些错误预设一一拆解,还原游戏开发的真实面目;帮你找到属于自己的学习路径;然后动手装好开发环境、跑通第一个项目,再把《酒魂》全书要用的素材和源码仓库一次性备齐。读完本章,你手上会有一套完整可用的开发环境 + 一份素材清单 + 一个代码仓库——这才是真正站在了起跑线上。
1.1 游戏开发到底难不难?——拆解恐惧,理性认知
如果你问一个做了五年游戏的老手「游戏开发难不难」,他可能会耸耸肩说:「就那样。」如果你问一个刚入行三个月的新手,他可能一脸茫然:「太难了,不知道从哪下手。」为什么同样的领域,感受相差这么大?因为他们面对的根本不是同一个问题——老手已经把「大问题」分解成了无数个可以独立解决的「小问题」;新手面对的是一个没有被拆解的整体,自然感觉无从下手。
1.1.1 「太难了」通常意味着什么
当你感到「游戏开发太难了」,这种感觉背后通常是以下几种情况之一,而非你不够聪明:
- 信息量过载:一次性接触了太多概念(节点、信号、资源、脚本……),大脑还没有把它们分类归档,陷入混乱。
- 缺少反馈:写了一堆代码,屏幕上什么都没发生,不知道自己写得对不对,找不到前进的方向。
- 目标不清晰:想做一个「游戏」,但「游戏」这两个字太模糊了,不知道第一步该干什么,陷入内耗。
- 拿别人的成品和自己的起点比较:看到精美的 3A 游戏,再看看自己的代码,落差极大,容易产生自我否定。
关键认知: 游戏开发的「难」,绝大多数是认知结构问题,不是智力问题。你不是不够聪明,你只是还没有找到正确的拆解方式。本书的核心任务之一,就是帮你建立这套拆解结构,让复杂的开发过程变得有章可循。
1.1.2 独立游戏的真实工作量
网上流传着很多关于独立游戏开发的「神话」——一个人做了五年,做出了《星露谷物语》;一个团队三个月做出了爆款。这些故事是真实的,但它们不是典型情况,而是极端案例。以《酒魂》这样规模的单机游戏为例,一个有一定基础的独立开发者(不是完全零基础),完成一个「够玩」的版本大约需要以下时间,帮你建立合理的心理预期:
| 阶段 | 对应本书 | 参考时间(业余 / 全职) |
|---|---|---|
| 学习 Godot 基础到能独立写功能 | 第 1~4 章 | 4-8 周 / 2-3 周 |
| 完成第一个可玩原型(走路 + 投壶战斗) | 第 5~7 章 | 2-3 个月 / 1-1.5 个月 |
| 战斗系统成型(状态机 / 敌人 / 醉意 / 大招 / HUD) | 第 8~12 章 | 3-4 个月 / 2 个月 |
| 扩展内容(酿造、剧情、任务、经营) | 第 13~24 章 | 3-4 个月 / 2 个月 |
| 打磨、测试与发布准备 | 第 25~27 章 | 1-2 个月 / 3-4 周 |
| 总计(写实估算) | — | 约 10-18 个月(业余) |
这个数字是为了让你有心理准备,而不是为了吓退你。游戏开发是一场马拉松,节奏比速度更重要。很多人在前三个月做出了很好的原型,然后因为「感觉做不完」而放弃——其实他们距离终点已经走过了最难的那段路。
本书为此设计了一条看得见进度条的路线:每完成一个阶段,你都会拿到一个可以立刻玩起来的版本。会走路的主角 → 能投壶打架 → 有敌人有技能 → 能酿酒卖钱 → 完整的闭环。你不需要等到最后一天才知道自己做成了什么。
1.1.3 三个最常见的认知误区
新手在入门时,很容易陷入以下三个误区,提前认清它们,能帮你少走很多弯路:
-
误区一:「我要先把数学学好再做游戏」
真实情况:《酒魂》这类 2D 游戏的绝大多数功能,用到的数学只有加减乘除和偶尔的三角函数。你在初中学过的数学已经完全够用了。本书所有涉及数学的部分,都会用直白的语言解释「为什么这么算」,而不只是给你一个公式,让你知其然,更知其所以然。
-
误区二:「没有美术基础就做不了游戏」
真实情况:在学习阶段,完全可以使用免费的占位图片(placeholder)、开源素材和程序化生成的图形。本书配套资源包含所有《酒魂》用到的美术资产,你不需要自己画一笔。等你把系统做通了,再考虑打磨美术细节也不迟。1.7 节会给你一份完整的素材清单和 CC0 免费商用来源,照着下载就行。
-
误区三:「一个人做游戏太孤独、太难坚持」
真实情况:孤独是真的,但有解法——游戏开发社区、打卡群、Game Jam(游戏创作马拉松)都是很好的外部驱动力。第 2 章会专门介绍如何利用社区让自己坚持下去,找到同路人。
小结: 游戏开发难不难,取决于你怎么拆解。本书的结构就是一套经过验证的拆解方式:从最小的可运行程序开始,一层一层向上搭建,每一步都有看得见的成果,让你在成就感中逐步前进。
1.2 你需要什么基础?——诚实自测,明确短板
很多新手会纠结「我没有基础,能学吗?」答案是:完全可以。游戏开发没有绝对的「基础门槛」,但具备一些基础能力,能让你学习起来更轻松。下面是一份诚实的自测清单,帮你认清自己的起点,明确后续的补充方向(无需全部达标,仅供参考)。
1.2.1 必备基础(没有这些会很艰难)
| 条件 | 说明 |
|---|---|
| 能流畅操作电脑 | 会创建文件夹、安装软件、使用浏览器搜索,这是所有电脑相关学习的基础。 |
| 能阅读并理解中文技术文档 | 本书内容清晰易懂,但需要你愿意静下心来多读几遍,理解核心逻辑。 |
| 对游戏有真实的热情 | 不需要是硬核玩家,但你要真的想做出一款自己满意的游戏——这份热情,会成为你克服困难的核心动力。 |
1.2.2 加分基础(没有也没关系,后续可补充)
| 加分项 | 如果有,你可以…… |
|---|---|
| 有任意语言的编程基础 | 跳过后续的 GDScript 急速入门部分,直接从对照速查表开始,提升学习效率。 |
| 玩过 RPG / 经营类游戏 | 对《酒魂》的系统设计(酿造、战斗、任务)有更深的直觉理解,更容易共情玩法设计逻辑。 |
| 有基础美术或音乐能力 | 在项目打磨阶段,可以做出更有个人风格的内容,让你的《酒魂》更具特色。 |
| 接触过 Unity 或 UE 等引擎 | Godot 的概念虽有不同,但你已经有了引擎学习的思维,学习曲线会更平缓。 |
1.2.3 你不需要的东西
放心清单: 以下这些你完全不需要,不用为没有这些而焦虑:
- ✗ 数学专业背景(初中数学足够)
- ✗ 计算机科学学位
- ✗ 绘画或设计能力(有配套美术资产)
- ✗ 英语阅读能力(本书全中文,Godot 有中文文档)
- ✗ 昂贵的硬件(Godot 对配置要求极低,4GB 内存的电脑完全够用)
自测之后,无论你当前基础如何,都无需焦虑。本书的内容设计就是「从零开始」,会根据新手的学习节奏,逐步讲解所需的所有知识,帮你补齐短板、巩固优势,让你无论起点如何,都能跟上进度。
1.3 学习路径规划——定制专属学习地图,高效避坑
游戏开发的学习最忌讳「盲目跟风」——看到别人学 Unity 就跟着学,看到别人学 3D 建模就转而学建模,最后什么都学不精。在选路径之前,我们先把整张地图摊开看清楚。
1.3.1 先看清全书地图
《酒魂》全书共 27 章,分成八个部分。你可以把它理解成八个递进的「可玩版本」——每一部分结束,你的游戏都往前跨一大步:
| 部分 | 章节 | 读完你会得到 |
|---|---|---|
| 第一部分:认知与准备 | 第 1~3 章 | 环境装好、心态就位、《酒魂》设计蓝图 |
| 第二部分:项目骨架与核心玩法 | 第 4~7 章 | 项目骨架 + 会走路的主角 + 江南小镇地图 + 能投壶打架的完整战斗原型 |
| 第三部分:战斗系统 | 第 8~12 章 | 状态机、敌人 AI、醉意、酒魂技、战斗 HUD——战斗部分基本可玩(完成度 60%) |
| 第四部分:UI 基础 | 第 13~14 章 | 通用 UI 框架 + 背包(后续所有界面都复用它们) |
| 第五部分:酿造系统 | 第 15~17 章 | 配方、品质、词缀、陈化——能酿出一坛独一无二的酒(完成度 75%) |
| 第六部分:剧情与人际 | 第 18~21 章 | 与李白对饮、对话树、任务链、存档——有故事、进度不丢(完成度 88%) |
| 第七部分:酒坊经营 | 第 22~24 章 | 货币、酒坊升级、经济闭环——从新游戏一路玩到 5 级酒坊(完成度 100%) |
| 第八部分:优化与发布 | 第 25~27 章 | 性能优化、多平台打包、发布到 itch.io / B站 / 微信小游戏 |
此外还有 附录 A~G,集中存放通用知识(设计模式、素材版权、踩坑大全、仓库说明、完整 GDD、GDScript API 速查、向 AI 高效提问指南)。正文里只讲「在《酒魂》里怎么用」,理论细节一律去附录查——这样你读正文时不会被大段的理论打断。
1.3.2 三条专属学习路径
结合本书的核心内容(Godot 4.6 + 《酒魂》项目),我们根据不同基础,为你制定了三条建议的阅读路径,找到自己所在的那条,按图索骥即可。
-
路径 A:完全零基础
建议顺序:第 1 章(全读)→ 第 2 章(方法论)→ 第 3 章(设计蓝图)→ 第 4 章起严格按顺序、一章不跳地推进。
重点:第 4 章之后的每一段代码都要亲手敲。本书从第 4 章开始就是连续的项目实战,跳章会导致后面的节点路径、脚本变量对不上,报错会让人非常挫败。遇到看不懂的语法,先按书上敲、跑起来,再回头理解。
-
路径 B:有编程基础,但没接触过 Godot
建议顺序:快速浏览第 1
3 章 → 第 4 章认真做(节点、场景、Autoload 是 Godot 的地基)→ 第 57 章正常推进。重点:信号(signal)机制与你熟悉的事件系统思路不同,它是 Godot 解耦的核心手段,本书第 7 章的投壶战斗、第 12 章的 UI 更新全都依赖它,相关小节务必认真研读,不要套用原有编程思维。
-
路径 C:有 Unity / UE 等引擎经验
建议顺序:第 1.5 节(装环境)→ 第 4 章对照阅读(重点理解「一切皆节点」)→ 第 5 章起正常推进。
重点:Godot 没有「GameObject + Component」这套结构,而是场景树 + 节点 + 脚本。一个
Player.tscn本身就构成一个可复用单元,这是与 Unity 预制体最本质的区别。理解这一点,你几乎可以无缝迁移。
1.3.3 新手避坑指南(通用建议)
无论哪条路径,都请记住以下建议,能帮你少走很多弯路:
- 每一章的代码都请亲手敲一遍。 读书和动手是两种截然不同的学习效果,把代码真正运行起来之后,再回头看理论章节,清晰度会翻倍。
- 不急于求成。 不要想着「一周学会游戏开发」,每天投入 1-2 小时,稳步推进,比「突击学习」更有效,也更容易坚持。
- 不怕 bug。 bug 是开发者的常态,哪怕是资深开发者,也会遇到各种报错。遇到 bug 时不要慌张,按第 2 章的「调试五步法」逐步排查,每解决一个 bug,你的能力就会提升一步。
- 不盲目扩展。 学习过程中不要因为看到其他有趣的技术就偏离路线。先完成《酒魂》项目,再去拓展其他领域(比如 3D 开发、音效制作)。
请记住:最适合自己的学习路径,就是「循序渐进、注重实操」的路径。跟着本书的节奏,你会少走很多弯路,高效掌握游戏开发的核心能力。
1.4 为什么选择 Godot?——引擎无关视角,聚焦核心能力
目前市面上有很多游戏引擎,比如 Unity、Unreal Engine(虚幻引擎)、Cocos2d 等,为什么本书选择 Godot 引擎作为教学载体?不是因为 Godot「比其他引擎更好」,而是因为它更适合新手,更能帮助我们聚焦「游戏开发的核心能力」。
从「引擎无关」的视角来看,无论使用哪款引擎,游戏开发的核心逻辑都是相通的——都是「通过代码控制游戏元素,实现玩法规则,给玩家带来良好体验」。选择 Godot,只是为了让新手更容易上手,更快地将精力投入到「玩法设计」和「逻辑实现」上,而不是被引擎的复杂操作所困扰。
Godot 适合新手的核心优势如下:
- 完全免费开源:没有版权费用,无需订阅,无论是个人学习还是商业开发,都可以自由使用,不用担心版权问题,对新手和独立开发者非常友好。
- 上手门槛低:自带 GDScript 语言,语法简洁易懂,类似 Python,新手容易掌握;引擎界面简洁,核心功能清晰,不需要复杂的配置就能开始开发,上手难度远低于其他主流引擎。
- 轻量高效:安装包体积小(不到 100MB,下载下来就是一个压缩包),运行流畅,即使是配置普通的电脑(4GB 内存即可)也能流畅运行,不会出现「电脑带不动」的问题。
- 功能强大:支持 2D 和 3D 开发,自带丰富的节点、动画、物理系统等,足以满足独立游戏开发的所有需求,《酒魂》这样的 2D 国风游戏,用 Godot 完全可以完美实现。
- 社区友好:有大量的中文教程、开源项目和社区支持(如 Godot 中文文档、贴吧、B 站教程),遇到问题时能快速找到解决方案,适合新手交流学习。
再次强调: 本书的核心是「教你如何开发游戏」,而不是「教你如何使用 Godot」。Godot 只是我们的「工具」,通过这个工具,你会掌握游戏开发的核心逻辑和思维,未来无论切换到哪款引擎,都能快速适应。
1.5 工具箱安装全流程(Godot 4.6 + Git + Gitee)
工欲善其事,必先利其器。在开始开发之前,我们需要安装三款核心工具,它们将伴随我们整个《酒魂》项目的开发过程:
| 工具 | 作用 | 是否必须 |
|---|---|---|
| Godot 4.6 | 游戏开发引擎,我们写代码、做场景的地方 | 必须 |
| Git | 版本控制工具,让代码可以随时「反悔」 | 强烈建议 |
| Gitee | 代码托管平台,把项目备份到云端 | 强烈建议 |
本小节将为你提供详细的安装步骤,全程新手友好,每一步都标注了注意事项和常见问题解决方案,确保你能顺利完成安装,避免踩坑。
1.5.1 安装 Godot 4.6
Godot 是本书的核心工具,它完全免费、开源,不需要管理员权限,安装过程非常简单:
- 下载:访问 Godot 官方下载页面 https://godotengine.org/download,选择你的操作系统(Windows / macOS / Linux),下载 Standard 版本(不要选 .NET 版本,除非你打算用 C# 开发)。
- 安装:
- Windows 用户:下载的是一个 .zip 压缩包,解压后直接双击
Godot_v4.6_win64.exe即可运行,无需安装。建议把它放在一个固定的目录(如D:\Godot),方便后续查找。 - macOS 用户:下载 .dmg 文件,拖入 Applications 文件夹。首次打开需要在「系统偏好设置 → 安全性」中点击「仍要打开」。
- Linux 用户:下载 .x86_64 文件,
chmod +x后即可运行。
- Windows 用户:下载的是一个 .zip 压缩包,解压后直接双击
- 验证安装:打开 Godot,若能正常进入欢迎界面(显示「New Project」「Import」等选项),则说明安装成功。
常见问题: Windows 上双击无反应?右键选「以管理员身份运行」试试。如果提示缺少 DLL,通常是缺少 VC++ 运行库,在微软官网搜索「Visual C++ Redistributable」下载安装即可。
1.5.2 安装 Git 与配置 Gitee(版本控制,强烈建议)
Git 是一款版本控制工具,核心价值是:任何时候都可以「反悔」,回到过去的任意项目状态,避免因误操作丢失代码;同时也能方便地备份项目。Gitee 是国内的代码托管平台,相当于「线上的代码仓库」,可以将本地的项目代码上传备份,方便后续查看和恢复。
第一步:安装 Git
访问 Git 官方下载页面 https://git-scm.com/download,根据自己的操作系统选择对应版本,下载并安装,全程点击「下一步」即可(默认配置已满足我们的需求,无需修改)。
第二步:验证安装
打开终端(Windows 用 Git Bash),输入:
git --version
若能显示版本号(比如 git version 2.52.0.windows.1),则说明安装成功。
第三步:注册 Gitee 账号
访问 Gitee 官方网站 https://gitee.com,点击右上角「注册」,输入手机号、验证码,设置用户名和密码,完成注册(建议用户名简单易记,后续用于关联 Git)。

第四步:配置 Git 与 Gitee 关联
打开终端(Windows 用 Git Bash,macOS / Linux 用自带终端),执行以下命令(只需执行一次):
git config --global user.name "你的Gitee用户名"
git config --global user.email "你的Gitee注册邮箱"
小技巧: Windows 上有个快速进入文件夹打开 Git Bash 的方法——在文件夹空白处单击右键,选择「Open Git Bash here」即可,不用一层层
cd进去。

第五步:完成第一次提交
在你完成第一次提交并推送后,后续更新代码的标准流程是:
git add . # 1. 将更改添加到暂存区(或指定具体文件名)
git commit -m "完成背包拖拽功能" # 2. 提交到本地仓库,写清楚做了什么
git push origin master # 3. 推送到远程仓库
如果团队协作,建议先执行 git pull 拉取最新远程变更,再执行上述步骤。
养成好习惯: 每次完成一个功能,就执行一次 commit,提交信息写清楚做了什么,例如「完成背包拖拽功能」。三个月后你会感谢现在的自己,避免因误操作丢失辛苦写的代码。
注意事项: 安装 Git 过程中,若出现「是否添加 Git 到环境变量」的选项,一定要勾选,否则后续无法在终端中使用 Git 命令;Git 与 Gitee 关联时,用户名和邮箱必须与 Gitee 注册信息一致,否则后续无法将本地代码上传到 Gitee。
1.5.3 安装问题速查表
| 症状 | 解决方法 |
|---|---|
| Godot 打开是英文界面 | 编辑器 → Editor Settings → Interface → Editor Language → 简体中文 |
| 运行项目时窗口闪一下就消失 | 查看底部「输出」面板的红色报错信息,通常是脚本语法错误 |
Git commit 报错 user not set |
重新执行第四步的 git config 命令,正确设置用户名和邮箱 |
| macOS 上 Godot 无法打开 | 系统偏好设置 → 安全性与隐私 → 通用 → 点击「仍要打开」 |
1.6 验证安装——你的第一个「Hello, 酒魂」项目
安装完所有工具后,我们来创建第一个简单的项目,验证工具是否能正常使用,同时感受一下游戏开发的乐趣。这个项目非常简单,只是在屏幕上显示「Hello, 酒魂!」的文字,但它能帮你熟悉 Godot 的基本操作,完成从「零」到「一」的突破。
先说清楚一件事: 本节这个
WineSoul是纯粹用来验证环境的练习项目,做完就可以扔。第 4 章我们会重新正式创建《酒魂》项目,并规划完整的文件夹结构。两者不冲突,也不用纠结命名——练习项目叫什么都不影响后面的正式开发。
步骤如下(全程实操,新手可跟着一步步操作):
1.6.1 创建新项目
- 打开 Godot 引擎,在欢迎界面点击「New Project」(新建项目)。
- 在弹出的窗口中,设置项目名称为「WineSoul」,选择项目保存路径(建议与 Godot 安装路径在同一位置,比如
D:\Godot\Projects\WineSoul)。 - 点击「Create」,创建项目并进入 Godot 编辑器界面(首次进入可能会有短暂加载,耐心等待即可)。

1.6.2 创建场景与节点
- 在 Godot 编辑器左侧的「Scene」(场景)面板中,点击「+」号,选择「Control」(控制节点),作为场景的根节点(根节点是场景的核心,所有其他节点都需要挂载在根节点下),将根节点命名为「Main」(方便识别)。

- 选中「Main」节点,再次点击「+」号,选择「Label」(文本节点),将其命名为「HelloLabel」(文本节点用于显示文字)。

1.6.3 设置文本内容与样式
- 选中「HelloLabel」节点,在右侧的「Inspector」(检查器)面板中,找到「Text」(文本)选项,输入「Hello, 酒魂!」。

- 调整文字大小:在检查器面板中展开「Theme Overrides(主题覆盖)→ Fonts(字体)」,把「Font Size」(字体大小)调成
36,让文字更清晰。关于字体,本节我们先跳过。 你在检查器里会看到一个「Font」属性,它的作用是指定一个字体文件——但此刻你手上还没有中文字体文件,Godot 内置的默认字体也不含中文字形。之所以「Hello, 酒魂!」仍能正常显示,是因为 Godot 4 会自动回退到系统字体去补齐缺失的字形;在中文系统上看起来没问题,但换一台电脑或换个平台就不一定了。
所以正式项目中,我们必须自己指定中文字体。1.7 节会告诉你下载哪个字体(含免费商用授权),第 4 章建立正式项目时再统一放进
res://fonts/目录并配置。本节只需要确认引擎能正常显示文字即可。 - 调整文本位置:选中「HelloLabel」节点,在场景编辑器中用鼠标拖动文本,将其移动到屏幕中央(也可以在检查器面板中设置「Position」(位置)的 X 和 Y 值,让文本居中)。

1.6.4 运行项目,验证成果
- 点击「Scene」→「Save Scene」(保存场景),将场景保存为
main.tscn(默认名称即可),完成项目保存。 - 点击编辑器右上角的「Play」(运行)按钮(绿色三角形图标),或直接按 F5 键,运行项目。
- 若能正常弹出窗口,窗口中央显示「Hello, 酒魂!」的文字,则说明 Godot 安装成功,且你已经成功创建了第一个项目!

恭喜你!虽然这个项目非常简单,但它是你游戏开发之路的第一个里程碑。通过这个项目,你已经熟悉了 Godot 的基本操作——创建项目、创建场景、添加节点、设置属性、运行项目,这些操作将贯穿我们后续所有的开发过程。
1.7 《酒魂》的素材准备清单(瓦片 / 帧动画 / 字体 / 音频 / BGM,含 CC0 来源与版权速查)
环境装好了,但一个游戏没有素材就是一堆黑方块。这一节我们把《酒魂》整个项目需要的素材一次性列清楚,并给出可以直接下载使用的免费商用来源。
你完全不需要现在就把所有素材下载完——那会耗掉你一整天,而且大部分要到很后面的章节才用得上。正确的做法是:先看清全貌,再按章节需要分批准备。本节的作用就是让你随时知道「还缺什么、去哪找」。
1.7.1 先定规格:像素风的技术参数
素材必须先定规格再动手找,否则找到的素材尺寸对不上,后期统一缩放会让画面糊掉。下面是《酒魂》的基准参数,全书所有素材都按这个标准:
| 项目 | 规格 | 说明 |
|---|---|---|
| 内部基准分辨率 | 640 × 480 | 老式 4:3 比例,最有复古味道 |
| 窗口分辨率 | 1280 × 960 | 内部画面放大 2 倍,像素保持锐利 |
| 瓦片尺寸(Tile) | 32 × 32 px | 地图的基本单元,全书统一 |
| 角色单帧 | 128 × 128 px | 比瓦片大,方便画出人物细节和衣物飘动 |
| 角色精灵表 | 1024 × 1024 px | 8 列 × 8 行 = 64 帧,装下「8 方向 × 8 帧」 |
| 道具 / 图标 | 32 × 32 px | 酒壶、材料、UI 图标 |
| 投壶物件 / 箭矢 | 64 × 64 px | 飞行动作需要更大的画布 |
| 纹理过滤 | Nearest(最近邻) | 像素风的命门,用错就糊成一团 |
| 美术风格 | 国风像素 | 青石板、粉墙黛瓦、酒旗、木格窗 |
为什么瓦片是 32×32 而不是 16×16? 16×16 太小,画不出江南建筑那种檐角、窗棂的细节;64×64 又太大,一个屏幕放不下几格,走两步就出画面。《酒魂》要表现的是小镇街巷的纵深感,32×32 是在「细节」和「视野」之间最舒服的平衡点。
1.7.2 素材总清单(五类)
第一类:地图瓦片(TileSet)
| 用途 | 对应章节 | 需要的瓦片 | 优先级 |
|---|---|---|---|
| 地面 | 第 6 章 | 青石板路、泥土、草地、水面(含岸边过渡) | 必须 |
| 建筑 | 第 6 章 | 粉墙、黛瓦屋顶(四角/边缘/中心)、木门、木格窗 | 必须 |
| 装饰 | 第 6 章 | 酒旗、灯笼、水缸、酒坛堆、竹筐 | 必须 |
| 自然 | 第 6 章 | 垂柳、竹子、石桥、石阶、篱笆 | 必须 |
| 室内 | 第 15 章 | 地板、酒窖木架、蒸馏器、酒缸 | 后续 |
整合方式:所有瓦片拼成一张大图集(图集尺寸建议是瓦片尺寸的整数倍,如 896×896 = 28×28 格),再用 Godot 的 TileSet 资源切分。这样一张贴图就能渲染整张地图,性能最好。
第二类:角色帧动画
| 用途 | 对应章节 | 规格 | 帧数 |
|---|---|---|---|
| 主角待机 | 第 5 章 | 128×128 × 8 方向 | 每方向 4~8 帧 |
| 主角行走 | 第 5 章 | 128×128 × 8 方向 | 每方向 6~8 帧 |
| 主角攻击 | 第 8 章 | 128×128 × 4 方向 | 每方向 4~6 帧 |
| 主角受击 / 死亡 | 第 8 章 | 128×128 × 1 方向(可镜像) | 各 4~6 帧 |
| 主角瞄准 / 投掷 | 第 7 章 | 128×128 × 4 方向 | 每方向 4~6 帧 |
| 敌人(3~5 种) | 第 9 章 | 128×128 | 待机/行走/攻击/死亡 |
八方向动画是本书一个不容妥协的成本。 俯视角 RPG 里,角色朝向哪边就要播哪边的动画。你可以先用「4 方向 + 水平镜像」偷懒(左右各镜像一次,就省掉 4 个方向),本书第 5 章会告诉你怎么做。等有精力了再补全八方向。
第三类:界面与道具图标
| 用途 | 对应章节 | 规格 |
|---|---|---|
| 道具图标(酒壶、材料、成品酒) | 第 14 章 | 32×32 |
| UI 边框、面板、按钮 | 第 13 章 | 九宫格切片,建议 32×32 起 |
| 准星 / 蓄力指示器 | 第 7 章 | 32×32 |
| 血条 / 醉意条底图 | 第 12 章 | 长条,建议 200×24 |
| 伤害飘字背景 | 第 12 章 | 可纯代码绘制,无需素材 |
第四类:字体
这是中文独立游戏最容易踩坑的一类——拉丁字母的像素字体满地都是,中文像素字体却非常稀少,因为汉字有上万个字形,制作成本极高。
| 字体 | 用途 | 许可 | 推荐指数 |
|---|---|---|---|
| 缝合像素字体(Fusion Pixel) | 正文、对话框、UI 文字 | SIL OFL 1.1 | ★★★★★ |
| 方舟像素字体(Ark Pixel) | 正文(同上的官方完整版) | SIL OFL 1.1 | ★★★★☆ |
| 思源黑体 / 霞鹜文楷 | 封面、宣传图等非像素场合 | SIL OFL 1.1 | ★★★☆☆ |
- 缝合像素字体:https://github.com/TakWolf/fusion-pixel-font — 提供 8px / 10px / 12px 三种尺寸,简体汉字覆盖 GB/T 2312 的 5705 字,日常用字基本齐了。是当前最实用的中文像素字体方案。
- 方舟像素字体:https://ark-pixel-font.takwolf.com/ — 提供 10 / 12 / 16 像素,是「缝合」的上游项目,字形质量更高,但目前仍在开发中、缺字较多,官方自己也建议生产环境先用缝合像素字体过渡。
⚠️ 一个重要提醒: 缝合像素字体的 10 像素版本里包含了一个来源不明(Zfull)的第三方字形,严格来说它的 10px 尺寸不能完全保证 OFL 授权安全。稳妥起见,请使用 8px 或 12px 版本。本书《酒魂》统一使用 12px。
✅ 行动建议:字体现在就下载。 五类素材里,只有字体建议你立刻去下——因为它只有一个文件、体积很小,而且第 4 章建立正式项目时马上就要配置。其余四类素材(瓦片、角色、图标、音频)可以按章节进度分批准备,第 5 章之前不需要任何美术资源。
第五类:音频(音效 + BGM)
| 类型 | 用途 | 格式 | 时长 |
|---|---|---|---|
| UI 音效 | 按钮点击、界面打开/关闭、错误提示 | WAV | 0.1~0.3 秒 |
| 战斗音效 | 蓄力、投掷、命中陶壶、陶壶破碎 | WAV | 0.2~1 秒 |
| 环境音效 | 脚步(石板/泥土)、开门、倒酒 | WAV | 0.3~1 秒 |
| 演出音效 | 大招释放、屏幕震动配套低频 | WAV | 1~3 秒 |
| BGM:小镇 | 江南小镇探索时的背景音乐 | OGG | 1~2 分钟,可无缝循环 |
| BGM:战斗 | 投壶战斗时的紧张配乐 | OGG | 1~2 分钟 |
为什么音效用 WAV、BGM 用 OGG? 简短音效对延迟极度敏感,WAV 无需解码、响应最快,而且文件小;BGM 文件长达数分钟,用 WAV 会让游戏包体积暴涨,必须用压缩格式。特别提醒:不要用 MP3 做循环 BGM——MP3 编码器会在文件开头和结尾补上几毫秒静音,循环播放时接缝处会出现明显的「咔哒」声或停顿。OGG 才是循环音乐的正确选择。
1.7.3 免费商用素材来源速查
下面这些站点都提供明确允许商用的素材。请按需取用,并养成随手记录来源的习惯。
| 来源 | 提供什么 | 许可 | 需署名? | 备注 |
|---|---|---|---|---|
| Kenney https://kenney.nl | 2D 精灵、瓦片、UI、音效 | CC0 | 否 | 4 万+ 素材、270+ 素材包,风格统一,新手首选 |
| OpenGameArt https://opengameart.org | 瓦片、角色、音乐、音效 | 逐资源不同 | 看许可 | 搜索时务必勾选 CC0 复选框,否则会混入 CC-BY-SA |
| itch.io https://itch.io/game-assets/free | 像素素材包(质量最高) | 逐包不同 | 看页面 | 推荐作者:Pixel Frog、Ansimuz、0x72、Cainos |
| Freesound https://freesound.org | 70 万+ 音效 | 逐条不同 | 看许可 | 侧栏「License」勾选 Creative Commons 0 即可筛出免署名资源 |
| Pixabay Music https://pixabay.com/music | 背景音乐 | Pixabay 内容许可 | 否 | 商用免署名,最省心的 BGM 来源 |
| Kenney 音频包 https://kenney.nl/assets?q=audio | UI / 打击 / RPG 音效 | CC0 | 否 | 包含 Interface Sounds、Impact Sounds、Music Jingles |
| Sonniss GDC 音频包 https://sonniss.com/gameaudiogdc | 专业级音效(每年 7GB+) | 免版税 | 否 | 明确允许商用、无署名要求;但禁止用于训练 AI |
| Mixkit https://mixkit.co/free-sound-effects/ | UI 与休闲音效 | Mixkit 免费许可 | 否 | 免注册直接下载,质量经过筛选 |
| Game-icons.net https://game-icons.net | 4000+ 图标 | CC BY 3.0 | 是 | 图标质量极高,但必须在游戏中署名 |
| Lospec https://lospec.com/palette-list | 像素画调色板 | 各异 | 看页面 | 不会配色?直接下载一套国风调色板 |
做素材的工具(可选):
| 工具 | 用途 | 费用 |
|---|---|---|
| Aseprite | 像素画与动画的标准工具,支持精灵表导出 | 付费(约 ¥60) |
| LibreSprite | Aseprite 的开源分支,功能相近 | 免费 |
| Piskel | 浏览器里直接画像素画 | 免费,免安装 |
| jsfxr / ChipTone / Bfxr | 浏览器里一键生成 8-bit 音效 | 免费,生成的声音归你所有 |
| Audacity | 音频剪辑、裁剪、音量统一 | 免费 |
小技巧: 用 jsfxr 生成音效时,你拥有生成结果的完整权利,可以商用、无需署名。这是给独立开发者最友好的音效方案——一个「命中陶壶」的音效,30 秒就能捏出来。
1.7.4 版权速查:哪些能用、哪些是坑
这一小节请务必读一遍。独立开发者因为一张图片被追责的案例并不罕见,而这些问题在下载前花 10 秒就能避免。
能安全商用的许可(按宽松程度排序):
| 许可 | 含义 | 商用 | 署名 | 改动后是否需同许可 | 适合游戏吗 |
|---|---|---|---|---|---|
| CC0 / Public Domain | 放弃全部权利,等同公共领域 | ✅ | 不需要 | 否 | ⭐ 最理想 |
| 免版税(Royalty-Free) | 一次性授权,可商用 | ✅ | 通常不需要 | 否 | ⭐ 很理想 |
| OFL 1.1(字体专用) | 自由使用、嵌入、商用 | ✅ | 不需要 | 衍生字体需同许可 | ⭐ 字体首选 |
| CC BY | 可商用,但必须署名 | ✅ | 必须 | 否 | 可以,记得署名 |
| CC BY-SA | 可商用,署名 + 衍生作品同许可 | ✅ | 必须 | 是 | ⚠️ 对游戏不友好 |
| GPL | 开源传染性许可 | ⚠️ | — | — | ⚠️ 闭源游戏有法律风险 |
| CC BY-NC | 禁止商业使用 | ❌ | — | — | ❌ 不能用于卖钱的游戏 |
❌ 明确要避开的陷阱来源:
- BBC Sound Effects — 免费但采用 RemArc 许可,仅限非商业用途。做原型可以,发布不行。
- Jamendo — 免费下载仅供个人收听,商业使用需逐首购买同步许可。很容易误用。
- Uppbeat 免费档 — 许可条款面向社交媒体/播客,不是为可下载的游戏设计的。
- Internet Archive — 内容来源杂乱,部分上传者根本没有版权。风险最高的来源。
- YouTube 音频库 — 面向 YouTube 创作者,条款与游戏发行不同。
- CraftPix 免费素材 — 采用自有许可,限制条件多,需逐条细读。
一条铁律:「可以免费下载」≠「可以免费商用」。 二者毫无关系。下载前先看一眼许可类型,10 秒的事,能省掉后面 10 个月的麻烦。
建立你的 CREDITS.md
从第一天起,就在项目根目录建一个 CREDITS.md,每用一份素材就记一行:
# 《酒魂》素材来源与授权记录
## 美术
| 素材 | 来源 | 作者 | 许可 | 是否需要署名 | 下载日期 |
|---|---|---|---|---|---|
| 江南瓦片集 | itch.io / Cainos | Cainos | CC0 | 否 | 2026-09-16 |
| 陶壶与箭矢 | 自制(Aseprite) | 我 | 自有 | 否 | 2026-09-16 |
## 音频
| 素材 | 来源 | 作者 | 许可 | 是否需要署名 | 下载日期 |
|---|---|---|---|---|---|
| UI 点击音 | Kenney Interface Sounds | Kenney | CC0 | 否 | 2026-09-16 |
| 小镇 BGM | Pixabay Music | (作者名) | Pixabay 内容许可 | 否 | 2026-09-16 |
## 需要署名的素材汇总(用于制作人员名单)
- (暂无)
这份文件在发布时有两种用途:一是把「需要署名」的素材汇总进游戏制作人员名单;二是万一将来有人质疑素材来源,你能立刻拿出证据。 别等到发布前才回头翻浏览器历史记录——那时你肯定找不到了。
1.7.5 素材导入 Godot 的三个关键设置
素材下载好了,但导入 Godot 时如果设置不对,像素画会糊成一团。这三项请记牢:
① 纹理过滤设为 Nearest(最近邻)
Godot 4 的默认过滤是线性插值,那会让 32×32 的瓦片放大后变得模糊。设置方式:
项目 → 项目设置 → Rendering → Textures → Canvas Textures → Default Texture Filter,选择 Nearest。
对应到 project.godot 文件里,就是这一行:
[rendering]
textures/canvas_textures/default_texture_filter=0
0 就是 Nearest。这个设置必须在导入素材之前改,否则已经导入的资源仍会用旧设置,需要重新导入。
② 单张素材的导入设置
选中导入的 PNG,在「导入」面板中确认:
Filter:关闭(继承项目默认)Mipmaps:关闭(2D 不需要,开了反而会糊)Fix Alpha Border:开启(避免透明边缘出现黑边)
改完后点击「重新导入」。
③ 音频的导入设置
- 短音效(WAV):
Loop Mode设为Disabled,Compress Mode保持默认即可。 - BGM(OGG):
Loop Mode设为Forward(开启循环),Loop Offset可微调循环起点,让音乐衔接更自然。
这三项设置会在第 4 章建立正式项目时统一配置一次,之后全书都不用再管。本节先让你知道有这回事,导入素材时就不会踩坑。
1.8 配套源码仓库与每章 diff 摘要说明(Tag 对照法)
上面 1.7 解决了「素材从哪来」,这一节解决另一个高频问题:「我照着书写,跑不起来怎么办?」
这是所有技术书读者的共同痛点。原因通常有三种:代码敲错了一个字符、跳过了中间某个步骤、或者不同 Godot 版本行为有差异。如果每次卡住都要从头翻书找问题,学习体验会非常糟糕。
本书的解法是:给每一章都留一个「存档点」。
1.8.1 获取配套源码
《酒魂》的完整配套源码托管在 Gitee:
https://gitee.com/agoodlife/winesoulbook.git
克隆到本地:
git clone https://gitee.com/agoodlife/winesoulbook.git
如果你在 1.5 节已经配置好了 Git 和 Gitee,也可以用 Gitee 网页端的「Fork」把仓库复制一份到你自己的账号下,再克隆你自己的地址——这样你就可以自由提交、随意实验,不用担心改动别人的仓库。
1.8.2 Tag 对照法:每章一个快照
仓库使用 Git Tag(标签) 给每一章完成后的状态打上标记。每个 Tag 就是一个可以直接运行、且与书中描述完全一致的完整项目。
| Tag 名称 | 对应状态 | 完成度 |
|---|---|---|
ch01-done |
第 1 章完成,环境与素材就位 | 起跑线 |
ch04-done |
项目骨架搭建完成 | 5% |
ch05-done |
主角能走动了 | 10% |
ch06-done |
江南小镇地图 + 摄像机跟随 | 15% |
ch07-done |
投壶战斗原型可玩 | 25% |
ch08-done |
主角战斗状态机完成 | 30% |
ch09-done |
敌人 AI 上线 | 40% |
ch10-done |
醉意系统接入战斗 | 45% |
ch11-done |
酒魂技与特效 | 55% |
ch12-done |
战斗部分完整可玩 | 60% |
ch13-done / ch14-done |
通用 UI 框架与背包 | — |
ch15-done ~ ch17-done |
酿造系统完整可玩 | 75% |
ch18-done ~ ch21-done |
剧情与人际系统可玩 | 88% |
ch22-done ~ ch24-done |
经济闭环跑通,游戏完整可玩 | 100% |
ch25-done ~ ch27-done |
优化、打包、发布 | 已发行 |
注意: 第 13 章之后的部分会随写作进度陆续补充 Tag。如果某个 Tag 还不存在,说明对应章节尚未完成——这也是一种进度提示。
1.8.3 三种典型用法
用法一:卡住了,对照检查
这是最常用的场景。假设你在第 7 章「投壶战斗」卡住了,投出去的箭矢一直不显示:
# 1. 先把你自己的修改临时存起来
git stash
# 2. 切换到第 7 章完成时的状态
git checkout ch07-done
# 3. 在 Godot 里打开,运行,看正确效果是什么样
# 4. 对照书里的代码,找出自己哪里不一样
# 5. 排查完,回到你自己的进度
git checkout -
git stash pop
用法二:想跳过某章的练手,先看效果
比如你急于看到战斗效果,可以先切到 ch07-done 跑一遍,了解目标是什么,再回头一章章做。看着目标学习,效率会高很多。
用法三:想知道这一章到底改了什么
这招特别适合有经验的读者——不想逐行读,只想看「这一章动了哪些文件」:
# 查看第 7 章相对第 6 章的所有改动
git diff ch06-done ch07-done --stat
# 只看某个文件的详细改动
git diff ch06-done ch07-done -- scripts/bowl_game_manager.gd
输出的 --stat 会列出所有变动的文件和增删行数,一眼就能看出这一章的「工作重心」在哪里。
1.8.4 每章 diff 摘要表
为了让你不打开仓库也能快速定位,附录 D 里维护了一张全书级的 diff 索引表,记录每一章新增/修改了哪些文件。这里先给出前几章的样式,让你了解它长什么样:
| 章节 | 新增文件 | 修改文件 | 本章核心 |
|---|---|---|---|
| 第 4 章 | main.tscn、scripts/game_manager.gd、scripts/event_bus.gd |
project.godot |
项目骨架、Autoload 单例 |
| 第 5 章 | scenes/characters/player.tscn、scripts/player.gd |
project.godot(输入映射) |
主角移动、八方向动画 |
| 第 6 章 | scenes/levels/level_town.tscn、resources/jiangnan_tileset.tres |
scripts/game_manager.gd |
瓦片地图、摄像机、Y-Sort |
| 第 7 章 | scenes/levels/bowl_game.tscn、scripts/bowl_game_manager.gd、scripts/arrow.gd、scripts/power_ui.gd |
scripts/player.gd |
投壶战斗、蓄力、抛物线 |
| 第 8 章 | scripts/hitbox.gd、scripts/hurtbox.gd |
scripts/player.gd、scripts/game_manager.gd |
状态机、攻击判定 |
完整的索引表在附录 D。每当你怀疑「这个文件是哪一章创建的」,去附录 D 查一下就能立刻定位。
1.8.5 你自己的提交规范
最后是给你的建议:从第 4 章创建正式项目的那一刻起,就用 Git 管理你的代码,并且沿用下面的 Tag 命名习惯——这样你的项目进度随时可以往回退。
# 每完成一章,打一个 Tag
git tag ch04-done
git push origin ch04-done
推荐的提交信息格式:[第X章] 做了什么。例如:
[第5章] 完成主角八方向待机与行走动画
[第7章] 修复箭矢发射后不回收导致的内存泄漏
写清楚「做了什么」而不是「改了一下」,三个月后你回来看提交记录,能省下大量回忆时间。
1.9 本章小结:你已站在游戏开发的起跑线上
本章我们完成了游戏开发新手的「启蒙第一课」,从认知、基础、路径、工具、素材、工程六个方面,帮你破除了迷茫,搭建好了完整的开发环境。
回顾本章内容,你已经掌握了:
- 正确认知游戏开发的难度:明白游戏开发的「难」是结构问题,不是能力问题,学会了拆解复杂问题,克服了「不敢动手」的恐惧;
- 通过自测明确了自己的基础:认清了自己的起点和短板,知道了哪些能力需要补充,哪些东西完全不需要担心;
- 了解了清晰的学习路径:看清了全书 27 章的完整地图和八个可玩里程碑,找到了适合自己的阅读方式,掌握了新手避坑技巧;
- 安装了核心开发工具:成功安装并配置了 Godot 4.6、Git、Gitee,掌握了基本的安装和配置方法,能解决常见的安装问题;
- 完成了第一个项目:创建了「Hello, 酒魂」项目,熟悉了 Godot 的基本操作,完成了从「玩家」到「开发者」的第一步;
- 备齐了素材清单与来源:明确了《酒魂》的技术规格,拿到了五类素材的完整清单和免费商用来源,还建立起了版权意识和
CREDITS.md习惯; - 建立了自己的代码仓库:学会了用 Tag 对照法给自己的开发进度「存档」,从此再也不用担心「改坏了回不去」。
请记住: 游戏开发没有捷径,每一步的积累都很重要。本章的内容,就像是游戏中的「新手教程」,帮你熟悉了基本操作,建立了正确的心态。
下一步,我们将进入更深入的学习。 第 2 章会讲一套比技术更重要的东西——学习方法论与调试技巧。你会学到:如何看懂书里的代码示例(而不是抄完就忘)、遇到 bug 时的「调试五步法」、以及卡住时如何高效地向社区和 AI 提问。这些方法会决定你后面 26 章的学习效率,强烈建议不要跳过。
你已经站在游戏开发的起跑线上了,接下来,就让我们一起出发,一步步打造属于自己的国风酿酒战斗游戏《酒魂》吧!
延伸阅读与资源
以下资源不是必须的,但如果你在本章某处卡住了,或者想深入了解某个主题,它们会很有帮助:
官方文档与教程
- Godot 官方文档(中文):https://docs.godotengine.org/zh_CN/ — 最权威,遇到不懂的 API 第一时间查这里。
- Git 官方入门教程(中文):https://git-scm.com/book/zh — 如果你想更系统地学习版本控制。
素材与工具
- Kenney 免费素材库:https://kenney.nl — 全部 CC0,新手最省心的素材来源。
- 缝合像素字体:https://github.com/TakWolf/fusion-pixel-font — 中文像素字体的当前最优解。
- Aseprite / LibreSprite:像素画与逐帧动画工具,后续改造素材会用上。
社区
- Godot 中文社区(贴吧 / B 站搜索「Godot 教程」):遇到本书没有覆盖的问题时,这里通常能找到答案。
- 《酒魂》配套仓库:https://gitee.com/agoodlife/winesoulbook.git — 卡住时对照 Tag 检查。
理论提升
- 《游戏编程模式》(Robert Nystrom 著,中文版免费在线阅读):本书设计模式部分的理论基础,强烈推荐。附录 A「设计模式实战手册」会系统用到这本书里的知识点。
评论0
暂时没有评论