Game Engine Architecture Second Edition by Jason Gregory
Download
Introduction
In this book you will learn:
• how real industrial-strength production game engines are architected
• how game development teams are organized and work in the real world
• which major subsystems and design patterns appear again and again in
virtually every game engine
• the typical requirements for each major subsystem
• which subsystems are genre- or game-agnostic, and which ones are typically
designed explicitly for a specific genre or game
• where the engine normally ends and the game begins.
We’ll also get a first-hand glimpse into the inner workings of some popular
game engines, such as Quake and Unreal, and some well-known middleware
packages, such as the Havok Physics library, the OGRE rendering engine and
Rad Game Tools’ Granny 3D animation and geometry management toolkit.
Before we get started, we’ll review some techniques and tools for largescale
software engineering in a game engine context, including:
• the difference between logical and physical software architecture;
• configuration management, revision control and build systems; and
• some tips and tricks for dealing with one of the common development
environments for C and C++, Microsoft Visual Studio.
In this book I assume that you have a solid understanding of C++ (the
language of choice among most modern game developers) and that you understand
basic software engineering principles. I also assume you have some
exposure to linear algebra, three-dimensional vector and matrix math and
trigonometry (although we’ll review the core concepts in Chapter 4). Ideally,
you should have some prior exposure to the basic concepts of real time and
event-driven programming. But never fear—I will review these topics briefly,
and I’ll also point you in the right direction if you feel you need to hone your
skills further before we embark.
Home Programming Game Engine Architecture