你好,我是你的Godot向导!今天开始,我们将一起用Godot引擎制作一个完整的五子棋游戏。你可能听说过Unity、Unreal这些大名鼎鼎的游戏引擎,但Godot不仅完全免费开源,而且极其轻量(安装包只有几十MB),对初学者特别友好!
最棒的是什么?学完这个系列,你不仅能做出一个可以和朋友对战的五子棋游戏,还能掌握游戏AI开发的核心技能。想象一下,你亲手编写的AI不仅能随机落子,还能像高手一样思考、设局、进攻!
为什么选择Godot?
- 零费用:完全免费,无任何订阅费或分成
- 开源透明:所有代码开放,有问题随时查看源码
- 轻量高效:安装包仅80MB左右,低配电脑也能流畅运行
- 脚本友好:使用Python风格的GDScript,学习曲线平缓
- 国产游戏也在用:《戴森球计划》的部分功能就是用Godot开发的!
准备好了吗?让我们开始今天的冒险!
第一步:下载和安装Godot
Windows系统安装(最常用)
- 访问官方网站:打开浏览器,输入 https://godotengine.org
- 点击下载按钮:在首页找到醒目的“Download”按钮,在这里你可以下载到最新版,或者找到某个特定的历史版本。

- 选择版本:推荐选择 Standard version (64-bit),版本号选择最新的稳定版(比如4.2.2、4.2.1)。(注意:本教程使用Godot 4.2版本,请确保版本匹配)


- 下载后解压:不需要安装!直接解压zip文件到一个你容易找到的文件夹。例如:
D:\program files\Godot_v4.2.2

- 创建桌面快捷方式:将解压后的
godot.exe 发送到桌面快捷方式
💡 小贴士:Godot是“便携式”的,不写注册表,你可以把它放在U盘里随身携带!
macOS系统安装
同样从官网下载macOS版本(.dmg文件),打开dmg文件,将Godot图标拖到“Applications”文件夹,首次打开时可能需要右键选择“打开”绕过安全限制。
Linux系统安装
下载Linux版本(.xz压缩包),解压并赋予执行权限:
tar -xf Godot*.tar.xz
chmod +x godot
./godot
第二步:第一次启动Godot
双击Godot图标启动后,你会看到这个界面:

这是项目管理器,所有Godot项目都在这里管理。现在它还空荡荡的,因为我们还没有创建任何项目。
让我们仔细观察一下界面布局:
- 左侧:项目列表区域
- 左上角:项目创建和导入按钮
- 右下角:引擎版本和设置选项

第三步:创建第一个Godot项目
点击右上角的 【 + 新建 】 按钮,开始我们的第一个项目!
项目设置步骤:
- 项目名称:输入
GomokuFiveInARow(五子棋的英文名)
- 项目路径:选择一个文件夹存放项目,我是使用这样的路径(建议):
E:/godot/GomokuFiveInARow。当然你也可以使用类似这样的路径:C:\Users\你的名字\Documents\GodotProjects\GomokuFiveInARow\
- 渲染器设置:
- 保持默认的 Forward+ 即可
- 这是Godot 4.0的新渲染器,性能优秀
- 项目配置:
- 项目名称:
GomokuFiveInARow
- 渲染器:
Forward+ (兼容性较好)
- 版本控制:
None (初学暂时不需要)
- 点击【 创建并编辑 】:创建项目并立即进入编辑器!

第四步:认识Godot编辑器界面
进入编辑器后,你可能会觉得界面有点复杂。别担心!我们一步步分解:

核心区域介绍:
- 场景面板(左上):显示当前场景的节点树。节点是Godot的核心概念,一切皆节点;节点可以包含其他节点,形成父子关系。
- 文件系统面板(左下):项目文件管理器。类似Windows资源管理器;所有资源(图片、脚本、场景)都在这里。
- 主视图(中间):2D/3D编辑区。2D游戏:显示2D画布;3D游戏:显示3D空间。我们的五子棋是2D游戏。
- 检查器面板(右侧):节点属性编辑器。选中节点后,在这里修改属性。位置、大小、颜色等都在这里设置
- 底部面板:输出、调试、动画等工具。最重要的:输出窗口,显示程序运行信息。

