| Description: |
Textbook in PDF format
In this new and improved fourth edition of the highly popular Game Engine Architecture, Jason Gregory draws on his two decades of experience at Midway, Electronic Arts and Naughty Dog to present both the theory and practice of game engine software development. In this book, the broad range of technologies and techniques used by AAA game studios are each explained in detail, and their roles within a real industrial-strength game engine are illustrated.
The fourth edition offers the same comprehensive coverage of game engine architecture provided by previous editions, and this second volume delves into all of the major subsystems found in every game engine, including the animation engine, the 3D rendering engine, the lighting engine, the physics engine, the audio engine, and the game object model.
Our focus in this book will be on game engine technologies and architecture. This means we’ll cover the theory underlying the various subsystems that comprise a commercial game engine, the data structures, algorithms, and software interfaces that are typically used to implement them, and how these subsystems function together within a game engine as a whole. The line between the game engine and the game is rather blurry. We’ll focus primarily on the engine itself, including a host of low-level foundation systems, the rendering engine, the collision system, the physics simulation, character animation, audio, and an in depth discussion of what I call the gameplay foundation layer. This layer includes the game’s object model, world editor, event system, and scripting system. We’ll also touch on some aspects of gameplay programming, including player mechanics, cameras, and AI. However, by necessity, the scope of these discussions will be limited mainly to the ways in which gameplay systems interface with the engine.
To get the most out of this book, you should have a working knowledge of basic object-oriented programming concepts and at least some experience programming in C++. The game industry routinely makes use of a wide range of programming languages, but industrial-strength 3D game engines are still written primarily in C++. As such, any serious game programmer needs to be able to code in C++. We’ll review the basic tenets of object oriented programming in Chapter 3, and you will no doubt pick up a few new C++ tricks as you read this book. If you have no prior C++ experience, you may want to consider reading at least the first few chapters of one or more of those books and/or working through a few C++ tutorials online before diving into this book.
This book is intended to serve as an introductory text, but it also offers the experienced game programmer a useful perspective on aspects of game development technology with which they may not have deep experience. As always, copious references and citations are provided in this edition, making it an excellent jumping off point for those who wish to dig deeper into any particular aspect of the game development process.
Key Features:
Covers both the theory and practice of game engine software development
Examples are grounded in specific technologies, but discussion extends beyond any particular engine or API
Includes all mathematical background needed
Comprehensive text for beginners and also has content for senior engineers
|
Discussion