rent-now

Rent More, Save More! Use code: ECRENTAL

5% off 1 book, 7% off 2 books, 10% off 3+ books

9781584504733

Ultimate 3D Game Engine Design and Architecture

by
  • ISBN13:

    9781584504733

  • ISBN10:

    1584504730

  • Edition: 1st
  • Format: Paperback
  • Copyright: 2006-12-08
  • Publisher: Charles River Media
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $59.95

Summary

Ultimate 3D Game Engine Design and Architecture teaches how to design and create a video game engine that can be used to create gaming applications on the PC. Written for beginning programmers, beginning game developers, and those aspiring to get into the fi eld, the book covers the various systems and processes that go into a complete game engine, with an emphasis on architecture issues. The book focuses on building a complete game engine, including graphics, physics, programming, audio, AI, data structures, memory management, and more. The sample engine is called the Building Blocks 3D Engine and it's designed to give you the basics of each system that you can build from to create your own engines and games. The technologies used include OpenGL, C++, and the Windows XP, MacOS X, and Linux operating systems. This cross-platform approach makes the information and techniques easy to apply to any type of project. The book is broken into five main parts, beginning with introductory material, the engine core, input, sound, and networking systems. Next comes graphics and environments, including the rendering system, the drawing of static models, and more advanced rendering topics such as level of detail, scene graphs, graphical effects, resource management, and scene management for environments in general. In the third part, Physics, AI, and Scripting are covered. The custom physics system is detailed, along with point masses and soft bodies. A variety of AI techniques are covered next, followed by scripting-- command, property, and compiled scripting. In the fourth part the engine is ready to use for the two demo applications you'll create-- a black jack game and a 3D walkthrough using a portal rendering system. In the final part, you'll review what you've done, what you could do, and what resources you might need in the future to enhance your game engine.

Table of Contents

