Computer Graphics Related Online Books
Two videos from Unreal is extremely good
Game Engine is a system: accumulation of algorithms.
Game Engine Can be Used for:
Metahuman Creation
Cinematic Animation
Simulation
Early Age of Video Games:
John Carmack: father of game engine (3D shooters: Doom)
Quake: OpenGL online FPS game
Modern Game Engine development is driven by hardware advancement. As hardware becomes more capable, the system becomes more complex.
As you see above, graphics and rendering is only a small part of the game engine.
Difficulties with Game Engine
Real Time: you have only smaller than 1/64
second to produce one image
Toolchain: game engine is a tool for creators, not just programmers. Toolchain can be accross multiple software each take on different part of production (mesh, animation, material, render, ...)
Cooperation: need to encompass cooperation tool with version management
Backward Compatibility: compatible with old assets, and version updates of game
Game 101
deferred rendering
forward rendering
Basic Concept of Animation
Animation Structure and Pipeline
Basic Concepts of Physics System
rigid body
soft-body dynamics
fluid dynamic
Gameplay Applications
Performance Optimization
Event System
Scripts System
Graph-Driven
Effects
Navigation
Camera
How to Make Game Engine Interface
C++ Reflection
Data Schema
Lockstep Synchronization State Synchronization Consistency
Motion Matching: dynamic way to create animation and transitions
Procedural Content Generation (PCG): create game data algorithmically
Data-Oriented Programming (DOP)
Job System (Multi-thread)
Lumen: UE5's dynamic global illumination and reflections system
Nanite: UE5's new virtualized geometry system to render pixel scale detail and high object counts
Course Info:
Book Recommended: Jason Gregory "game Engine Architecture", 3rd or later edition
Course Project / Final Project
start midway of the course
reference provided but you decide the topic
best work will be posted online for showing off
Further readings:
Table of Content