One of the biggest challenges for developers these days is cross platform development. With literally hundreds of programming languages to choose from and perhaps as many Intergraded Development Environments (IDE), developing games and applications for multiple platforms can be a large undertaking. Such were the challenges for Halfbrick studios when developing popular apps such as Fruit Ninja and Jetpack Joyride. Applications from Halfbrick are primarily written in C++. However, with iOS apps being written with Swift (an update from Objective-C) and Android apps with Java, the company was forced to find workarounds to develop for all three. Thankfully, for Halfbrick Visual Studio 2015 was released.
Initially, Halfbrick was using Visual Studio 2010 as their main IDE, which, unfortunately, did not include cross-platform development. Since Halfbrick wanted to prioritize developing apps for Android, it was then forced to create makefiles of their code and use a separate IDE to compile the app. In short, each time Halfbrick needed to debug (run their program to search for errors) it had to port their current build (the app as it is at that moment) back and forth between the different programs.
Since this process was extremely tedious, Halfbrick wrote an extension for Visual Studio, building their debugger to streamline the process.
Because Android development was our highest priority, we decided to write a Visual Studio debugger extension for Android. Again, information was scarce, and it was a big engineering task, taking three effort-months.
Overall, the company was able to work with Visual Studio 2010’s shortcomings and has been relatively successful in their mobile endeavors. However, with the recent release of Visual Studio 2015, Halfbrick no longer has to work with multiple IDE and instead can program with just one. This is especially crucial when developing for iOS that previously could only be compiled on a Mac device using Xcode. Essentially, Halfbrick can write programs in multiple programming languages within Visual Studio with the ability to compile the app, debug, and even deploy them on multiple platforms.
The new memory profiling tool has also been very helpful for finding memory leaks. Previously, we had to write our own tool and write an external program to process the memory traces. Now it all works natively within Visual Studio—and it’s fast. If you haven’t tried it out already, consider this our invitation!
Overall, Halfbrick has found a one-size-fits-all solution with Visual Studio 2015. Not only does it allow them to code for multiple platforms, it allows them to do so in a single IDE without having to write their own extensions for Android of iOS. The improvements Microsoft has made now allows Halfbrick to focus on the development of their products as opposed to developing software to make their products.