序言:
一、从体验到创造
玩游戏是一种享受,但做游戏,才是真正的创造。
玩游戏时,你在体验别人设计的冒险;而制作游戏时,你将掌握构建世界的主动权。你不仅可以设计机制、塑造角色,还可以通过程序赋予角色“智能”,让他们与你共同演绎一个动态的世界。
游戏是一种独特的媒介,它要求创作者在复杂性中构建秩序:规则需要自洽,系统需要可运行,体验需要被他人理解。这一过程迫使创作者同时动用逻辑、审美、技术、心理与表达能力。这种持续的构建过程,本质上是在无序的宇宙中人为地划定出一块有序的疆域。
意义不是被“发现”的,而是被“创造”出来的。正如加缪所言,迈向高处的斗争本身就足以填满一个人的心灵。在游戏世界中,我们不仅是在编写代码,更是在构建那个“西西弗斯之石”。

二、我的游戏历程
我接触的第一个游戏,可能比大部分读者玩过的都要古老,那是传说中的实体版 PingPong。我至今记得那个连接在黑白电视机上的白色小盒子,屏幕上模糊地跳动着两个“球拍”和一个球。在那一刻,某种关于数字世界的种子便已悄然种下。
尽管我有很长的游戏经验和编程经验,但真正转向“创造游戏”的历史并不算长。真正的转折发生在新冠居家期间,当外界陷入巨大的不确定性时,我选择躲进代码的确定性中。我找到一本用C++开发游戏的英文书,它教会了我使用SFML库开发小游戏。那是一种近乎“手搓”的体验,虽然与指针博弈的底层细节并不总是那么有趣,但它让我看清了引擎盖下的齿轮是如何啮合的。
之后我开始转向更优雅的Python社区,研究了相当长时间的Pygame库。结合我算法工程师的“老本行”,我尝试了一系列游戏+AI的有趣项目。这些积累最终在 2024 年凝结成了一本书籍出版了。
在探索的路上,我也曾体验用 Unreal 和 Unity 做过一些小Demo。它们无疑是工业界的泰坦,拥有无与伦比的性能和生态。但对于一个追求个人表达、希望完全掌控创作流程的独立开发者来说,它们有时显得过于厚重了。
当我最终遇到 Godot 时,那种感觉就像是寻到了一件贴合手感的“小李飞刀”。它轻盈而精准,没有商业引擎的笨重。在 Godot 中,我可以很快地将一个灵感转化为原型。它或许还不完美,但我由衷地偏爱它。
三、 为什么写这本书?
Godot 引擎正以惊人的速度崛起,但与之相对的是,系统化的中文教材依然寥寥无几。在 AI 浪潮下,我们正面临一个微妙的悖论:虽然 ChatGPT 能回答具体的编程问题,进阶者也能查阅文档或源码,但对于初学者而言,“不知道该问什么”才是拦在新手村门前的最大障碍。
此外,游戏开发的知识散落在互联网的各个角落。在漫长的摸索过程中,我就像一个在海边拾贝的人,积攒了一小包闪光的碎片。对我而言,写书不仅是经验的输出,更是一次深度的自我反馈。通过写作,我得以重新梳理这些碎片,将其串联成线,回馈给游戏开发社区。
有人担心技术革新会剥夺人类创作的意义。但我认为,正如打印机的出现并未摧毁书法艺术,照相机的出现反而催生了印象派的觉醒;AI 工具的进化也绝不会摧毁制作游戏的乐趣。它将赋予我们前所未有的自由,让我们更纯粹地投身于创造本身。
本书的目标,不仅是教会你使用引擎,更是帮你建立一套完整的游戏编程思维。陪你一起跨越那段最孤独的摸索期,去亲手开启游戏创作那扇充满惊喜的大门。
四、为什么发布电子预览版?
虽然本书已与出版社签订合同,但纸质书漫长的出版周期往往难以追上技术的脚步。在技术日新月异的今天,我希望这份知识能更早、更灵活地与各位见面。Godot 社区生机勃勃,版本更新极快。电子版可以让我随时修正过时的 API 或案例,确保你看到的每一行代码都是“活的”。而且我不希望这本书在交稿的那一刻就停止生长。通过电子版,你可以直接向我反馈疑问或建议,你的每一次参与都将成为这本书的一部分。
五、本书的定位
本书的核心关键词是:“入门”、“2D” 、“AI”。从基础概念出发,逐步过渡到工具实操、项目实战与AI应用。
本书适合零基础萌新,能帮助你从零开始,踏实迈入游戏开发的大门。2D 游戏是初学者最完美的起点。它更纯粹,能让你将精力集中在核心机制的实现与逻辑的构建上,同时依然保留了巨大的表达空间。“简单”并不代表“简陋”。
本书也适合对游戏AI感兴趣的进阶学习者,真正让游戏产生沉浸感的,是隐藏在像素背后的“智能”:敌人的围堵逻辑、角色的决策反馈、环境的动态交互。这些统称为“游戏 AI”的内容,是构建生命感的核心。
只要你热爱创作并愿意亲自动手,这本书就是为你准备的。
六、内容结构
全书共十六章:
- 第 1~2 章:探讨游戏的本质与开发流程,建立“引擎无关”的开发认知。
- 第 3~4 章:深入 Godot 4.x 编辑器与 GDScript 语言,掌握属于你的“飞刀”。
- 第 5~7 章:通过《Flappy Bird》与《Battle Tank》两个完整项目,打通物理、动画、交互等全流程。
- 第 8~13 章:结合《Battle Tank》项目,系统讲解有限状态机、感知系统、路径规划与程序化地图生成。
- 第 14~15 章:引入现代 AI 技术,尝试用强化学习特训小鸟,利用大语言模型构建一个桌面宠物。
- 第 16 章:回归架构设计,讲解面向对象思想与设计模式,助你写出可维护的长久代码。

七、如何真正“学会”游戏开发
本书贯穿了“Learning by Doing”的思想。为了让你真正避开初学者的通用误区,我有两点特别建议:
-
警惕“教程陷阱”。很多初学者会陷入一种“勤奋的幻觉”:紧跟教程敲完每一行代码,看到屏幕上的角色动起来,就以为自己掌握了技术。这正是最危险的“教程陷阱”,你只是在扮演一台昂贵的“复印机”,大脑并没有真正参与逻辑的构建。我强烈建议你在跟随教程跑通项目后,彻底删掉代码。尝试在不翻书的情况下,仅凭回忆、逻辑和官方文档,独立从头构建一遍。遇到障碍时去搜索、去思考,实在无解再回头翻阅本书。只有当你经历过那种“对着空白屏幕不知所措”的痛苦,并最终靠自己走通整段路时,知识才真正从书页上转移到了你的大脑神经元里。
-
在“打破秩序”中完成进化。模仿是学习的起点,但一味模仿只会让你止步于此。如果你永远只敢写书上教过的代码,你将永远无法处理现实开发中千奇百怪的问题。成功复现项目后,请试着做一个“破坏者”:加一个书中没提到的新功能,改一个看起来理所当然的物理规则,或者强迫自己换一套完全不同的美术风格。“打破秩序再重建”才是成长的阶梯。当你开始尝试“如果我这样做会怎样”的那一刻,你就不再是一个跟随者,而是一个真正的开发者。
脚手架终会被拆掉,但那些亲手搭建世界的肌肉记忆将永远属于你。现在,让我们进入第一章吧?