20220516 - GAMES104 - Lecture 1:游戏引擎导论


Lecture 1:游戏引擎导论

Topic 1 Why we need to learn

如果把做游戏比作会开车,会做游戏引擎就是会造车。游戏引擎就是 the diamond on the crown。

游戏引擎的未来应用:

  • Game
  • 虚拟人
  • 电影动画
  • 军事模拟
  • 数字孪生
    • 真实世界的虚拟化呈现/表达

Topic 2 History of game engine

  • 早期
    • 红白机(Famicom, FC)
    • 游戏引擎之父
      • John Carmack,卡神
      • Wolfenstein 3D (1992)
      • Doom
      • Doom 引擎授权后做出了 ShadowCaster
  • 早期现代游戏引擎
    • 背景:Voodoo 显卡出现
    • 游戏:Quake
    • 硬件发展推动游戏行业发展
  • 现代游戏引擎生态
    • Middlewares, 中间件

Topic 3 What is game engine

  • Technology Foundation of Matrix
  • Productivity Tools of Creation
  • Art of Complexity

荐书:The complexity of system,系统复杂之美

Complexity of Simulation by 0/1

现代计算机本质:图灵机(01 变换)

Game engine is way beyond rendering

荐书:game engine architecture

游戏引擎的挑战:有限算力,实时处理

Toolchain for creators

做引擎要先学会做面向广大用户(程序员,艺术家/设计师)的工具

  • 对于程序员
    • 提供可扩展接口
    • 是否具有二次开发能力也是评判引擎的标准
  • 对于艺术家/设计师
    • 提供多人协作功能

Update the engine on the fly

热更新

Topic 4 How to study

A study path for game programmer

本课只关心主干道,建立知识体系结构,在未来在碰到问题的时候知道从何下手

Topic 5 Course content

Basic Elements
  • Engine Structure and Layer
  • Data Organization and management

take away: 打开游戏引擎,从 Update 函数开始看起,就能顺藤摸瓜看到架构

Rendering
  • Model, material, shader, texture
  • light and shadow
  • render pipeline
  • sky, terrain, etc.
Animation
  • Basic concepts of animation
  • Animation structure and pipeline

动画间的融合

Physics
  • basic concepts of physics system
  • gameplay applications
  • performance optimization

前面的是视觉表达,这里要负责物理表达

Gameplay
  • event system
  • scripts system
  • graph driven

如何让模拟世界变为“可玩”的游戏

take away: 编程不意味着 scripts coding,所有逻辑构建其实在某种程度上都可以算是编程

Misc. systems
  • effects
  • navigation
  • camera
Tool set
  • c++ reflection
  • data schema

如何构建工具

Online gaming
  • lockstep synchronization
  • state synchronization
  • consistency

预告令人头疼的拜占庭算法和爱斯基摩人小屋再次出现!

Advanced technology
  • motion matching
    • 动作融合匹配让其自然
  • procedural content generation (PCG)
    • 游戏内容自动生成
  • data-oriented programming (DOP)
  • job system
  • Lumen
    • 虚幻 5 的光照系统
  • Nanite
    • 虚幻 5 的虚拟几何系统

Topic 6 Course logistics

References
  • no required textbooks
  • most recommended reference
    • Game Engine Architecture, Jason Gregroy

Mini Engine

  • mini runtime framework
  • mini editor
  • building basic knowledge system of game engine

Assignments

野心:最后能做个小小的联网对战游戏

course contributor



Author:
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source !
  TOC