Wednesday 21 March 2012

UDK and Other Engines




Ideally this article was supposed to be written before the group projects started, let alone finished but I'll go ahead and talk about Unreal Developer Kit anyway. Firstly what is an engine. An engine is a platform that allows user created assets to populate a world within certain parameters. Essentially anything you have ever played in run "in engine", an engine controls lighting and interfacing and is necessary to create functioning worlds. The engine is where you bring together all of the separate elements you’ve designed on paper and constructed in 3D Studio Max and give them life, animation, dynamic behaviour and interactivity.

UDK is currently in its third iteration of development as a platform to which games are developed and is about to be envisioned in yet another stage later in 2012. You can watch a representative here, although running in the latest version on unreal engine 3 it is supposed to be reprehensive of future capabilities, it was currently "running on a custom-built system using off-the-shelf PC parts, Epic said, including three Nvidia GTX 580 graphics cards, which cost about $500 each"

File:Unreal Engine Comparison.jpg 
Above shows just the development since 1998.


Unreal has done a brilliant job of getting big name licensee's to use their engine, and it has become a mainstay in desirable skills for game artists alike. The features are easy to use and to learn. It supports flash and DirectX and has wonderfully simple in-house scripting, allowing games to be produce on a standard version of UDK with multiple levels of functionality and controllability. Epic (the makers of UDK) have used this version of the engine for there in house games;Unreal Tournament 3, Gears of War, Bulletstorm, Mortal Kombat IX, and an improved version for Gears of War 2 and Gears of War 3. Due to aggressive licensing, this current iteration has gathered a great deal of support from several big licensees, including 2K Games, 3DRealms, Activision, Atari, Capcom, Disney, ElectronicArts, Koei, Konami,Microsoft for Kinect, Midway Games, Sega, Sony, Square Enix, THQ, Ubisoft, and more. This support show the obvious success of the engine in producing AAA rated games and attracting big name developers.

Games engines quite often are in house systems that are specifically designed for developers needs and as such other good quality engines are often kept to developers in order to produce the best quality games for themselves. One notable exception that is also very popular, is the Cry engine and is a direct competitor with UDK, however like UDK they do only provide a more basic engine for free use, preferring to keep key features In house. A list of games engines can be found here.

I will now talk about Unreal's key features from firsthand experience. There is Kismet, Materials, Textures, Lightmass, Matinee and particle effects to name just a few. Unreal has the ability to import .FBX and .ASE files which can be happily made in 3d creation packages such as 3dsMax. Once imported there are a variety of setting that can dictate how the object will behave, these can include static meshes and skeletal meshes. The difference between these is that a static mesh is what it says, it doesn't move or stretch. There are also skeletal meshes which can include rigged meshes such as characters. Unreal has so many features that i could quite happily talk about each and one, but it would take eons. Basically unreal allows you to choose unwrap coordinates, create fracture meshes, collisions and add gravity weights to objects.

The next stage is usual creating a material, texture samples are imported as .TGA files in standard denominations. Unreal can handle a variety of complex maps and shaders and has the ability to create and manage its own. Once basic texture have been imported, the user can plug various maps into slots that create a finished texture, Much how you would in 3ds Max.  You can also add various other maps to create different effects. Doing this can create very quickly, complex maps that produce different visual effects closer to the end result you wanted.
Light mass is a key feature of UDK, currently engines can only handle so much dynamic lighting, light mass allows hard and soft bounce shadows to be baked onto materials and objects, saving memory. It does this by using unwrap maps called light maps, it uses this texture space information to bake diffuse and light information directly onto an object. This allows more realistic final shadows at a much lower price.

Kismet and Matinee are tools that allow the development of dynamic situations and scripting. Kismet can control switches and events, from the switch of a light bulb to full on cinematic experience. Matinee is essentially used for animation. It allows the player to direct paths and animations in engine or allow for the importing of already made animations. These key feature allow levels to be fully immersive and allow the game to be essentially playable. They give meaning to anything you can use and define its parameters and uses. Unreal once understood is an extremely easy, useful and veritile platform to use and showcase work you produce. It is also a very effective engine to use for full games as it allows complete control in an easy to use package.

No comments:

Post a Comment