Game Physics Book Content Request

Click For Summary

Discussion Overview

The discussion revolves around the development of a book focused on programming networked physics engines for games. The author seeks input on chapter suggestions and feedback on the book's relevance to professionals in the field. The scope includes theoretical and practical aspects of physics simulation, networking challenges, and potential applications beyond gaming.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Conceptual clarification

Main Points Raised

  • The author has written chapters on vector, matrix, and quaternion mathematics, and a basic physics engine with collision detection, seeking suggestions for additional chapters.
  • Some participants express concern about the potential for unproductive replies asking for engine development help rather than constructive feedback on physics problems.
  • There is a suggestion to explore existing physics engines like Open Dynamics Engine (ODE) and Newton for inspiration, although the author prefers a more simplified approach to physics simulation.
  • One participant raises the issue of network latency and synchronization challenges in distributed simulations, asking about techniques to manage these delays.
  • The author describes their "Lazy" physics engine, emphasizing its educational focus and the challenges of achieving consistent simulations across multiple platforms.
  • There is a discussion about the potential inclusion of Linux and MacOS X support in the book, with a request for advice on non-OpenGL rendering on these platforms.

Areas of Agreement / Disagreement

Participants generally agree on the challenges of networked physics engines and the need for practical suggestions. However, there are differing views on the focus of the book, with some advocating for a more physically accurate approach while the author aims for a more accessible, educational tool.

Contextual Notes

The discussion highlights limitations in existing literature on networked physics systems and the complexities introduced by network latency and synchronization. The author’s approach is described as not being production quality, indicating a focus on teaching rather than commercial application.

Who May Find This Useful

Game developers, programmers interested in physics simulations, and those exploring networking in gaming may find the discussion and proposed content relevant.

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 independent 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 independent. 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 independent 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?
 

Similar threads

  • · Replies 58 ·
2
Replies
58
Views
5K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 0 ·
Replies
0
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K
Replies
1
Views
954
Replies
8
Views
2K
  • · Replies 20 ·
Replies
20
Views
3K