Wednesday 22 May 2013

Task 18: Game Engines

Game engines are software that provides development tools for the creation of video games. Game engines are widely used, by both professional studios and indie developers, and the variety of engines available is huge. They provide a framework for the developers to build on, with common features including rendering, physics, collision, sound, scripting, artificial intelligence and networking.

Game engines allow someone with little or no knowledge of coding languages to start building a game level. For professional companies, they provide a structure for the to build on, giving them tools to efficiently port games to consoles, or an platform in which to test models and environments while their own custom-built engine in still in development. (link)

The most commonly used type of engine is the FPS (first person shooter) engine. These engines produce a fully 3D environment the player typically sees from the point of view of their character, although plenty of third person games use FPS engines, too.

There are also engines which cater to much more niche types of games – for instance RPG engines that use tiled or isometric graphics, and 2D engines for point-and click games.

There are a lot of factors to consider when choosing between engines; while most of them share an array of basic features, they may have individual pros or cons such as the quality of the rendering technology, the ability to add middleware, or the adaptability to different consoles.



Unreal Engine
The Unreal engine is one of the most popular game engines, and quite likely the most widely used. Unreal Engine 1 first appeared in 1998, and the Engine is currently on its third iteration, with several games currently in production using the upcoming Unreal Engine 4.

Side-by-side comparison of a character from different versions of Unreal Engine, from http://en.wikipedia.org/wiki/File:Unreal_Engine_Comparison.jpg

Unreal Engine is the only game engine I have actually used, apart from playing around with TES: Oblivion’s construction kit, which is a heavily modified version of the Gamebryo engine.

The editor is free to download, and the engine itself is free to use for educational and non-commercial projects. Using it for a commercial project requires a licencing fee of $99, plus 25% royalties after the first $50,000 earned. The low entry fee makes Unreal Engine a viable choice for indie developers, although the high royalties may put off larger projects with much higher predicted earnings. (link)



One this that might put developers off Unreal are its graphical limitations. While they’re not bad, necessarily, the style of the rendering is fairly recognisable. There is also no real-time lighting, meaning lighting maps have to be used, which not only can slow down production time but can also mean lighting might not ever look as good as you want it to. Thankfully, unreal engine 4 is introducing real-time lighting.  That said, UE3 can still look pretty good, and there’s a whole host of games out there that prove it; Bioshock, Mass Effect 3 and Deus Ex: Human Revolution, to name but a few.

Unreal engine is also very customisable. There is plenty of  middleware available and the engine itself is very customisable. Most commercial games will be using a version that is heavily modified.


Cryengine

Cryengine is another popular engine. Developed by Crytek, the engine was first used by the first person shooter Far Cry and its various remakes and sequels. Cryengine 2 was then used for the game Crysis, before breaking the theme-naming streak by licencing out the engine for the development of several unrelated MMORPGs.

The big advantage that’s usually put forward in favour of Cryengine is it’s graphics. Cryengine is pretty, very pretty, especially when it comes to natural lighting. Since for a large proportion of gamers, appearance of the game is a top priority, there are predictably multiple videos and image sets demonstrating Cryengine’s graphical superiority.



Personally, I think it’s just a matter of taste. Cryengine has pretty bloom lighting and fog effects, and will help a lot with something that’s striving for photorealism, whereas UDK would work best for something that’s going to be a bit more stylised, especially since you can customise the shaders.

There’s more to an engine than graphics, however. Cryengine is a lot less flexible than other engines. It does have a lot more inbuilt capabilities when compared to UE, but much fewer optional add-ons. It also requires plugins to import assets, and online connectivity to use both the engine and editor. Cryengine also lacks vertex painting, which I the main reason my group chose not to use it for the queens building project. However, if you want to focus on your assets, it is a nice way to make the most of your 3d models.


Other notable enigines
  
The Unity engine is sometimes recommended as an alternative to Unreal. It’s not as good-looking as Unreal, but it’s more user friendly, especially when working in a team. Assests can be imported in blender or photoshop file format, so it saves time that would be spent converting them. Also - like UDK - it has numerous plugins that can streamline it further, and as a result can be used to produce content much more efficiently that in other engines. However, it does lack the primitives and BSP brushes that UDK has, so placeholder meshed will have to be used to start off with.

The Source Engine, created by Valve, is the engine used for the Half-life and Portal games. Like UE and Cryengine, it is frequently used by individuals bothe to mod pre-existing games and for non-commercial projects.

The Anvil Engine (formerly Scimitar engine), an in-house engine used by Ubisoft for the Prince of Persia and Assassins creed games, currently in its third iteration as of assassin’s creed III. It is specifically geared towards character animations and interaction with the environment, as would be expected from titles with such a heavy emphasis on platforming. The engine is not available to licence for companies, not is it available for private use.

No comments:

Post a Comment