Game Programming Gems 6by Mike Dickheiser
Pub. Date: 03/07/2006
Publisher: Cengage Learning
Welcome to the sixth volume of the Game Programming Gems series. With team sizes constantly expanding, developers are finding themselves pushed to become increasingly specialized. This makes it important to have cutting-edge, ready-to-use material in your specialization, as well as resources that you can call upon if you need to work outside your area of expertise.
Welcome to the sixth volume of the Game Programming Gems series. With team sizes constantly expanding, developers are finding themselves pushed to become increasingly specialized. This makes it important to have cutting-edge, ready-to-use material in your specialization, as well as resources that you can call upon if you need to work outside your area of expertise. Volume 6 has been explicitly designed with your current challenges in mind. With the new generation of machines, players expect higher-fidelity models and animations, fancier physics and graphics effects, and more intelligent AI. All of these capabilities require robust teams and longer schedules, so to help ensure that your games are still delivered on time and on budget, you'll find 50 all new articles written by experts in game technology from many different backgrounds and over twenty countries. This volume also includes a brand new section dedicated to Scripting and Data-Driven Systems, which is focused entirely on the growing trend of removing the programmer from the data-tweaking loop. So, whether you're a new game programmer starting out on this exciting path, a grizzled, industry veteran, or a most welcome visitor, we hope that you will find inspiration, insight, and at least one or two true gems to use in your world!
Table of Contents
Foreword Preface About the Cover Image Contributor Bios SECTION 1 GENERAL PROGRAMMING Introduction 1.1 Lock-Free Algorithms 1.2 Utilizing Multicore Processors with OpenMP 1.3 Computer Vision in Games Using the OpenCV Library 1.4 Geographic Grid Registration of Game Objects 1.5 BSP Techniques 1.6 Closest-String Matching Algorithm 1.7 Using CppUnit To Implement Unit Testing 1.8 Fingerprinting Pre-Release Builds To Deter and Detect Piracy 1.9 Faster File Loading with Access-Based File Reordering 1.10 Stay in the Game: Asset Hotloading for Fast Iteration SECTION 2 MATHEMATICS AND PHYSICS Introduction 2.1 Floating-Point Tricks 2.2 GPU Computation in Projective Space Using Homogeneous Coordinates 2.3 Solving Systems of Linear Equations Using the Cross Product 2.4 Efficient Sequence Indexing for Game Development 2.5 Exact Buoyancy for Polyhedra 2.6 Real-Time Particle-Based Fluid Simulation with Rigid Body Interaction SECTION 3 ARTIFICIAL INTELLIGENCE Introduction 3.1 Applying Model-Based Decision-Making Methods to Games: Applying the Locust AI Engine to Quake III 3.2 Achieving Coordination with Autonomous NPCs 3.3 Behavior-Based Robotic Architectures for Games 3.4 Constructing a Goal-Oriented Robot for Unreal Tournament Using Fuzzy Sensors, Finite-State Machines, and Behavior Networks 3.5 A Goal-Oriented Unreal Bot: Building a Game Agent with Goal-Oriented Behavior and Simple Personality Using Extended Behavior Networks 3.6 Short-Term Memory Modeling Using a Support Vector Machine 3.7 Using the Quantified Judgment Model for Engagement Analysis 3.8 Designing a Multilayer, Pluggable AI Engine 3.9 A Fuzzy-Control Approach to Managing Scene Complexity SECTION 4 SCRIPTING AND DATA-DRIVEN SYSTEMS Introduction 4.1 Scripting Language Survey 4.2 Binding C/C++ Objects to Lua 4.3 Programming Advanced Control Mechanisms with Lua Coroutines 4.4 Managing High-Level Script Execution Within Multithreaded Environments 4.5 Exposing Actor Properties Using Nonintrusive Proxies 4.6 Game Object Component System SECTION 5 GRAPHICS Introduction 5.1 Synthesis of Realistic Idle Motion for Interactive Characters 5.2 Spatial Partitioning Using an Adaptive Binary Tree 5.3 Enhanced Object Culling with (Almost) Oriented Bounding Boxes 5.4 Skin Splitting for Optimal Rendering 5.5 GPU Terrain Rendering 5.6 Interactive Fluid Dynamics and Rendering on the GPU 5.7 Fast Per-Pixel Lighting with Many Lights 5.8 Rendering Road Signs Sharply 5.9 Practical Sky Rendering for Games 5.10 High Dynamic Range Rendering Using OpenGL Frame Buffer Objects SECTION 6 AUDIO Introduction 6.1 Real-Time Sound Generation from Deformable Meshes 6.2 A Lightweight Generator for Real-Time Sound Effects 6.3 Real-Time Mixing Busses 6.4 Potentially Audible Sets 6.5 A Cheap Doppler Effect 6.6 Faking Real-Time DSP Effects SECTION 7 NETWORK AND MULTIPLAYER Introduction 7.1 Dynamically Adaptive Streaming of 3D Data for Animated Characters 7.2 Complex Systems Based High-Level Architecture for Massively Multiplayer Games 7.3 Generating Globally Unique Identifiers for Game Objects 7.4 Massively Multiplayer Online Prototype Utilizing Second Life for Game Concept Prototyping 7.5 Reliable Peer-to-Peer Gaming Connections Penetrating NAT About the CD-ROM Index
and post it to your social network
Most Helpful Customer Reviews
See all customer reviews >