游戏开发知识体系复盘
概述
知识体系的价值不在"收集了多少名词",而在能快速定位问题属于哪一层、需要哪些知识组合。本文把游戏开发拆成四层结构,每一层列出核心主题与关键概念,作为一份可随时对照的清单。下面的交互式知识地图可以点击任意节点查看对应说明:
第一层:核心原理
一切游戏引擎的地基,对应 7 个核心主题:
| 主题 | 关键概念 | 能解决的问题 |
|---|---|---|
| 游戏循环 | 变步长/固定步长、Delta Time、累积器 | 游戏如何"动起来"、帧率无关 |
| 数学基础 | 向量、矩阵、AABB/圆碰撞、SAT | 移动、旋转、碰撞判定 |
| 物理引擎 | 刚体、积分、碰撞响应、约束 | 真实的运动与反馈 |
| 渲染基础 | Canvas 2D、批处理、Tilemap、WebGL | 画面如何画出来、画得够快 |
| 动画与音频 | 帧动画、骨骼、音频池、空间音频 | 角色动起来、声音响起来 |
| 架构与模式 | ECS、对象池、状态机、观察者 | 代码如何组织才可维护 |
| 选型与流程 | 引擎对比、开发流程、原型验证 | 项目如何起步 |
第二层:进阶主题
让游戏从"能跑"升级为"像产品":
| 主题 | 关键概念 | 落地场景 |
|---|---|---|
| 游戏 AI | FSM、行为树、A*、NavMesh、RVO | 敌人巡逻/追逐/避障 |
| 性能优化 | Draw Call、批处理、对象池、加载优化 | 弹幕、大场景、首屏 |
| 网络同步 | 帧同步 vs 状态同步、TCP/UDP、防作弊、重连 | 联机对战、排行榜 |
| 开发工具链 | Tiled、Aseprite、Spine、FMOD | 地图、美术、音频生产 |
| 存档与发布 | 序列化、版本兼容、打包、平台适配 | 进度保存、上线 |
第三层:Demo 实战
把原理落到可运行的代码,按类型覆盖 6 大类 42 个单文件 Demo(纯 Canvas、零依赖,可直接在浏览器打开):
| 类型 | 代表 Demo | 覆盖的原理 |
|---|---|---|
| 经典街机 | Pong、太空侵略者、吃豆人、贪吃蛇 | 循环、碰撞、AI 追逐 |
| 益智解谜 | 俄罗斯方块、2048、扫雷、数独 | 网格、回溯算法、状态 |
| 平台动作 | 平台跳跃、纵版射击、清版过关、跑酷 | 物理、碰撞、摄像机 |
| 角色策略 | 回合 RPG、肉鸽、塔防、RTS | 状态机、寻路、数值 |
| 格斗竞速 | 格斗、竞速、音游、国际象棋 | 判定、伪 3D、Minimax |
| 现代多人 | 银河城、大逃杀、帧同步、抽卡 | 能力解锁、毒圈、确定性模拟、概率 |
完整的 Demo 入口列表见 游戏 Demo 合集。
第四层:工程实践
从"会写游戏"到"能上线":
- 引擎源码阅读:Phaser 游戏循环 → Cocos 组件系统 → Unity 生命周期,理解引擎每帧调用链
- 存档工程:版本号、缺字段补默认值、双份保存、校验和
- 发布适配:逻辑分辨率与显示分辨率分离、多平台输入差异、资源分包
知识地图的使用方式
这张知识地图可以作为查漏补缺清单:
- 任意点击一个节点,若"完全不知道它在讲什么",就是值得补的知识盲区
- 若"知道概念但写不出 Demo",对应 Demo 类型目录里有可直接运行的参考实现
- 若"Demo 能跑但不理解为什么这样写",回到第一层核心原理找答案
四层结构的关系是互相支撑的:原理解释 Demo 的"为什么",Demo 验证原理的"怎么用",进阶主题在原理之上解决"工程化",工程实践把全部内容收束到"可发布的产品"。逐层对照,就能构建出属于自己的、闭环的游戏开发知识体系。