Why We Need to Learn
metahuman
cinematic & animation
simulation
digital twin
History of Game Engine
Early Age of Video Games:红白机
Father of Game Engine: John Carmack
Wolfenstein 3D
doom
Early Age of Modern Game Engine
Quake(网络对战fps),使用第一代显卡的第一代3d游戏
硬件的发展,算力提高了20万倍
Family of Game Engine
Commercial Engine: Unreal、Unity、Cryengine
In-house Engine: FrostBite3、Source、Infinity World、Rage、anvil next
Free Engine: stride、Torque、Godot、3de
Middlewares(中间件)
physics&Animation: havok、Physx
Sound: Wwise、fmod
Rendering: TrueSky、enlighten
Other: speedtree、simplygon
What is Game Engine
定义:
构建黑客帝国的底层框架
生产力工具
复杂性的艺术
Complexity of Simulation by 0/1
不只rendering
realtime:在算力、内存、带宽、延迟等等的限制下还需要实时地演算
toolchain for Createors:提供一个强大的工具链,供艺术家和设计师使用
Developer Platform:二次开发能力、可协作能力
Upadate:更新的同时可以兼容过去的内容
How to Study
- 沿着主干道前进
Course Content
游戏引擎的基础构建,如MVVM
游戏引擎分几层?
看引擎代码先看update函数
rendering:把东西放在1/30s内显示出来,渲染管线,各种算法如何拼接和组合
animation:过渡怎么做、应变、一些列的动画如何组织起来,强调交互与玩法,让设计师能够理解
Physics:物理表达,刚体力学模拟运动,弹性力学,流体模拟
Gameplay:前面就是世界的模拟器,而gameplay就是好玩的规则,规则如何让计算机理解,而且需要设计师去使用,所有的游戏就是规则体系;编程不一定是写代码,制作逻辑就算编程
Misc. Systems:特效系统,寻路系统、相机系统
Tool set:构建工具体系,如反射体系,在更新的时候,过去与未来的设计能够兼容
Online Gaming:通过信息沟通,让每个平行宇宙发生的事情是一致的;异步同步算法、帧同步算法
Advanced Technology:
Motion matching、PCG(自动生成)
面向数据的编程、多线程的任务系统,程序在多核运行
lumen光照技术、Nanite面片技术
References
- Game Engine Architecture