2024 年 Unity 定价危机之后,独立游戏圈第一次大规模"搬家"。目的地是 —— Godot 4。 如今 Godot 4.4 已经成熟到可以严肃开发 PC、移动、Web、甚至主机游戏。 这篇文章写给所有想做 2D 游戏的人:为什么选 Godot,怎么上手,学习路径怎么走。
一 · 为什么选 Godot Why Godot
- MIT 协议,完全免费 —— 商业分成 0%,终身免费。
- 引擎 100MB —— 下载一个 exe 就能用,Unity 1-3 GB 安装过的人会流泪。
- GDScript · Python 风格的自家语言 —— 学习门槛极低,1 小时就能写出第一个玩具。
- Node 系统比 GameObject+Component 更直观 —— 场景即树,一目了然。
- 2D 原生,不是从 3D 阉割来的 —— Unity / Unreal 的 2D 底层都是 3D 摄像机,Godot 是真正的二维渲染管线。
二 · 核心概念 · 3 分钟版本 Core Concepts
Node · 一切皆节点
Sprite2D 是节点。Camera2D 是节点。Area2D 是节点。你的角色是一堆节点拼起来的一个父节点。整个游戏就是一棵节点树。
Scene · 可复用的节点树
任何节点树都可以保存成 .tscn,之后在别的地方实例化 —— 就像 Unity 的 Prefab,但更轻量。
Signal · 解耦的事件系统
Godot 的 Signal 是内建的发布-订阅,不用装任何第三方。"玩家死了" → 发一个 player_died signal,UI、存档系统、音乐系统各自监听。
Resource · 可序列化的数据类
继承 Resource 的类自动支持编辑器里编辑 + 保存到 .tres 文件。数据驱动游戏的梦想,在 Godot 里很自然。
三 · 2D 平台跳跃 · 30 行代码 30 LOC Platformer
extends CharacterBody2D
const SPEED = 220.0
const JUMP_VELOCITY = -400.0
var gravity = 980
func _physics_process(delta):
if not is_on_floor():
velocity.y += gravity * delta
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = JUMP_VELOCITY
var dir = Input.get_axis("left", "right")
velocity.x = dir * SPEED if dir else move_toward(velocity.x, 0, SPEED)
move_and_slide()
就这,30 行,一个平台跳跃角色完成。move_and_slide() 已经处理好了斜坡、挤压、站立检测。GDScript 的简洁让教学门槛极低。
四 · 瓦片地图 · TileMap + TileSet Tilemaps
Godot 4 的 TileMap 是业内最强之一:
- 图集模式 + 图块集合模式双支持。
- 地形工具 —— 画草地,周围自动过渡到泥土。
- 物理层集成 —— 图块本身带碰撞。
- 多层 —— 背景层、前景层、光照层、物体层一起管理。
五 · 动画 · AnimatedSprite2D + AnimationPlayer Animation
两套系统:AnimatedSprite2D 适合精灵动画 (idle / run / jump);AnimationPlayer 适合任意属性的关键帧动画 (位置 / 透明度 / 颜色)。Godot 4.3 加了 AnimationTree 状态机可视化,复杂状态过渡不用手写代码。
六 · 2026 Godot 生态的新事情 Ecosystem in 2026
- Godot 4.5 Beta —— Vulkan 移动端、Metal 原生 (对 iOS 开发者意义重大)、持续改善的 Web Export。
- C# 支持成熟 —— 对从 Unity 迁移的开发者,两个 .cs 文件就能开始写。
- Steam Deck 验证通过率 Godot 游戏 2025 年 Steam Deck Verified 率已经 65%+。
- AssetLib 插件生态 —— 从 A* 寻路到 Dialog 系统,内建插件商店搜即装。
- 主机移植 —— W4 Games 提供付费的 Switch / PS / Xbox 移植服务,独立开发者可以外包主机适配。
七 · 学习路径推荐 Learning Path
| 阶段 | 目标 | 推荐资源 |
|---|---|---|
| 第 1 周 | 认识 Node · 做一个 Flappy Bird | 官方 Step-by-step 教程 |
| 第 2-4 周 | 完整的 2D 平台跳跃 | GDQuest · HeartBeast YouTube |
| 第 2 月 | 瓦片地图 · 存档 · UI | Godot Recipes · Game Endeavor |
| 第 3 月 | Shader · AnimationTree · 多场景 | Godot Shaders 官网 |
| 第 4-6 月 | 做你的第一款商业小作品 | itch.io 发布 + Steam 上架 |
Unity 时代让游戏开发从"专业团队"下沉到"独立开发者"。
Godot 时代正在让它下沉到"任何一个愿意学 30 行代码的人"。
From studio to solo to anyone with 30 lines.
Godot 时代正在让它下沉到"任何一个愿意学 30 行代码的人"。
From studio to solo to anyone with 30 lines.
— 青岛火一五信息科技 · 2026 年 4 月 —