Home    General Programming    Artificial Intelligence    Math    Physics    Graphics    Networking    Audio Programming   
Audio/Visual Design    Game Design    Production    Business of Games    Game Studies    Conferences    Schools    Contact   
 
Home
General Programming
Artificial Intelligence
Mathematics
Physics
Graphics
Networking
Audio Programming
Audio/Visual Design
Game Design
Production
Business of Games
Game Studies
Conferences
Schools
Contact
Game Programming Gems
Game Programming Gems 2
Game Programming Gems 3
Game Programming Gems 4
Game Programming Gems 5
Game Programming Gems 6
AI Game Programming Wisdom
AI Game Programming Wisdom 2
AI Game Programming Wisdom 3
GPU Gems
GPU Gems 2
ShaderX
ShaderX2
ShaderX3
ShaderX4
ShaderX5
Massively Multiplayer Game Development
Massively Multiplayer Game Development 2
Secrets of the Game Business
Introduction to Game Development
GDC Proceedings
Game Developer Magazine
Gamasutra


Game Programming Gems
68 Articles, Edited by Mark DeLoura, 2000.


Survey of Lowest Known Online Prices
$46.17 (34% off) Amazon.com Note: free shipping
$55.96 (20% off) Charles River Media
$69.95 (0% off) BarnesAndNoble.com


General Programming

The Magic of Data-Driven Design

Steve Rabin (Nintendo of America)
Game Programming Gems, 2000.

Object-Oriented Programming and Design Techniques

James Boer
Game Programming Gems, 2000.

Fast Math Using Template Metaprogramming

Pete Isensee
Game Programming Gems, 2000.

An Automatic Singleton Utility

Scott Bilas
Game Programming Gems, 2000.

Using the STL in Game Programming

James Boer
Game Programming Gems, 2000.

A Generic Function-Binding Interface

Scott Bilas
Game Programming Gems, 2000.

A Generic Handle-Based Resource Manager

Scott Bilas
Game Programming Gems, 2000.

Resource and Memory Management

James Boer
Game Programming Gems, 2000.

Fast Data Load Trick

John Olsen
Game Programming Gems, 2000.

Frame-Based Memory Allocation

Steven Ranck
Game Programming Gems, 2000.

Simple, Fast Bit Arrays

Andrew Kirmse
Game Programming Gems, 2000.

A Network Protocol for Online Games

Andrew Kirmse
Game Programming Gems, 2000.

Squeezing More Out of Assert

Steve Rabin (Nintendo of America)
Game Programming Gems, 2000.

Stats: Real-Time Statistics and In-Game Debugging

John Olsen
Game Programming Gems, 2000.

Real-Time In-Game Profiling

Steve Rabin (Nintendo of America)
Game Programming Gems, 2000.




Mathematics

Predictable Random Numbers

Guy W. Lecky-Thompson
Game Programming Gems, 2000.

Interpolation Methods

John Olsen
Game Programming Gems, 2000.

Integrating the Equations of Rigid Body Motion

Miguel Gomez
Game Programming Gems, 2000.

Polynomial Approximations to Trigonometric Functions

Eddie Edwards
Game Programming Gems, 2000.

Implicit Euler Integration for Numerical Stability

Miguel Gomez
Game Programming Gems, 2000.

Wavelets: Theory and Compression

Loic Le Chevalier
Game Programming Gems, 2000.

Interactive Simulation of Water Surfaces

Miguel Gomez
Game Programming Gems, 2000.

Quaternions for Game Programming

Jan Svarovsky
Game Programming Gems, 2000.

Matrix-Quaternion Conversions

Jason Shankel
Game Programming Gems, 2000.

Interpolating Quaternions

Jason Shankel
Game Programming Gems, 2000.

The Shortest Arc Quaternion

Stan Melax
Game Programming Gems, 2000.




Artificial Intelligence

Designing A General Robust AI Engine

Steve Rabin (Nintendo of America Inc)
Game Programming Gems, 2000.

A Finite-State Machine Class

