A Glance of Game Engine Layers#
- Tool Layer 工具层
- Function Layer 功能层
- Ressource Layer 资源层
- Core Layer 核心层
- Platform Layer 平台层
+3rd Party Libraries
Resource - How to Access My Data#
将数据Importing,变成资产
Function - How to Make the World Alive#
Tick#
世界按照普兰克时间的间隔来tick
Function - Dive into Ticks#
tickLogic - 每一次tick的逻辑
tickRender - 每一次tick的渲染
从多核设计底层代码,比如一个核心做tickLogic一个核心做tickRender
Core Layer#
- Math Library
- Data Structre and Containers
- Memory Management
游戏引擎和操作系统很类似,会单独申请一块内存,自我进行管理,为了最高效率。
提高内存管理速度#
- 尽可能放到一起
- 尽可能按照顺序
- 尽可能一起读写
Platform - Target on Different Platform#
不同的平台会调用不同的api去编程
Tool - Allow Anyone to Create Game#
Why Layered Architecture?#
复杂度太高,需要通过封装管理(封装:原子构成篮球,我们研究操作篮球)
可以动上层,少动下层
每一步要思考我做的是哪一层
Mini Engine - Pilot#
Takeaways#
- 引擎是分层架构
- 越底层越稳定,越上层越灵活
- 游戏引擎最核心靠tick函数