A good combination of 2D and 3D
support
Most engines
that are currently available have good 2D or 3D support but rarely both. Unreal
has great 3D graphics but is known for being less than ideal for 2D games.
Godot has great 2D support but has a reputation for slow 3D rendering. My
current game is what I would describe as 2.5D, it uses 3D graphics in
combination with 2D animations for certain effects.
Build times
Unreal
engine takes around 1.5 hours to build from scratch. This is a productivity
killer. My own engine takes 2 minutes. Surfing the web as my engine builds is
something that is very short lived.
Install space
The source
version of Unreal engine takes up 50 GB of hard drive space. Unity takes up 11 GB.
My engine takes up only 28 MB.
No monthly fee or revenue
share
The most
popular paid version of Unity is $150 a month. If one were to switch to another
engine, the investment is essentially lost because you can’t carry any of the
money you have spent or experienced you have gained with it forward. Another
thing to consider is the possible eradication of the free version. Unity is
scheduled to go public this year (2020) and there is a possibility that they
will be curtailing free versions to generate more profits for shareholders.
Epic take
a 5% revenue share if your game generates $1 Million or more. I prefer this to
Unity’s business model since it does not penalize poor developers.
As the proprietor
of my own engine I don’t have to worry about either of these costs but I do pay
in regards to the time it takes to implement features they have as a given.
Source code access and bugs
Both Unreal
and Unity allow source code access. However, this is not equivalent to having
access to your own game engine’s source code. When you make changes to Unreal you must merge them with the code from the latest release. This
makes maintenance more time consuming and dissuades you from making changes in the
first place. Bug fixing can become redundant since Epic can fix bugs in future builds so sometimes you are stuck waiting for certain features to work properly.
Independence
I don’t
have to worry about the company who owns the engine I use being bought out for
exclusive use by a big publisher or triple A developer. I can’t be blindsided
by an extra $50 a month charge for mixed reality support.
In built expertise and
technical support
As the
creator, I have omniscient knowledge of my engine. I don’t need technical support
or tutorials.
Bespoke and optimized
My engine
suits my needs, there is no extraneous code, which is why it is so small
compared to commercial ones.
I have written
an engine that is optimized for my use case, the more general an engine is the
more use cases it can support but at a cost in performance, which is why the
most technically impressive games usually come from studios who write their
own, such as Id and Naughty dog.
Cross platform support
This is
the biggest weakness of my engine especially when compared to commercial ones. I
can deal with this in 2 ways. Either write support for every other platform
myself or use contract programmers to do it for me. I think I would like to
write support for one platform aside from PC to ensure the cross-platform abstraction
is implemented robustly.
Features
Some features are very difficult to develop, such as a bone based animation system. Unity and Unreal support features like this out the box.
Overall I prefer my own engine and I will continually to use it for as long as I feel it is more beneficial for my company.