After seeing how so many people are picking up game engines like Unity 3D and Unreal Engine for their smaller scale game projects, I decide to do a little more research on what would be required to use one for an upcoming game idea of mine.
I chose Unity 3D to start with and downloaded the free version, and was able to run the editor tool and start playing with it pretty quickly. The interface was closer to something like 3DSMax or Blender in that content creation seemed to be top priority, with behavior and the programming parts secondary. On top of this, I was surprised that Objective-C wasn’t supported natively, though there was some sort of way to bridge this language and use it together with Unity.
Wondering how I could develop a platform specific (iOS in my case) game with the engine, I found there is a separate set of APIs which mirror those on the platform, and you actually generate a XCode project with the relevant files, and use that when you submit to the App Store.
This entire process was completely the reverse of what I am used to, making a project in XCode and just importing libraries as needed.
After some consideration, I decided to put Unity 3D on hold since it would require such a major shift in development style. Clearly, if I want to make a high quality 3D game an engine like this is necessarily, and there is also the extra advantage that I can easily port it to other platforms. However, the game I have in mind can probably be done pretty well in basic 2D, so I tentatively decided to prototype it first in the simplest possible way.
One of the reasons I made this decision is because my time budget is pretty tight. Had I been back in college when I had much more free time, it might have made more sense to just spend a few solid weeks learning Unity 3D. But for my current situation, I am not sure if that is worth my time. Also, I generally like to focus on writing gameplay and AI, with less of an emphasis on visuals, so I try to plan things so I can spend the most of my time on these elements.
While it’s true that many games these days decide to use a 3D engine just to look cool or extra realistic even when the gameplay doesn’t require it (ex: Smash Brothers), in my case I am not sure if the extra time to use 3D is worth it.