Thursday 7 March 2013

Components of game engines

Artificial intelligence

AI
http://images.bit-tech.net/content_images/2009/03/how-ai-in-games-works/totalwar.jpg
Artificial Intelligence is used in many games, in fact it has become quite crucial to create realistic gameplay. Such games like The Witcher takes advantage of AI in a way that's quite quaint and neat. Such things will effect the environment such as weather. When it begins to rain the characters will become aware of this and they will run inside or find shelter. This will also disrupt their day to day business that has also been programmed for each character.


http://nigmabox.files.wordpress.com/2013/02/the-witcher-2-woody-corridor.jpgAI Behaviors
The behaviors of AI's are important for creating an interesting and realistic environment for the player to interact with. The tasks that they perform are chosen randomly every time. Once these tasks become used up, the AI will revert back to basic tasks and commands, like standing, sitting and sleeping.


Game World Navigation
Game world navigation is the process in which the game will can plot the player's route or set a destination point. This way the player can view their destination on the feedback interface without any major interference. Games can sometimes simplify the route so that the player has to spend less time venturing to their destination, however, most game developers will disregard this feature.

https://www.youtube.com/watch?v=tssckIv8A2o   ---This video express the navigation of an AI searching for the player.


Animation

Animation Systems in Game Engines
http://www.blender.org/typo3temp/pics/a64025d948.jpgAnimation is a method of film making that makes the viewer believe that they are viewing a 2D drawing or 3D object moving when infact they are being shown hundreds of images that and forms that have slight changes, one after the other.

Path based
Path based animations are forms of media that use slides of images with a fixed background to show the player a form of movement. The frame rate and  path is calculated and applied to the 3D model of the NPC.

http://techreport.com/r.x/core-i7-3960x/valve-particle-shot.jpg

Particle Systems
Particle systems allow the calculations a execution of different types of effects within the games environment. These effects can come in the form of explosions, fire, water etc. Take an explosion for example, the particle system will take into consideration the force of the explosion and the environment around it and it will execute the effect.



Graphics Rendering

Rendering

http://people.sju.edu/~fatalay/Images/rt_tomato.jpeRendering graphics is a process where everything in the game world is generated. Anything that the player can see will be rendered, textures will be applied to the rendered objects and then lighting is calculated. I've noticed in games like Borderlands 2 that the environment and objects that are within the environment will be rendered as low polys. The objects will have rough edges and textures would be blurry. Later they will be converted to high res polys.

http://www.geforce.com/Active/en_US/shared/images/articles/max-payne-3-pc/max-payne-3-pc-tessellation-side-by-side-comparison.jpg
Anti-Aliasing

Anti-Aliasing is what is used in game engines to eliminate jaggered edges from the environment. This creates a nice smooth look that is quite appealing to look at, however this convenient feature demands sacrifice, the process will make everything look nicer, but it will lower the games frame rate and performance. A double edged sword.



http://kge3d.org/wp-content/uploads/2012/06/selfshadow.jpg



Shadowing

Shadowing has become a lot more precise in recent years. It is a calculation that the game engine performs so that it can cast a shadow against objects in the games environment. It is a realistic approach and it is a little complicated as the high the display of the shadow (density, length) the slower the game will perform.



https://anteru.net/wp-content/uploads/2012/06/image001.png


Ray Tracing and Scanline

Scanline and Ray Tracing are to different methods of rendering graphics. Scanlining is a quick and easy way of rendering however it cannot calculate and process reflections and refractions of light sources. As you could imagine, Ray Tracing is a much more slower way of rendering graphics but against Scanline rendering, it is actually able to calculate the reflection and refraction of light.

System

Physics in game engines are becoming more advanced with each release. Game engine creators keep trying harder to replicate physics from reality and place them within their engines. Third party physics engines are much better then the standard physics engine that comes with the Unreal engine for example. So more often then not, game developers will purchase third party physics engines and use them along with a game engine. Two of the most popular physics engines I have come across are the "PhysX" engine by Nvidia and the "Havok" engine.

http://www.cgsociety.org/stories/2009_03/upload/4973_havok_t.jpghttp://www.bjorn3d.com/Material/revimages/games/Darkest_Of_Days/Physx/nvidia-physx.jpg

Collision Detection

Collision detection simulates how objects make contact with each other. For example, the player could control their character in a game and make them run into a door, the game will have to recognize that the player has made contact with something in the game world. After recognizing the contact that the player made with the door it will simulate the correct reaction that would take place in reality. The door will move depending on how fast the player hit the door.


Networking

Dedicated Servers
 Dedicated servers allow clients to connect to what is essentially a "Hub" so that they can play games online with other players. Dedicated servers are usually built with the intention of hosting a large amount of players over the internet, because of this they are built with a fast internet connection. This allows it to send and receive data quickly and efficiently so that players do not have to deal with lag.

Peer 2 Peer
Peer 2 Peer allows a player to host a game over the internet. It is a slower and less effective way of playing online because the person who is hosting a game on his computer is susceptible to problems with their internet connection. When the player comes across these problems, other players will also have problems with their connection to the game.

Sound
Sound is important in a game, without it the game feels unrealistic and boring. Luckily sound engines are available when developers use game engines. Sound engines usually control how the player will here the game. For example, Say the player is walking through a forest, then later they hear a car door close to the left of the character. The sound engine will emit the sound as if it was coming from the left of the player, so the sound will be more prominent in the players left ear as opposed to the right one.

Middleware

Middleware is a software layer situated between applications and operating systems. Middleware is typically used in distributed systems where it simplifies software development by doing the following:

  • Hides the intricacies of distributed applications
  • Hides the heterogeneity of hardware, operating systems and protocols
  • Provides uniform and high-level interfaces used to make interoperable, reusable and portable applications
  • Provides a set of common services that minimizes duplication of efforts and enhances collaboration between applications

1 comment:

  1. Interesting post. I Have Been wondering about this issue, so thanks for posting. Pretty cool post.It 's really very nice and Useful post.Thanks
    sell used smart watches

    ReplyDelete