Eric Dybsand (Glacier Edge Technology)
Game Programming Gems, 2000.
Abstract: Simple Finite-State Machines are powerful tools used in many computer game AI implementations. This article introduces a generic C++ class that implements a Finite-State Machine that is useful to the novice for learning about Finite-State Machines and as a building block for more complex AI implementations in development projects. The processes of a Finite-State Machine are presented, an example game implementation is offered as an example of Finite-State Machine usage, and source code illustrates how finite-state functionality can be implemented in a generic manner.

Game Trees

Jan Svarovsky (Mucky Foot Productions)
Game Programming Gems, 2000.

The Basics of A* for Path Planning

Bryan Stout
Game Programming Gems, 2000.

A* Aesthetic Optimizations

Steve Rabin (Nintendo of America)
Game Programming Gems, 2000.

A* Speed Optimizations

Steve Rabin (Nintendo of America)
Game Programming Gems, 2000.

Simplified 3D Movement and Pathfinding Using Navigation Meshes

Greg Snook (Mighty Studios)
Game Programming Gems, 2000.

Flocking: A Simple Technique for Simulating Group Behavior

Steven Woodcock (Wyrd Wyrks)
Game Programming Gems, 2000.

Fuzzy Logic for Video Games

Mason McCuskey (Spin Studios)
Game Programming Gems, 2000.

A Neural-Net Primer

André LeMothe (Xtreme Games)
Game Programming Gems, 2000.




Polygonal Techniques

Optimizing Vertex Submission for OpenGL

Herbert Marselas (Ensemble Studios)
Game Programming Gems, 2000.
Abstract: There are a number of functions available for submitting and rendering vertices in OpenGL, which range from the simple immediate mode functions to more complicated multiple vertex functions and vendor-specific extensions. However, teh performance can vary greatly depending on the functionality used. This article provides insight into the tradeoffs of various techniques.

Tweaking a Vertex's Projected Depth Value

Eric Lengyel (C4 Engine)
Game Programming Gems, 2000.
Abstract: The goal is to find a way to offset a polygon's depth in a scene without changing its projected screen coordinates or altering its texture mapping perspective. Most 3D graphcs libraries contain some kind of polygon offset function to help achieve this goal. However, these solutions generally lack fine control and usually incur a per-vertex performance cost. This article presents an alternative method that modifies the projection matrix to achieve the depth offset effect.

The Vector Camera

David Paull (Tanzanite Software)
Game Programming Gems, 2000.
Abstract: The vector camera is a generalized form of the matrix-based camera found in many traditional graphics engines. Matrices are often difficult to read due to the fact that they typically hold several operations concatenated together. The vector camera uses only simple vectors to describe its orientation to the overall graphics pipeline. This article describes the how to construct a vector camera and how to manipulate it.

Camera Control Techniques

Dante Treglia (Nintendo of America)
Game Programming Gems, 2000.
Abstract: This article outlines a few basic techniques that can be used to develop the proper camera model for your game. In addition to basics, a scripted camera traveling on various curves (B-Spline, Catmull-Rom spline) is also discussed along with issues such as zooming, dampening, and the use of quaternions.

A Fast Cylinder-Frustrum Intersection Test

Eric Lengyel (C4 Engine)
Game Programming Gems, 2000.
Abstract: This article presents a quick algorithm for determining whether an arbitrary cylinder potentially intersects the view frustum (and thus whether the object is visible).

3D Collision Detection

Kevin Kaiser
Game Programming Gems, 2000.
Abstract: This article will help lay the groundwork for building an accurate physics simulation by starting with one of the most crucial parts of a real-time physics engine: 3D collision detection. The two basic algorithms this article covers are: Bounding Sphere Collision Detection and Triangle-to-Triangle Collision Detection.

Multi-Resolution Maps for Interaction Detection (Collision Detection)

Jan Svarovsky (Mucky Foot Productions)
Game Programming Gems, 2000.
Abstract: This article describes a method for reducing the number of proximity tests that must be performed for games with large numbers of game objects of varying sizes.

Computing the Distance into a Sector

