Weekly Post #26 - Game Engines
Hello again fellow gamers and devs! This week I wanted to compare all the different game engines available for development but that would be a very long post and I haven't used a vast majority of them so I decided just to discuss the few I use and why and let you decide for yourself which engine you would like to look into using for game development for yourself if that is something you are interested in doing. It really just boils down to personal preference sometimes but it also depends on what kind of project you would like to work on, whether or not you're just started out in game dev as a hobbyist or beginner, how easy you find the program to use and learn, and if you have any previous programming knowledge. If you aren't looking into developing your own games perhaps this will at least give some insight of what to expect in my next game title or why I used the engines I did for the other games I've worked on.
I'll start off with the engines I have used in the past and am most familiar with then provide a basic list of other common engines used with links so you can do your own research on each. Obviously, if you are just starting out as a hobby you should stick to the free ones or ones that have free versions first and I would also suggest starting in 2D. Personally, I think Clickteam Fusion 2.5 is a great starting place for anyone with little to no experience.
Clickteam Fusion 2.5
This is the game engine I used to make Probe with and the one I usually use for any 2D game jam games. In fact, I've been using Clickteam products since I was around 13 but never really took developing seriously till much later. The Five Nights at Freddy's series was also made using this engine. It definitely has it's limitations but makes programming very quick and easy with it's simple click programming system and its great for beginners with little to no programming knowledge. It is for 2D games only. There is a 3D engine expansion called Firefly you can buy but I would not recommend it since there are much easier to use and much more powerful free 3D game engines out there with less issues. It does require a paid Pro License to sell your final game which also gives you access to some more powerful plugins. I was lucky enough to get it very affordably on Humble Bundle one year, otherwise you're looking at $300 to sell which, in my opinion, is not worth it so I would only recommend this for beginners to use the free version as a starting point unless you can get the pro version on mega sale. You can try out the free version on Steam here: https://store.steampowered.com/app/478960/Clickteam_Fusion_25_Free_Edition/
The biggest issue I have found while developing and releasing Probe using Fusion 2.5 is that the exe will often get flagged as a false positive for malware with most antivirus software due to some of the coding the engine generates. There are ways around this like whitelisting it with Avast.com (which I have found does not work for all antivirus software and can take weeks) or by paying to have the game digitally signed as safe software (can cost anywhere from $75 to $100). It also had some issues I couldn't fix involving screen resolution changing while using Direct X 11. It would not allow you to switch to and from full-screen/windowed. However, they do still patch and fix things but their updates often take a while to come out. If you are just doing this for fun as a hobby or to learn a bit more about game design these issues wouldn't be of a huge concern though. Another big setback is that if you want to export to other platforms like mac or mobile you have to pay for the exporter for each of those (does not include consoles).
Unfortunately, it isn't a very popular or well known engine so there aren't many tutorials for some of the more intermediate/advanced features and the documentation could be better but is decent at least for the basics but overall Fusion is pretty easy to learn. The online community is fairly small but can be very helpful if you can get a response with a solution or find tutorials on the forums or YouTube. The best YouTube tutorials I found for the program to date are from Almighty ZenTaco and he covers a wide spectrum of examples for beginners and even advanced users.
I have rarely had issues with the engine crashing and when it has crashed it was because of a fault in my code that caused the engine to overload or when trying to copy/import large amounts of data like tons of image files or objects. It has several built in movement control systems so often you have to do very little in terms of programming movement or animations. You simply set the animations and their directions in the active object sprite editor and it applies and calls on them for you. You can still do custom movements using the click coding as well. There are also ways to implement your own written code but it's not all that easy or reliable so if you already know some coding, or want to learn coding, I would pick a different engine to start with like Unity 3D.
This is the engine I have chosen for my next game in development (TBA). I also used Unity to develop Trash Panda for a game jam this past year as well as on the Friendsmas Game (Return of the Darkness) I recently posted about. It is great for both 2D and 3D which is why I selected it for my next game since it will be in both 2D and 3D (sort of 2.5D). There is a free asset you can use called Bolt that allows for visual programming (similar to the Unreal Engine) without having to type any code. I personally prefer writing my own C# code for more control, however, there are so many different ways to code one thing and finding tutorials for different things that fit similar methods or don't conflict with others can be an issue but it just takes a little digging.
Unity is free to use with a personal license and you can sell any games made with it. However, if you/your company make over 100k a year in income then they do require you to buy a pro license at $1500 a year. Most indie devs will sadly not hit that threshold, but if you think you might, you may want to keep that in mind but at that point I don't think that cost will break the bank.
Let's also not forget there are several free assets in the asset store to help get you started and even help make a full commercial product. Just please don't be "that guy" that makes asset flips. It's very easy to take the assets and make them your own.
Unreal is another great engine for getting started in game development that is free to use and can also be used for commercial products. After a certain amount in sales they will take 5% of those sales but only once your product hits over 1mill in gross revenue which is highly unlikely for new indie devs. Like Unity, it also has a ton of great resources, powerful features, free assets/marketplace, and a great community and easily accessible documentation and tutorials. The biggest drawback with Unreal is that it is not great for 2D and before jumping into 3D games I would suggest doing a couple 2D projects first in a different engine unless you already have some experience. It does have the visual programming which will make it easier but you can also write hard code still.
I personally have not used Unreal much just because I didn't care for the user interface or navigability of the built in systems at the time but that also was several versions ago so I may boot it up again and give it a try next time I want to do a full 3D project or prototype. Not to mention I already have experience and knowledge in Unity that allows me to work faster with it but really that is all just based on my preference. Both are very powerful engines with great features. I would suggest downloading each and checking them out for yourself to see which fits your preferences.
While my top 3 were Unity, Unreal and Fusion 2.5, there are many other engines out there great for beginners that other people prefer and some for the more advanced. I personally have not played around with many of them but here is a list with links to the engines for you to check out and decide for yourself which might be best. Some may just have free versions or trials but will require a purchase if you wish to continue developing a product for release while others are completely free. Some may also be for only 2D games or have other limitations as well so make sure to do your research first depending on your intentions in development.
Cry Engine (Have heard this one can be a bit more advanced)
There are other engines out there as well, of course, but these are the ones I've most commonly seen referred to or used by other devs, some more than others. Hopefully this information was useful for new devs or hobbyists. I can't say I'm on the more advanced level as a developer, let alone intermediate in most engines, so I doubt it was helpful for veteran developers, or non-developers either, but at least it is some insight into why I chose the engines I have in the games I am working on or have worked on and what to expect in terms of possible features in my next game.
Next week I think I will take a break from game dev topics and give my fellow gamers that aren't devs something that might be of more interest to them. Perhaps some of my favorite all time games/genres or something along those lines...we shall see. Until then, hope all is well and stay safe!
Nate Bit Games