Part 1: Critical study of Game Engines
Introduction to game engines
Game engine was introduced in the mid 1990s, there were many first-person shooter games created at that time, a game called Doom, developed by id Software was extremely popular. It was well architected by developers and consisted of many core software components, such as, 3D graphics rendering, the tool to detect collision, many different art assets and the different game levels that made up the game as well as enhanced the gamers gaming experience. This is when developers started editing the game with different assets, such as characters, gaming levels, layouts and retooling the game with very minimal enhancements. This is how the ‘’mod community’’ started, from then developers have been editing the game using the free toolkits that was available to individuals .
What is game engine architecture and what are the core features?
A game engine is a software which gives an individual the authority to create and develop games for different platforms, such as computers, consoles, mobile phones etc. It consists of a number of core features, components, tools which can be used for the creation and development of games. The developers would also look for ways to economise the game development process and one common way of doing this, is by reusing/editing the same game engine to create different version (updated) of the same games, or even create different games. Another reason why developers may use the same game engine is to make it easier to develop the games for the different platforms. Game engines provide great enhancement tools that ease the development process, such as, audio, the graphics, physics and different AI functionalities. These type of game engines are also commonly known as ‘’middleware’’, this is because the purpose of ‘’middleware’’ is to provide an efficient and reusable software which offers all the core functionalities and features needed to develop games for different platforms, while reducing costs, complexities and other significant factors that are highly relevant in the gaming industry. Examples of middleware programs; Gamebryo, RenderWare and JMonkey Engine. There are also other game engines known a graphics engine, also known as a rendering engine, these only provide real- time 3D rendering functionalities, this is aimed at developers who highly only need the functionalities and the capabilities of real- time 3D rendering.
As mentioned above, game engines provide different functions, features and tools needed for the development of games, these are listed below:
Rendering Engine(2D/3D)- The purpose of the rendering engine is to create 3d graphics using the method chosen by the developers, such as, Ray Tracing. There are many more methods, techniques which can also be used. Rendering engines are built in a way that rather than being programmed to execute on the CPU or even the GPU they use multiple rendering application, also known as programming interfaces(API’s), this provides a abstraction of the GPU.
Physics- This is a software which provides the simulation of certain physical dynamics, such collision detection (including rigid body dynamics), soft body dynamics etc. It is typically used in middleware generating the simulations in real time.
Artificial Intelligence- Artificial Intelligence, also known as AI is the way a non- player character can act like an actual human being. AI used to create adaptive and intelligent behaviours in NPC’s to improve the game experience, making NPC’s look and feel more human- like. AI is generally found in almost every game. But some games will have basic AI and some will have advanced AI .
Animation- Game engines provide many different animation systems such as, inverse kinematics and Path based animation. There are any more animation systems, but it depends on the game engine. The purpose of the animation system is to render the animations in the game .
Sound- This is also known as an audio engine, this is the component which has algorithms all related to sound. This algorithm can calculate on the CPU, an ASIC. Many other features such as, abstraction APIs, SDL audio etc. are available on the game engine.
Networking- Network is the feature that allows players to communicate and play online. There are many companies which offer online services such as, DemonWare State Engine. This software offers developers with a high-performance C++ framework, which prevents developers from net coding multiplayer games. The engine also provides user profiling, matchmaking and gaming statistics .
Ray Tracing- This feature in game engines simulates shadows, reflections and refractions. The tool generates images using the pixels in an image plane. The feature is used to provide high quality realistic gameplay. Ray Tracing is commonly used for still images as images can be rendered slowly. But it’s not necessarily used in video games as rendering speed has to be lighting fast.
Evaluation of Unreal Engine and Unity
Unreal is a game engine which allows developers to use all the designated development to create a game working with real- time technology. Unreal Engine gives developers the freedom to create a game for all platforms such as, mobile phones, games consoles etc., whether it’s gaming applications or even a high-quality game. Unreal Engine gives developers the accessibility to develop games using the high-end tools, functions and other features without creating a single line of code, but Unreal Engine does give users the freedom to access full source code to enable and extend the game engine features along with advanced features .
Unreal Engine offers many unique features and functions which give developers the freedom to developers to create the finest of the games. Below I have listed all the functionalities and features that consist within Unreal Engine.
- Photoreal Rendering in Real Time– This specific feature allows developers to develop cinematic quality visuals with the use of advanced shadow, screen space reflections and many different lighting options, this gives the developers the flexibility to create jaw dropping visuals.
- Full C++ Source Code- Straight out of the box Unreal Engine provides developers the access to C++ source. Developers can customize the game engine to their ability and unleash advanced features .
- Blueprints: Create without coding- Unreal Engine provides Blueprint visual scripting to developers to create the best of the content with creating a single line of code. Blueprints allow developers to create interactions and behaviours, edit interfaces and a lot more. With the use of a built-in debugger developers are able to visualize gameplays as well as testing the content.
- Unreal Audio Engine- Unreal Engine consists of many audio features such as real- time synthesis, dynamic DSP effects and many more. Another feature which the audio engine has is it’s got the Steam Audio plugin, which has been integrated by Valve and Epic.
Unity Game Engine
Unity game engine is said to be one of the world leading engine for creating games. That is said upon the number of features, functions and all the different tools unity packs itself with. Unity is a game engine targeted at and specifically made for artists and developers who are interested in using powerful tools, such as Timeline, Cinemachine and also empower artists to Develop high quality cinematic content, whether it’s to do with a game or any other content.
Unity packs itself with a bundle of features and functions which enables artists and developers to think freely and develop the best of the content to their ability. Below is a list of all the features, functions and all the tools associated within Unity .
- Rich & Extensible editor- The editor consists of a number of tools which give developers the power and authority to edit at fast pace and use Play mode to preview the content in real-time .
- Art and Design tools- It consists of 2D and 3D design tools, storytelling, cinematics, lighting and many other creative tools which allow designers, developers, artists and many other members to create outstanding content.
- Graphics Rendering- A super high quality real- time rendering engine which produces top notch visual content with Global Illumination and Physical Rendering. Developers can take advantage of the different multiplatform Unity supports and the latest GPU and hardware improvements, such as Vulcan and DirectX12, the list just goes on.
- Engine Performance- Ability to optimize the engine performance with the use of the advanced profiling tools. Staggering C++ performance with Unity’s dedicated back end IL2CPP scripting, which is continuously being improved and updated.
- Virtual Reality tools- Unity is said to be the preferred and the most used game engine to create VR and AR experiences. It is used by many organisations such as, Ubisoft, NASA and even Google. Unity does offer exclusive technologies to developers .
Differences between Unreal and Unity game engines
Unreal engine allows users to download and install the application for free, just like most game engines. However Unreal give access to users to download the full game engine for free and access all the features and functionalities for free, whether it’s for developing content using blueprints or writing lines of codes for the programmers, its solely up to the developers.
Unity offers users a number of game engine products. They have three different game engine products. The first one is a free software for the beginners, student and hobbyists, its known as Unity Personal. This version of unity is just to get users started to use the Unity game engine. It offers developers the access to all the core features and functions, latest updates, beta releases and it allows the content to be published to all platforms. Then there’s a Unity Plus version which come at a price of $35 per month, this particular version offers a custom splash screen, New Plus Features: the ability to use the Pro Editor Skin UI, Analyse and Monetize: Flexibility to monetize games with ads. The Unity Pro version also offers users with 50 concurrent users, which can be used to implement multiplayer features. This version also gives users the freedom to incorporate ads and in- game purchases. The third, final, most expensive and the best version of the Unity game engine is known as the ‘Pro’ version, it highly aimed at professional and for studio use. It will cost users a staggering $125 per month. However, for the price developers to get complete freedom and flexibility to unlimited customization. Custom splash screen, frequent updates, the ability to host more players in Multiplayer, the ability to get deeper insights with the use of Analytics data in real time. However, these are just some of the features of the three different versions of the Unity game engine. There are many more features and functionalities offered to developers.
Current problems and solutions available on different game platforms
Unity and Unreal Engine are built for the same purpose, to allow developers to create the simplest of the games to the most advanced jaw dropping game. Although they both pack unique features and functionalities they do have their pros and cons which developers need to be aware of before they start to use the game engine. Below is a list of all the current problems and some of the solutions of the game engines :
- Unity game engine offers support to 27 different platforms. The game developed can easily be transferred to PC, smartphones etc. Unity game engine also provides developers with fast hands on prototyping and constant update releases, this can improve the development of the game and the release date of the game .
- Debugging and editing in Unity game engine is very simple as developers can debug the game assets during the gameplay, the runtime, this improves the debugging process and saves time .
- Unity has the ability to provide the source code for the content, but sometimes developers will have to pay for the source code.
- Unity can be expensive if users want access to all the developer features and functions to developing a high-quality game.
- Unity has this policy where if developers were to develop the game and they were to make a lot of money from it, they would have to purchase the pro version of the game engine or else the company can sue them.
- Unreal engine offers high quality graphics capabilities whereas Unity is more lenient and more to just one side.
- Unity is said to have very slow rendering speed whereas unreal engine has an efficient rendering speed.
- Developers are given the full version of the game engine for free to use and create immersive games. There is no need to hold a license or buy a license, the only time developers have to pay is when their earning a certain amount from the game.
- Unreal Engine allows developers to develop games without programming, with the use of blueprints games can be created to a good extent. This is really good for the non- programmers. But it does also offer developers to create games using their programming knowledge via C++ through an Open Source. Developers can modify the game using C++ .
- As mentioned before although unreal engine does provide the full version of the game engine for free, it will require developers to pay if the game was to be successful and this is a con as if the game does become a hit then developers will end up paying a significant amount for it.
Discussion of the future development and the next generation game engines
The current generation of game engines is really using advanced technology to give the best of the features and functions. Unreal Engine and Unity are really pushing the boundaries of the technology available today, they really want to give developers the freedom to do everything they can while working behind the scenes in running the game engine physics, rendering engine etc. .
Multiplayer games aren’t very different to singe player games. Multiplayer games are divided between client and server, the client side take care of all the input and rendering and the server placing the simulation to work. The current game engines have a single server, limiting the physics and the AI leading to the limitation of the number of players and the size of the world.
Entity Component System Pattern (ECS)
The current generation of game follow the ECS pattern to a certain extent. Almost every asset in the game world is defined by entities, these are the assets which make up the game world, such as trees, characters etc. As standard entities are made up of properties, also known as components which define their state. Game engines give the flexibility to share the components between many different entities, such as, characters and trees can share the same physical component that describes the position. Whereas a vehicle component will be used only by the in-game characters .
The next generation of game engines will be respectively built upon a set of workers rather than the current generation single server. This will allow the game engine to produce a far more sophisticated game world with high quality detailing. This gives developers the freedom to create the best of the games with the interaction of many players without any constraints. Developers will have access to many different advanced features and functionalities which will allow them to edit the game their ability and bring the game to real life. The architecture of a single server brings many limitations but the architecture of a set of worker break the barriers and make the impossible possible. This will allow designers and developers to envision their creations and bring them to life without any constraints. Future game engines will also allow the integration of custom workers to the game simulation. Developers will have the freedom to use the integrated simulation packages (physics engines etc.) to create their game to the best of the ability. Developers will also have the access to write their own simulation code to provide an immersive experience to the gamers. The future development of the next generation game engines is looking very bright and a dream for many developers. As I envision the future development of game engines and what I believe they will bring to the developers, I am hopeful that the future for game developers will be bright and will allow them to bring their creations to life without any limitations.
Part 2: Game Design
Working game title: Trapped Platform: PC
Target Audience: This game is targeted at first person 3d platform gamers, gamers who enjoy objective based games. it is also targeted at gamers who are just starting to get into the FPS platform games, this game will be fairly easy to play. It is also aimed at gamers above the age of 12, this is due to the content of the game. The game is not really specifically targeted at a country, the commercial target is all countries, worldwide.
The game will have many unique selling points which will make the game stand out as well as attract many gamers. The key features listed below will be the selling points of this game.
- Detailing of map- The game map will have high level of detailing, it will have unique assets which will really visualise the gameplay and bring it to life. The map will feel like it’s in a real- life location, due to it being on an island.
- Challenging level- The level will require the gamer to be active and stay focussed at all times. Gamers will be given a time limit which they must the complete the game within.
- Time limit- Players will be given a time limit of 5 minutes to complete the level, this will improve the intensity and the momentum of the game, players will be eager to finish the level as soon as possible.
- Exploring- Players will be given enough time during the level to explore the map as they complete the level.
- Maze- The level will have a number of mazes in the escape routes, all very unexpected, players will not see it coming.
The game is a first-person game. At the start of the game gamers will be greeted with a menu system, which will allow the gamers to start a new game, learn how to play the game, select options or even quit the game. The game will consist of just one level. The concept of the game is that the player is trapped in a building and must escape as soon as possible. The player will spawn in a room where he will be greeted with two escape routes, an underwater tunnel and an escape route through the building which will consist of three floors. The player must escape the building by finding a key which will be hidden, the key will allow the player to open the door of the building and then leave. The escape routes will be highly visible to the player as soon as it spawns as it will be right in front of the player, it is up to the player to make the wise decision as the routes will have obstacles and the player only has five minutes to leave the building. The objective of the game is to escape the building as soon as possible via the two different escape routes, avoid obstacles and find the key within the time limit. The game will be very fast paced and if the user was to fail the level, failed to complete the objective within the time limit given, the game will automatically stop and a menu system will pop up with two options: restart game, quit the game. The game can only be played in first person view, allowing the viewer to fully immerse the game.
The game will be set in the open, it will be outside and in a building. The game is set on an island, where there is a three- storey building. The player will start from the inside of the building, from a room. Then make its way outside to the land, to the island. The inside of the building will have three floors, with obstacles, furniture’s, non-moving objects and other interior details. The outside of the building will be surrounded by water, trees, sand and other materialistic detail which make the island look realistic as well as the game. The game will have good lighting with good amount of nature details. There will be a sky with a sun and other necessary lighting tools. The game will consist of non-moving objects and many additional details which will enhance the players gaming experience. The layout of the game will be fairly simple. I will try to keep the map of the game and the contents in it in a fairly good- sized square. There will be water surrounding most of the map, the building and the island will sit on the water.
Game Scenario Design and Layout Plan
Map Of Game
The image above shows the layout plan of the game, as you can see the map consists of the 3- storey building which will be in the middle, it will be surrounded by water, along with the island on the side of the building, which the player will try to escape to. All the floors will have stairs and a lift, which will allow the character to navigate through the building. The whole map is based on an island but the player will only be able to see the island after it escapes the building.
The image above shows the layout plan of the floor 1 of the building. The floor 1 will consist of the most important floor/ attribute. This is the floor the player will spawn at start of the game and will then be able to start the game, by taking the underwater tunnel or through the building escape route. The floor will also have the exit door, but the character can only exit (open the door) after finding the key. The floor will be relatively large as it will consist of many different rooms, with a lot of different assets. The floor will also consist of many passages, almost like a maze, this will make it challenging for the player to find the key and exit the building. The image above shows two tunnel entries. The first tunnel to enter will be available to the character as soon as he spawns. The second tunnel entry/ exit at the bottom, labelled ‘Entry/ exit to tunnel’ is the exit from the underwater tunnel to the first floor. It can also be used to enter the underwater tunnel. The reason why there are two ways to enter the tunnel is because the tunnel underneath the building is almost like a maze as well, it will also lead to the exit of the building/ tunnel to the island.
The image above shows the layout plan of the floor 2 of the building. As you can see floor 2 consists of many rooms with passages, almost like a maze. Floor 2 is very symmetrical to floors 1 and 3. The only differences on this floor is that the character will not spawn here, character cannot enter the underwater tunnel and the character cannot exit the building. This floor will allow the character to explore and look for the key.
The image above shows the layout plan of the floor 3 of the building. Once again, this floor is very similar to the rest of the floors. However, this floor has a very important asset, that is the key. The key will be hidden on this floor. The key will be hidden in such a discreet place on this floor the player will have to be wise as time is ticking and the key is needed in order to exit the building. Or exit can be made through the underwater tunnel, if the player has enough time.
The image above shows the layout plan of the tunnel underneath the building. The tunnel will consist of many obstacles which the player must avoid in order to exit the tunnel. The tunnel will have two exits, one of the exit will be to the island, the other exit will be back to the first floor, which the player must avoid as time is ticking. The character can use the two exits by climbing the ladder.
The game will only have one level, it will be a fairly challenging level which the player must complete within the time given. The level would need the gamer to escape the building as soon as possible using the two different escape routes, avoid obstacles and find the key to exit the building. The key will be hidden in such a place the gamer would have to be wise and make the right decisions as time would be ticking. The underwater tunnel route would require the player to avoid obstacles and make wise decisions to escape the building. The exit at the end of the tunnel would not require a key it would simply just be an open exit to the land. However, the escape route through the building would require the player to find the key which will open the door to exit to the land.
Key Gameplay Features
The game will have many key gameplay features which will keep the game running. The large map will allow players to explore the island and the contents within in. The real- life detailing of the map, assets, building etc. will bring the visuals to life. The smoothness and the motion of the gameplay will allow players to be active to play the game. The challenging level with a timer will really challenge the players, it will make it difficult for the players to complete the game, allowing the players to learn from their mistakes and make progression. Players will be given 5 minutes to complete the game, using assets in the game they can help manage time and complete the game as soon as possible.
The game rules are the instructions found in the ‘How To Play’ button, gamers will need to abide by the rules, instructions in order to play the game and complete it. Gamers will be requested to find out how to play the game first before starting to play the game. The game will have different set of rules which will act like features, these features will enable the game to run smoothly at all times. The first rule is gamers will have to make sure they are active in the game at all times, if the game detects inactive users, such as inactive player movement then the game will automatically pause, then bring up a designated menu which will display whether they want to continue, restart or quit the game.
The game will have one large level, this one level will require the player to escape the building as soon as possible by either escaping via the tunnel route or through the building. Escaping through the tunnel means facing obstacles which the player must avoid and escaping through the building means finding the key and leaving the building. The player will only have a short time to do this. The purpose of the game is to see how fast and smart you can be, the gamer must complete the level before the time runs out.
At the start of the game gamers will be greeted with the menu system shown on the left. In order to use the menu systems, you will have to use your mouse, the cursor to select one of the following (shown on the left). If you wish you can go ahead and start the game, learn how to play the game, view options or even quit the game.
After selecting the ‘Start Game’ button you will be prompted directly to the game.
How To Play’ Button
After clicking on the ‘How To Play’
How To Play The Game? The game only has one level. You are trapped in a building, which you must escape using the two different escape routes. The tunnel escape route does not require a key to exit the tunnel.
If you want to exit through the building you will need to find the key which is hidden.
button you will be directed to another page where the instructions on how to play the game will be displayed.
In Game Menu System
In- Game Instructions
After you get in to the game by clicking on ‘Start Game’. You will spawn in the building, in a room. Now, in front of you, will see two ways to escape the building, underwater tunnel and through the building route. In order to move your character, you will have to use the directional ‘WASD’ keys. The mouse can be used to look around. In order to pick up the key to open the door to exit the building you will have to walk through the key and the character will automatically pick it up. You must now choose which escape route you would like to take.
The main character in the game is the only character in the game. It is the character that will spawn in the building and then from there the player will be able to escape the building. The main character is the only character in the game and by using this character the game can be completed. There a few objects in the game which are classified as main. The key, this is the main object needed to escape the building. The lift, this object will be used to travel through the floors in the building, saving time, rather than using the stairs.
Game assets management
The game will have many different game assets, they will all be named uniquely and saved to the content browser. I will try to make unique folders and keep assets in the relevant folders, this will make locating, editing and managing assets much easier for me. I will be downloading assets from the marketplace and will directly save them to the project, as I do this I will rename the assets and place them in the relevant folder. I will also try and keep assets that haven’t been used at all in the game in one folder, this will help me manage between the most common assets used and the assets that haven’t been used at all.
There is only one level in my game. The challenge setting of the game level is easy- to medium. It doesn’t require the player to fight opponents, solve puzzles or anything too difficult. It simply requires the player to be fast and find they key as soon as possible and escape the building.
I have just spawned in a building, it looks as if I’m in a room. I am moving around and I can see there’s a door to leave the room and a hole in ground. The hole seems to be some kind of trap. I think I’m going to walk out the room first and see what happens. I can see a window, I’m going to quickly take a look outside to see where I am, it looks as if I’m on an island stranded. I have to get out this building as soon as possible, I have got 5 minutes to complete the mission. The mission of the game is displayed on the screen, it says to escape the building; tunnel route: avoid obstacles and exit the tunnel, through the building: find the key and exit the building. Now I can see why there was a hole on the ground, it was most probably the tunnel. I have to get out as soon as possible. Let’s move. I can see light in the corner. ‘Walks through the passage’. There rooms with furniture’s, treasures and other objects. The key might be in the treasure box. ‘Opens the treasure box, finds nothing’. I have to keep moving, time is ticking.
‘Walks through passage’. I can see a door, this might be the one to exit the building.
‘Approaches door, tries to open it’. The door will not open without the key, I must look for it. There’s an elevator, let me see where that takes me. ‘Stands on elevator, elevator moves up to the third floor, then rushes out’. This looks like some sort of maze, I’ll never find a key in this case. I think I can see something flashing in that room, let me go and see what it is, bingo! It’s the key. I believe I have collected the key. I need to get to the first floor as soon as possible and quickly open the door as I remember seeing the door before. ‘Heads towards the elevator, elevator moves down to the first floor’. There’s only a minute remaining, I need to get to the door now. ‘Pulls out key and puts it in through the lock of the door’. Yes, the door opened. ‘Walks out’. The scenery is beautiful, can’t believe the building is surrounded by water. I think I’ve completed the level, what do I do now! Oh, I see, I have to walk to the checkpoint on the island. ’Walks to the checkpoint’. Level completed. Game over.
References for the Part 1 (Research) of the coursework
Last accessed 15th Feb 2018.
 Epic Games, Inc. (2004-2018). Unreal Engine Features. Available:
Last accessed 23rd Feb 2018.
- Michaelenger. (June 20, 2013). Game Engines: How do they work?. Available:
Last accessed 27th Feb 2018.
- P.Hanna. Game Engine Architecture Overview. Available:
www.cs.qub.ac.uk/~P…/1.2.%20Game%20Engine%20Architecture%20Overview.pptx Last accessed 2nd Mar 2018.
 Unity Technologies. (2018). Unity 2017: The world-leading creation engine. Available:
https://unity3d.com/unity Last accessed 4th Mar 2018.
 (21 Apr 2016). The future of the game engine. Available:
https://improbable.io/company/news/2016/04/21/future–game–engine Last accessed 6th Mar 2018.
Last accessed 10th Mar 2018.