简单比喻理解Godot:
Godot项目 ≈ 一个剧团
场景 ≈ 一幕戏
节点 ≈ 演员
脚本 ≈ 演员的台词和动作
第五步:创建第一个场景和节点
让我们实际操作一下,建立对Godot的“手感”!
- 创建根节点:在场景面板点击【 其他节点 】按钮,搜索 "Node2D" 并添加。这就是我们的场景根节点

- 重命名节点:选中刚创建的节点,按【 F2 】键或右键选择 【 重命名 】,输入名称:
MainScene。

- 保存场景:保存的快捷键为【 Ctrl+S 】,在【 场景保存为... 】的弹出框体中,【 文件 】的输入框中输入:
main_scene.tscn,然后按 【 保存 】按键。(注意:.tscn是Godot的场景文件格式)

- 添加一个精灵节点:右键点击MainScene节点,选择 【 添加子节点 】

搜索 "Sprite2D" 并添加

- 设置精灵颜色:选中 Sprite2D 节点,在【 检查器 】面板找到【 Texture 】,点击 【
<空> 】 → 【 新建AtlasTexture 】 → 【 新建ImageTexture 】点击新建的ImageTexture,设置颜色为红色


- 调整位置:在检查器找到【 Position】,设置X: 400, Y: 300(这是窗口中心位置)

第六步:编写第一个GDScript脚本
现在到了最激动人心的部分——写代码!别紧张,GDScript非常简单,像Python一样易读。
- 创建脚本:右键点击MainScene根节点,选择"Attach Script"

保持默认设置,点击"创建"

- 认识脚本编辑器:
extends Node2D
# 这是单行注释
"""
这是多行注释
可以写很多行说明
"""
# 当节点第一次进入场景树时调用
func _ready():
print("Hello, Godot! 我的第一个脚本运行了!")
print("五子棋项目启动成功!")
# 每帧调用一次(默认60次/秒)
func _process(delta):
# delta是上一帧到这一帧的时间间隔
pass # pass表示"什么都不做"

- 运行测试:点击编辑器右上角的播放按钮 ▶️ 如果提示选择主场景,选择
main_scene.tscn,观察底部输出窗口,你应该能看到:
Hello, Godot! 我的第一个脚本运行了!
五子棋项目启动成功!
恭喜!你刚刚运行了第一个Godot程序!🎉

