These pages aim to give a starting point for people writing a game or simulator that involves some sort of mechanical interaction such as car racing games or snooker games. If you need to get deeper into the physics theory then I will try to give links to the physics and maths pages on this site, so you can follow up as much or as little theory as you want.
I still have a lot of work to do to make these pages as comprehensive as possible and I would appreciate ideas for improvement. I really appreciate Forum Discussions with danske that inspired and contributed to these pages.
On this page I have tried to list some of the options which we have to choose between when designing a game or simulator. The methods all have their advantages but no one method suits all situations, some are less accurate, some are computationally expensive. None of these options can cope with all types of physics, An ideal system might be able to mix these approaches and dynamically switch between them depending on the accuracy required and computing resources available, but in practice we need to choose the most applicable method depending on the type of game or physics simulation required.
- options - types of simulation and choices.
- data structure - how do we model the data.
- scenegraph - an example of a simulation data structure.
- examples - some examples about when to choose simulation types.
What I would really like is a
general purpose program which would allow me to simulate any mechanical system or implement any type of game. It would be great if it would allow me to place any virtual component (gears,
pulleys, springs, dampers, joints, motors, etc.) into the program
and then start it running without any customised
At the moment its so hard to define the behavior of these objects, because we have to keep translating between global and different local frames, then we have to keep converting between vectors, tensors, spinors and (in the case of the Lagranian method) individual scalars.
Other pages on this site which are relavent:
If you have not decided which language to use here are some ideas: