Monday 1 February 2010

Game Engines

Game engines are the underlying code structure which make a game work. These can be split into different components, such as rendering, physics, scripting, animation and AI to name a few. It is not uncommon for these to be reused seeing as their primary use in being developed is to speed up the process of creating games. This can be of particular use when developing a sequel to a game, having said that, some sequels prompt new engines to be built, or example half-life 2 uses a completely different engine to half-life 1. The original half life was built with a modified version of the Quake engine, whereas Half-life 2 was built from the ground up using the 'Source' engine. Valve have now actually remade the original half-life with the 'Source'. This remake however was a straight port, even reusing the original textures and models from the first game. Many fans felt that it didn't utilise the Source engine to it's full potential and as such there is now a third party remake in the works. This remake is called Black Mesa and is built from scratch to take full advantage of Source.

When working with 3D engines and level editing, designers have two methods at their disposal depending on which the engine supports. It will either use an additive or subtractive method of level creation.

With additive, there is an empty void and the designer must first create a hollow cube to break the player off from the world (the world being everything the player can see in the game) Inside this cube, parts can then be added to the world.

In the subtractive method, there is only an infinite solid to begin with and the level designer must then subtract and empty space from it.

In general, the subtractive method is becoming slightly obsolete. However, if you are making a solely indoor environment then it might be more practical than additive which is better suited to outdoor environments.

As you can see game engines, and the decisions that go into creating them is no simple task. As such many games companies may choose to licence a pre-existing game engine from another company. Though this is costly, it is rather time consuming as much of the ground work is already done. Once licensed they are then free to start creating their game or perhaps modifying the engine to suit their specific needs. In terms of the company who owns the engine, it can be a helpful source of revenue and thus adds to the appeal of developing your own engine. If the resources and time are available then not only can you create an engine specifically tailored to the game you wish to make but it's also good business.

With next generation technology, game engines continue to get more and more complex and in actual fact are some of the most complicated software currently written. Game engines bring many different components together and are sometimes termed middleware simply because of the ability to mix and match many specific game engine components like renderers or physics engines such as Havok. It's in the continued interest of developers to use engines in this way as everyone can benefit from developments in the gaming world this way.

In future, i imagine they can only get more and more complex, perhaps even with new components as next generation hardware/software attempts to break new ground!

No comments:

Post a Comment