Best Game Engine to Start Game Developing on
Unreal? Unity? Gamemaker? I see this question asked a lot around on popular forums, like Reddit, from people who are wanting to get started developing their own games but they don't know what engine to start on. What game engine is truly indie friendly? In my time starting out developing I tried many of the easily accessible game engines, gave each one a good month of play before ultimately choosing one. Here is my run down of my experiences with each and my opinion on which engine really is the one indies, who are just starting out, should be using..
The 'Unreal Engine' is amazing. We've all seen what it can do. Games like the fantastic Bioshock series, Gears of War, Mass Effect, Fortnite, and some gorgeous looking yet to be released games like the Final Fantasy VII Remake and Kingdom Hearts 3, were all made with the Unreal Engine, but how does it handle for an indie developer just starting out?
Well if you're worried about coding, then possibly!
Unreal has a special built-in, code-free tool that will allow you to "code" without touching a single line of script. The tool is called Blueprints, and is exactly that, a blue print of code. A visual diagram of script. You link blocks together to equal an action, behaviour or interaction, pretty much what you do in code (if this happens > then do this) except for in a friendly designed UI.
Unreal also boasts a ton of features that make this a powerhouse for games, including:
Photorealistic Real Time Rendering
Film Quality Post-Process Effects
A fantastic built in material editor
Extensive Animation Toolkit, which can be combined with Blueprints for ease of use
+ Much more...
The Unreal Engine is renowned for it's quality and with it's Blueprint tool making coding, one of the biggest parts of game development, easier, this could well be the engine for indies.
GameMaker Studio is a 2D engine known for games like Undertale, Hotline Miami and Fran Bow, and is known to be one of the easiest to use multi-platform engines out there. The developers of the engine in question have truly gone out there way to make GameMaker as easy as possibly to use, and have always kept developer usability in mind. For example.. Just like Blueprints in Unreal, GameMaker has a similar tool that allows you to create "code" without coding at all. Along with this, the engine comes packed with a library full of already crafted actions and commands that can just be dragged and dropped into your game, allowing you get up and running relatively quickly. Though, if you do want to code it all yourself, you can actually create and edit code within the engine itself, no external applications needed, which isn't how the other engines will have it, again, usability.
Following on from this, the tutorials are a shining example of how to teach new developers how to use the engine. They keep things simple and precise to truly help you get to grips with GameMaker as soon as possible.
Known for games like the gorgeous looking 'Everybody's gone to the Rapture' and 'Prey', the CryEngine may not be the most used by indies, but it's certainly powerful. I can't fault what the CryEngine will give you straight out of the box - AAA Post-Processing effects, probably the best looking, and user friendly, dynamic water, volumetric fog and Real-Time local reflections.
It also comes shipped with a similar code-less tool, like the Blueprints in Unreal, called Flowgraph. Sadly though, I thought Flowgraph was a little limited and I don't think you could create a whole game in the CryEngine without coding (which isn't a bad thing).
The CryEngine website is packed full of tutorials and example projects to get you off the ground, which are really helpful, some other engines tutorials are more of a hindrance to your development beginnings than a help.
All sounding good right? A powerful engine, with great visuals, and a few novels worth of tutorials to help you on your way... There is a drawback though. CryEngine works well for indie developers, if you are making an FPS. This engine is in it's element if you want to make first person game, like the examples I gave before, but if you want to create anything outside of first person, then you are going to need to learn code, and a lot of it. The engine is set up in a way where you could develop a first person game easily, but if you are thinking of creating anything else, maybe another engine would be best for you.
RPG Maker's slogan says it all, "Simple enough for a child, Powerful enough for a developer". I can't fault that statement at all.
RPG Maker is a 2D game engine that lives up to it's mission statement. Within minutes of using RPG Maker I was able to create a scene (a graveyard packed full of graves, haunting trees, and a church bang in the center), place our protagonist in the scene, with some NPCs, and have our protagonist be able to interact with these NPCs, with chat, and even receive a mission from one of them.... Within minutes!
RPG Maker is fantastically easy to use, for my first week of using it I didn't even touch a single line of code... How? It's all down to how this engine has everything, pretty much, set up for you out of the box. It's as easy as dragging and dropping elements from the huge library of sprites, behaviors, actions and models into your scene. After a week I was creating my own sprites and adding them into the game, which was just as easy. I can't fault it... Or can I?
As the name suggests, RPG Maker will only really make RPGs, and a graphic novel if you really push it. If you want to make an RPG, and you don't want to code, then this engine could be for you, but for anything else, you will have to use a different engine.
I'd say the biggest downfall for this engine would be down to the indies who use it. A lot of the games you see on Steam that were made with RPG Maker by small indie studios, or solo indies, look very similar. As you can easily make an RPG in this engine without touching code, or even editing a sprite, small indies are just plastering the same game over and over again. This isn't RPG Maker's fault, so I can't say it's a fault of the engine, rather a casualty of the engine being just so easy to use.
Lastly, Unity. Why have I left it until last?.. As I could write about Unity all day, and I was hoping by the time I got to talk about it in this article I may have run out of Steam. We'll see...
Unity is able to create 3D AND 2D games, making it a great engine to start out on, as if you were going to make a 3D game, and then your next game is going to be a 2D game, you'll be used to the engine when you make that transition. Which is a lot easier than having to learn a 3D engine, and then a separate 2D engine.
If you're scared of coding (you shouldn't be), Unity has the biggest marketplace of them all. Filled with assets for your game from scripts, models, animations, UI, particles, and so on. If you need something, that you can't work out for yourself, there is a likely hood that someone else may have made one already. (Hey, I have just been informed that there is even an asset on the store that will allow you to handle scripting in Unity with a tool just like Blueprints in Unreal. See, that marketplace has everything!) A lot of developers look down on other developers who use the asset store, but in my mind, it's the same as hiring a freelance programmer or designer to create something for you, you're paying for that service, but in the store, it's just already made (I'll go over my thoughts on the Asset Store in another blog).
Still struggling with coding, or just have issues with Unity? I believe Unity has the greatest of all community forums. If you can't work something out, either the question has already been asked and answered, or you just need to ask yourself. For an indie starting out, this is a godsend!
Of course there are downfalls of Unity, I can't tell you how many times I've had to report a bug to Unity, but these bugs do get fixed promptly. Also, I find the official Unity tutorials hard to follow, if you're someone who NEEDS a tutorial, a guide to follow, to learn, then their are tons out there outside of Unity, but for me, the Unity Tutorials I found confusing and hard to follow. This is actually why I ended up not following any guides and just working it all out for myself, whether for greater or poorer.
You will also find that Unity won't just WORK. With Unreal, those gorgeous graphics you see are almost effortless to create, with how Unity works, you will seriously need to work hard to get anywhere close to those kind of graphics. Notice I didn't say Unity can't handle it, like other bloggers may suggest, Unity certainly can, it just can't without your effort, but to be fair, you'll only truly appreciate it if you've worked for it! So I can't say this is a downfall.
So which is the best engine for an indie developer just getting started?..
If you're interested in creating 3D worlds (and even if you are going to make 2D games), then I suggest you go down the same route I did... Unity.
With Unity's easy to use set up, the massively supportive community forum, the biggest asset marketplace out there and easy to use features like creating lighting, water, reflections, shadows and animations (yep, I thought animation would be difficult at first too, but Unity makes it easy). Unity has to be the winner for any indie developer just starting out.
While Unreal is a fantastic second place, I think if you are just getting started, you might find it overwhelming, but Unity manages to take that feeling away. Sure, Unreal has Blueprints so you don't have to touch code, but I don't think that's a good thing in the slightest. If you want to be a game developer, you should learn some code.
While Blueprints might be able to move a box, if you code the box, you can make it dance!
I won't pretend I'm not still learning, I've been developing now for 5 years and I am still learning every single day. Game development isn't one entity, it's a mammoth tree that branches off down many different routes. One day I'll be messing around with lighting, the next I'll be directing a cutscene using animation, then I'll be editing sound, creating materials, height maps, landscapes, editing code, and the list goes on. Game development can be a daunting path to go down, it's size and depth makes you feel so small, but let me tell you... Starting game development and sticking on this road, may be the greatest path I have ever gone down. It's challenging, it's difficult, it makes me swear, and sweat, and lose my sanity... But then once you create a piece of code that works, or an animation that moves, or further down the line, complete a game. That satisfying feeling, can't be replaced.
So there we have it, that may have gone on for longer than I wanted it to, but hey, I'm passionate. All I can say is, maybe it doesn't matter which engine you choose, I was just sharing my thoughts, everyone is different and a different engine may work better for you, they all have their pros and cons, so have a play around, see which one suits you best, and stick to it.
You won't regret it!