It's Halloween, the spookiest day of the year! And you all know what that means - Uncertainty about the future viability of your game engine of choice, and making the switch to an entirely new game engine! Obviously.
Why the change?
So yeah, anyone with an ear remotely close to the video game scene is probably aware of Unity's specific changes to their pricing scheme (and the subsequent rollback). The tl;dr is that most devs would be charged 20 cents for every install. It doesn't sound too bad initially, until you realise that reinstalls, installs on second machines and even pirate installs can potentially count as a unique install. A dedicated enough person who dislikes your game or company for whatever reason could easily set up a script to just...keep reinstalling your game, charging you 20 cents each time. Great!
Well, it turns out we also happened to use Unity. While we wouldn't be impacted too badly by the pricing adjustment - hey, we might not even hit the thresholds unless someone gets really upset at us (The bad option) or we happen to become really popular (The good option) - the big stickler for us was that this change was completely retroactive to all versions of Unity. A developer who made a freemium mobile game five years ago could suddenly be completely bankrupted by this should their game become very popular to install and play without many players actually buying microtransactions. This scenario isn't unheard of - games like Among Us can suddenly explode in popularity when outside factors such as video game streamers work to their benefit.
This was only one of the major issues though. Coupled with the fact they stealthily adjusted the terms and conditions (before deleting the GitHub repository so we couldn't even properly see when the change was made), and the fact that they wouldn't clarify just how game installs would be tracked without causing privacy concerns and violating GDPR, and how things such as piracy would be handled, just made everything feel incredibly shady. It's safe to say our trust in Unity, alongside the trust of many other game developers, was destroyed on that day. The subsequent rollback and future plans and promises meant that we - on a 2022 version of Unity - would once again be unaffected, and the new terms are definitely a lot more paletable and a positive step in the right direction. Unfortunately, the fact that they could drop this on us with no warning, and possibly do it again at any time in the future, almost completely burnt all the trust we had built up for the company (a sentiment echoed by a large number of other developers).
So what now?
For games well into development, the only solution for them was - at the time - to either ditch the game entirely or release and hope malicious users don't "install bomb" their game and bankrupt them. Thankfully for them, with the rollback in the terms, so long as they don't upgrade to next year's version of Unity, they should be fine. For games earlier in development, though, including Exim, there were other options. The core one, naturally, was swap game engine.
As of writing, there's actually a plethora of free or cheap game engines, although for Unity developers specifically, the two most popular options (outside of building your own) tended to be Unreal Engine or Godot. Unreal Engine - obvously - is a fantastic, obscenely powerful engine used by a lot of big budget games. Godot, on the other hand, is a simpler open source engine but with a lot of popularity (Something only bolstered by the great Unity exodus). Outside of the 2D scene, though, Godot is only recently starting to properly break out with 3D games thanks to huge upgrades with Godot 4. One of the main benefits of Godot for Unity devs is that the general development pipeline is similar enough that migrating code won't be too tough - especially since it supports the same programming language C# - and porting assets should be a cakewalk. Unreal is a bigger change - code needs to be converted to C++ or Blueprints, and asset setup can be a bit more involved. You can definitely tell Unreal is designed for bigger teams - a single person could spend years learning the complexities and intricacies of just the animation systems without touching anything else.
So, what about us? We actually have experience with both (Daniel having initially worked on Unreal back in the old UDK days, before also trying out Unreal Engine 4), but for a game like Exim, Godot just seems like the better option. It's lighter, it supports C#, it can do 3D and it does exactly what we need it to do. Unreal could make things extremely polished, at the expense of doubling or quadrupling the development time as there's only two of us working on the game and the engine is positively ginormous.
Does this mean Exim is delayed?
You can't delay what never had a release date! To be fair, we unfortunately hadn't done too much progress outside of the assets, the story and the game design over the past few years. Fortunately, that means migrating to Godot will be very easy, give or take. We were already using our own dialogue system - something that will be open sourced for the entire Godot community to use - and didn't depend too badly on any Unity-specific plugins, workflows or code. In fact, after the announcement, it only took us a day to move over a core part of environment, the player character and part of the dialogue system. With our character walking around and talking to other characters, we could tell it was very feasible to migrate what we had and - in fact - development in Godot might actually prove easier for us. The recent infusion of interest from other developers will only make things better for Godot.
Right now, Godot is primarily a desktop based engine. You can create games for Android and iOS... if you don't use C#. Whoops! Still, our primary initial target was desktop environments anyway, and the Godot team have pledged to improve C# support for other systems over time. Console support isn't on the table for us specifically to do, but there are companies out there that will handle porting to games consoles too, so depending on popularity, we might be able to send Exim to more systems. Don't hold us to that though.
On the plus side, we should be able to produce more updates in a more timely fashion again, at least until we move house again!...
Until next time,
- Team NovaDawn Studios