ebook img

Game Engine Architecture, Second Edition PDF

1018 Pages·2014·65.05 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Game Engine Architecture, Second Edition

Computer Game Development Gregory S E C O N D E D I T I O N SECOND EDITION Game Engine G Game Engine Architecture a The highly recommended first edition of Game Engine Architecture provided a m complete guide to the theory and practice of game engine software development. Architecture Updating the content to match today’s landscape of game engine architecture, this e second edition continues to thoroughly cover the major components that make up a typical commercial game engine. E New to the Second Edition n • Information on new topics, including the latest variant of the C++ programming g language, C++11, and the architecture of the eighth generation of gaming consoles, the Xbox One and PlayStation 4 i n • New chapter on audio technology covering the fundamentals of the physics, mathematics, and technology that go into creating an AAA game audio engine e • Updated sections on multicore programming, pipelined CPU architecture and optimization, localization, pseudovectors and Grassman algebra, dual quaternions, A SIMD vector math, memory alignment, and anti-aliasing r • Insight into the making of Naughty Dog’s latest hit, The Last of Us c The book presents the theory underlying various subsystems that comprise a h commercial game engine as well as the data structures, algorithms, and software i interfaces that are typically used to implement them. It primarily focuses on the engine t itself, including a host of low-level foundation systems, the rendering engine, the e collision system, the physics simulation, character animation, and audio. An in-depth c discussion on the “gameplay foundation layer” delves into the game’s object model, t world editor, event system, and scripting system. The text also touches on some u aspects of gameplay programming, including player mechanics, cameras, and AI. r An awareness-building tool and a jumping-off point for further learning, Game Engine e Architecture, Second Edition gives you a solid understanding of both the theory and common practices employed within each of the engineering disciplines covered. The book will help you on your journey through this fascinating and multifaceted field. J a s o n G r e g o r y S E C O N D Richard Lemarchand K15874 E D I T I O N FOREWORD BY S E C O N D E D I T I O N Game Engine Architecture TThhiiss ppaaggee iinntteennttiioonnaallllyy lleefftt bbllaannkk S E C O N D E D I T I O N Game Engine Architecture J a s o n G r e g o r y Lead Programmer, Naughty Dog Inc. Richard Lemarchand FOREWORD BY Boca Raton London New York CRC Press is an imprint of the Taylor & Francis Group, an informa business CRC Press Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742 © 2015 by Taylor & Francis Group, LLC CRC Press is an imprint of Taylor & Francis Group, an Informa business No claim to original U.S. Government works Version Date: 20140624 International Standard Book Number-13: 978-1-4665-6006-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. 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 reprint. Except as permitted under U.S. 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 publishers. For permission to photocopy or use material electronically from this work, please access www.copyright.com (http://www.copyright.com/) or contact the Copyright Clearance Center, Inc. (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 arranged. Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for identification and explanation without intent to infringe. Visit the Taylor & Francis Web site at http://www.taylorandfrancis.com and the CRC Press Web site at http://www.crcpress.com Dedicatedto Trina,EvanandQuinnGregory, inmemoryofourheroes, JoyceOsterhus,KennethGregoryandEricaGregory. TThhiiss ppaaggee iinntteennttiioonnaallllyy lleefftt bbllaannkk Contents ForewordtotheFirstEdition xiii ForewordtotheSecondEdition xvii PrefacetotheFirstEdition xxi PrefacetotheSecondEdition xxiii Acknowledgements xxiv I Foundations 1 1 Introduction 3 1.1 StructureofaTypicalGameTeam 5 1.2 WhatIsaGame? 8 1.3 WhatIsaGameEngine? 11 1.4 EngineDifferencesAcrossGenres 13 1.5 GameEngineSurvey 26 vii viii CONTENTS 1.6 RuntimeEngineArchitecture 32 1.7 ToolsandtheAssetPipeline 54 2 ToolsoftheTrade 63 2.1 VersionControl 63 2.2 MicrosoftVisualStudio 73 2.3 ProfilingTools 91 2.4 MemoryLeakandCorruptionDetection 93 2.5 OtherTools 94 3 FundamentalsofSoftwareEngineeringforGames 97 3.1 C++ReviewandBestPractices 97 3.2 Data,CodeandMemory 112 3.3 CatchingandHandlingErrors 144 3.4 Pipelines,CachesandOptimization 152 4 3DMathforGames 165 4.1 Solving3DProblemsin2D 165 4.2 PointsandVectors 166 4.3 Matrices 181 4.4 Quaternions 200 4.5 ComparisonofRotationalRepresentations 209 4.6 OtherUsefulMathematicalObjects 213 4.7 Hardware-AcceleratedSIMDMath 218 4.8 RandomNumberGeneration 227 II Low-Level Engine Systems 229 5 EngineSupportSystems 231 5.1 SubsystemStart-UpandShut-Down 231 5.2 MemoryManagement 239 5.3 Containers 254 5.4 Strings 274 5.5 EngineConfiguration 290 CONTENTS ix 6 ResourcesandtheFileSystem 297 6.1 FileSystem 298 6.2 TheResourceManager 308 7 TheGameLoopandReal-TimeSimulation 339 7.1 TheRenderingLoop 339 7.2 TheGameLoop 340 7.3 GameLoopArchitecturalStyles 343 7.4 AbstractTimelines 346 7.5 MeasuringandDealingwithTime 348 7.6 MultiprocessorGameLoops 361 7.7 NetworkedMultiplayerGameLoops 375 8 HumanInterfaceDevices(HID) 381 8.1 TypesofHumanInterfaceDevices 381 8.2 InterfacingwithaHID 383 8.3 TypesofInputs 385 8.4 TypesofOutputs 391 8.5 GameEngineHIDSystems 392 8.6 HumanInterfaceDevicesinPractice 409 9 ToolsforDebuggingandDevelopment 411 9.1 LoggingandTracing 411 9.2 DebugDrawingFacilities 416 9.3 In-GameMenus 423 9.4 In-GameConsole 426 9.5 DebugCamerasandPausingtheGame 427 9.6 Cheats 427 9.7 ScreenshotsandMovieCapture 428 9.8 In-GameProfiling 429 9.9 In-GameMemoryStatsandLeakDetection 436 III Graphics, Motion and Sound 441 10 TheRenderingEngine 443

Description:
Hailed as a "must-have textbook" (CHOICE, January 2010), the first edition of Game Engine Architecture provided readers with a complete guide to the theory and practice of game engine software development. Updating the content to match today’s landscape of game engine architecture, this second edi
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.