This crazy idea of bringing interactive functionality to every piece of the world is at the heart of everything I've ever dreamed of seeing in the world. I've been a software engineer by profession for a long time and now that I'm on to bigger and better things, I have to decide how to best use the skills that I have. With all of the C# experience I have, it's going to be wise for me to build this thing using .NET as the back end.
But what do I use as the piece that people will interface with? I've known for a long time that there needs to be a server that runs the show and keeps track of thousands of adventures happening all over the world at the same time, but what is the part that people directly use? Since the development of mobile technologies took over the world, it just makes sense to convert peoples' mobile devices into keys into the system. An app that can track users locations, use the camera to reveal clues in the real world using augmented reality and hundreds of other little tricks is the perfect way to do this.
After trying a few different gaming platforms and looking into Xamarin for .NET, I've realized that Unity is going to be the best way to get the functionality I need and be able to export this client app on several platforms with just one code base. What do I mean? You can build and app or game in Unity and export it to Android devices, iPhones, Windows devices and so much more.
Unity is going to make it much easier to use mapping features where players will be able to view a map on their phone and see where they are at in the real world, along with other characters and clues that are around them, much like the beloved Pokemon Go game.
There has been a learning curve with Unity, but after building the Monster Hunt app, I think I've got a handle on this. It's so much more complex than other gaming platforms, but that also means that it can do more and is more flexible. At this point, for such a large and ambitious endeavor, I'm grateful that Unity even exists. I can't imagine creating a gaming engine from scratch.