Friday 8 March 2013

Game engine functions

Graphic rendering:-
Graphic rendering is the process that determines what we see in our video games. Graphic rendering
is the process in which shadows are processed and created effectively within the environment, as well as successfully wrapping textures around an object within' the game. Graphic rendering can be apart of a completely different program than the game engine itself, but usually the game engine will include it's own standalone type of rendering.

 Anti-aliasing:  Anti-aliasing is a type of graphic rendering where the program installed
smooths out all jagged edges found in the game. Unfortunately this process is know to
lower the over-all frame rate of a video game, on things such as a PC there is almost certainly
an option to turn it either on or off to adjust to the users machine, but when on consoles such as the xbox 360 or the playstation 3 the xbox's hardware will certainly have a better frame rate than the ps3 as xbox fails to have anti aliasing, unlike the playstation.
Shadowing: Shadowing in a graphics engine is the process of when a shadow is cast into the environment for effect and 'Realism', having things cast a shadow based on a light source in the environment based on what position they currently are in is a common thing to have, most if probably not all current game engines have a shadow function like this.
Level of detail: The level of detail refers to a very obvious point, it's how polished and elaborate the game engine allows the game's graphical capabilities to be. Having an extremely high textured piece of environment with multiple assets and objects everywhere can result in a sudden drop in frame rate or just having very low frame rate overall. To prepare for this PC versions of games have an option included in the game in order to help adjust to the graphical capabilities of the users PC.
Ray tracing: Ray tracing is a function in which rays of light are traced in the game, it does this and decided what the light should be doing, such as reflecting off a certain surface, this function helps allot with the shadowing of a game
Radiosity: How bright a certain light is in an environment and how it affects it as such. Like how the sun gives off and area light that's normally only broken by going under or inside something, creating a shadow.
Ambient lighting is all about radiosity, as the brightness affects everything when creating mood, the amount of lights in an area also obviously affects radiosity.
Depth testing: This is the function of how far objects and certain things are in comparison to the player, and therefor determines what said player can see in their field of view. Depth testing effects things such as what objects are concealed behind others and what is completely out of the players view. Game engines have improved over time and can now hold much more objects on the screen at one time.
Graphics pipeline:The graphics pipeline is a function game engines do in order to transform a 3d images in to a seemingly flat 2d image, it accomplishes this by following several functions to get the image to be flattened down. These steps are:
 -Bus interface / front end                   -Occlusion culling
-Vertex Processing                            - Parameter interpolation
-Clipping                                           - Pixel shader
-Primitive assembly                            -Pixel engines
-Triangular setup                                -Frame buffer controller
-Rasterization

Pixel / Vertex shaders: Pixel shaders are a programmable asset found in game engines which when programmed to do so, work on each individual pixel to create proper reflections, bump mapping and different shades of lighting. Vertex shaders work on the models and environment themselves, and are responsible for cell shading.
Fogging: Fogging is a very self explanatory asset to game engines, as the fogging function creates an
adjustable layer of fog which can be applied to environments to create mood and an atmosphere around
a game. With things like lighting being amplified within it and objects being blurred when looked at from a distance, These features of fogging is an excellent way of creating a horror game that rely's on suspense.
Textures: Textures are another self explanatory asset which every game engine is capable of using, textures
are a simple way of defining certain objects in the environment , like rocks and grass will have different textures and even sometimes different variations.
Lighting: Lighting is an asset which also most if not all game engines can use, there are different types
of lighting, ambient being a main one, as ambient lighting is used mostly in horror games to give the
player a seance of direction, the type of lighting can also variate how it's reflected based upon the type of surface and the light itself.
Culling methods: The Culling methods are the processes of deleting and removing certain unnecessary
components, such as polygons and in some cases whole sides of objects and terrain that the player wouldn't be able to see, when this happens this is called back face culling, removing the sides the player can't see
so that the over-all fps and quality the game may be ran at can be increased.


Animation systems:-
Animation is the process of a game engine in which a series of images will be played in an extremely fast instance to create what is seemingly an Animation. there is also other ways of preforming animations much more smoothly, such as 3D soft were including animation capabilities in which it'll run allot smoother. Pixel games normally include what's known as a 'Sprite sheet' which is the term for the previously mentioned series of images.

