Example: bachelor of science

Game Engine Architecture - latexstudio

Game Engine ArchitectureGame Engine ArchitectureJason GregoryA K Peters, , MassachusettsA K Peters/CRC PressTaylor & Francis Group6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742 2009 by Taylor and Francis Group, LLCA K Peters/CRC Press is an imprint of Taylor & Francis Group, an Informa businessNo claim to original Government worksPrinted in the United States of America on acid-free paper10 9 8 7 6 5 4 3 2 1 International Standard Book Number-13: 978-1-4398-6526-2 (Ebook-PDF)This book contains information obtained from authentic and highly regarded sources. Reasonable efforts have been made to publish reliable data and information, but the author and publisher cannot assume responsibility for the validity of all materials or the consequences of their use.

12.5 Integrating a Physics Engine into Your Game 666 12.6 A Look Ahead: Advanced Physics Features 684 IV Gameplay 687 13 Introduction to Gameplay Systems 689 13.1 Anatomy of a Game World 690 13.2 Implementing Dynamic Elements: Game Objects 695 13.3 Data-Driven Game Engines 698 13.4 The Game World Editor 699

Tags:

  Advanced, Engine

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of Game Engine Architecture - latexstudio

1 Game Engine ArchitectureGame Engine ArchitectureJason GregoryA K Peters, , MassachusettsA K Peters/CRC PressTaylor & Francis Group6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742 2009 by Taylor and Francis Group, LLCA K Peters/CRC Press is an imprint of Taylor & Francis Group, an Informa businessNo claim to original Government worksPrinted in the United States of America on acid-free paper10 9 8 7 6 5 4 3 2 1 International Standard Book Number-13: 978-1-4398-6526-2 (Ebook-PDF)This book contains information obtained from authentic and highly regarded sources. Reasonable efforts have been made to publish reliable data and information, but the author and publisher cannot assume responsibility for the validity of all materials or the consequences of their use.

2 The authors and publishers have attempted to trace the copyright holders of all material reproduced in this publication and apologize to copyright holders if permission to publish in this form has not been obtained. If any copyright material has not been acknowledged please write and let us know so we may rectify in any future as permitted under Copyright Law, no part of this book may be reprinted, reproduced, transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying, microfilming, and recording, or in any information storage or retrieval system, without written permission from the permission to photocopy or use material electronically from this work, please access ( ) or contact the Copyright Clearance Center, Inc.

3 (CCC), 222 Rosewood Drive, Danvers, MA 01923, 978-750-8400. CCC is a not-for-profit organization that provides licenses and registration for a variety of users. For organizations that have been granted a photocopy license by the CCC, a separate system of payment has been Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for identification and explanation without intent to the Taylor & Francis Web site the A K Peters Web site Dedicated toTrina, Evan and Quinn Gregory,in memory of our heros,Joyce Osterhus and Kenneth Foreword xiii Preface xviiI Foundations 11 Introduction Structure of a Typical Game Team What Is a Game? What Is a Game Engine ? Engine Differences Across Genres Game Engine Survey Runtime Engine Architecture Tools and the Asset Pipeline 492 Tools of the Trade Version Control Microsoft Visual Studio Profi ling Tools 85viii Memory Leak and Corruption Detection Other Tools 883 Fundamentals of Software Engineering for Games C++ Review and Best Practices Data, Code.

4 And Memory in C/C++ Catching and Handling Errors 1284 3D Math for Games Solving 3D Problems in 2D Points and Vectors Matrices Quaternions Comparison of Rotational Representations Other Useful Mathematical Objects Hardware-Accelerated SIMD Math Random Number Generation 192II Low-Level Engine Systems 1955 Engine Support Systems Subsystem Start-Up and Shut-Down Memory Management Containers Strings Engine Confi guration 2526 Resources and the File System File System The Resource Manager 2727 The Game Loop and Real-Time Simulation The Rendering Loop The Game Loop 304ix Game Loop Architectural Styles Abstract Timelines Measuring and Dealing with Time Multiprocessor Game Loops Networked Multiplayer Game Loops 3338 Human Interface Devices (HID)

