As developers for a few years now, we have tried and dabbled in a few game engines that have increasingly become more accessible and creative-focused over the years.
We currently develop using a choice of three engines in our development streams with each bringing different strengths to be creative and strengthen each title.
Those engines are;
For STARSHEDDERS, we decided to go with Unity as the engine provided the correct tools & features for us to be able to allow creativity in our level building, post-processing efforts, gameplay mechanics and scene management.
Before picking an engine, we first needed to understand what the intentions were in creating STARSHREDDERS to effectively see what engine offers the best opportunities, resources and functionality for each design point.
For instance, questions like;
- What is the game genre?
- Is the game 2D or 3D?
- What’s the main focus for the game? (next-gen graphics, gameplay, networking,etc)
- What platforms do you aspire to deploy too?
Once these questions are assessed, we can start comparing each engine against the games GDD, team knowledge, skills and available resources.
In March 2015, Epic released Unreal Engine 4 for free for all game developers. This was a game-changer as now developers had their hands on the technology that serves as a primary tool for so many AAA titles and visually impressive indies out there.
Rendering and post processing is effortless and superbly fast whilst developing. You can import your own 3D models and utilise the editors great texturing and lighting tools to get AAA quality with your creations. Top notch AAA quality!
The insane details on terrains, dynamic lighting & shadows, morphing and so much more are available through the editor within a few clicks. All this power is superbly optimised, allowing users to create some amazing 3D environments or CGI moments with limited power resources.
The Blueprints Visual Scripting system in Unreal Engine is a complete gameplay scripting system which uses a node-based interface to create gameplay elements from within Unreal Editor. This is extremely powerful and designers can develop ideas without the use of code.
For further control though, C++ is used as the primary language for development with assistance through Unreal through features to help learn and create.
Epic Games offer a superb incentive to use their engine with its royalties scheme where they take 5% of royalties once released. Now game developers can also not pay anything until the game’s first $1 million in gross revenue.
The learning curve for Unreal can be daunting as we found at the time not much documentation or online forums compared to its counterparts. Without prior coding experience in C++ or other languages, users will need to dedicate time to these learnings whilst developing, causing a longer production timetable.
This is also apparent in their asset store, which at the time was smaller and more focused to Third Person Games.
For a small game, Unreal can be overkill for small studios or creative individuals. The immense power of the tool correlates to grand projects with big budgets and specialised teams with mastery on developing in Unreal.
Unreal is amazing and with new updates arriving in 2021 with Unreal 5 and a host of tools, it will usher in a new generation of games using the engine. We will be keeping our eyes open on this for our other titles in development but coinciding with the scope of STARSHREDDERS and its technical need, Unreal truly excelled that but with a steep learning curve, we decided to leave this for STARSHREDDERS’s development.
Construct is an HTML5-based 2D game editor, developed by Scirra Ltd. The editor can be used online and offline and offers an event- based system, allowing beginners to create games quickly.
After viewing a few tutorials, you can quickly learn the editors usages and create a number of 2D games genres effortlessly. From importing a simple sprite-sheet and assigning conditions like character movement, collision detection, score, enemy AI, you can put together a game in hours!
The built in behaviors are incredible. It’s amazing how Construct can simplify the most redundant tasks in game development.
Documentation is greatly available through manuals and tutorials to create loads of different types of games by just following the simple steps. The community also provides so much knowledge and advice to help with any question or issue found.
If you’re looking for an entry point into development, Construct is a perfect place to start. It allows users to get to grips with the basics of creating logic and programming. Powered with a great 2D engine, you can create simple shapes or import art from any tool to the editor to create 2D PC/Mobile games with ease.
Even though Construct is an amazing tool for creating 2D games for web and mobile, 3D games are not really achievable without some heavy doctoring.
STAR SHREDDERS uses 2D for its genre as a top -down shooter but our environments, ships and enemies were envisioned as 3D so this gave us a swift decision in our development.
Construct is great at allowing developers power to create HTML5 Games but deployments seem best suited for Web or Mobile, which for us was a negative as we wanted the ability to port to consoles and other devices.
Unity is a cross-platform game engine developed by Unity Technologies, first announced and released in June 2005. As of 2020, the engine had been extended to support more than 25 platforms. The engines seamless level of entry to create and immense support has allowed the engine to only be used for games but movies, architecture and medicine.
Developing on the engine is simple and the learning curve is low to be able to create small games and mobile titles with little to no coding experience. The Unity Editor is robust and full of features to get you going in no time.
Documentation over the years is bountiful and so resourceful in all areas of development and deployment. The Asset store is a vital resource for plugins that are vital in today’s market with monetization, networking or advertisement infrastructures ready to import into your project.
Unity is written in C# so it’s not as difficult as C++ and the editor is so simple to understand that development can really be fun and not a stretch on resources with so much help available.
For development across other platforms, Unity provides the better integration for early testing and eventual release. You can deploy your game pretty much everywhere. The supported platforms include Android, iOS, PC, Mac, Linux, PS4, Xbox One, PlayStation Mobile, Switch & TV services. VR support is included so deployment on Oculus Rift or Playstation VR is possible.
Graphically, Unity is behind Unreal. Even with its latest updates with HDRP and DOTS for better processing, optimisation and quality, it still falls short to the power of the Unreal 4 engine.
Even though development can be quick, processing and rendering can be slow. Rendering scenes seem to take a long time and can be taxing on your systems.
We ultimately went with Unity as it answered a lot of development questions from the start with benefits that outweigh itself against its counterparts.
STARSHREDDERS is a 2.5D game with features for both 2D and 3D which Unity is equipped with. That’s not to say Unreal doesn’t but the documentation and available tools to assist, particular with our chosen game style, was more greatly available to Unity users.
In terms of our visuals and post processing, Unity was a great pick for us to develop great visuals whilst optimising the resources effectively. . While it’s graphically not on the same level as Unreal Engine, we didn’t need next-gen graphics and optimisation, whilst superbly impressive, still needed to be learnt.
In terms of ease of deployment, Unity was the best pick to allow us to develop with the intention that we will port to various devices once complete.
Again this choice is dependent on your initial game design so depending on that, you could find benefits for Unreal or Construct instead of Unity.
As a last but first point, we strongly recommend looking at videos, reading some great books or papers regarding game design and game theory first to develop the fundamentals of interaction and play so when you go tackle your first title, you will understand the rules of game design and how it translates to game engines. You will also learn how to define different areas of development whilst planning a timeline. Also there are terminologies and concepts shared across all engines that are rooting in the methodology of the game design so pre-reading before jumping in would be a great asset in creating.
Great references we personally use are;
- Chris Crawford on Game Design
- Ernest Jones and Fundamentals of Game Design
- Katie Salen and Eric Zimmerman and Rules of Play: Game Design Fundamentals
- Team Sharkbowl Games