实战篇
实战篇:10 个完整 2D 游戏教程
核心理念:先做出来,再做好
你可能在视频网站看过很多"10 分钟做出一个游戏"的教程,跟着做完感觉很有成就感,但关掉视频后自己却做不出来。为什么?因为那些教程只教了"抄代码",没有教"为什么这样做"。
实战篇的理念是:跟着教程一步步做出一个完整的游戏,同时理解每一步背后的原理。 这样你做完一个教程后,不仅能做出这个游戏,还能举一反三,做出自己的游戏。
实战篇怎么学
- 先通读本章的"核心玩法设计",理解我们要做什么游戏、为什么好玩
- 按顺序跟着做,每一章都建立在前一章的基础上
- 做完后尝试自己改一改——改改数值、加个新功能、换个敌人类型
- 遇到不懂的地方回头看基础篇,巩固相关知识
10 个教程总览(按难度从易到难)
| # | 教程 | 游戏类型 | 核心技能 | 难度 |
|---|---|---|---|---|
| 1 | 俄罗斯方块 | 益智 | 网格逻辑、旋转系统、计分规则、速度递增 | |
| 2 | 超级玛丽奥 | 平台跳跃 | 物理引擎、滚动摄像机、敌人交互、关卡设计 | |
| 3 | 长沙麻将 | 棋牌 | 牌面逻辑、胡牌判断、AI 策略、多人交互 | |
| 4 | 开心消消乐 | 益智三消 | 匹配检测、连击系统、特殊方块、关卡递进 | |
| 5 | 咸鱼之王 | 放置挂机 | 挂机收益、英雄收集、自动战斗、数值平衡 | |
| 6 | 雷霆战机 | 纵版射击 | 弹幕系统、对象池、Boss 战、道具升级 | |
| 7 | 坦克大战 | 射击对战 | 地图编辑器、AI 巡逻、地形碰撞、双人模式 | |
| 8 | 保卫萝卜 | 塔防 | 路径系统、塔升级、波次管理、资源经济 | |
| 9 | 龙与地下城 | 横版清版动作 | 连招系统、职业差异、联机合作、打击感设计 | |
| 10 | 伏魔记 | 国产 RPG | 瓦片地图、对话系统、任务链、剧情推进 |
学习路线图
初级阶段(纯逻辑 & 基础物理)
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 1.俄罗斯方块 │ → │ 2.超级玛丽奥 │ → │ 3.长沙麻将 │
│ 网格 & 逻辑 │ │ 物理 & 跳跃 │ │ 规则 & AI │
└─────────────┘ └─────────────┘ └─────────────┘
↓
中级阶段(系统设计 & AI)
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 4.开心消消乐 │ → │ 5.咸鱼之王 │ → │ 6.雷霆战机 │ → │ 7.坦克大战 │
│ 匹配 & 消除 │ │ UI & 数值 │ │ 弹幕 & 对象池│ │ 地图 & AI │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
↓
中高级阶段(复杂系统设计)
┌─────────────────┐
│ 8.保卫萝卜 │
│ 路径 & 塔防设计 │
└─────────────────┘
↓
高级阶段(横版动作 & 打击感)
┌─────────────────┐
│ 9.龙与地下城 │
│ 连招 & 打击感设计 │
└─────────────────┘
↓
专家级阶段(多系统 RPG)
┌─────────────────┐
│ 10.伏魔记 │
│ 多系统国产 RPG │
└─────────────────┘学习建议
如果你是零基础
推荐按以下顺序学习:
- 先完成基础篇(第 1-15 章)——理解 Godot 的基本操作和 2D 开发核心概念
- 从俄罗斯方块开始——纯逻辑游戏,不涉及物理引擎,最容易上手
- 然后做超级玛丽奥和长沙麻将——学习物理引擎和纯规则逻辑
- 中级阶段按顺序做——开心消消乐、咸鱼之王、雷霆战机、坦克大战,每个游戏都引入新的系统
- 再挑战保卫萝卜——塔防系统设计,路径与经济平衡的中高级考验
- 然后挑战龙与地下城——横版动作连招与打击感设计的高级考验
- 最后挑战伏魔记——2D 篇最难的项目,多系统国产 RPG 的综合考验
如果你有其他引擎经验
可以直接从感兴趣的教程开始,但建议先快速浏览基础篇的第 1-5 章,了解 Godot 的项目结构和节点系统。
如果你已经做过 Godot 2D 游戏
可以跳到感兴趣的教程,重点学习你不熟悉的部分。每个教程的第 1 章"核心玩法"都值得一看,它会帮你理清设计思路。
每个教程的结构
每个教程都遵循相同的结构,确保学习体验一致:
| 章节 | 内容 | 目的 |
|---|---|---|
| 1. 核心玩法 | 理清"好玩在哪里"、设计核心循环、技能清单、关键节点 | 先想清楚再动手 |
| 2. 项目搭建 | 创建项目、设置输入映射、组织文件 | 打好地基 |
| 3-7. 核心功能 | 实现游戏的主要玩法系统 | 做出能玩的版本 |
| 8. 游戏 UI | 界面、菜单、弹窗、设置 | 完善游戏体验 |
| 9. 音效与特效 | 声音、粒子、屏幕震动 | 让游戏更有感觉 |
| 10. 打磨与发布 | 优化、测试、导出 | 做出可发布的游戏 |
关于代码示例
所有代码示例都提供 C# 和 GDScript 两种语言版本:
- C#:适合有 C#/Java/C++ 经验的开发者,类型安全、性能更好
- GDScript:Godot 原生脚本语言,语法类似 Python,上手更快
选择哪种语言
- 如果你是编程新手,推荐 GDScript——语法简单,错误信息友好
- 如果你有编程经验,推荐 C#——可以复用你已有的知识
- 两种语言做出来的游戏效果完全一样,选你顺手的就好
多端操控:触屏 + 键盘 + 手柄
实战篇的所有 10 个游戏,都同时支持三种操控方式,你可以在手机、电脑、主机上畅玩:
| 操控方式 | 适用平台 | 说明 |
|---|---|---|
| 📱 触屏操作 | 手机、平板 | 屏幕上显示虚拟按键,点击或滑动即可操控角色 |
| ⌨️ 键盘操作 | 电脑(PC) | 使用键盘的 WASD、方向键等按键控制角色 |
| 🎮 手柄操作 | 电脑、主机 | 接入手柄(如 Xbox、PlayStation 控制器)即可操控 |
为什么从一开始就做三种操控?
你可能会想:先做键盘操控就行了,后面再加触屏和手柄不就好了?
问题在于——如果你先只做键盘操控,后面再补触屏和手柄时,需要改动大量代码:按键检测散落在各个脚本里、UI 布局没给虚拟按键留位置、手柄的摇杆死区(就是摇杆没完全归零时也会被识别为"动了"的那个小范围)也没考虑……
反过来,从第一天起就规划好三种操控,后续几乎不需要额外工作——因为 Godot 提供了统一的输入系统,只要用对方法,切换操控方式就像换了个"皮肤"一样简单。
Godot 怎么做到"一套代码,三种操控"?
Godot 提供了一个叫 Input Map(输入映射) 的功能,你可以在项目的设置里定义"动作"(比如 move_left、jump),然后给每个动作绑定多种输入源:
- 键盘的 A 键
- 手柄的方向键左
- 触屏屏幕左半边的滑动
代码里只需要写 Input.IsActionPressed("move_left"),Godot 会自动判断当前用的是哪种输入设备——你的游戏逻辑代码完全不需要关心玩家在用什么设备。
实战篇中的做法
每个教程的第 2 章"项目搭建"都会带你配置好三种操控方式的输入映射,后续所有章节的代码都基于这套映射编写。所以只要你跟着教程做,做出来的游戏天然支持触屏、键盘和手柄。