第七步:深入了解GDScript基础
GDScript是Godot的专用脚本语言,语法类似Python。让我们学习一些基础知识:
1. 变量和数据类型
# 变量声明和赋值
var player_name = "小明" # 字符串
var player_score = 0 # 整数
var game_speed = 1.5 # 浮点数
var is_game_over = false # 布尔值
# 类型注解(可选,但推荐)
var board_size: int = 15 # 明确指定为整数
var current_player: String = "black"
2. 基本运算
# 算术运算
var a = 10 + 5 # 加
var b = 10 - 5 # 减
var c = 10 * 5 # 乘
var d = 10 / 3 # 除(结果是浮点数)
var e = 10 % 3 # 取余
var f = 10 ** 2 # 幂运算
# 比较运算
var is_equal = (10 == 5) # false
var is_greater = (10 > 5) # true
var is_not_equal = (10 != 5) # true
3. 控制流程
# 条件判断
var score = 85
if score >= 90:
print("优秀")
elif score >= 60:
print("及格")
else:
print("不及格")
# 循环
for i in range(5): # 0, 1, 2, 3, 4
print("当前数字:", i)
var count = 0
while count < 3:
print("计数:", count)
count += 1 # 相当于 count = count + 1
4. 数组和字典
# 数组(有序列表)
var pieces = ["黑子", "白子", "空位"]
print(pieces[0]) # 输出:黑子
pieces.append("新棋子") # 添加元素
# 字典(键值对)
var player = {
"name": "张三",
"score": 100,
"is_ai": false
}
print(player["name"]) # 输出:张三
第八步:小实践 - 创建一个简单的计数器
让我们用刚学的知识做一个小练习:
- 修改
main_scene.gd 脚本:
extends Node2D
# 定义变量
var counter: int = 0
var counter_label: Label # 我们会稍后获取这个节点
# 节点准备就绪时调用
func _ready():
# 获取Label节点
counter_label = $Label # $表示获取子节点
# 设置初始文本
update_counter_text()
print("计数器初始化完成!")
# 更新显示文本
func update_counter_text():
counter_label.text = "计数: " + str(counter)
# 每帧调用
func _process(delta):
# 我们暂时不用这个函数
pass
# 自定义函数:增加计数
func increase_counter():
counter += 1
update_counter_text()
print("计数器增加到:", counter)
# 自定义函数:重置计数
func reset_counter():
counter = 0
update_counter_text()
print("计数器已重置")
-
添加UI节点:
- 在场景中删除之前的Sprite2D
- 添加一个Label节点(用于显示文字)
- 添加一个Button节点(用于点击)
- 将按钮文本改为"点击计数"
-
连接信号:
- 选中Button节点
- 在检查器找到"pressed"信号
- 双击它,连接到MainScene节点
- 选择
increase_counter 函数
-
运行测试:
常见问题解答
-
Q: 为什么我的脚本运行没有输出?
A: 检查是否保存了脚本,是否连接了正确的场景,查看输出窗口是否有错误信息。
-
Q: Godot支持哪些编程语言?
A: 主要支持GDScript、C#、C++(通过GDExtension)。对于初学者,GDScript是最佳选择。
-
Q: 项目文件应该放在哪里?
A: 建议放在固态硬盘(SSD)上,路径不要有中文或特殊字符。
-
Q: Godot有中文文档吗?
A: 有的!访问 Godot中文文档 获取中文资源。
下期预告
在下一篇教程中,我们将:
- 设计五子棋的棋盘网格
- 学习如何绘制基本图形
- 实现鼠标点击检测
- 创建黑白棋子
你将亲手做出一个可以点击落子的棋盘原型!
学习检查小测
测测你今天掌握了多少?答案在下面,但先自己思考哦!
选择题(每题2分,共10分)
Godot引擎的主要特点是什么?
A) 收费但功能强大
B) 免费开源且轻量
C) 只支持3D游戏开发
D) 需要高性能电脑
GDScript的语法最像哪种语言?
A) Java
B) C++
C) Python
D) JavaScript
在Godot中,一切的基础是什么?
A) 类(Class)
B) 对象(Object)
C) 节点(Node)
D) 场景(Scene)
如何获取一个名为"Player"的子节点?
A) get_node("Player")
B) $Player
C) find_node("Player")
D) 以上都对
脚本中哪个函数在节点进入场景时自动调用?
A) _start()
B) _init()
C) _ready()
D) _enter()
答案与解析
答案:B
解析:Godot是免费开源且非常轻量的游戏引擎,安装包只有几十MB。
答案:C
解析:GDScript的语法设计借鉴了Python,简洁易读,适合游戏开发快速迭代。
答案:C
解析:Godot使用节点(Node)作为一切的基础构建块,场景是由节点组成的树形结构。
答案:D
解析:所有方法都可以获取子节点,$Player是get_node("Player")的简写形式,更常用。
答案:C
解析:_ready()函数在节点及其所有子节点都进入场景树后被调用,常用于初始化操作。
得分评价:
- 10分:优秀!你完全掌握了本篇内容
- 8分:良好!复习一下错题就能掌握
- 6分:及格!建议重新阅读代码示例部分
- 6分以下:别灰心!实际操作一遍就能理解
今日总结
今天我们一起完成了:
- ✅ 下载并安装Godot引擎
- ✅ 创建第一个Godot项目
- ✅ 认识编辑器界面
- ✅ 创建场景和节点
- ✅ 编写第一个GDScript脚本
- ✅ 学习GDScript基础语法
你已经迈出了游戏开发的第一步!保存好今天的项目,下一篇我们将正式开始五子棋游戏的开发。
遇到问题不要怕:Godot有非常活跃的社区,你可以在Godot中文社区或GitHub Discussions提问。记得将项目文件备份到网盘或GitHub。
本项目的代码可以在这里下载:https://github.com/seancheng33/GomokuFiveInARow
篇1结束 | 下一篇:《【Godot五子棋】02-棋盘绘制与鼠标交互,30行代码实现可点击落子!》
如果你对游戏开发感兴趣,云栈社区 汇聚了许多技术爱好者,欢迎来交流学习心得。