Tuesday 27 September 2016

Unit 70: Computer Game Engines

Game Engines

Definition of Game Engines:
A Game Engine is a software which is used to develop a video game. Each game engine has different styles and are usually focused on a certain style or genre. These game engines will be used to make games for consoles, mobile devices and personal computers. The main functionality for a game engine usually includes a rendering engine which gives the designer the option of a 2D or 3D graphics. A physics engine or collision detection, sound, scripting, animation, artificial intelligence, networking, streaming, threading, memory management, localisation support and scene graph.

Game Engines: Unreal, Unity, Crytec, RAGE, Quake, Foss, Gamebryo etc.

Unreal Engine: 
Supported Platforms: Windows PC, PlayStation 4, Xbox One, Mac OS X, Mobile Devices, steam, VR, Oculus Etc.
The Unreal Engine was created by Epic Games, first showcased in 1998 (as a first-person shooter).
This game engine is primarily made for first person shooters it has been successful in many different other genres. 
This engine became popular due to its modular architecture and the inclusion of the scripting language called "UnrealScript" which made it easy to mod games, including total conversations like Tactical Ops. While Unreal Engine 3 has been quite open for modders to work with, the ability to publish and sell games made using UE3 was restricted to licensees of the engine, However in November 2009, Epic released a free version of UE3's SDK, called the "Unreal Development kit" that was available to the general public. 

All the lighting done in UE are calculated by (per-pixel) instead of per-vertex. When rendering in UE it also provides support for gamma-correct high-dynamic range renderer.
On March 19, 2014 at the Game Developers Conference, Epic Games released Unreal Engine 4, and all of its tools, features and complete C++ source code, to the development community through a new subscription model. Anyone can sign up for UE4 for windows, OS X, iOS and Android by paying $19 per month, plus 5% of gross revenue resulting from any commercial products built using UE4
The Engine builds on the tools available from previous versions of the engine. Which makes it so advanced. The first game to be released on console using Unreal Engine 3 was "Gears of War" and the first game released for PC was "RoboBlitz".
Unreal Engine has evolved much better than most other engines, due to it trying to grab a big audience. Each time Unreal Engine has upgraded its version, either the support or choices are increased. This has made the Unreal Engine reliable to most people using the engine that will download the next version when it's released. Since Unreal Engine 1 came out to Unreal Engine 4, the choices and customer support has improved dramatically. The Engine is continuing to stay new to developers and trys to offer things that other engines cannot such as; the chance to create a game using blueprints for a VR game which is very popular right now. With a range of items for the VR that can be bought in there store to help out the designing progress of their VR-game.

Unity:
Supported Platforms: Mobile Devices, Nintendo, PlayStation 4/ Vita, Windows, Wii, Xbox 360/One Etc.
Unity is a cross-platform game engine developed by Unity Technologies and used to develop video games for PC, consoles, mobile devices and websites. This was first announced only for OS X, at apples Worldwide Developers Conference in 2005, it has since been extended to target 21 platforms.

Nintendo provides free licenses of Unity 5 to all licensed Nintendo developers along with their software development kits SDKs for the Wii U and Nintendo 3DS Family.
Unity 4.0 was officially released on November 13, 2012 Major new features including new "Mecanim" animation system, Direct 11 support and real-time shadows on mobile platforms. With the new releases of Unity 4.0 the company announced a shift towards a release cycle which would see versions be released with fewer features but at a faster rate. More than 1.5 million people are using unity for graphics on their iOS,l android, console, PC and web based games. Unity wants to be a multi-platform game engine.

Unity 5.0 was released for free on March 3, 2015, adding the much anticipated real-time global illumination based on the Geomerics Enlighten technology. Other major changes include physically based shades, HDR sky-boxes, reflection probes, a new audio mixer with effects and enhanced animator workflows. Unity's cloud build system was introduced for ($25/month for non-pro users) as well as "Game Performance Reporting" and the beta "Game Analytics" (same costs) which logs players usage and performance on released games, something that many developers found hard to implement in Unity 4.x. Previously, a game developer needed to code support for player logging directly into their game engine.
Unity has evolved in a great way, however when it comes to 3D designing or realistic graphics the Unreal Engine takes the lead. Many people say that Unity is lacking options when 3D games are involved although Unity has increased its stores and blueprints the game engine itself needs more work if it wants to compete with Unreal Engine 4 and others. Unity and Unreal Engine are one of the most popular choices for those independent individual developers. This is why Unity and Unreal are always competing to be the better engine for the public. Unity focuses more on the choices and options available to the developer rather than the actual detail in the game. Many people that are beginners are more likely to go to unity as it gives you art assets and code which would be great for easy designing, however Unreal Engine is still good for beginners as they give you tutorials and gives you information on what you have highlighted, yet still involves you doing most of the work compared to Unity.     