Path based animation: Path based animation is quiet simple, some, if not most video game engines will have the capability to program a set path from point A to point B and have whatever entity was programmed to take that path, take it. Climbing over any objects that may be in the way, this is commonly used for Non player character's in games.
Kinematics: Kinematics is the motion of bodies without taking into consideration of the force or movement that is caused There are mainly two different spaces used in kinematics modelling of manipulators namely, Cartesian space and Quaternion space. The transformation between two can be decomposed into a rotation. There are many ways to represent rotation, including the following: Euler angles,Gibbs vector, Cayley-Klein parameters, Pauli spin matrices, axis and angle
Forward Kinematics:Kinematics is a mapping from joint space Q to Cartesian space W: F(Q) = Forward kinematics problem isn't complexity deriving the equations.This is why there is always a forward kinematics solution of a manipulator. Singularities and nonline arities that cause the problem to be more difficult to solve. A manipulator is made up of serial links which are affixed to each other revolute or prismatic joints from the base frame through the end-effector. Calculating the position and orientation of the end-effector in terms of the joint variables is called as forward kinematics.
Particle systems:Particle systems are found in game engines so that it has the ability to emit particles, particles such as; Fire, Water, Dirt, Gravel, Smoke, lighting, Explosions and many other moving things. Particles are in games to give said game a more 'Realistic' look to it, and these particles are caused by placing emitters into the environment, causing whatever the chosen emitter is attached to, to emit said chosen particle. 

Systems:-
Physics: Physics engines are a type of program commonly used within game engines in order to duplicate the physics in the real world. Physics engines can be adjusted to fit the needs of the game developer with just a few simple lines of code, or much more commonly; sliders. An example of physics within video games can be see with things like when the player picks up, bumps into, throws or hits an object, kinetic energy will send the object in the correct direction and further depending on the force of the object and action used to move it. Falling is also another type of physic, as gravity takes place when ever something falls from a height, and acts accordingly depending on the height and over-all physics of a game. Glitches are also a big thing when the physics engine fails to work properly, with objects sometimes left suspended in mid air randomly or main NPC's getting stuck within the environment, breaking the game.

Subsurface scattering: Subsurface scattering is when the programming of the game engine softens lighting as well as blurring it, It can also change depending on what surface it's bouncing off, changing when on a face as apposed to a chrome box.
Caustics: Caustics is a function that calculates light in the environment and makes it act accordingly when faced with a certain object, E.G: The light will travel and be reflected on to a solid box, but light will be reflected through glass, with a tint or just dimmer.
Networking: Networking is the function of electronic devices use to share and communicate with other people's devices, such computers or phones. Networking functions in game engines very similar, letting consoles connect to other consoles to join in and play a multiplayer game with eachother, this also happens on the pc when player connect to servers with IP addresses in order to play games.
Sound: Sound is an extremely large part of any game engine and video game, as it's the key component to immersion, letting us know when we have achieved something correctly or got it completely wrong, also letting us hear amazing voice acting and music tracks, and can really make or break a game based on how good it's sound is.

Artificial intelligence:-
An artificial intelligence is something that a game engine can have programmed into the current game project in order to give the in-game NPC's and mobs a seance of intelligence within the given world of the game, going about their daily routine, accomplishing tasks and reacting to whats present in the environment at the current time, be it weather or enemies, as well as reacting to the actions of the player. This is the type of thing that makes an entire games world feel like it's a real place the player has stepped into, enemies also can be either made to play either smart or stupid depending on the difficulty that has been chosen by the player, this will make enemies possibly not do functions they would normally do, like not check certain places or be delayed with their actions to give the player more of a chance of winning.

AI behaviors: Ai behavior is the function the occurs when the NPC the Ai is controlling goes about their daily business using a script to make them do certain actions at certain time in the day, set 1 could include; walking around, talking to other non player characters and doing jobs, whilst in the night, set 2 is activated and the NPC begins to go home and sleep, whilst some might start other jobs. And if the player interrupts say a sleeping ncp, they could wake up and go on to set 3 of complaining responses.
World navigation: World navigation is a function commonly used by game engines to let the player know exactly where he or she is in the world by using a map. Unfortunately maps can ruin a players experience if the map is fully visible from the start, this is why some games utilize mini-maps only, never letting the player see the full picture. Or they'll have parts of the map the player hasn't been to yet hidden until the player goes there, this lets the player be more immersed  within the world and lets them feel as if they're making real progress.

Middleware:-
Middleware is a type of software that is found in-between other pieces of software allowing for better inputs and outputs allowing to link said softwares together much better, like if a 3dsmax models need to be ported into the game, middleware is an enormous help for linking the two programs together for an easier experience. Most programs use middleware as an easier way for programs to link.

No comments:

Post a Comment