- Paperback: 544 pages
- Publisher: Premier Press; Pap/Cdr edition (12 Aug. 2004)
- Language: English
- ISBN-10: 1592000932
- ISBN-13: 978-1592000937
- Product Dimensions: 23.2 x 18.6 x 3.5 cm
- Average Customer Review: 1.0 out of 5 stars See all reviews (1 customer review)
- Amazon Bestsellers Rank: 2,900,269 in Books (See Top 100 in Books)
- See Complete Table of Contents
Physics Modeling for Game Programmers Paperback – 12 Aug 2004
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
If you are a seller for this product, would you like to suggest updates through seller support?
Top Customer Reviews
Before publishing a book it is normal practice to have someone proof read it. This clearly has not happened with this book. It is hard enough trying to grasp the maths involved without having to decipher the constant lazy typo's. The author also has the tendancy to change the notation used or introduce new notation without any explanation of what it means.
The sample programs that are provided to show you the theory in practice are a joke. The first interesting program is for chapter 8 Collision of point particles. Well it would be if it actually worked properly. The fact that the author is incapable of implementing one of the simplest things in the book leaves you with little confidence that the rest will be correct.
The most laughable thing about the whole book is the letter from the series editor Andre Lamothe. In it he say that the strength of the book is that it focuses on the detailed use of physics for actual game programming applications. The author follows this up with sample applications for a car and flight sim that are completely unrealistic.
Most Helpful Customer Reviews on Amazon.com (beta) (May include reviews from Early Reviewer Rewards Program)
Okay, now there are still 350 pages left that really deal with physics in this book. The good news is that the layout of the content for the physics chapters are a good selection. Even without any knowledge of mechanics the author guides you carefully from simple physical movement of point masses to the more complex behavior of rigid bodies. I really enjoyed how the whole topic is divided into single chapters to take them on one by one.
But then there are the drawbacks of this book. The biggest problem is that collision detection is nearly ignored at all. Okay, you have nice rigid bodies with realistic looking physics effects. But you cannot really use them in your programs because you need to read another book about collision detection first. Don't underestimate the need for a decent and *stable* collision detection system. Without that even the best physics implementation is lost. How do you want to let your body respond to a collision if you can't tell that there had been a collision? The author just uses static bounding spheres. That's a real pity because you would at least need collision detection for dynamic bounding boxes. You would also need this to calculate the points of collision needed for the physical collision response.
I'm stressing this point so much because with the what you learn from this book you are not able to have something as simple as a bunch of cubes falling down from the ceiling, colliding with platforms hovering in the air, and then resting on the floor. Obviously, you also can't have something more complex such as building a stack of two or more boxes piled on top of each other.
One thing that really annoyed me was the chapter about aircraft and spacecraft physics. Sounds like an interesting topic if you want to program your own flight sim, right? But you need to know that the demo of this chapter does not involve physics at all. Just a camera moving foward which can be rolled along the Z axis. But at least the author mentions the equations you can use to calculate lift and drag and strongly recommends that you do more research on aerodynamics if you want to implement a flight sim.
To conclude: Add 2 stars for a very good layout of the introduction from point masses to rigid bodies. But cut off three stars due to the lack of everything that would let you implement a simple but stable physics system you could use even in a simple 3D video game. In order to be able to do physics programming with this book you need to study another book about (dynamic) collision detection such as Ericson as well as a lot of papers you can find throughout the internet that discuss intermediate and advanced physics programming such as stacking and resting contact problems.
On the whole, I found this book to be a great read. The author doesn't treat you like some idiot. He also doesn't assume you live and breathe math and physics. Unlike the other books on game physics, this one isn't written like a textbook. It's really easy to understand. It also has the only discussion I've found on simulating flexible hair and ponytails. The author makes complex topics easy to understand.
The author, David Conger, starts out by introducing the common types of physics used in games. He then introduces Windows/DirectX programming. This book is part of the very popular Andre LaMoeth series on game programming and they all start out with an intro to Windows/DirectX programming. A lot of them also have intros to C++ programming either at the beginning or in an appendix. These intros seem to be one of the features that make the LaMoeth series so popular.
Next, Conger covers basic 3D concepts like coordinate systems and vectors. This is a great help if it's been a while since you had a math class. One of the best features about this book is that unlike other books on game physics, the author doesn't assume you're a math guru. He teaches you all the math you need to understand the book.
The author finishes the first part of the book by covering transformations in 2D and 3D, and showing how to create what is basically a 3D sprite.
The real meat of the book starts in part 2. It covers particle systems, collisions, rigid body dynamics, gravity, mass and spring systems, water, and waves. Juan Valdez's comments about the sample code being useless are totally wrong. Because collision detection isn't physics (it's a programming task), the author just uses basic collision detection. However, the methods Conger introduces are used in probably 90% of games. The code he gives in his physics framework classes can be used for all but the most high-end games without any problem. It gets you up and running fast. And anything else you want to know about collision detection is freely available on [...]. It was by looking on those sites that I found out how widely the author's methods of collision detection are used.
The last section of the book shows some really good simulations that apply all of the physics the book teaches. I especially liked the flight simulator.
I did find some typos, but they are all minor. All of the sample code runs and does what it's supposed to. In spite of the typos, I gave this book 5 stars our of 5.
This book explains things in almost every detail when it relates to its topic. The reader will still need to work out a few things on their own to gain a complete understanding of where the author gets his results at times, but it's nothing that persistance won't overcome.
I would definintely recoomend this book to anyone interested in this information! (I just wish I could find a way to contact the author.)