Buy new:
-15% $59.51$59.51
$3.99 delivery January 8 - 9
Ships from: Orangeworld LLC Sold by: Orangeworld LLC
Save with Used - Good
$23.30$23.30
Ships from: Amazon Sold by: ZBK Wholesale
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the author
OK
Game Programming Gems (GAME PROGRAMMING GEMS SERIES) Hardcover – August 1, 2000
Purchase options and add-ons
- Print length614 pages
- LanguageEnglish
- PublisherCharles River Media
- Publication dateAugust 1, 2000
- Dimensions7.75 x 1.5 x 9.5 inches
- ISBN-101584500492
- ISBN-13978-1584500490
Book recommendations, author interviews, editors' picks, and more. Read it now.
Frequently bought together

Customers who viewed this item also viewed
Editorial Reviews
Amazon.com Review
The guiding principle in this book is to publish the best available tips for game programming; most of these fit into 10 pages or fewer. But don't let the efficient presentation fool you; almost every one of these tips will be invaluable to any serious game developer.
Early sections concentrate on techniques for creating more maintainable, faster code. A guide to using scripts for data-driven game modules and techniques teaches you better resource management (like using handles). A quick-start tutorial to the Standard Template Library (STL) will help you learn how to use these fast collection classes in your code right away. Several contributors show off strategies for better game debugging and profiling--there's even a set of classes that can provide onscreen feedback during testing.
The mathematical underpinnings that are required to do leading-edge 3-D graphics processing--including the use of quaternions, instead of matrices, in certain calculations--also are discussed. (One section looks at simulating water surfaces.) And artificial intelligence (AI) techniques for games--like Finite State Machines (FSMs), fuzzy logic, and neural networks--are explained. (The extremely cool flocking algorithms, which will let you add the behavior of birds or fish to your next game level, are especially appealing.)
Over 20 techniques for doing work with polygons (a staple of representing 3-D virtual worlds) are laid out, too. You'll learn a variety of important concepts, such as collision detection, working with key frames, better skinning for character animation, and realistic terrain generation (including fractals). A discussion of pixel effects, with some cutting-edge ways to add more realistic lighting and shadows to your games, closes the discussion. (One of the more exciting sections shows you how to simulate glass objects within 3-D scenes.)
With its leading-edge material on the algorithms that are used by the competition, Game Programming Gems will be a virtual must-read for anyone who works in the game industry. With code samples that are geared to OpenGL and that should run on both Windows and Linux, this book will help developers hone their game-programming skills. --Richard Dragan
Topics covered:
- Tips and strategies for game developers
- Data-driven design and scripting languages
- Object-oriented design primer
- Using Visual C++ templates for faster math calculations
- Resource-management techniques (Singleton patterns, resource handles, and tips for fast data loads)
- The C++ Standard Template Library (STL) for games
- Bit arrays
- Network protocols for online games
- Using asserts and profiling for games
- Random numbers
- Interpolation methods
- Equations for rigid body motion
- Using polynomial approximations for trig functions
- Implicit Euler integration
- Wavelets
- Simulating water surfaces
- Quaternion vs. matrix calculations
- Artificial-intelligence (AI) techniques for gamers
- Sending messages
- Finite State Machines (FSMs)
- Game trees
- Pathing strategies (including A* and 3-D pathing solutions)
- Flocking algorithms
- Introduction to fuzzy logic and neural networks
- Techniques for faster graphics with polygons (and 3-D fundamentals)
- Loading vertices faster into OpenGL
- The vector camera
- Camera-control strategies
- 3-D collision detection
- Multiresolution maps
- Distance calculation
- Object occlusion
- Working with octrees
- Interpolating between 3-D keyframes
- Skinning techniques
- Terrain-generation algorithms (including fractals)
- 2-D lens flare
- 2-D sprite effects with 3-D hardware
- Techniques for more realistic lighting
- Shadows and texturing
- Simulating glass and liquids in games
From the Publisher
* A must-have for every game programmer's library!
* Written by Game Programming Experts and edited by Nintendo's Mark DeLoura
* Comprehensive coverage of all major techniques used in game development
* CD ROM is packed with the source code in C & C++ completely portable to Windows and Linux, and all graphics displays use the popular Open GL language
About the Author
Product details
- Publisher : Charles River Media; 1st edition (August 1, 2000)
- Language : English
- Hardcover : 614 pages
- ISBN-10 : 1584500492
- ISBN-13 : 978-1584500490
- Item Weight : 2.85 pounds
- Dimensions : 7.75 x 1.5 x 9.5 inches
- Best Sellers Rank: #1,471,113 in Books (See Top 100 in Books)
- #1,023 in Game Programming
- #2,640 in Graphic Design Techniques
- #3,253 in Job Hunting & Career Guides
- Customer Reviews:
About the author