Preface xvii
About the Author
Acknowledgments vii
Introduction
PART I INTRODUCTION TO GAME ENGINES
1(170)
Introduction to Game Engines
3(42)
Overview of Game Engines
4(6)
Game Graphics
5(1)
Physics and Collisions
5(1)
Input Detection
6(1)
Audio Playback and Control
7(1)
Scripting
7(1)
Artificial Intelligence
8(1)
Networking
8(1)
Core Utilities
9(1)
Tools Used in Game Development
10(1)
Unified Modeling Language
10(3)
The Building Blocks Engine
13(11)
Engine Features
14(8)
The Building Blocks Engine's Future
22(2)
Tips and Practices
24(19)
The Book's Coding Style
24(5)
C++ Tips
29(13)
Encapsulating Platform-Specific Code
42(1)
Summary
43(2)
Engine Core
45(52)
Data Structures
46(21)
Vector Arrays
47(4)
Strings
51(3)
Link Lists
54(1)
Queues
55(5)
Hash Tables
60(7)
Additional Data Structures
67(1)
Memory Allocation
67(3)
File I/O
70(9)
Endian Order
74(5)
Timing Utilities
79(3)
Archive Files
82(11)
Building Blocks Engine's Archive File Structure
83(10)
Additional Topics and Techniques
93(2)
Compression
93(1)
Encryption
93(1)
Application Profiling
94(1)
Streaming Data
94(1)
Summary
95(1)
Chapter Exercises
95(2)
Input, Sound, and Networking
97(74)
Game Input
98(4)
Getting Device Key States
99(2)
Additional Input
101(1)
Xbox 360 Controllers and XInput
102(12)
The Building Blocks Engine XInput System
108(6)
Game Audio
114(5)
OpenAL in General
114(2)
Loading Sounds
116(1)
Playing/Pausing/Stopping Sounds and Cleaning Up
117(2)
XACT for Game Audio
119(12)
Creating Projects
119(1)
Wave Banks
120(2)
Sound Banks and Sound Cues
122(2)
Loading Sounds
124(5)
Playing Sounds
129(1)
Cleaning Up
130(1)
The Building Blocks Engine Sound Systems
131(14)
The Building Blocks Engine XACT System
137(8)
Networking with Sockets
145(6)
Working with Sockets
145(6)
The Building Blocks Engine Networking System
151(17)
Networking and Packet Classes
157(11)
Summary
168(1)
Chapter Exercises
169(2)
PART II GRAPHICS AND ENVIRONMENTS
171(156)
Rendering Systems
173(82)
Overview to Rendering
174(4)
Considerations and Obstacles
175(1)
Design of the Rendering System
176(2)
Math Library
178(35)
Vectors
178(10)
Matrices
188(6)
Rays
194(3)
Bounding Volumes
197(9)
Cameras and Frustums
206(5)
Planes and Quaternion Objects
211(2)
Rendering Interface and Systems
213(12)
Render States and Geometry Types
225(8)
Geometry Primitives
226(4)
Programmable Shaders
230(2)
Texture Resources
232(1)
Resources from Archive Files
233(1)
Resource Management
233(6)
Rendering
239(14)
Rendering Billboards
250(3)
Summary
253(1)
Chapter Exercises
253(2)
Rendering Scenes and Scene Graphs
255(72)
Overview
256(1)
Scene Graphs
257(14)
Designing the Scene Graph
260(1)
Working with Nodes
260(8)
Scene Graph Creation
268(2)
State Management with Scene Graphs
270(1)
Level of Detail
271(1)
LOD on Objects
272(1)
Geometry Sorting and Culling
272(11)
Types of Space Partitioning
273(5)
Partitioning in the Building Blocks Engine
278(4)
Portals Rendering in the Engine
282(1)
Effects
283(32)
Lighting
291(7)
Bump Mapping
298(4)
Normal Mapping
302(2)
Luminance and Sepia Tone
304(4)
Specular Mapping
308(2)
Alpha Mapping
310(2)
Cube Mapping
312(3)
Models and Meshes
315(10)
OBJ Model Loading
318(7)
Summary
325(1)
Chapter Exercises
326(1)
PART III PHYSICS, AI, AND SCRIPTING
327(116)
Physics
329
Overview
330(4)
Newton Physics
331(2)
Game Physics
333(1)
Building Blocks Physics System
334(1)
Point Masses
334(7)
Point Mass Design
335(4)
Point Mass Implementation
339(2)
Rigid Bodies
341(1)
Soft Bodies
342(2)
Collision Detection and Response
344(9)
Collision Response
344(1)
Sphere-to-Sphere Collisions
345(2)
Plane Collisions
347(1)
Physics Space
348(5)
Improvements
353(1)
Physics Demos
354(46)
Constant Velocity Demo
355(6)
Gravity Demo
361(6)
Sphere-to-Sphere Collision Demo
367(7)
Sphere and Plane Collisions Demo
374(7)
Cloth Simulation
381(19)
Summary
400(1)
Chapter Exercises
401
Artificial Intelligence
103(316)
Overview
404(1)
Path Finding
405(4)
Chasing and Evading
405(3)
A* Path Finding
408(1)
Patterns
409(1)
Finite State Machine
409(3)
The Basics of FSM
410(1)
An FSM Example
411(1)
Scripting AI
412(2)
Scripting Techniques
413(1)
Additional AI Techniques
414(3)
Fuzzy Logic
414(1)
Neural Networks
415(1)
Flocking
416(1)
Summary
417(2)
Scripting
419(24)
Overview
420(4)
Interpreted Scripts
421(1)
Compiled Scripts
422(2)
Parsing Tokens
424(6)
Implementing a Token Parser
425(5)
Property Scripting
430(3)
Property Script Implementation
430(3)
Command Scripting
433(3)
GameMonkey Script
436(5)
Summary
441(1)
Chapter Exercises
442(1)
PART IV DEMOS
443(48)
Game Demos
445(46)
Overview
446(4)
The Building Blocks Engine
447(3)
Game Demos
450(38)
The Black Jack Game
451(29)
The 3D Walkthrough Demo
480(8)
Summary
488(3)
PART V GAME OVER
491(18)
Conclusions
493(16)
Additions and Improvements
494(12)
Additional Data Structures
495(1)
Memory Management
496(1)
Support for Additional Input Devices
496(1)
Streaming Audio
497(1)
Streaming Data
497(1)
Enhanced Features for the Networking System
498(1)
Improved Custom Physics
499(1)
Graphics Additions and Enhancements
500(1)
An Animations System
501(1)
Environment Editing Tools
502(1)
Exporters
502(1)
Additional Core Tools
503(1)
Improved Rendering System and Scene Graph
504(1)
Improved Resource Manager
505(1)
Optimized Math Library
505(1)
Additional Scripting Capabilities
506(1)
Final Thoughts
506(3)
Appendix A Additional Resources 509(4)
Appendix B Additional Tools 513(12)
Appendix C About the CD-ROM 525(2)
Index 527

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program