Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Game Physics Book Content Request

  1. Jul 11, 2007 #1

    I am writting a book about programming game physics engines, much along the lines of "Game Physics Engine Development" by Ian Millington, however the focus of the book is Networked physics engines.

    At the current time I have not been able to find a great deal of literature on networking physics systems, and given the current state of the games industry and it's need for community multi-player gaming i feel it's a good time to release a book dealing with the complexities of building a physics systems that's distributed accross the globe.

    So far I have written chapters covering the basics of vector, matrix and quaternion maths, a simple physics engine with collision detection (although without major explanation as this is available in many many other places) and will be adding 4-5 chapters on implementing and refining the networking of the system.

    I am also considering adding a section on multi-threaded networking, as current hardware (i.e. PS3 / XBOX360) has this capability, and looks set to expand over the next few hardware generations.

    Obviousloy for a code oriented book there will be a mass of samples to play with.

    So my question is....

    Does anyone have any suggestions for further chapters, or know of any reason that this book would be useless to the programming professional?

    Basically i am looking for as much input as possible before finally submitting the draft edition.

    I am also looking for a few (8-10) individuals who would be interested in "proof reading" the book and testing the code samples.

    The code will be C++ based, with a framework for 2-3 platforms. The physics and networking will be as platform independant as possible, however as with all real-time coding, there will always be special cases for different platforms....

    I would be happy to hear from anyone who has an interest in this subject both from a critical and a sugestive point of view.

    Thanks for reading my post, I look forward to hearing from you!
  2. jcsd
  3. Jul 12, 2007 #2


    User Avatar
    Gold Member

  4. Jul 12, 2007 #3
    Yes, in a way i agree, however I have found that games programmers often cannot see the wood for the trees with simulation systems.

    What i do not want is 500 replies of, can you make me an engine that does XXX for me?

    What i do want is suggestions regarding physics problems that are of general use (and therefore make good building blocks for a real-time simulator) and are complex enough that they are more interesting than the standard bock falls to floor, or hits another block....

    Although i mention the aimed hardware, i also mention it would be relatively platform independant. As a result i would like to be able to puch this a little further than purely games. real-world type interaction is the holy grail of interface design for many purposes. A simple, distributable simulator would have a larger appeal....

  5. Jul 12, 2007 #4
    have you used open dynamics or newton maintain they can help give you ideas.
  6. Jul 12, 2007 #5


    User Avatar

    Staff: Mentor

    In case it helps, here is a recent PF thread on game physics:


    I don't know if it covered the distributed computing angle at all, though. One aspect of the distributed nature of your subject would seem to be the time delays associated with the telecommunications network. Do you have any special techniques or tricks to deal with the delays, and with how they vary differently between different pairs of players in a networked game?
  7. Jul 16, 2007 #6

    Neurocomp2003: Yes i've seen ODE and Newton, but neither really fit the bill. They are trying a physically accurate approach, which although is the eventual aim of all physics engines, i am more interested in a physically believable engine.

    The engine i have developed for the book is 'Lazy' in that it really is only the most basic physics simulator you could find. not really production quality, but easy to read and understand. It could be extended to become a fulloy functional engine, but is mainly designed for teaching.

    Berkeman: Good thread, but you've hit the nail on the head. Time delays etc are the real pain. Syncing a large number of objects in a single simulation is hard enough, but running a simulation on 32+ PC's and guaranteeing they all give exactly the same output is entirely different purely because of network latency and unreliability.

    The methods i am using are fairly simple, and fit perfectly with the Lazy physics engine that it is based around. Basically i have a system of error-correcting the latency and packet loss. The idea is that the simulation will never be identical, and will always be converging. The key is to realise you can never make them all the same!!!

    I have developed the code for the bopok in C++ under VisualC 6 for Win32.

    It occurs to me that Linux and MacOS X would be nice to include, as the basecode i use is independant of the simulator. I am currently working on converting the code over, but if anyone had any experience of non-openGL rendering on Linux or MacOS X, please let me know, i want to make sure i am covering everything i can!!!!
  8. Jul 16, 2007 #7


    User Avatar
    Gold Member

    How do you render 3D in Linux without openGL?
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook