Game Programming Gems (GAME PROGRAMMING GEMS SERIES)
J**R
Good book, less useful without the CD
The 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).
A**E
Great game programming book!
The 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.
P**R
A First-Of-Its-Kind Introduction to Game Programming
This 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.
A**H
A Must Have book for every game programmer
This 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.
D**A
Excellent book
Covers many interesting topics.
A**R
とても良いです
商品状態が良いです。梱包も良いです。
M**L
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.
S**K
A good product
Game design student son delighted with this product, which he says will help him no end - readable, useful and user-friendly.
B**T
Five Stars
Fast shipping and exactly as described :P
TrustPilot
3天前
1天前