CryEngine:
Supported Platforms: Windows, PlayStation 3/4, Xbox 360/One, Wii U, Mobile Devices Etc.

CryEngine is a engine that was made by a German game developer "Crytek". It has been used in all of their titles with initial version being used in Far cry and other games such as Star Citizen.
On March 11, 2009 the German/ Turkish game studio Crytek announced that it would introduce CryEngine 3 at 2009 Game Developers Conference, held from March 25 to march 27. As of June 1, 2009 it was announced that Crysis 2 would be developed by Crytek on their brand new engine. CryEngine 3 was released on October 14, 2009.
Crytek announced on September 9, 2011 that they would be using CryEngine 3 Network on October 4 2011.

On August 21, 2013, Crytek re-branded CryEngine (starting from version 3.6.0) to simply "CryEngine" With no version number. This was changed due to this newer engine being complete different to its previous designs. However the development kits available to licences still use version numbers.
On March 22, 2016, Crytek announced a new version of CryEngine, called CryEngine V, which features native DirectX 12, Vulkan and Virtual reality (VR) support. Additionally, a new licensing model was introduced with a "pay what you want" model for usage and access to the source code. CryEngine is completely focused on the public and offers a range of choices for them. Like most engines there are stores and assets, however what makes this standout is that it has a big focus on "Mods" which the public can try and create. Most engines wont allow or guide you to do this which makes CryEngine a popular choice for those players that want to change or edit something in the original game. For example placing zombies in a GTA game would be modding, and with this engine the mod would be in the store and if not, there would be mods for the items such as the buildings or zombies themselves for you to use as you please.

RAGE:
Supported Platforms: Xbox 360/One, PlayStation 3/4, Mac, Windows.
(Rockstar Advanced Game Engine)

Rage is a game engine developed by Rage technology group at Rockstar San Diego with contributions by other Rockstar studios. The engine has been used on several different platforms such as Microsoft windows, Nintendo Wii, PlayStation 3, PlayStation 4, Xbox 360 and the Xbox One. RAGE initially evolved from the Angel Game Engine Originally developed by Angel Studios for Midtown Madness and later the sixth generation console era versions of the Midnight Club series and other Rockstar San Diego games. 
(This Engine is not open for the public)

Rockstar has integrated a few third party middle-ware components into RAGE like the proprietary Euphoria character animation engine and the open-source Bullet physics engine. Prior to RAGE, Rockstar mostly used Criterion Games Render-Ware Engine to develop various game titles. Since the release of Max Payne 3, the engine supports DirectX 11 and stereoscopic 3D rendering on the PC platform. Due to its main succession in GTA the game engine focuses on 3rd person, world wide environment vehicle based game. Which is seen on every game they have released using this engine, (Red Dead Redemption) and (Max Payne).

Game Maker:
Platforms: Windows, Mac, Mobile Devices.
Developed by YoYo Games, a wealth of titles have been created through 2D development platform GameMaker, including Gunpoint, Hotline Miami, Spelunky and super crate box.
Last Month is was announced that GameMaker: Studio would be free for all PlayStation platforms. The tech has support for PSN features and licences peripherals including controllers, control inputs and cameras, for those developing on other platforms, a hot of licences are available.

