Programming Books C Java PHP Python Learn more Browse Programming Books
Buy Used
+ $3.99 shipping
Used: Very Good | Details
Condition: :
Comment: Former Library book. Used but still in excellent shape. Clean pages and little wear.Great prices and great return policy! Best books around. Your purchase benefits world literacy!
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Physics for Game Developers Paperback – November 15, 2001

See all 3 formats and editions Hide other formats and editions
Amazon Price New from Used from
"Please retry"
$3.92 $0.01

There is a newer edition of this item:


Shop the New Digital Design Bookstore
Check out the Digital Design Bookstore, a new hub for photographers, art directors, illustrators, web developers, and other creative individuals to find highly rated and highly relevant career resources. Shop books on web development and graphic design, or check out blog posts by authors and thought-leaders in the design industry. Shop now

Product Details

  • Paperback: 336 pages
  • Publisher: O'Reilly Media; 1 edition (November 15, 2001)
  • Language: English
  • ISBN-10: 0596000065
  • ISBN-13: 978-0596000066
  • Product Dimensions: 7 x 0.8 x 9.2 inches
  • Shipping Weight: 1.5 pounds
  • Average Customer Review: 3.6 out of 5 stars  See all reviews (28 customer reviews)
  • Amazon Best Sellers Rank: #1,522,331 in Books (See Top 100 in Books)

Editorial Reviews Review

Aimed at the game developer or student/hobbyist interested in physics, Physics for Game Developers reviews all the math for creating realistic motion and collisions for cars, airplanes, boats, projectiles, and other objects along with C/C++ code for Windows. While this authoritative guide isn't for the math-averse, the author's clear presentation and obvious enthusiasm for his subject help make this book a compelling choice for anyone faced with adding realistic motion to computer games or simulations.

It's the clear, mathematical presentation here that makes this title a winner. Starting with the basics of Newtonian mechanics, the author covers all the basic equations needed to understand velocity, acceleration, kinematics, and kinetics, among other concepts. A knowledge of college math (including calculus) is assumed. (Appendices review the basics of matrix and quaternion mathematics for those needing a refresher.)

Central to this book is its presentation of modeling projectiles, airplanes, ships, and cars. The author first presents essential mathematical concepts for each kind of object (for instance, pitch, yaw and roll, and lift for airplanes; modeling fluid drag for ships; and braking behavior for cars). For many chapters, Bourg then presents Windows-based DirectX programs in C++ to illustrate key concepts. For example, you can experiment with different parameters to view a cannonball's path. (On their own, these programs make this book a great companion text to any advanced high school or college physics course since students can see the effect of each variable on the behavior of each body in motion for a variety of equations.)

Modeling collisions is a central concern here (a necessity, of course, for action games). To this end, the author provides collision detection and the mathematics of 3-D rigid bodies for simulating when bodies collide. As the sample programs get more involved, the author discusses techniques of tuning parameters for performance. A standout chapter here models a fluttering flag using particle systems.

In all, this text proves that physics and computers are a perfect match. The author's patient and clear mathematical investigations of common formulas and concepts can add realistic motion to any computer game, as well as help teach essential concepts to any student or hobbyist who's interested in physics and doesn't mind a little college-level math. --Richard Dragan

Topics covered: Mathematical formulas and sample C/C++ code for physics for simulations and games, basic concepts in physics, Newton's Laws of Motion, coordinate systems and vectors; mass, center of mass and moment of inertia; kinematics (velocity and acceleration), constant and nonconstant acceleration, 2-D and 3-D particle kinematics, rigid body kinematics, angular velocity and acceleration, force (force fields and friction, fluid dynamic drag, buoyancy, springs and dampers, torque), 2-D, 3-D, and rigid body kinetics; collisions (impulse-momentum, impact, linear, and angular impulse), projectiles (simple trajectories, drag, the Magnus Effect, variable mass), simulating aircraft (geometry, lift and drag, controls), simulating ships (flotation, volume, resistance, and virtual mass), simulating hovercraft and cars (including stopping distance and banking during turns), basic real-time simulations (integrating equations of motion, including Euler's Method), 2-D rigid body simulator, implementing collision response (including angular effects), rigid body rotation (rotation matrices and quaternions), 3-D rigid body simulator for an airplane (including flight controls and rendering), multiple bodies in 3-D (including implementing collisions), particle systems, reference tutorials for vector, matrix, and quaternion mathematical operations.

About the Author

As a naval architect and marine engineer, David M. Bourg performs computer simulations and develops analysis tools that measure such things as hovercraft performance and the effect of waves on the motion of ships and boats. He teaches at the college level in the areas of ship design, construction and analysis. On occasion, David also lectures at high schools on topics such as naval architecture and software development. In addition to David's practical engineering background, he's professionally involved in computer game development and consulting through his company, Crescent Vision Interactive. Current projects include a massively multiplayer online role-playing game, several Java-based multiplayer games, and the porting of Hasbro's "Breakout" to the Macintosh.

