Sunday 15 March 2009

Game Engines

Game engines play a vital role in every game. They hold everything together and make everything work using complex code. All the assets made for a game don’t just work when you put them together. They need the game engine to understand each other.
Game engines perform complex tasks such as, physics, lighting, rendering and A.I. Havok is a famous game engine first utilised in the game Half-Life 2. It makes realistic physics, such as Rag-Doll physics. Objects react with each other considering factors such as weight, distribution, density, buoyancy and hardness. Valve incorporated it in their main game engine ‘source’, which has been used for games such as Half-Life 2, Counter-Strike and Team Fortress 2. Proving its success many other companies have used the Havok engine in their games, such as Star Wars: The Force Unleashed, which takes full advantage of Rag-Doll physics. It is much more cost effective than making and coding your own physics engine. If you want to see what the Havok engine can really do, play a game called Garry’s Mod. It is a game that allows you to mess around with the core principles of the ‘Havok’ and ‘Source’ engines.
Another famous, more recent game engine is ‘cryengine’. This engine was developed by a European team called Crytech mainly for other companies to use. It is the most advanced game engine yet made. Crytech made a game called Crysis, which utilised ‘Cryengine’. The game was more of a showcase, as most computers at the time where unable to run it. Crysis showed off new advanced technologies such as advanced dynamic lighting. Each asset in the game even individual leaves react to light caused by the sun, the moon, explosions, even muzzle flares. The cryengine set a new standard for games developers everywhere, just as the source engine did.
Subtractive and additive editing are terms referring to the construction of in game assets using a game engine. The Unreal Editor uses subtractive editing. This means that you carve out the scenery from a solid block. An easier way to put it would be; you subtract from what’s already there.
An example of additive editing would be the Hammer editor, a program that allows you to make games using the Source engine. I have prolific knowledge of how to use this engine as I have made plenty of maps/levels for the mod Counter-Strike: Source. Instead of subtracting from what is already there, you add objects to an empty void, much like 3d Studio Max. One of the main advantages of using subtractive over additive is the lack of leaks in the game work. If you were to create a map using an additive editor you would have to seam the edges of the game world, so that the engine knows the limitations of what it has to work with. One advantage of additive is that it is easier to create large complex outdoor scenery. Subtractive is more suited to confined, or indoor scenery.
I would say that the key issues facing Game engines in the future, are creating physics based sound (all the sound’s in games are pre recorded), creating more realistic, spontaneous A.I programs and creating a proper physics engine for water. Water had always sucked in games, for one reason or another. I reckon in the future we will see some amazing new technologies emerge that will blow our minds.

No comments: