For years, independent game companies – and some of the bigger players – have used game engines to help bring their ideas to life.
Unreal Engine (UE) and CryEngine have been used by the likes of Tom Clancy’s franchise and Crysis respectively. However, there is only one engine that is far and away the dominant global game development platform, and that engine is Unity.
Ever been to a tech festival?
TNW Conference won best European Event 2016 for our festival vibe. See what's in store for 2017.
On their official website, Unity shows just how much they’re dominating the industry. They have a commanding 45 per cent share of the global game engine market, that’s nearly three times the size of its nearest competitor.
While it is unclear who this closest competitor is, most believe it’s Unreal Engine that’s trying to keep up.
For instance, Statista reported that Unreal Engine is the second most popular 3rd party game engine used for video game development in the United Kingdom after Unity.
The Develop 100 Tech List, which features the top 100 game development tech voted by CTOs, indie developers and other gaming industry experts, also put Unreal Engine (no.2) and Unity (no.3) side by side.
Based on a survey of 10,000+ app developers by Developer Economics, Unity also dominates the tools market by 47 percent when it comes to game engines used by developers.
Why the success?
In the past, Unity was behind the likes of Mobius Final Fantasy, Slender: The Eight Pages, Hearthstone: Heroes of Warcraft, Fallout Shelter and Temple Run.
The key attractions to why Unity is so powerful are the low learning curve for beginners, active ecosystem of asset and plugin creators, rapid development speed, and its cross-platform integration that supports 25 platforms – UE supports 10 platforms and CryEngine only five.
This is why Unity has 4.5 million registered developers.
Unity features 15,000+ free and paid-for 3D models, editor extensions, scripts, shaders, materials, audio, and animations that can easily be added to a game.
This huge Asset Store helps developers who can’t afford an artist, or make their own artwork or music.
However, the strength lies in its support of C#. C# is a high-level programming language that allows developers to master the game development process easily.
C# is a better scripting language than C++ when you want to make a game first and deal with the more advanced aspects of programming later. A couple of advantages of using C# are that it’s easier to learn than C++ and a “managed language”.
A “managed language” means that it automatically does the memory management for you (allocating-deallocating memory, covering memory leaks, etc which a lot of C++ beginners and pros alike have trouble with).
When it comes to rapid development, Unity’s modular system and usability allows you to rapidly develop a game prototype.
In addition, the tweaking and debugging support of Unity shows all the gameplay variables right as developers play, and it can be altered on the fly without writing a single line of code. The game can be paused anytime or step-through code one statement at a time.
Being popular and widely used doesn’t leave Unity without drawbacks.
The major turn-off of using Unity is the vendor lock-in which makes it hard to maintain multiple projects. The script written for Unity can’t be used in any game that doesn’t run under Unity due to the specific interfaces that are needed for scripts to interact with each other.
Graphics-wise, Unity can’t match the Unreal-Engine. Unity may have its own custom shader that allows developers to create cartoon-like graphics or make the games more realistic – however, there is a limit on how far developers can push the graphics.
With UE, although it doesn’t support custom shaders for now, it comes with better graphics quality and the realism of Physically Based Rendering which is ready for mobile, consoles and PC. A reason why UE is a better option for many high-end AAA quality console/PC games.
While the Unity engine supports integration for just about any 3D application, it suffers when it comes to the engine editor. Developers may need to use 3rd party 3D applications since Unity has no real modelling features outside of a few old shapes.
The last caveat is although there’s a shallow learning curve for beginners who started using Unity, developers may hit the wall sooner compared to using UE. The reason why beginners usually start with Unity and once they’re good at it, change to UE.
A quick look at competitors
As previously mentioned, Unreal Engine has impressive graphic capabilities including advanced dynamic lighting and Cascade Visual Effects that allows millions of dynamic particles to receive and emit light within a scene.
Thanks to this feature, developers can control all sorts of particle properties including size, color, density, falloff and bounciness.
Being a successor to Unreal Development Kit (UDK) that used UnrealScript as the language, UE replaced the old language with C++, a language that is widely used by game development teams and companies.
This language is better suited for someone who wants to gain a footing in the gaming industry as it might make it easier for developers to join another game development team or company.
Although developers have to manually do the memory management with C++, knowing how the processes work can make any developer a better programmer.
Another powerful feature by UE is its built-in Blueprint Visual Scripting which, just like Unity’s Modular Building System and Tweaking, allows for rapid prototyping and provides designers with a full range of features and tools usually available only for programmers. The only difference is that you don’t have to reach for your wallet to pay for Blueprint Visual Scripting.
Keep in mind that despite being free, UE asks for a five percent royalty fee based on gross revenue after the first $ 3,000 per product per calendar quarter.
Even if you’re not charging a penny for your game, if you use microtransactions or in-game ads, Epic Games, the company who owns UE, will still get five percent of the revenue you receive.
CryEngine is one of the most powerful game engines ever designed by CryTek, the company behind Far Cry, Crysis and Ryse: Son of Rome.
When it comes to platform support, CryEngine may not cover as many as the previous two. But this allows them to be focused on what they’re good at. CryEngine is designed to be used on PC and consoles including PlayStation 4 and Xbox One.
The graphical capabilities of the CryEngine beats that of Unity and gives UE a run for its money, thanks to its Real-Time Global Illumination lighting and Physically Based Rendering (PBR) that simulates the interaction between light and materials using real-world physics.
Similar to Unity, CryEngine also supports the C# language while still keeping C++ since it is the industry standard for traditional high-end game development and that’s precisely what CryEngine is designed for.
Other good news is that CryEngine is the only engine that has 100 percent free royalty and pay what you want pricing model.
With the pay what you want, developers can set a desired price that they pay for the engine and then adjust the portion of where that money goes: Indie Development Fund or CryTek.
Despite being a powerful engine, it does have a steep learning curve for beginners before they can use it effectively, and it can be daunting for those who have no experience with any other game engines. If you don’t aim your games to be as high-end as Crysis, it’s better to stick to Unity or UE.
Interested to becoming a hardcore game developers?