Steven Ranck (Midway Home Entertainment)
Game Programming Gems, 2000.
Abstract: This article describes a simple and fast algorithm for determining where a point is between the edges of a 2D quad (or sector). The result is a unit floating point number, where 0 indicates that the point lies on the leading edge, and where 1 indicates that the point lies on the opposite edge. The sector may be any four-sided, 2D convex shape.

Object Occlusion Culling

Tim Round
Game Programming Gems, 2000.
Abstract: This article introduces both frustum culling and occlusion culling, along with example code for a simple occlusion culling algorithm.

Never Let 'Em See You Pop - Issues in Geometric Level of Detail Selection

Yossarian King (Electronic Arts Canada)
Game Programming Gems, 2000.

Octree Construction

Dan Ginsburg (ATI Research)
Game Programming Gems, 2000.

Loose Octrees

Thatcher Ulrich (Slingshot Game Technology)
Game Programming Gems, 2000.

View-Independent Progressive Meshing

Jan Svarovsky (Mucky Foot Productions)
Game Programming Gems, 2000.

Interpolated 3D Keyframe Animation

Herbert Marselas (Ensemble Studios)
Game Programming Gems, 2000.

A Fast and Simple Skinning Technique

Torgeir Hagland (Shiny Entertainment)
Game Programming Gems, 2000.

Filling in the Gaps-Advanced Animation Using Stitching and Skinning

Ryan Woodland (Nintendo Technology Development)
Game Programming Gems, 2000.

Real-Time Realistic Terrain Generation

Guy W. Lecky-Thompson
Game Programming Gems, 2000.

Fractal Terrain Generation - Fault Formation

Jason Shankel (Maxis)
Game Programming Gems, 2000.

Fractal Terrain Generation - Midpoint Displacement

Jason Shankel (Maxis)
Game Programming Gems, 2000.

Fractal Terrain Generation - Particle Deposition

Jason Shankel (Maxis)
Game Programming Gems, 2000.




Pixel Effects

2D Lens Flare

Yossarian King (Electronic Arts Canada)
Game Programming Gems, 2000.
Abstract: This article shows how to implement an attractive lens flare effect using only a small amount of code and artwork, without needing to know anything about physical optics.

Using 3D Hardware for 2D Sprite Effects

Mason McCuskey (Spin Studios)
Game Programming Gems, 2000.
Abstract: This article sheds some light on how to use 3D hardware to achieve 2D effects. Specifically, we take a look at how to do alpha blending, sprite scaling, and sprite rotation.

Motif-Based Static Lighting

Steven Ranck (Midway Home Entertainment)
Game Programming Gems, 2000.

Simulated Real-Time Lighting Using Vertex Color Interpolation

Jorge Freitas
Game Programming Gems, 2000.

Attenuation Maps

Sim Dietrich (NVIDIA Corporation)
Game Programming Gems, 2000.

Advanced Texturing Using Texture Coordinate Generation

Ryan Woodland (Nintendo Technology Development)
Game Programming Gems, 2000.

Hardware Bump Mapping

Sim Dietrich (NVIDIA Corporation)
Game Programming Gems, 2000.

Ground-Plane Shadows

Yossarian King (Electronic Arts Canada)
Game Programming Gems, 2000.

Real-Time Shadows on Complex Objects

Gabor Nagy (Sony Computer Entertainment America)
Game Programming Gems, 2000.

Improving Environment-Mapped Reflection Using Glossy Prefiltering and the Fresnel Term

Anis Ahmad (University of Waterloo)
Game Programming Gems, 2000.

Convincing-Looking Glass for Games

Gabor Nagy (Sony Computer Entertainment America)
Game Programming Gems, 2000.

Refraction Mapping for Liquids in Containers

Alex Vlachos and Jason L. Mitchell (ATI Research)
Game Programming Gems, 2000.

 
37% off discount
"Latest from a must have series"
Game
Programming
Gems 6



"Comprehensive math book for games"
Mathematics
for 3D Game
Programming
and Computer Graphics



"Newest AI techniques from commercial games"
AI Game
Programming
Wisdom 3




Home