- Volume
-
[1] ISBN 9781584500490
Description
For the countless tasks involved in creating a game engine there are an equal number of possible solutions. This text is a hands-on, comprehensive resource packed with a variety of game programming algorithms written by experts from the game industry. From animation and artificial intelligence to Z-buffering, lighting calculations, weather effects, curved surfaces and mutliple layer Internet gaming, to music and sound effects, all of the major techniques needed to develop a competitive game engine are covered. "Game Programming Gems" is written in a style which should be accessible to individuals with a range of expertise levels. All of the source code for each algorithm is included and can be used by advanced programmers immediately. For aspiring programmers, there is a detailed tutorial to work hrough before attempting the code, and suggestions for possible modifications and optimizations are included as well. The CD-ROM contains the source code in C and C++, completely portable to Windows and Linux, and all graphics displays which use the popular Open GL language.
- Volume
-
2 ISBN 9781584500544
Description
Blazing through the excitement generated by the first volume, Game Programming Gems II is here with an entirely new set of innovative ideas, techniques,and algorithms. Game developers of all levels will find insightful tips and tools from this unique collection.Written by game programming experts,each contribution provides a hands-on solution to a programming problem, or a creative method for reducing programming time and redundancy.
Edited by Mark DeLoura,Editor-In-Chief of Game Developer magazine and a group of top-notch area editors,this collection covers the major topics needed to develop a state-of-the-art game engine and provides all new coverage of audio issues. From animation and artificial intelligence to Z-buffering, lighting calculations,weather effects, curved surfaces, audio tools,multiplayer Internet gaming, music and sound effects, all of the major techniques needed to develop a competitive game engine are covered.
All of the source code for each algorithm is included and can be used by advanced programmers immediately.For aspiring game programmers,the text for each algorithm explains the algorithm in detail, gives suggestions for beneficial modifications and optimizations, and includes references to related material.
Table of Contents
SECTION 1 GENERAL PROGRAMMING
SECTION 2 MATHEMATICS
SECTION 3 246ARTIFICIAL INTELLIGENCE
SECTION 4 GEOMETRY MANAGEMENT
SECTION 5 GRAPHICS DISPLAY
SECTION 6 AUDIO PROGRAMMING
APPENDIX ABOUT THE CD-ROM
- Volume
-
3 ISBN 9781584502333
Description
The journey continues with this ALL NEW volume in the Game Programming Gems series! As with the first two volumes, a dynamic group of some of the best game programmers in the industry have generously joined together to share their insights and techniques. Their ready-to-use ideas, tips, and solutions, will help save hours of programming time, prevent redundancy, and leave you with more time to add cutting-edge features to your own games.
Covering all the key areas of game development, this invaluable resource delves deep into the problems often encountered by programmers, and provides practical, valid solutions. Each section is edited by an expert in the field to ensure that the ideas are original, accurate, and useful for a variety of game development projects. In addition to covering Mathematics, Graphics, General Programming, Audio, and Artificial Intelligence, Game Programming Gems 3 also includes an all new section on Network and Multiplayer games.
This is a must-have reference, and series, for every game developer. If you are just getting started, this book offers a true cross-section of the challenges you ll face, and provides a variety of additional references to help you find all the resources you need to advance your skills and knowledge. If you re an expert already, you ll find new ideas and techniques to help save plenty of valuable programming time.
Table of Contents
- AI
Rectangle Navigation
A Highly Efficient Alternative to A*
Function Pointer-Based Embedded Finite State Machines
Terrain Analysis in an RTS
- Character Virtualization
A Fast Approach to Navigation Meshes
A General Trigger System for AI Entities, Objects, and Quests
Optimized Machine Learning Techniques
Tactical Pathfinding Using A*
Audio
Obstruction Using Axes-Aligned Bounding Boxes
Compression and Effects Using Linear Predictive Coding
Using DSP to Create Dynamic Engine Sounds
Creating a Compelling 3D Audio Environment
Compressing Audio with Vector Quantization
Using the Biquad Resonant Filter
General
Developing Games for an International Market
A Platform Independent Function Binding Interface
Autolists: Allowing Trivial Listing of Object Instances
Handle-Based Smart Pointers
Programming a Game Design-Compliant Engine using
UML
Graphics
A Compiler for Programmable Vertex Shading Hardware
Using Textures to Approximate a Mathematic Function
Computing Optimized Shadow Volumes for Complex Data Sets
Billboard Beams
- Subdivision Surfaces for Character Animation Mathematics
A Fast Approximation to the Slerp() Function
Clipping a Convex Polyhedron Against a Plane
A Naming Convention for Transformation Matrices
Base-2 Logarithm Utility Functions (C++)
Constrained Inverse Kinematics
Quaternion Compression
Coping with Friction in Dynamical Simulations
Network and Multiplayer Games
A UDP Monitoring and Simulation Tool
(Algorithms for) Player Skill Estimates and Rating
Wireless Gaming with J2ME
Multiplayer Game Development Using Microsoft DirectPlay 8.1
Real-Time-Strategy Network Protocol
Template-Based Object Serialization
Reducing Latency in Real-time Strategy Games
Large-Scale Multiplayer Servers
Secure Sockets
A Flexible Simulation Architecture for Mass Multi-Player Games
- Volume
-
4 ISBN 9781584502951
Description
Uncover the secrets of the game industry's best programmers with the newest volume of the Game Programming Gems series
With over 60 all new techniques, Game Programming Gems 4 continues to be the definitive resource for developers. Written by expert game developers who make today's amazing games, these articles not only provide quick solutions to cutting-edge problems, but they provide insights that you'll return to again and again. They'll spark your creativity and inspire your own discoveries.
For the past few years, the game industry has been on an incredible journey of exploration and innovation. In conjunction with this journey, the scope of the Game Programming Gems series has broadened as well. With the variety of new platforms available, coverage has been expanded to include alternative languages and third party APIs. Most code is written in C++, but some interpreted languages (Java and Python) are also represented. The graphics articles make use of OpenGL, DirectX, and the various available shader languages. Volume 4 also includes an all new physics section that teaches innovative techniques for implementing real-time physics that will help you create emergent gameplay. To make searching between all four volumes of the series easy and efficient, we have added a cumulative index.
This new volume is a definite must-have resource for every game programmer's library!
Table of Contents
SECTION 1 GENERAL PROGRAMMING
SECTION 2 MATHEMATICS
SECTION 3 PHYSICS
SECTION 4 ARTIFICIAL INTELLIGENCE
SECTION 5 GRAPHICS
SECTION 6 NETWORK AND MULTIPLAYER
SECTION 7 AUDIO
APPENDIX: ABOUT THE CD-ROM
- Volume
-
6 ISBN 9781584504504
Description
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
by "Nielsen BookData"