This post has been edited to remove references to UE.
I’m part of a few Indie Game Developer groups on Facebook and the number one most common question is: I have no experience with programming or game development. What game engine do I use?
This question gets a lot of ire in these groups because it gets asked at least once a day. Still, I can also understand why these groups get the same questions. A lot of posts get buried underneath others and with thousands of people in each group, often these questions get pushed down. And who really wants to sift through dozens if not hundreds of posts on Facebook. For those who don’t want to deal with Facebook, hopefully this article can answer some of your questions.
The question of what game engine to use/is the best is layered because it requires you to answer questions such as:
- Do you want to make a 2D or 3D game?
- What kind of game do you want to make?
- Do you have a PC or Mac or something else?
- How powerful is your setup?
- Do you want to make mobile games or do you want to go cross platform?
- Are you willing to learn a programming language?
- How quickly do you want to push out a game?
Your answers to these questions will determine which engine, if any, you choose. Below is a quick breakdown of the different options and the reason you should consider them.
If you’re just planning on releasing for mobile and don’t mind learning code, your best bet is to make your games natively for iOS and Android. Why? You can take advantage of all the new features the mobile OS has to offer, making it more likely that your game will be featured in these app stores. Besides that, your file size will also be smaller because there’s no game engine taking up space. Both Apple and Google offer pretty good documentation on how to use their frameworks and you can always find answers by simply searching for issues you have.
If you’re looking to make a 2D game and want the simplicity of a drag-and-drop interface but the flexibility of tweaking things with code, then GameMaker is absolutely the best option. It is a pure 2D engine and allows you to customize as much as you want. It uses its own proprietary language – GameMaker Language – but it is fairly easy to pick up. There are also dozens of video tutorials that can walk you through making a complete game. The basic set is free, but if you want to port to Android or iOS you’ll need to shell out some serious cash on top of the developer fees. In fact, each “module” costs you around $149 on top of the $149 you pay for cross-functionality. Of course if you want all the modules you can pay a lump sum of $480. You can then export to iOS, Android, Xbox, Playstation and more. This is a great option if you just plan on making 2D games.
There’s an ongoing debate about which is the best engine – Unity, Unreal or CryEngine. Unity is probably the most popular as it has been available to use for free the longest. Unity has an incredibly supportive community and a forum full of common answers and questions in case you run into any problems. Can you see that I’m a bit biased? We use Unity for our own projects and while we’re predominantly 2D, we like the free aspect of the engine though now that all three engines are free this isn’t really a roadblock for people just starting out now. While you’ll need to learn programming for this, there are plenty of video tutorials and online courses available to get you started. Plus there’s a ton of plugins you can use to make it a little easier. Want to do an online multiplayer game? Yep, there’s a plugin for that. The Unity asset store is also pretty great for people who do not have time or talent in art or music. Ultimately, it’s up to you to decide which one works the best for you.
If all you want is text adventures, Twine is a great option. It basically allows you to create clickable words in your story that take readers to another section of your story. It’s pretty simple to use and, best of all, you can simply upload it as an HTML game. If you know basic HTML and CSS, you’ll get the hang of Twine quickly.
If you’re new to programming and are intimidated by learning all of the conventions, Scratch is an excellent place to start. It might look simple (almost childish) but it really teaches you the building blocks of programming logic. Best of all it’s free! One of the best things about Scratch is that it is completely visual. You drag-and-drop certain “modules” or bits of code into a section and add in your statements to make the characters/program perform how you want. It’s a perfect introduction to the logic and conventions of programming without being too intimidating. You won’t be able to export this to consoles, but it’s a great program to use if you’re just getting started.
There are literally dozens of other options you can choose from like Marmalade, Construct 2, Cocos2D, Corona, GameSalad, Stencyl and more. If you want to get into game design, first answer the questions above and then do research on game engines. Maybe you’ll find one I haven’t listed that suits your needs better. The point is to shop around and find ones that has the features and system requirements that fit what you need. Don’t be afraid to try something new. More importantly, make sure you don’t get the dreaded analysis paralysis. Choose one. If it doesn’t work, move on to the next. You don’t want to spend too much time looking for one because it will eat up time you could spend making your game. So make your choice and then get started!