GameMaker accommodates the creation of cross-platform and multi-genre video games using drag and drop action sequences or a sand-boxed scripting language known as GameMaker language, which can be used to develop more advanced games that could not be created just by using the drag and drop features, GameMaker was designed to allow novice computer programmers to be able to make computer games without much programming knowledge. The Engine system requirements are low and it doesn't require you needing a high spec computer to use it.
Originally titled "Animo", the program was first released in 1999. Then later on changed to "GameMaker".
Comparisons: (Unreal Engine Vs Unity)
When designing is involved each engine has its weakness and its strengths, for example:
Unity and Unreal engine are both great engines and are both popular in the indie market, they both are likely to get the job done when designing a game, however one engine maybe better. Unity is most likely seen on mobile devices as it shows its dominance there, Unity has many 2D options available for designers and for that reason it is more popular than UE3, However UE3 is expanding their options to the public by adding in new 2D options however Unity is still arguably better when 2D games are involved.
When designing a game is involved this can matter, Unity is the better choice for those people who want to experiment and expand their designing skills, Unreal Engine is more serious and is used on the much larger games. When prices are involved both can be free in different situations such as being in college. Unreal engine is a little bit more on the asking price for users and may only be an option for those that have a high budget. When designing a 3D game Unity is very powerful however Unreal Engine is much better in graphic terms, and so if you don't require the next gen level graphics then Unity maybe the better option rather than using a engine that can do much more.
When asset stores are involved they both have them and offer much add-on's. However Unity comes on top on this one due to its large store and variety of choices.
Unreal Engine offers a visual scripting blueprint which is in the engine, this allows the designer to use the blueprints instead of creating any code, which would be much easier to make a game than most engines due to code being so difficult.


(CryEngine / RAGE) These are totally different engines as they both have different primarily aims. CryEngine is a great engine for modding and games that are "sandbox" style. CryEngine encourages people to make their own mods of the game, so that people would use the engine more and that its different to most engines as it's designed to be used for modding purposes.
Originally the CryEngine software development kit was called "Sandbox Editor".
On the other hand RAGE is made for the company and they wont give it to anyone without copyright being an issue. This engine is designed for them and for that reason the engine has one primary objective, which is to focus on a realistic world (map) that is styled in first-person. This engine isn't designed for people to use as they please and is only used for actual designing in there company.
There engine allows modding but they don't promote it.

GameMaker is focused on helping independent developers design games, which most individual designers would struggle with. This engine is easy to learn and offers a range of easy shortcuts to create a great game, an example is drag and drop function which allows the designer to not need to create any code by themselves. The primary focus on this engine is to help designers create easy yet good developed games. This engine is usually used by developers that have just started designing and dont have much knowledge about code. GameMaker is great in this way as it's a starting point for most developers, and is most likely to be chosen out of the engines I have already spoken about. GameMaker is a engine that only focuses on 2D games, which makes this engine amazing if you want to design a 2D game, however this engine doesn't offer any help or guidance towards 3D games and that's why this engine is slightly forgotten.

In my opinion the Unreal Engine is my favourite engine as it welcomes any independent individual developer that needs some help designing a 3D game help and guidance. The Engine also offers a range of items in the store that you can get for free or purchase. This also has many blueprints already available to you which can make it easier on designing when you have a certain type of game in mind. The graphics in the engine can be amazing as it can make any type of style of game or art.

Where Some Of My Research Was Found:
https://en.wikipedia.org/wiki/GameMaker:_Studio
http://www.develop-online.net/tools-and-tech/the-top-16-game-engines-for-2014/0192302

Wednesday 21 September 2016

Game Design Idea

Level Design Idea.

Plot: A man/woman was abandoned by a taxi driver on the road, due to some issue with the road ahead. The character is given directions quickly before the driver drove away. The character (man/woman) then travels through a natural environment (Level 1). In this level you are introduced with combat, due to a wild animal wanting to kill you. Then finally you arrive at a village (Level 2) The character wants to find the reason on why most of the population of the village has left so suddenly. With t problems talking to the villagers due to them locking themselves in there homes. the character then sets of to the main square, which he finds a clown in centre of. The clown then fights you with some help of other clowns. When the clowns are killed one of the villagers shouts you over and explains. The person explains on the history of the village and the "Killer Clowns" and where they live. This then takes you to the "Killer Clown tent" (Level 3). The villager that most of population didn't leave and in fact have been taken. Your objective is to collect (save) them before they are killed. When all the villagers are safe the character/player has to fight the boss in which eventually killed all the clowns in the place.  

An alternative story-line would be that the player is hunting down the clowns and that he has finally found there home. (The levels will be the journey for the character)

Weapons: Mostly melee but the odd fire-arm
Guns are less likely to be found compared to the melee weapons and so you will have to explore the game more to find these weapons.

An alternative style in weapons may just result into one weapon. (If we struggle to design multiple)

Genre: First Person-Shooter which allows free-roam which you can explore the map in more depth.

Platform: This would be made primarily for PC, yet could work for other platforms such as the console or mobile device.

Objects: The items and buildings will be made in Maya and anything to do with the environment or nature will be likely be taken.

