Technology

Development in the form of very early prototypes started out using Cordova/Ionic in that this is a mobile game, but the weaknesses inherent in a hybrid app for a game, where immediate UI responsiveness is a must, the density of logic on the client-side pretty much ruled out that as a platform. The next stop, this past winter was exploring React Native, which is much "closer" to the device (in that React Native isn't running in a web view) but there just are too many gaps in features especially with respect to mapping and close integration with geolocation services which is the core of ZONE. Lastly TypeScript just, for me, is just uncomfortable. I'm quite adept with JavaScript and have been using Angular 1.x for 5+ years, but TypeScript just did not strike a chord with me.

So where does that leave us? Swift? Objective-C? Java? Well I love Swift, and I've been a Java developer for going on 17 years, but the idea of having to maintain two code bases for each version of the game (iOS and Android) is not terribly appealing.

I learned about Unity about a year ago, and was fascinating with the idea that there was this whole self-contained environment specifically designed for game development, and bonus! You can compile your games for iOS and Android. And oh yeah, you have a massive community to keep you from hitting too many walls and the learning C# has been quite a lot of fun, and I'm completely in love with Visual Studio Code.

I've settled on Unity as the environment using C# to develop this game and that decision has been, so far, a good one. Once you start thinking in the "Unity way," which i'm still getting there, does make a lot of sense for games. I'm not anywhere near a Unity expert, still learning how everything works, how to get all of the pieces of the puzzle to fit together without jamming it all together... with a hammer.