SilverIce Toolbox
Back to course

Stage 3 / Chapter 12

第 12 章:下一步:3D、架构与练习项目

学习目标

  • 总结本课程的 2D 项目能力。
  • 知道下一步学习 3D 时重点变在哪里。
  • 形成小项目练习路线。
  • 避免新手常见的过度架构。

12.1 你现在应该掌握什么

完成本课程后,你应该能独立做出一个简单 2D 小游戏:

  • 有主场景、玩家场景、敌人场景、HUD 场景。
  • 玩家能移动并受边界限制。
  • 敌人能定时生成、移动、离开屏幕后删除。
  • 碰撞能扣生命。
  • UI 能显示分数和生命。
  • 有基础动画、音效和 Game Over。
  • 能读常见报错。
  • 能用 Git 保存项目历史。
  • 能导出桌面或 Web 试玩包。

这已经覆盖了很多小型 2D 游戏的主干。

12.2 学 3D 时变了什么

3D 不是“更高级的 2D”,它多了空间、相机、光照、材质、网格、碰撞体、导航等问题。

2D3D
Node2DNode3D
CharacterBody2DCharacterBody3D
Sprite2DMeshInstance3D
CollisionShape2DCollisionShape3D
2D 坐标3D 坐标和相机

建议先把 2D 的场景拆分、信号、状态管理、调试习惯练熟,再进入 3D。

12.3 三个练习项目

项目 1:躲避小游戏增强版

  • 增加开始按钮和重新开始。
  • 增加两种敌人速度。
  • 增加最高分。
  • 增加暂停。

项目 2:俯视角收集游戏

  • 玩家移动。
  • 随机生成金币。
  • 收集加分。
  • 倒计时结束。

项目 3:简单平台跳跃

  • 重力和跳跃。
  • 地面和平台。
  • 掉落死亡。
  • 关卡切换。

每个项目都控制在 1 到 2 周,完成比宏大更重要。

12.4 什么时候需要架构

新手不需要一开始就做复杂框架。先用直接清晰的节点和脚本完成玩法。出现这些信号时再整理架构:

  • 同一段逻辑复制了三次。
  • 一个脚本超过几百行,既管 UI 又管敌人又管存档。
  • 很多节点互相找路径,稍微改结构就全坏。
  • 新增敌人类型需要改很多旧代码。

整理方向:

  • 把数据放进 Resource。
  • 把跨场景状态放进少量 Autoload。
  • 用信号减少硬编码节点路径。
  • 把可复用对象拆成独立场景。

12.5 学习资料怎么选

选择 Godot 教程时先确认版本。本课程基于 Godot 4.6.3。Godot 3.x 和 4.x 有不少 API 和节点命名差异,4.7 beta 或后续版本也可能出现新功能或行为变化。跟教程做项目时,不要只复制代码,要记录每个节点为什么存在。

判断教程是否适合新手:

  • 使用 Godot 4.6.3,或者明确说明和 4.6.3 的差异。
  • 不要求大量外部素材。
  • 每一步能运行验证。
  • 解释节点结构,而不是只贴最终代码。
  • 有调试和常见错误说明。

12.6 结课练习

DodgeStarter 做一次小版本发布:

  1. 清理临时 print。
  2. 确认没有红色错误。
  3. 更新 README,写明玩法和控制方式。
  4. 用 Git 创建提交 Prepare v0.1.0 release
  5. 打 tag v0.1.0
  6. 导出一个桌面包或 Web 包。
  7. 找一个没参与开发的人试玩。
  8. 根据反馈写下一版计划。

检查点

  • 你知道下一步练习应该小而完整。
  • 你知道架构是为了解决真实重复和复杂度,不是为了显得专业。
  • 你能把一个 Godot 项目从空目录做到可试玩版本。