Sounds: The sounds will be classic clown sounds (Laughter/footstep) and classic environment sounds (Birds/wind)
The weapons will be ordinary and have the sound of an ordinary pistol or it will sound like a toy gun.

Function of the clowns: The primary function of the clowns is to chase then kill the player.
The secondary function is to sneak behind you and kill you.
This depends on the characters (style of play) the 3 levels will have different problems.
Level 1: Is the first level and so it will contain little to no clowns. This will likely be a level for the player to get to grips on the controls and the style of the games
Level 2: This level will contain clowns that have waited for a long time for humans to arrive and so they will try to sneak up on you and kill you. 
Level 3: This level is based in there tent which they live. This results the clowns into running at the player rather than sneaking up on you due to them wanting to keep there home safe.

An alternative function of the clowns could be that they run, no matter the situation

The Main Screen: 
When in the main screen for the game it will have two options:
"Play"
"Chapter"
The title screen will have 3 original backgrounds relating to the level:
Level 1: Will have a peaceful background of a mountain side and a lake.
Level 2: Will have a village in the background with some clowns seen in the shadows.
Level 3: Will have a clown and a tent in the background.
These images will be taken when you "PrtScn" the level. The animations will be created individually.
The main title screen will be identical to the last level design with some miner tweaks.
A idea would be a clowns eye following the selected option (play/chapters) or for PC it would follow the mouse cursor.

Level 1.
This will be designed by:
This will be based in a natural environment, that is peaceful and untouched. 
This level will be set in the morning.
Ideal objects created:
Rocks, water, path, trees, mountains, grass, cliffs etc.

Information:
This level won't have any combat compared to the other levels as the characters are investigating the clown tent and they wouldn't have weapons going in, they will have to stealth their way past the clowns whilst exploring, if a player gets caught they will be chased until either the clown catches up and kills you or you lose them by finding a hiding spot, before escaping the player would have to find the room filled with all the human bodies which are encased in cocoons, the player would find their first weapon here and it would end with the player running away from a horde of clowns and out of the circus tent whilst avoiding obstacles and enemy projectiles that would slow them down. 

Level 2.
This will be designed by:
This will be based in a village that has little to no people in it, due to its stories of the "Killer Clowns"
This level will be set at mid-day. and have much vegetation due to many people not leaving there homes.
Ideal objects created:
House, rocks, grass, trees and other items related to the village etc,

Information:
Level 2 is the second level and less places for the player to hide from the clowns. The player will have the ability to find melee weapons easiest in this stage and there will ranged weapons scattered about the town. Their will be clowns in the street which you can sneak around but there will enough melee weapons to fight the clowns but not enough for you to beat all of them. 
When you head to the police station to get weapons, a clown how is controlling Officer Mooney like a puppet will attack you as a boss. The boss can use: Officer Mooney's gun, his baton and his taser. To defeat the boss you have to attack the clown that is controlling Officer Mooney, you only need to attack the clown three times but he is using Officer Mooney as a shield so you can't attack him until he let's his guard down to taunt at you.


Level 3.
This will be designed by:
This will be based in the abandoned circus which no one dares to enter.
This will be set at night. 
Most of the level will be set inside the tent, however the level will contain a outside environment.
Ideal objects created: 
Clowns, tent, environment (objects), and simple puzzles. 

Information:
Level 3 is the last level and has a much different game style in the game. In this level when you enter the tent the player will drop their gun and lose it. The player will be vulnerable to the killer clowns until the player finds a weapon of some sort. Having no weapon makes it difficult to kill the clowns which results into the player having to make up a strategy when avoiding the clowns. This makes the player go through the maze hoping they find all the collectables (survivors) before being found by a clown.
When all survivors are found a exit will be shown and which you can go through. When the player exits they have to fight a boss which cannot be damaged by bullets, yet can be damaged by the surroundings. The boss brings in a wave of clowns which you have to kill, after each wave is destroyed a item will glow that you can shoot, this will damage the boss (clown). The boss has 3 lives that results into having 3 waves, each wave gets increasingly hard.
When you kill the boss all the other clowns will be killed and all the items relating to clowns such as the tent would disappear. Then a small credit screen will appear, which would then take you to the main screen.

This game may contain environments that are used to travel the player to other levels, this will also be used to allow the player to explore and find areas that maybe of interest.
This makes the game longer, much bigger and easy to travel to certain levels.

(Alternative game brief ideas will be on my groups individual blog accounts).
Padlet Link
https://padlet.com/korichambo/uwz47s6vggnv