So, what does it all come down to? “It”, you ask? Yes! It: everything. It all comes down to the microscopic level, a level where the eye cannot see (and beyond still, if you are a nuclear physicist or perhaps a chemist). The reason why I am bringing this up is because it plays a part in what I will be investigating for my masters: simulating object deformation to try and improve realism in gaming. Now, since physics is quite a major area, one does not simply throw it in the game engine mixer along with graphics, artificial intelligence, and other areas of interest. There are many sub-areas of ‘realism’ to consider when it comes to the development of the physics component of a game engine.
In particular, I group realism in gaming into a dynamic and static component. Dynamic realism is classified as the major aspects and interests of a game, such as how your character performs actions or how it will react to any action performed on it. As an example, take the character that you control in a first or third person shooter. Does the character react realistically when it fires a weapon or when it is struck by a bullet? Or, in a driving game, does your car properly handle according to the laws of kinematics?
Static realism is classified as events that take place around your character, such as the simulation of wind blowing, objects being destroyed in an explosion, the spread of a wild-fire, etc.
All these areas of realism can be focused on separately by trying to make the type of event more real, as well as simulating the event in real-time.
As mentioned, I am looking at object deformation. Specifically, I will be using cellular automata to represent objects. The idea behind this is that by constructing an object out of a lot of tiny pieces, one will have more freedom in calculating a more realistic deformation pattern when a force is applied to an object. So, essentially, I am looking at constructing the macroscopic with lots of microscopic.
Now, the problem becomes: what attributes must be assigned to each automaton (single piece of the object) in order to make it behave as realistic as possible. And by realistic behaviour I am referring to the mechanical motion of an object (‘deforming’ from its original position) and its physical deformation such as cracking, shearing, and being broken into different pieces.
Another important attribute that is essential, is the weight of an object. Thus, the weight has to be divided according to the number of pieces that an object is made up of. The factor that determines weight is the materials that the object consists of. The materials will also play a big part in how cracks and shearing will develop over time, as a force is applied to an object.
Once all these (and some other) aspects are in-place, an investigation into how realistically objects will react to forces, will start, with the biggest aim at real-time simulation.
An exciting two years awaits! (Once I’ve properly brushed up on classical mechanics…)