Customer Reviews

The book is usefull for a beginner but also deserves the 'knowing' as a good cookbook for the games-level.
Joerg Plewe
The examples in this book are all written for the Windows API, rather than using a cross-platform API such as SDL.
Mr. Simon D. Howard
I highly recommend this fun and comprehensive book for anyone getting started in adding physics to game programs.

Most Helpful Customer Reviews

42 of 44 people found the following review helpful By Dave Astle VINE VOICE on April 5, 2002
Format: Paperback
This book provides a good starting point for anyone looking to introduce more realistic physics into their game. It provides an overview of the laws of mechanics, focusing on rigid body and particle dynamics. It then takes these principles and applies them to specific simulations which often come up in games, such as projectiles, cars, airplanes, and hovercraft. The math is simplified, so the results are not always completely accurate, but they should be good enough for many games.
The book does have several shortcomings which prevent it from being a great book, the most important of which is that the content is fairly limited. It's less than 300 pages, and a significant amount of space (especially in the later chapters) is taken by source code listings. Of course, this is somewhat offset by the book's relatively low price.
If you buy this expecting it to be the ultimate guide to physics in games, you'll be disappointed. However, if you buy it as an introduction to physics in games (which how it's intended to be used), I think you'll be happy with it.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
34 of 38 people found the following review helpful By Stephen Lepp on December 12, 2001
Format: Paperback
It would probably not be impossible to learn the physics you need for your game simulation from this book, but it would be difficult. The presentation often lacks much physical insight. This may be intentional as to make the book read easier to a non-specialist, but I think it is a mistake.
As an example, the simple trajectory problem, launch a particle in constant acceleration with no friction, is presented here as four separate problems; launch a particle with target at same height, launch a particle with target higher, launch a particle with target lower and launch a particle horizontally with target lower. No physicist would approach the problem this way, it is absolutely trivial to present them all as the same problem with the same general solution.
Occasionally the book lapses with just outright errors. The most serious so far I've seen is the cylinder rolling down a plane without slipping is solved by assuming the frictional force is the static coefficient of friction times the normal force. In fact, the force can be any amount less then this. As a result the solution given has the funny property that it will roll up the plane for small angles.
The book isn't all bad, and may well serve it's primary purpose, which I assume, is to give a litany of examples that game developers may paste into their games. It certainly has lots of examples, and most are correct physics, still, perhaps with my bias as a physics professor, I was hoping for a bit more physical insight into the problems.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
34 of 39 people found the following review helpful By Joerg Plewe on December 6, 2001
Format: Paperback
David gives an overview to basic physical and numerical principles and than describes the forces occuring in a couple of typical systems: projectiles, planes, ships, hovercrafts, cars. After that some issues on collision detection, integration and many-body-system are discussed.
The overall mathematical level is 'easy'.
David does not dig deeper into mechanics than it is necessary for a game.
The book is usefull for a beginner but also deserves the 'knowing' as a good cookbook for the games-level.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
22 of 26 people found the following review helpful By Justin E Rogers on May 19, 2002
Format: Paperback
The book does a startlingly good job of covering many areas of game programming that benefit from physics including projectiles, vehicles, and other solid bodies. Some more advanced concepts like fuel burnoff, body shape, and simulation in real time add to the usability of the book.
One of the biggest problems with the text is that if your going to jump into a single chapter and code up a sample of just the object being talked about your going to be okay. However, if your going to be deriving your own code and objects based on the material in the book your going to find yourself having a hard time.
A great example lies in the first chapter which derives formulas for working with a car, with a fuel tank and driver. Now, first off, the author implements 0 source code for the functions shown in the book. This leaves you as the reader to develop your own functions and test things out, possibly by adding another driver, or implementing a generic method for defining composite bodies. If your technically proficient enough to do this, you'll use the numbers provided to test your code. What do you find? Well, that the numbers the author put in the book are wrong.
Since the book is based on precise math and physics, this type of slip-up, especially in a prime example (its the major example for the first chapter), is killer in terms of my trust in the books content.
Still, I do recommend buying the book, just prepare yourself for the technical inconsistencies.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
9 of 9 people found the following review helpful By Bruce Rubinstein on September 20, 2005
Format: Paperback
This book is superb in his examples for anyone who understands 3-d programming but is lacking physics in there game. I took his chapter 17 flag example and ported the code into my 3-d engine. It worked perfectly . I have boats in my game but could not get them to move realistically. I am know porting his rigid body and collision chapters into my game. To be fair I have graduated from mechanical engineering and KNow the concepts of momentia inertia, angular velocity,drag,vectors etc. This is a must for this book. I hope to have airplanes flying in my game from his book examples.

What I am praising is his physics examples. I do not care about units or language choice which seems to be a complaint. From his book I can add reality in terms of physics which I could not find in any other book.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews

More About the Author

Discover books, learn about writers, read author blogs, and more.