5 Types of Human Interface Devices Interfacing with a HID Types of Inputs Types of Outputs Game Engine HID Systems Human Interface Devices in Practice 3669 Tools for Debugging and Development Logging and Tracing Debug Drawing Facilities In-Game Menus In-Game Console Debug Cameras and Pausing the Game Cheats Screen Shots and Movie Capture In-Game Profi ling 385 III Graphics and Motion 39710 The Rendering Engine Foundations of Depth-Buffered Triangle Rasterization The Rendering Pipeline advanced Lighting and Global Illumination Visual Effects and Overlays 48111 Animation Systems Types of Character Animation Skeletons 496x Poses Clips Skinning and Matrix Palette Generation Animation Blending Post-Processing Compression Techniques Animation System Architecture The Animation Pipeline Action State Machines Animation Controllers 59312 Collision and Rigid Body Dynamics Do You Want Physics in Your Game?

6 Collision/Physics Middleware The Collision Detection System Rigid Body Dynamics Integrating a Physics Engine into Your Game A Look Ahead: advanced Physics Features 684IV Gameplay 68713 Introduction to Gameplay Systems Anatomy of a Game World Implementing Dynamic Elements: Game Objects Data-Driven Game Engines The Game World Editor 69914 Runtime Gameplay Foundation Systems Components of the Gameplay Foundation System Runtime Object Model Architectures World Chunk Data Formats Loading and Streaming Game Worlds Object References and World Queries Updating Game Objects in Real Time 757xi Events and Message-Passing Scripting High-Level Game Flow 817V Conclusion 81915 You Mean There s More?

7 Some Engine Systems We Didn t Cover Gameplay Systems 823 References 827 Index 831xiiiForewordThe very fi rst video game was built entirely out of hardware, but rapid ad-vancements in microprocessors have changed all that. These days, video games are played on versatile PCs and specialized video game consoles that use soft ware to make it possible to off er a tremendous variety of gaming ex-periences. It s been 50 years since those fi rst primitive games, but the industry is still considered by many to be immature. It may be young, but when you take a closer look, you will fi nd that things have been developing rapidly. Video games are now a multibillion-dollar industry covering a wide range of games come in all shapes and sizes, falling into categories or genres covering everything from solitaire to massively multiplayer online role-playing games, and these games are played on virtually anything with a microchip in it.

8 These days, you can get games for your PC, your cell phone, as well as a number of diff erent specialized gaming consoles both handheld and those that connect to your home TV. These specialized home consoles tend to represent the cutt ing edge of gaming technology, and the patt ern of these platforms being released in cycles has come to be called console gen-erations. The powerhouses of this latest generation are Microsoft s Xbox 360 and Sony s PLAYSTATION 3, but the ever-present PC should never be over-looked, and the extremely popular Nintendo Wii represents something new this time around. xiv ForewordThe recent explosion of downloadable and casual games has added even more complexity to the diverse world of commercial video games.

9 Even so, big games are still big business. The incredible computing power available on today s complicated platforms has made room for increased complexity in the soft ware. Naturally, all this advanced soft ware has to be created by some-one, and that has driven up the size of development teams not to mention development costs. As the industry matures, we re always looking for bett er, more effi cient ways to build our products, and development teams have be-gun compensating for the increased complexity by taking advantage of things like reusable soft ware and so many diff erent styles of game on such a wide array of platforms, there cannot be any single ideal soft ware solution. However, certain patt erns have developed, and there is a vast menu of potential solutions out there.

10 The problem today is choosing the right solution to fi t the needs of the particular project. Going deeper, a development team must consider all the diff erent as-pects of a project and how they fi t together. It is rare to fi nd any one soft ware package that perfectly suits every aspect of a new game of us who are now veterans of the industry found ourselves pio-neering unknown territory. Few programmers of our generation have Com-puter Science degrees (Matt s is in Aeronautical Engineering, and Jason s is in Systems Design Engineering), but these days many colleges are starting to programs and degrees in video games. The students and developers of today need a good place to turn to for solid game-development information.


Related search queries