In a previous post, I built a skeleton Android app that I intended to use as a starting point to develop a simple hacker trivia game as an Android coding exercise. After some research into the various game development engines and libraries my ambitions have grown and I’m now planning on developing a cross platform 3d game using Unity.
I looked quickly into AndEngine, Citrus, libgdx, and others but in the end I decided to choose between Unity and Unreal Engine. Both Unity and Unreal met my main requirements including cross platform support, excellent documentation, stores or marketplaces for purchasing assets, and a very strong likelihood that they will be actively developed and supported for years.
I started working with Unity first. Unity was easy to install and there are a lot of video tutorials on the Unity site and on YouTube. I went through the Space Shooter video tutorials and had a game up and running quickly. The biggest challenge seems to be learning to use the Unity development environment and learning the Unity game development concepts. The small amount of coding that was required was in written C# using MonoDevelop and easy to understand.
I liked Unity but I figured I should give the Unreal Engine a try. After signing up for an account, I installed the Epic Launcher. From the Epic Launcher I installed the Unreal Engine and then quit for the day. The next day when I tried to start the Epic Launcher I had to wait for it to update. After it updated there was another 4 gig update for a new version of the Unreal Engine. At this point I gave up and decided to browse the documentation for a while before spending any additional time in an endless update loop.
In the end, I chose Unity because it was easier to get started with and I prefer to code in C# in Unity over using Blueprints or coding in C++ in Unreal. I’m currently brainstorming ideas for my game and working through the Unity video tutorials. I will post a demo using the Unity Web Player as soon as I have something that is playable.