Engine of play

A driving of play is an computer application (known as of type Middleware) bringing the functionalities necessary to the creation of a play.

General sight

In the modern video games, there exist five principal units managed by distinct engines, each one concerning a specific function of the development: graphics, the sound, the network (for the plays multijoueurs), physics and the Artificial intelligence. But the definition of an engine of play remains despite everything relatively fuzzy because of the juxtaposition of the concepts. An engine of play is thus the regrouping of the whole of the specialized engines necessary to the realization of a play.

For example the company Valve Software markets the Source engine which is the trade name of its engine of play. The engine Source is a solution of development “turn-key” gathering the various engines (graphics, its…) necessary to the development of a play. The management of the physics of this engine of play is ensured by the engine Havok, specialized and developed by a third company and which itself is used in other engines of play.

The choice of a studio of creation of play is thus limited generally to buy or develop whole or part of the engines necessary to the development of its play. It is on the other hand important to announce that for several years the role of the engines of play has not ceased growing. The investment which the development of the engines of play represents indeed does not cease growing and makes delicate even impossible the damping of those on a single production.

Among the most used or noticed engines of play these last years, one will quote (nonexhaustive list): the Renderware, different the Unreal engine, Quake engine, the Source engine, the CryEngine, the Torque engine, Reality engine, Havok, Novodex, Antiryad Gx, etc

Application middleware

Certain companies are now specialized in the development of software known as of middleware , i.e. providing functions which remain personnalisables. The purpose of such developments are “to reinvent the wheel more” by developing a robust software continuation which includes several elements necessary to the creation of a play. A many software of this type in the video game provides facilities of development for graphics, the sounds, physics, and the implementation of artificial intelligences. Gamebryo and RenderWare is two largely widespread representatives.

Some middlewares provide only one facility exclusively, such as for example the synthesis of trees and of plants, it is the case of SpeedTree, this specialization enables him to generate images more convincing than engines plus general practitioners.

Some middlewares provide all the Source code, others publish the specification of their Application program interface to allow the connection with other software. Some still, propose one or the other of arrangements according to the signed contract and the fees.

Functionalities

Each engine of play is single. However, certain functionalities are found.

Inputs/outputs

This part deals with the reading of the external peripherals:
  • Joystick (reading of the state of the buttons and stick)
  • Mouse (reading of the state of the buttons, the relative movement, the position)
  • Keyboard

It is also in load of the reading of the data of the play, and the writing of the safeguards.

  • Read/write since an hard drive.
  • Reading since a DVD, CD or minis disk.
  • Read/write since a memory card.

It is it which will be given the responsability to compress/decompress the data of the play (in particular to accelerate the loadings). It will be also in load of their possible encoding/decoding.

Mathematics

One will find there all kinds of mathematical functions necessary to the development of a play. For a play 3D, one will find there more particularly:
  • the matrices . In general matrices 3x4 or 4x4 for the storage of the orientation of the objects (on the three axes), of their scale (on the three axes) and sometimes also of their position. The real significance of the lines and columns is directly related to the engine and does not have always basic real mathematics. Some will store a uniform scale on the last column or line, others the translation, others still will use more complex matrices of transformations to avoid the problems of scale in the case of the hierarchical matrices.

  • the Quaternion S . They are used for storage of the orientations. They are much more compact than the matrices and support the interpolations much best. One typically finds them in animations, to store the orientation of each key of interpolation.
  • the Vector S . To two, three or four dimensions. One speaks about components X , there , Z and W . The component W is in general not used, and exists only at ends of optimization on the processors 128 bits.

One can quote like example of calculation very often carried out in an engine of play: multiplication of matrices, the inversion of matrices, the product scalar or vectorial.

Physics

The module of physics will calculate the movement of the objects, the way in which they interact the ones with the others, the way in which they slip on the ground or the walls, the way in which they rebound etc It is him also which will calculate the deformation of the soft objects, of the hair, hairs, clothing and other curtains. One can distinguish three main categories of simulation:
  • the physical of the point . It is simplest. An object is formalized by only one point moving with a speed, an acceleration, a friction, gravity etc In general, this kind of physics is satisfied to move the objects without acting on their orientation.

  • the physics solid state . Each entity is formalized by one or more mathematical forms (box, sphere, gellule, cylinder) or even by a convex mesh. The solid state physics is much more realistic (and thus complexes) that physique of the point since it manages also the evolution of the orientation. Certain editors specialized in the manufacture of modules of physicss solid state which can be directly integrated in the existing engines. One will quote for example Havok, Novodex, and in the field of free the ODE.
  • the particle physics . It is connected with the physique of the point. A volume consists of a whole of particles (one also speaks about atoms ) dependant enter them by constraints (generally of the springs). This type of physics authorizes the deformation and the rupture of volumes. It thus is particularly well adapted to the simulation of fabrics.

