The top 3 game engines to learn and why

The top 3 game engines to learn and why

There are so many options when it comes to building games it’s sometimes hard to know where to start.  If you are a developer or a designer that is looking to get into the gaming space or find a gaming engine that is right for you then please read on!


Number 3: Amazon Lumberyard 

Amazon Lumberyard is a free AAA game engine deeply integrated with AWS and Twitch – with full source. The biggest advantage that you have with Lumberyard is that it’s 100% free. Amazon doesn’t take a single dime of your revenue. They intend on making money from you using the integrated AWS and Twitch features of the engine, witch are optional.

It’s worth noting that at the time of this article Lumberyard’s full feature set are Windows only. They are testing some beta features so that you can build your games on macOS and iOS.

More details on what you get with Lumberyard here

As a developer I do wish they content would focus more on how to use C++ and Lua when building functionality. I’m not a huge fan of the drag and drop visual programing interfaces that engines like Lumberyard have. I’d much rather get into the code. I hope more documentation and tutorials come out on this soon, but over all you are going to find a LOT of really robust features with Lumberyard.

Over all Amazon is doing an amazing job with Lumberyard and I look forward to using this engine more and more.

Here are all the platforms you can build for using Lumberyard: PC, Xbox One, PlayStation 4, iOS (iPhone 5S+), and Android (Samsung Note 4 and equivalents)


Number 2: Unity3d

Renowned throughout the industry as the multiplatform game engine, Unity allows you to target more devices more easily. With Unity, you get one-click deployment to the full range of mobile, VR, desktop, Web, Console and TV platforms.

If you’ve done any searching on game engines at all then you are for sure going to hear about Unity3d. Unity has all the tools that you would need to build 2d and 3d games. The scripting language used is C#. You can also use javascript but I wouldn’t recommend it. The one major advantage you would get by using Unity is the vast amount of platforms they support and compiling your game to them is usually pretty easy. If you are a developer and you want to add a game engine to your tool box and you don’t know where to start I would suggest you start here. The barrier of entry and ramp up time is very minimal, the community is great and there is a lot of educational material out there to get you started.

One of the downsides that’s worth mentioning is that Unity has licensing. They do have a free license so you don’t have to pay anything to get started. The more you pay for Unity the more access you get so if you need to do anything low level and you want to get to the source code of the game engine then you must pay a price for that. Here is a link to the different licensing levels.

Here is a list of all the platforms Unity will compile your application to : iOS, Android, Windows Phone, Tizen, Windows, Windows Store Apps, macOS, Linux, WebGL, PS4, PSVITA, Xbox One, WiiU, 3DS, Oculus, Google Cardbord, Steam, PS2VR, GearVR, Microsoft Hololens, Daydream, Android TV, Samsung SmartTV, tvOS, Nintendo Switch, fireos 5, Facebook Gameroom.

Number 1: Unreal Engine

Unreal Engine is a complete suite of creation tools designed to meet ambitious artistic visions while being flexible enough to ensure success for teams of all sizes. As an established, industry-leading engine, Unreal delivers powerful, proven performance that you can trust.

There are a few things that Unreal Engine has that I really enjoy. The biggest for me is the work flow of being able to create visual game objects and then interact with them using C++ pretty easily. Unreal Engine runs on both Windows and Mac, however there is a tradeoff for the easy work flow that I don’t particularly like. When editing your C++ code Unreal Engine launches Xcode by default on macOS and Visual Studio on Windows. While I do like Visual Studio, Xcode is more challenging at times and will make you feel like things are taking forever as it’s crunching through and indexing your code. I really wish they would make it easier to choose your own editor and better debugging.

Over all I think Unreal Engine is in a better place than Amazon Lumberyard (IMO). They even have an asset store that you can download from that the community is doing a really good job of submitting free and paid for content you can use in your projects. Unreal Engine is free to use but Epic Games will take a 5% cut of your game sales after you reach a certain amount of revenue with your game every month. Check the website for more details on that. (section 5). There is more in the FAQ as to how you can use Unreal Engine completely free.

Here are all the platforms you can build for using Unreal Engine: Unreal Engine 4 enables you to deploy projects to Windows PC, PlayStation 4, Xbox One, macOS, iOS, Android, VR (including but not limited to SteamVR/HTC Vive, Oculus Rift, PlayStation VR, Google VR/Daydream, OSVR and Samsung Gear VR), Linux, SteamOS, and HTML5. You can run the Unreal Editor on Windows, OS X and Linux.

In summary:

The point of this article was to cover the three largest and allow you to have enough information to make an informed choice. Personally, I’m going to use Unreal Engine as much as I possible can. Ramp up time takes a bit longer than Unity but over all the quality of the tools, the fact that you can access source code and the quality of the graphics and light that the engine can produce are unrivaled.

All that being said Unity3d is the tool that every developer needs in there tool box. If your goal is to ship to as many platforms as possible or you want an engine that is well supported by lots of other development shops and teams, or you are just getting started with gaming engines I would say Unity is where you should start. Its a great set of tools and Unity is doing a great job.

Leave a Reply

Your email address will not be published. Required fields are marked *

Name *