So you have an idea for an amazing new game but aren’t sure where to start. With so many game engines out there, how do you choose? Especially with Unity’s recent policies making thousands of developers consider their options. You want to spend your time creating, not wrestling with a complicated tool. The good news is, there are great options for any skill level or game type. The hardest part is simply getting started.
Do you want a recommendation of what engine you should use for your game?
Introduction to Game Engines for Indie Developers
As an indie developer, choosing a game engine can be overwhelming with so many options out there. The good news is, there are engines for any skill level and project scope. The key is finding one that fits your needs.
The key is to just dive in and start experimenting. See what feels right for the game you want to make. You can always switch engines later once you get the hang of things. The most important factors are finding an engine that motivates you, fits your current skill level, and will help bring your ideas to life.
Key Factors to Consider When Choosing a Game Engine
When choosing a game engine, there are a few key factors to consider:
Some engines like Unity, Unreal, and Godot are free to use, while others charge licensing fees. If budget is a concern, a free engine is probably your best bet.
Do you know how to code? If not, an engine like Scratch, GDevelop, or Buildbox with a visual programming interface may be easier to pick up. For those with coding skills, engines like Unity, Unreal, or Godot offer more customization.
2D vs 3D
Decide if you want to make a 2D or 3D game. 2D-focused engines include GameMaker, RPGMaker, and Phaser. 3D engines are better for FPS, adventure, and simulation games; options include Unity, Unreal, and CryEngine. Some like Godot and Lumberyard handle both 2D and 3D.
If releasing on mobile is a priority, consider an engine with robust mobile support like Unity, Unreal, or Buildbox. These make it easy to build and deploy iOS and Android games.
Look for an engine with an active developer community. Popular engines like Unity, Unreal, and Godot have huge communities, with resources to help you learn the ropes and troubleshoot issues. Lesser-known engines may lack support.
The most important thing is to experiment! Try out some different engines and see which clicks with your style and needs. Don’t feel locked into any particular choice – you can always switch engines down the road, even if it will take you longer to release your game.
Unity: Powerful and Versatile 3D Engine
Unity is one of the most popular game engines, especially for indie developers. It offers a robust and intuitive toolset for creating 3D and 2.5D games.
- Versatile: Unity supports both 2D and 3D development and can create games for over 25 platforms including mobile, desktop, console, and VR.
- Large asset store: The Unity Asset Store has over 5 million free and paid assets to help you develop your game faster.
- C# scripting: Unity uses the C# programming language which is easy to learn but also very powerful.
- Steep learning curve: Unity has a lot of features that can be overwhelming for new users. The interface and workflows take time to learn.
- Limited 2D features: Although Unity can be used for 2D games, it is primarily focused on 3D development. For some 2D-specific features, other engines may be better.
- Performance issues: Unity is not the most optimized engine and may face performance problems for very complex 3D games.
Whether you want to build an FPS, RPG, RTS, or something else entirely, Unity provides the tools to realize your creative vision. While the learning curve can be difficult, Unity’s versatility, large community, and asset store make it an excellent choice for both beginners and experienced developers alike. If you’re looking to make a 3D game, Unity should definitely be at the top of your list of engines to consider.
Other options worth looking into for 3D game development include Unreal Engine, Godot, CryEngine, and Lumberyard. Each has its own pros and cons, so evaluate them based on your specific needs and experience level.
Also, take into consideration that Unity’s recent policy changes have been called out as predatory by many developers, and even though they have since rolled back most of those changes, the distrust is still there.
Unreal Engine: Stunning Visuals and Advanced Features
Unreal Engine is a popular choice for developers looking to create stunning 3D games. If jaw-dropping graphics and advanced rendering are a priority for your game, Unreal Engine should be at the top of your list.
- Unreal Engine is renowned for its high-end graphics capabilities. The engine utilizes techniques like realistic lighting, shadows, and materials to achieve a photorealistic look. Unreal’s rendering is on par with high-budget AAA games.
- Unreal Engine features a visual scripting system called Blueprints that allows you to prototype gameplay mechanics without needing to know how to code. This makes the engine very beginner-friendly.
- For more advanced developers, Unreal Engine has full C++ source code access. You have complete control and flexibility over the engine. Unreal also has a huge marketplace where you can find 3D models, textures, audio, and more to use in your game. Many assets are free or low-cost.
- Unreal Engine’s advanced features do come with a steep learning curve. It can be difficult for newcomers to pick up.
- Unreal Engine takes a 5% royalty on gross revenue after $1 million USD in gross revenue is earned. This can be expensive for commercial projects.
- While great for 3D games, 2D game development in Unreal Engine can be challenging. The engine is really built for 3D.
Unreal Engine is an excellent choice if you want to achieve AAA-quality graphics and have the patience to learn its robust toolset. While not the most beginner-friendly, Unreal Engine is a powerful engine for serious game developers. If stunning visuals are a must for your game, look no further than Unreal Engine.
Godot: Open Source and Beginner Friendly
Godot is an open-source 2D and 3D game engine that is perfect for beginners. Some of its main strengths include:
- Free and open source: Godot is licensed under the MIT license, so it’s completely free to use for commercial and non-commercial projects.
- Easy to learn: Godot uses a Python-like scripting language called GDScript that is simple to pick up. The editor also has a clean interface and workflow.
- Active community: Godot has a large, helpful community that can provide support and tutorials for new users.
However, there are a few weaknesses to consider:
- Limited 3D capabilities: Although Godot can create basic 3D games, its 3D features are not as robust as other engines like Unity or Unreal.
- Fewer resources: Godot has fewer tutorials, assets, and plugins available compared to more popular engines. Developers may need to build more from scratch.
- Limited platforms: Godot currently only officially supports exporting to Windows, macOS, Linux, iOS, Android, and HTML5. Other platforms like consoles are not supported.
If you’re new to game development and want an open-source engine to learn the ropes, Godot is a great choice. You can download it for free and start building simple 2D and 3D games with minimal coding knowledge. While it may lack some features of larger engines, Godot is actively developed and updated to provide more functionality over time. For new developers, the most important thing is just to start creating, and Godot makes that easy.
GameMaker and GDevelop: Quick Prototyping
- Drag and drop actions to build gameplay
- Create 2D games
- Large community and tutorials available
- Limited 3D capabilities
- Can be pricey for non-coders
- Open source and free to use
- Also drag and drop to build games
- Create 2D and basic 3D games
- Easy to learn but may be limited for complex games
- Smaller community than some other engines
When you have an idea you just want to get building, GameMaker and GDevelop let you dive right in without worrying about syntax or programming. You can drag and drop actions, events, and conditions to construct gameplay and see your vision come to life. While the capabilities of these engines may eventually become limiting, especially for 3D games, they are perfect for quickly prototyping concepts and learning game design fundamentals.
Many successful indie games have been built with GameMaker, like Undertale, Hyper Light Drifter, and Spelunky. GDevelop is newer but gaining popularity and has been used to make games like Vai Juliette!, Ball Challenge 2, and Bullet Bunny. The communities around these engines can also be a great resource for tutorials and support.
If coding isn’t your forte but you have a game idea you’re itching to build, GameMaker or GDevelop are easy to pick up and can have you designing in no time. While you may eventually outgrow them, they are ideal for getting started and bringing your vision to life.
Roblox, RPGMaker, and Buildbox: Creativity and Community
Roblox Studio is a free game engine geared toward kids and teens to create their own games. Some of its main strengths are:
- Huge player community to test and play your games
- In-game currency (Robux) and marketplace to monetize your games
- Built-in multiplayer and social features
- Easy to use drag and drop interface
However, Roblox Studio does have some downsides:
- Limited to the Roblox art style and avatar
- Their very aggressive revenue share model means Roblox takes a large cut of your earnings
- Primarily targets younger audiences, so more complex games may be difficult
RPGMaker is designed specifically for making Japanese-style role-playing games. It shines for:
- Specialized for JRPGs with built-in art, music, and gameplay systems
- Large selection of free and paid DLC resources to use
- Relatively easy to pick up and start making basic games
- Options for 3D and 2D JRPGs
Some weaknesses to keep in mind are:
- Limited to the JRPG genre, not suitable for other game types
- Can feel restrictive for more advanced users
- Smaller community than major engines like Unity or Unreal
Buildbox is a game engine aimed at non-coders to create mobile games visually. Its key strengths are:
- Completely codeless, drag-and-drop interface
- Specialized for 2D mobile games
- Built-in monetization systems to generate revenue
- Large collection of game templates and assets to start from
- Option to publish to iOS, Android, and web
However, some downsides of Buildbox include:
- Limited to 2D mobile games, not suitable for other platforms or 3D
- Revenue share model means Buildbox takes a portion of your earnings
- Steeper learning curve for those without any coding experience
Scratch and Phaser: Getting a Foot in the Industry
- Free, open-source block-based editor for learning programming logic
- Kid-friendly, easy to pick up and start building
- Huge community support and tutorials available
- Limited to 2D and very simple mechanics
- Not a “real” coding language so skills may not translate
Scratch is designed for kids and beginners to learn programming concepts in a fun, visual way. You snap together blocks of code to make characters move, jump, and interact. While limited, it teaches you logic and problem-solving in an easy, hands-on environment.
- Open source with a strong developer community
- Can build 2D and simple 3D games
- Steeper learning curve than Scratch
While simple, tools like Scratch and Phaser are a great way for new indie devs to start learning skills and building small games. Build some simple games, get experience solving problems, and see if game development is the right path for you. The skills you learn will translate to more advanced tools when you’re ready.
Ren’Py and Twine: Narrative to its Peak
If you want to create a narrative-driven game, Ren’Py and Twine are two great options to consider. They are free, open-source tools designed specifically for developing visual novels and interactive fiction.
Ren’Py is a visual novel engine that uses a simple scripting language to make interactive stories.
- It has a low barrier to entry but enough depth for complex games.
- Large community and many tutorials to help you learn.
- Cross-platform, so your game can be played on Windows, Mac, Linux, iOS, and Android.
- Weaknesses: Can be difficult to create more complex gameplay; limited to visual novel-style games.
Twine is an open-source tool for telling interactive, nonlinear stories.
- Completely free and one of the easiest ways to create interactive fiction and text adventures.
- Uses a visual editor to connect passages of text in a flowchart.
- Huge community support and many examples to learn from.
- Weaknesses: Limited to text-based games; can be difficult to organize complex storylines.
While commercial game engines like Unity and Unreal offer more flexibility and advanced features for building 3D games, Ren’Py and Twine focus specifically on crafting engaging stories and player choices. They cut out the technical complexity, so you can focus on writing and game design.
If you want to dive into interactive storytelling and create your own visual novel or text adventure, Ren’Py and Twine are two of the best places to start. Their simple interfaces and specialized features make narrative game development accessible to beginners while still allowing for complex, meaningful stories.
Honorable Mentions: Cry Engine, Lumberyard, Construct, and More
There are several other honorable mentions worth considering for your indie game project. While not as full-featured as the major engines we covered, they each have their strengths and dedicated communities of users.
Originally created by Crytek to power their Crysis series, CryEngine is a powerful 3D engine suited for first-person shooters and action/adventure games. It offers cutting-edge graphics and physics, real-time lighting, and more. However, its complex interface and high system requirements make it challenging for small teams to work with.
Amazon’s Lumberyard engine is free to use and integrates well with Amazon Web Services for multiplayer and cloud features. It began as a fork of CryEngine, so it shares some of the same strengths and weaknesses. Lumberyard is best for teams wanting to tap into Amazon’s infrastructure and possibly release on their app store.
A popular 2D engine, Construct uses a drag-and-drop interface perfect for beginners. It exports to many platforms and has a large collection of free game assets and tutorials to help you get started. However, its simple nature may feel limiting for more complex projects.
There are a few other options like Cocos2d, Defold, Stencyl, and Solar2D which are simple to start with but can build more advanced games over time. The most important thing is to experiment with different engines to find what feels right for your specific project and skill level. While the popular, powerful engines are attractive, don’t overlook the smaller options that could be a great fit. The engine you choose will shape your whole development experience, so take your time exploring to make the choice that’s right for you.
The most important thing is to not feel overwhelmed by your options and stall out before you even begin developing your game. Download a few engines that interest you, go through some tutorials, and start experimenting! Only by getting your hands dirty will you gain the experience needed to determine which tool is the best match for building your dream game. Stay open-minded, start small, and have fun exploring the possibilities.
Experimentation Is Key – Make Your Own Informed Decision on Which Game Engine to Use
Experimenting with different game engines is key to finding the right one for your needs. As an indie developer, you have limited resources and time, so choosing a game engine that aligns with your skills and project scope is crucial. The only way to know for sure which engine is the best fit is to try them out yourself.
Unity and Unreal Engine are popular, powerful options, but they have a steep learning curve and may be overkill for a small project. Godot, GameMaker, and GDevelop are more beginner-friendly, open-source engines that could be perfect for prototyping and iterating on ideas. If building a text-based game, Twine and Ren’Py are simple to pick up.
The most important factors to consider are:
•Your current skill level and time constraints. Some engines require more programming knowledge than others.
•2D vs 3D capabilities. Not all engines support both. Know if you need 3D graphics or physics.
•Community support and tutorials. Look for an active community and resources to help you learn.
•Publishing options. Make sure the engine can export to platforms you want to release on, e.g. mobile, desktop, web.
•Pricing. Options range from free and open-source to paid subscriptions. Choose what fits your budget.
Don’t feel limited to the major players. Do some research and try a few options that interest you. You may discover an engine perfectly suited to your needs that you never would have found otherwise.
The key is not to agonize over the “right” choice. Get started with any engine and start building! Once you have more experience, you can always switch to a new engine for your next project. The most important thing is that you start creating and shipping your games.
So there you have it – a whirlwind tour through some of the most popular game engines out there for indie developers. The options can seem overwhelming, but now you’ve got a better sense of what each engine specializes in and how it could meet your needs. The key is not to get bogged down in analysis paralysis. Pick an engine that sparks your interest, one that fits your current skill level and the kind of game you want to build. Then dive in and start prototyping! You’ll learn so much more by actually making your game. Don’t be afraid to experiment with different engines – you can always pivot if needed. The most important thing is to start creating and sharing your work with the world. Now get out there and build something amazing! The future of gaming is waiting.