Detection of the collisions

The management of the collisions is a software layer which makes it possible to detect when two objects meet and thus to be able to define a resulting action. An object is then a geometrical representation of elements of the play (characters, obstacle, projectiles, asteroids…).

A module of collision is typically made up of a whole of mathematical functions for the calculation of the intersections per geometrical pairs of primitives: sphere against sphere, sphere against box, box against triangle… Each one of these functions will calculate according to the capacities of the module the point of intersection, the normal at the contact point, as well as the distance from penetration of the two objects.

One distinguishes two main categories of collisions:

  • detection on model of static objects , simplest, considers two objects are in collision so at the time of the treatment of detection the two objects are touched. As the treatment is sampled regularly in time, of the objects moving fast could very well come into contact with other objects between two times of sampling.

  • detection on model of dynamic objects also sticks to the movement of the objects. One treats the transition from one moment sampled with the following. Calculations are more expensive, but have the advantage of preventing a volume moving from crossing some another without that being detected. The moment of the collision of two objects can be calculated more precisely than with the technique known as static.

According to the type of play one or the other of the approaches is used. The engines of plays in 3D current typically use a mixture of these two methods.

To optimize calculations of collision on the complex forms, the engines of play can more generally use the concept of Volume including and of hierarchy of including volumes. Fast but approximate calculation then makes it possible to eliminate from the states of noncollision, in the contrary case an exact calculation is carried out on the object. The hierarchy of including volumes adds only additional stages by subdividing an object under - units included in a simple form.

To reduce the number of calculation by pair of objects the engines generally resort to structure space under - units of close objects.

The management of the collisions often makes integral part of the module of physics, because the intersection of two volumes will have a direct incidence on their future movements.

  • Static: If two volumes intersect, one of them “will be moved” to eliminate the collision. One speaks then about retiming . It is thus a question here of treating a situation solidified with one moment T , typically once all the objects carried out their displacements. Consequently, if an object moves very quickly, nothing ensures that an intersection will take place at the end of its movement. It will be able to thus cross other volumes, which is the principal disadvantage of this method.

-->

Graphics

See Driving 3D.

The sound

See Driving Sound.

Recourse to the language of script

The recourse to the Langage of script is a method which proved reliable today, allowing, from the developer point of view, to facilitate the parameter setting of the engine of play according to the Gameplay which it was decided to carry out. The recourse to script in a development project results in to separate the trades, the programmer of the engine can deal especially with this task, the originator of levels ( level designer ) can improve the gameplay without for that being a senior programmer.

Historically, the need for a system of script was felt for the plays of adventure requiring many interactions, it rose from it Script Creation Utility for Maniac Mansion (SCUMM), created initially and as its name indicates it for the play Maniac Mansion (1987) and re-used for each new handset with a minimum of modifications, it was used again for the play The Curse off Monkey Island (1997) that is to say 10 years later. The others standard of play also became in their turn complexes, their engines of play then often incorporated a system of script.

For the development of Jedi Knight: Dark Forces II (1997), the engine of play was adapted to support a language of script. Robert Huebner, who took part in this evolution, explains that there existed before that a binary language INF which it was hard to assimilate, a counted booklet was intended for this use. The language of implemented script: COG is compiled with stolen during the launching of a part then carried out on a virtual Machine (a automat with pile) to ensure the robustness of the play. There was no reported negative consequence that it is on the development or the play itself, but rather an increase in the creativity of the originators.

Artificial intelligence

See Artificial intelligence.

The network

See Driving Network.

Menus

There is often in the plays in three dimensions an engine making it possible to manage the menus. In fact, the goal of an engine of menu is to facilitate the creation of a menu in two dimensions and to superimpose it on the sight in three dimensions so that information which it transmits appears some that is to say the environment in the play.

TRC

Random links:Piast dynasty | Ländler | Puysségur | Atoll K | October 21st in the railroads | 131e regiment of territorial infantry | Parc_de_Warren,_Indiana