Newton Game Dynamics Introduction

29
May
0

Realistic physics simulation is a feature that many game developers 

had tried to implements in their games for many years, but with 

very limited success. Two of the more important reasons for the 

failure are:  

  1. Lack of computers power to solve complex physics algorithm. 

  2.  Lack of understanding the nature of the problem from 

a physical and mathematical point of view.

With the introduction of dedicated hardware to handle the graphic 

load and with the extraordinary increases of CPU power in the pass 

5 years, reason one is not longer an excuse not to have good real-time

 physics in any video game. However reason number two remained

 as a very difficult barrier for many developers.

 

This is not a coincident; the problem is that because the basic principles

 of Newtonian mechanics are so simple, they mislead many programmers

 into thinking it is easy to implement a physics simulation for a game.

 The result is some partial solutions to a general problem, common 

approaches are: springs or penalty based dynamic, heuristic iterative 

LCP solvers, or just plain simple Newton second law of physics applied 

to single rigid bodies with complete disregard of inter rigid body interactions.

 

While these approaches are fast and useful they only cover a very small 

aspect of rigid body dynamics. When they try to apply these concepts to 

different problems this solutions fail miserably.

   

Newton Game dynamics is a comprehensive physics solution for real 

Time constrained dynamics simulation of physics environments that try to 

minimize these problems by taking away the tweaking aspect of physics 

simulation from the programmer. We try to arm the programmer with a 

standard tool that can be used for different sets of rigid bodies configuration.   

 

Integrating a general-purpose physics engine with a graphics application 

can be quite intimidating in the beginning. This is in part because many 

programmers think of the physics engine the same way they think of the

 graphic engine, and those are two very different beasts. 

 

To make this transition a little easier we are developing a series of tutorials 

starting with the most fundamental aspect of the engine progressively 

covering the more advance ones in order of increasing complexity. We 

recommend reading then in order, because more advance tutorial will use 

concept covered in basic versions.

 

These tutorials are writing using the OpenGl graphic library, and 

Microsoft visual studio 6. There are also converted to visual studio net. 

To run them you need to download the Newton SDK from here: 

http://www.newtondynamics.com/ you also need to have visual studio 6 

or visual studio net installed on your computer.

 

We will assume the programmer has a basic knowledge of c and cpp 

programming as well as a better than basics understanding of graphic 

programming. A good understanding of Newton laws of physics is helpful too.