Game Physics Book Content Request

AI Thread Summary
The discussion centers on the development of a book focused on networked physics engines for games, addressing the lack of literature in this niche area. The author has written foundational chapters on vector, matrix, and quaternion mathematics, along with a basic physics engine featuring collision detection. Future chapters will delve into networking complexities and possibly multi-threaded networking, given the capabilities of current gaming hardware. The author seeks input on additional chapter topics and feedback on the book's relevance to programming professionals. There is a particular interest in addressing physics problems that are complex yet applicable beyond simple scenarios, aiming for a broader appeal in real-world simulations. The challenges of network latency and synchronization in distributed simulations are acknowledged, with proposed methods for error correction and convergence in simulations. The author is also looking to expand the book's code samples to include compatibility with Linux and MacOS X, seeking advice on non-OpenGL rendering techniques for these platforms.
barney.parker
Messages
3
Reaction score
0
Hi,

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 across 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!
 
Technology news on Phys.org
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...

Thanks
 
have you used open dynamics or Newton maintain they can help give you ideas.
 
In case it helps, here is a recent PF thread on game physics:

https://www.physicsforums.com/showthread.php?t=174850

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?
 
Hi,

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 realize 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!
 
How do you render 3D in Linux without openGL?
 
Back
Top