Game engine was introduced in the mid 1990s, there were manyfirst-person shooter games created at that time, a game called Doom, developed byid Software was extremely popular.
It was well architected by developers and consistedof many core software components, such as, 3D graphics rendering, the tool todetect collision, many different art assets and the different game levels thatmade up the game as well as enhanced the gamers gaming experience. This is whendevelopers 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 beenediting the game using the free toolkits that was available to individuals. What is game engine architecture and what are the corefeatures? A game engine is a software which gives an individual theauthority to create and develop games for different platforms, such ascomputers, consoles, mobile phones etc. It consists of a number of corefeatures, components, tools which can be used for the creation and developmentof games. The developers would also look for ways to economise the gamedevelopment process and one common way of doing this, is by reusing/editing thesame game engine to create different version (updated) of the same games, oreven create different games.
Another reason why developers may use the samegame engine is to make it easier to develop the games for the differentplatforms. Game engines provide great enhancement tools that ease thedevelopment process, such as, audio, the graphics, physics and different AI functionalities.These type of game engines are also commonly known as ”middleware”, this isbecause the purpose of ”middleware” is to provide an efficient and reusablesoftware which offers all the core functionalities and features needed todevelop games for different platforms, while reducing costs, complexities andother significant factors that are highly relevant in the gaming industry. Examplesof middleware programs; Gamebryo, RenderWare and JMonkey Engine. There are alsoother game engines known a graphics engine, also known as a rendering engine,these only provide real- time 3D rendering functionalities, this is aimed atdevelopers who highly only need the functionalities and the capabilities ofreal- time 3D rendering. As mentioned above, game engines provide differentfunctions, features and tools needed for the development of games, these arelisted below: Rendering Engine(2D/3D)- The rendering engine creates 3danimated graphics using the method chosen by the developers, such asrasterization, ray-tracing or any other techniques. Rendering engines are builtin a way that rather than being programmed to execute on the CPU or even theGPU they use multiple rendering application, also known as programminginterfaces(API’s), this provides a abstraction of the GPU.
Graphics- Collision and Physics- Scripting- Animation-Artificial Intelligence(AI)- Sound- This is also known as an audio engine, this is thecomponent which has algorithms all related to sound. This algorithm cancalculate on the CPU, an ASIC. Many other features such as, abstraction APIs,SDL audio etc.
are available on the game engine.Networking-Streaming-Memory Management-Threading-