Technologies- Game Engines

Technologies- Game Engines
Unit 8- Computer Games Development 
A2- Technologies used in computer gaming 
1 / 14
suivant
Slide 1: Diapositive

Cette leçon contient 14 diapositives, avec diapositives de texte et 2 vidéos.

Éléments de cette leçon

Technologies- Game Engines
Unit 8- Computer Games Development 
A2- Technologies used in computer gaming 

Slide 1 - Diapositive

Cet élément n'a pas d'instructions

Learning Outcome A2 

Slide 2 - Diapositive

Cet élément n'a pas d'instructions

Learning Outcome For Today
Discuss the use of game engines, their capabilities and how they aid computer game developers, including.

Rendering Engines
Physics Engines
Collision detection
Scripting
Animation

Slide 3 - Diapositive

Cet élément n'a pas d'instructions

Starter 
List as many different Game Engines as you can.

You have 1 minute until the timer disappears!

timer
1:00

Slide 4 - Diapositive

Cet élément n'a pas d'instructions

Game Engines 
Writing a computer game from scratch is a large undertaking and can involve writing thousands of lines of code.
 One way to make this easier is to use a games engine. A games engine is a piece of software, which is designed to make games. 

Most games engines are a combination of designer and programming environments in which the user is able to place all of the graphical assets for a level and then write the code that makes it interactive. 

There are a number of popular games engines in use today. Some of these are proprietary, meaning that they are only available to particular publishers or the large games studios that own them. 

However, some others are available to anyone, either for free or for a subscription fee. Popular games engines for multiple platforms are Unreal® Engine or Unity® which are able to build games for PC, consoles, the web or mobile devices. 
Other engines are designed for one particular platform, for example XCode® is designed for Apple®’s iOS.

Slide 5 - Diapositive

Cet élément n'a pas d'instructions

Rendering Engines 
Rendering is the process of converting game assets and environments into images that can be displayed on a screen.
One of the main jobs of a game’s engine is rendering. This is usually done through one or more virtual cameras that point at the actions within the game that the players need to be focused on. 
The speed at which the game is rendered is measured in frames per second (FPS). 

The faster the FPS, the smoother the game appears to the player. When a gaming system is not powerful enough to run the game that the player has loaded, the FPS is usually the first casualty and a game may appear to run slowly or lag.

Slide 6 - Diapositive

Cet élément n'a pas d'instructions

Slide 7 - Vidéo

Cet élément n'a pas d'instructions

Physics Engines 
Physics – in the real world, gravity, mass and other laws of physics apply naturally but in a world created by a computer programmer the laws of physics have to be made to apply through coding the game correctly.

As all computer game worlds are virtual, all of the events and rules that occur within them have to be programmed. Some of the hardest elements to create involve the laws of physics that need to be applied to the world.

Most games engines include built-in physics that takes the responsibility away from the programmers and allows for faster game production.

 Other engines that do not include built-in physics can use APIs to add physics. An example of this is the Box2D physics engine that was used to create Angry Birds.
Another physics engine is the Havoc® physics engine, which has been used in many popular 3D games such as Assassin’s Creed®.

Slide 8 - Diapositive

Cet élément n'a pas d'instructions

Collision Detection 
Collision detection – the process of checking to see which game objects have collided with each other.
Once the objects in a game world have physics, they have the ability to collide with one another. Working out the correct way for objects to collide which each other, and what occurs afterwards, is known as collision detection and is another important role of a games engine.

Objects in a game world may have solid colliders surrounding them so that game characters are not able walk through them. These colliders may be the sides of a building, the floor or even invisible walls to stop a player falling off the edge of the game world.
The player’s character will also be surrounded by a collider that detects where their boundary is and stops them from moving through walls.

A game character, whether it is 2D or 3D, has a very complex shape and it would be too taxing on a system to make every part of their body a collider. Instead, a capsule shaped collider is often placed around them which is why, if you are careful, you can sometimes see a character’s arm or leg moving through a solid wall in a game.

Slide 9 - Diapositive

Cet élément n'a pas d'instructions

Scripting 
A games engine will always provide the ability to add code in order to make things happen in the virtual world that has been created. 

Code is added using a scripting language such as JavaScript, or a full programming language like C++. 

Unreal Engine and Unity provide workflows where you can build and release an app without writing a single line of code.
Unreal Engine features a blueprint system that you can use to build your entire application logic by configuring and connecting a series of visual nodes.

Unity game engine doesn’t feature a similar blueprint system, but plugins such as Bolt Visual Scripting and Nottorus replicate the functionality.
Extensions such as Unity MARS let you simplify the development process for location-aware AR applications. 
For example you can build AR prototypes with less code as the tool provides a visual workflow with the ability to drag content directly into your camera feed or a virtual scene for editing.


Slide 10 - Diapositive

Scripting language – a programming language that
requires a separate application to run, such as a games
engine or web browser.
Graphical nodes – colourful blocks used to represent
the different functions of a programming language used
to add easy interaction.

Scripting- Blue Prints 
The Unreal® Engine contains a visual scripting language called Blueprints. This is an easy way to create interaction without having to write lines of code.
Graphical nodes are used to create movement, interaction and game mechanics like health or ammunition.
 Blueprints are similar to Scratch, a visual scripting language used to teach programming, but Blueprints provides a lot more functionality. 
The downside of using a visual scripting language is that the more complex the game’s mechanics, the larger the amount of nodes on screen, and it can soon look like a scramble of lines and nodes.
 If this happens, it would be better to switch to C++ and write the game in traditional code.

Slide 11 - Diapositive

Scripting language – a programming language that
requires a separate application to run, such as a games
engine or web browser.
Graphical nodes – colourful blocks used to represent
the different functions of a programming language used
to add easy interaction.

Slide 12 - Vidéo

Cet élément n'a pas d'instructions

Animation 
Animation involves making different elements in the game move.

 There are two types of animation: 
Vertex-based animation (which moves parts of a 3D mesh or 2D sprite) 
Skeletal animation (which uses a rigged character and sets of different animation cycles).

Vertex animation is the keyframed animation of the individual vertices of a mesh.
An example of vertex-based animation would be a door opening when the player approaches it or a floating coin spinning around.




Slide 13 - Diapositive

Cet élément n'a pas d'instructions

Animation 
A character created in 3D can be rigged with a set of virtual bones that are, in turn, attached to different parts of the mesh. When a virtual bone is moved or rotated, the mesh connected to it will also move. 

The player will never see the bones but the engine knows that they are there and understands how they are supposed to act. 

The 3D character modeler will rig the character in a design software application such as Autodesk 3D Studio Max, weight the bones so that the mesh is connected properly and then create different animation cycles such as a walk cycle, run cycle, jump cycle etc. 

These cycles are a single animation that ends at the same position as it starts so that it can be repeated for as long as the game requires the character to do that action. 

For example, when a player is pushing forward on the gamepad, the game will repeat the run cycle for as long as the player pushes forward. When a character is imported into the games engine, the animation cycles will be imported too.




Slide 14 - Diapositive

Cet élément n'a pas d'instructions