Game Engine Architecture

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.
Share This