Research Analysis

The first use of the term “Game Engines” only appeared in the mid 1990’s, around the release of Doom, as there was a clear separation that hadn’t been common before between the games assets and mechanics, and the software and systems that ran the game, such as the rendering systems. It became very obvious that the separation was incredibly useful to developers as they began to make new games from older games by simply updating the assets, mechanics and level designs. Due to this nature, engines and games can be seen as one and the same.

My research has led me to believe that game engines do have a few effects on the game design, but a more surprising conclusion is that the design of the games seem to have a larger impact on the engines. Hardware improvements reduce the limits and constraints applied on game design as it allows bigger, flashier and more complex things to happen on the screen and behind the scenes, but this can also be limited by the engine as new underlying systems need to be introduced such as updated rendering engines, AI behaviour, and even new methods of managing assets. This requires the engines to be updated or rewritten, to make sure they can also keep up with the new hardware but more importantly, satisfy the conditions laid out by the design of the game. Many examples of this can be seen in industry, where engines are updated as they discover or develop new technology. One such example is the CryEngine, used in the Crysis and Far Cry series. The first version of CryEngine was originally used as a tech demo, but then turned into a full game in the form of the first Far Cry game. Support for some aspects of shaders now supported by the release of newer video cards was implemented in version 1.2 of the engine, and version 1.3 added support for HDR lighting. The next version, CryEngine 2 was used to develop Crysis Warhead, side story for the series Crysis.  CryEngine 3 saw the support of DirectX 9, 10 and 11, and newer lighting systems.

Many other game engines, such as RAGE, Anvil, Unreal, Unity, Frostbite etc., follow similar rules; updating when new technology is released that the industry can take advantage of. It seems that the main difference of these engines in their effects on game design is the genre they are best suited to; as these engines have been initially designed to make specific games, they have aspects to them that make them much stronger at creating games similar to the original intended one more than others. The Frostbite engine is suitable for FPS games with some forms of level interaction due to its destruction feature, Anvil is very good for third-person action games with levels of NPC interaction due to its AI improvements and rendering techniques, and CryEngine is good at creating FPS with an interactive world with aspects of world exploration. There are 2 main exceptions I found to this, the Unity Engine and the Unreal Engine. The Unity Engine seems to be the most flexible engine; it has the capability to do much more than the other engines by having less restriction and less guidance. This makes the engine very easy to learn, but gives it an amount of difficulty to master; more complex systems that may be needed in certain games or game types need to be written from the ground up. The Unreal Engine makes this a little easier as it has more complex features built in to it, but I found that it was easier to make 2D games in Unity. It seems that 2D has only recently become a focus of the Unreal Engine. The main advantage of Unreal is the ability to directly update the C++ code and access the source code behind it, allowing developers to manipulate the engine in an almost limitless manner. However, both Unreal and Unity seem to have heavy performance impacts on the GPU, and some impact on the CPU. A benchmark of some games made by different engines shows that the Unreal and Unity engine games have the highest impact on the GPU, resulting in the lowest FPS. When their impact on the CPU was tested, the results showed that they had a middling FPS.

In general, it seems that the effect of engines on game designs seems to exist, but is minimalist compared to the effect of game design on the engines; the main point I have learned is that Engines are spawned of games and only recently have some engines (Unreal and Unity) been adapted to be versatile enough to allow the building of more types of games.