Thursday, 13 March 2014

Game Engines Report

Comprehensively explain the purpose of the game engines with elucidated examples and consistently using subject terminology correctly.

Unity game engine & Unreal Development kit

I am comparing two game engines, Unity and UDK. These two engines are used for a lot of high end games are two of the most powerful one on the market.
Unity is able to work with IOS, Android, Windows phone 8, blackberry 10, Windows, Windows store Apps, Mac, Linux, Web player, PS3, Xbox 360 and Wii U. This compares to UDK, where you are able to use UDK on all of the above and their newest version is now capable of working with Xbox one and Playstation 4.
Although UDK is able to work with more and higher quality platforms, Unity allows you to work with either 2D games or 3D games. It also allows you to create content where you are able to run 2D and 3D in the same game. UDK is predominately focused on 3D, but it is much more capable of running better quality content because of its newest version, Unreal 4.
Unity is a much more popular program for mobile games as you are able to create 2D games, which is much better suited to the mobile industry. Although, mobiles are very powerful and are able to run high quality 3D games, Unity is capable of this, so therefore it has become useful within the mobile industry.
Unity has a lot of built in features to the program to ensure, that it is easy and efficient. It features its own rendering system which uses DirectX 11, comes with 100 pre-set shaders with advanced features bump and specular. Unity’s lighting has allows you to adjust your own setting for your preference and real time lighting and shading. Whist Unity is preparing the lighting setting, it will run in the background, allowing you to continue working on other aspects. The unity features such as the special effects has pre-set features like water or you can create your own.
It also features particle effects and a complexity manager to ensure you are creating what you want to create. Unity also features its own audio system powered by FMOD. This allows you to adjust the high/low pass which is the tone of the audio, distortion, echo and reverb. You can edit the audio to be work with your environment.
Unity has its own version of speed tree which is called the tree authoring tool where they are pre-set models and also enabling you to edit the tree to your own requirements. Unity’s physics system is called Physix by Nvidia. The physics system that is used for the 3D, is used with the 2D as well, although it’s by Box 2D. With the 3D physics system, you are able to create soft body movements with in the scene. You are able to apply joints to models like hinges, springs, ball-sockets and character limbs to make it a much smoother creation. Unity has a dedicated wheel collider that allows you to simulate the traction of a car.
Unity has its ‘simple and powerful’ animation technology which allows you to animate human characters as well as non-human characters as life like as possible.  It allows you to place the points of the joints on the character in a 2D format, making it simple to understand and use for people who are new to the program. It also allows you to create a few motion clips so you can animate the trees how to want them to animate.
Unity is a very capable game engine and does not tend to crash or have issues as much as UDK. The engine is really big in the mobile game industry, but for larger high budget 3D games, UDK is the best option because Unity is yet to have a big release on any console.
The unreal development kit is what is used for the higher budget games, simply because it produces a lot higher graphics than Unity and you are able to release onto any console with UDK. Although this might be the better option for high end games, it has the tendency to crash, it requires a powerful PC to run it. It is also more complicated than Unity, but it offers quality tutorials to assist you.
UDK allows you to set the program to the specifications of the program, meaning you can run it on lower end PC’s, but within reason. It also has C++ code which allows you to set up a game to how you want it. It now supports the advanced, DirectX 11 rendering features such as HDR reflections, dynamic lighting and material shading. It has many other features as well which will help make your creation as high quality as possible with the given tools.
UDK features a lot of tools which helps you create a complete game. It has its own animation features which enables you affect the way your character moves within the environment. You are able to edit the skeleton of your character and sockets in its animation blueprints. You are able to edit the target animation points, like the joints, where you want on the character and also the collisions points for your character.
The artificial intelligence within the engine is fully editable. You are able to give the AI a lot more spatial awareness of their surroundings, which allows you to make the AI complete smarter movements with its AI system. You can edit the path which updates in real time, meaning you will not have to enable it later on yourself.  
Like Unity, UDK allows you to build audio for your game and edit the audio so it works well with the main menu for your game and the environment of your game.
Cascade is UDK’s particle effects editor, which allows you create fire, smoke, snow, dust, dirt, rumble and other particle effects. You are able to edit the settings of all the particle effects, you can change the colour, change the size and bounciness. You are able to go into more advanced setting to refine what you want for your game.
Within the engine, you are able to add cut scenes and edit them to the standards you wish, dynamic gameplay sequences and movies are all possible with UDK. The editor is said to look like many other video editing software’s, which will help those who are new to the program.
You are also able to create large, open environments with the landscape system. This enables you to create landscapes easily. You are able to import file over from 3D programs and their LOD system will make the environment you have created, look professional. Within their environment editing area, they have speed tree where you are able to place trees in your environment.
UDK is much more capable than Unity if you aim to create high quality 3D games. Also, its community is very helpful on the forums, giving in depth details and tutorials. The engine has been around for fifteen years and has got and established name within the gaming industry, meaning, if you have a big team, the budget and you are able to make it look good, your game will be recognised because of this engine.
UDK has Integrated Partner Program and provides integrations with more than a dozen industry leading technologies; NVIDIA PhysX, Autodesk Gameware, Enlighten, Umbra, Oculus VR and other companies.

Personally, I would want to use UDK as I feel that it is heavily 3D and I intend to work within the 3D area and that is what I wish to specialise in. These two engines are free to download, so it gives you the chance to experiment and learn the engines before or if you buy them. They are very expensive, but if you which to make a high end game, you are going to need all the available features.