Discover more of the author’s books, see similar authors, read book recommendations and more.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonReviews with images
A Must Have book for every game programmer
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
- Reviewed in the United States on March 26, 2009The book is comprised of five sections, each containing many short articles, usually written by different authors, and each article contains references. The book assumes that you are familiar with c++, or c at the minimum, and the examples are all written in these languages. Also, the graphics library supported by the book is OpenGL, not DirectX. If you are new to c or c++ and haven't done any game programming, then this book will be too advanced for you. The code is suitable for both Windows and Linux platforms.
The first section of the book discusses object-oriented design and often refers to "design patterns". Since I hadn't heard of them, and programmed my own way, there was much to learn. This is where the book's references help. If you aren't an expert at c++ programming, I suggest you read the references, namely "Effective c++", "More Effective c++" (both by Scott Meyers), and also the book on design patterns mentioned: "Design Patterns" by Gamma et. al. To make the most of the STL section, you could do with a book on STL also.
The chapter on bit-arrays is especially good for compression and decompression code, preventing you from having to perform tricky bit operations. The profiling section is good because it shows how to profile with your own code, rather than relying on having a compiler to profile for you. That's just two example chapters in this section.
The second section of the book is about Maths. To me, the articles are too complex given how short they are. To understand them, you need university-level Maths and understand summing notation, vectors, matrices, differentiation, and integrals. I've only done First Year university Maths, and found myself out of my depth in this section.
The third section is about Artificial Intelligence. This section covers finite state machines (useful in any game), game trees (used by the computer opponent to defeat the human player in games such as chess and checkers), as well as search techniques, how to make enemies flock, and fuzzy logic.
The fourth section is about polygonal techniques, which are mainly used for 3D games. The book's code for 3D games is written with OpenGL in mind. I am mostly interested in 2D game design, so I haven't read all the chapters of this section. But there's an interesting chapter that shows you how to generate smooth curves given a set of control points. This is great for making an enemy move along a curve rather than in a straight line, so you can apply it to 2D game design.
The final section has a chapter on using 3D hardware for 2D sprite effects (with OpenGL). This is exactly what I needed to know. It was my favourite article because it solved my immediate problem, the answer to which I couldn't find after exhaustive web searches. This book isn't just for 3D game creation; it shows how to use OpenGL for 2D games. This way you can get the benefits of sprite scaling and rotation in a 2D game.
The accompanying CD has the full source code to the articles, which is required because many chapters only contain code snippets with the text.
Overall, this is a great book. It is big and comprehensive. It's better than a single-author book because you're not stuck in his particular mindset. Plus you can pick up the book and quickly read a chapter, and it's usually not necessary to read the chapters in order. The disadvantage is that some of the chapters may not interest you, but there's plenty that will interest you, as the book has a large number of articles, and the book size is 600 pages. The book is well-balanced in that it doesn't contain too much theory, nor too little, and it contains practical examples and utilities that you can readily use.
Anyone with c++ knowledge and an interest in programming games should buy this book. If your c++ skills aren't too sharp, you will want to buy some of the referenced books.
I look forward to reading the other books in the series.
- Reviewed in the United States on September 17, 2000This book is hands-down the best book yet published on game programming. I have yet to find any other book that begins to approach the excellence of Game Programming Gems in terms of the breadth and depth of the subjects covered.
GPG will serve as an excellent introduction to a broad variety of game programming techniques for those new to the industry, and an invaluable desk reference and for more experienced game developers. As a 7-year industry veteran, I can't count the number of times the techniques in this book would have proven useful in the past.
Of particular interest are Steve Rabin's excellent chapters on the A* algorithm, the cornerstone of (most) pathfinding in computer games. These chapters go far beyond the explanation of the algorithm itself and serve up a host of rare and valuable insights for getting the most out of your pathfinding in an actual game environment.
I have no doubt that this book will have a significant impact on the state of the art in the game development community, and one can only hope that this book is only a hint of what's to come.
- Reviewed in the United States on August 31, 2018This book is a golden pot with wisdom of our old game programmers. It's awesome to know what they did in the past and what they have created. Also, the book is in perfect state. I'm very happy with this acquisition.
5.0 out of 5 stars A Must Have book for every game programmerThis book is a golden pot with wisdom of our old game programmers. It's awesome to know what they did in the past and what they have created. Also, the book is in perfect state. I'm very happy with this acquisition.
Reviewed in the United States on August 31, 2018
Images in this review
- Reviewed in the United States on December 6, 2013The book is good. The fact that the CD was missing for the book when it arrived at my door, and that the source code for the book is unavailable for honest download online is very irritating. The book does describe the algorithms at a high level and it includes example source code in the text. However, the example implementation of the source code will not help you very much without the actual source code, because not all data structures are very well described.
As an example: pages 287-304 describes a simple method of navigating in a 3D space. Some of the methods for the NavigationMesh and NavigationCell classes are defined in plain text, but the classes themselves are not defined (in the text). Without the source code... it is a lot better than nothing.
Another example: Chapter 2.6 describes the process of solving the wave equation in 2D. It is no substitute for a full book on how to solve partial differential equations using the finite difference method. But it does solve the wave equation using it! He also gives the analytical solution to the wave equation (he doesn't explain where that comes from, but that's fine). He omits a *very* important detail regarding the courant-friedrich lewy condition (the stability condition) that will have the unfortunate reader who is unfamiliar with PDEs tearing their hair out of their skull if they attempt to implement the solution themselves [pick the wrong combination of dt and h, and the uninitiated reader could be left howling in frustration for hours wondering why the stupid simulation they wrote keeps generating garbage for numbers!]. And the author of this chapter could have fixed this with a more detailed explanation of how solving these PDEs actually *really* works and why they work! To his credit, he includes some pretty good references at the end, the sections written by this fellow were very well written, the supporting figures are very good, his descriptions are good! He just left out some important details that are absolutely necessary to have if you really want to implement the simulation (like the where the CFL condition comes from, and how the boundary conditions work).
This book will help keep you from wandering in the dark and being forced to figure out all of your own novel algorithms for solving problems that occur in writing a game engine. The text itself provides a theoretical and algorithmic overview of the issues of solving problems with game engines. It will get you thinking in the right direction. But the implementation details are (presumably) left in the CD (which I cannot look at, since my book didn't have a CD shipped with it). And the CD has source code for linux and windows. (It uses OpenGL and GLUT for much of it's source code, so it should be possible to get the code to compile on a modern macintosh, with some effort).
- Reviewed in the United States on March 10, 2020Covers many interesting topics.
- Reviewed in the United States on January 3, 2015Got what I needed. I heard it was a good book. I've only skimmed through it. I like it so far.
- Reviewed in the United States on January 23, 2015One of the must have books if you are interested in game development.
- Reviewed in the United States on December 3, 2009This book is great. I have used it a lot. Very usefull. You will need it! :)
Top reviews from other countries
-
Amazon CustomerReviewed in Japan on October 14, 20225.0 out of 5 stars とても良いです
商品状態が良いです。梱包も良いです。
BourgaultReviewed in Canada on August 4, 20145.0 out of 5 stars Five Stars
Fast shipping and exactly as described :P
Mr CresswellReviewed in the United Kingdom on December 5, 20135.0 out of 5 stars great book
This book is my fav gem book, so much information and enlightenment. This a great for any level of programmer but I definitely recommend to those who are novices or at uni. I keep coming back to this book and still find new information that helps me.
SkweekReviewed in the United Kingdom on January 24, 20153.0 out of 5 stars A good product
Game design student son delighted with this product, which he says will help him no end - readable, useful and user-friendly.



![[Game Programming Gems 2 (GAME PROGRAMMING GEMS SERIES) (Vol 2)] [By: DeLoura, Mark] [July, 2001]](https://images-na.ssl-images-amazon.com/images/I/41uQ6HLs91L._AC_UL165_SR165,165_.jpg)




