I’ve spent the weekend integrating the libgdx RoboVM backend into our build as well as the setup-ui. I’m happy to report that both tasks have been completed! If you want to give it a spin, here’s what you need to do:
- Get a Mac, you can only develop for iOS with a Mac. This also includes getting a developer certificate from Apple if you want to test on a device. Sorry, blame Apple
- Install the necessary prerequisits. For RoboVM that means installing an Eclipse plugin, from this plugin URL: http://download.robovm.org/eclipse/ and installing XCode on your Mac. That’s it!
- Download the setup-ui JAR, run it (double click), and create a new libgdx project, using the nightlies (click the button with the “N” on it to download the nightlies in the setup-ui)
- Fire up Eclipse, and import all the projects. This will include the xxx-robovm project
- To run things on the simulator, right click the RoboVM project, and select
Run As -> iOS Simulator App. To run on a connected device, select
Run As -> iOS Device Appinstead. Note that you have to provision your device first
The setup-ui will also generate a Xamarin based project, which you can delete or ignore. As stated earlier, we’ll include the Xamarin backend in 0.9.9, so generating both a RoboVM and Xamarin project via the setup-ui was the most sensible option at this point.
A couple of folks have already started porting their games from the Xamarin backend to the RoboVM backend. Among them is Christoph Aschwanden, head of Noble Master Games. Here’s the result:
His game “Demise of Nations: Rome” runs flawlessly. More importantly, it runs faster with RoboVM than with the Xamarin backend!. This is due to Niklas adding quite a few optimization to the latest RoboVM release, including more intelligent virtual method dispatch and enabling LLVM optimizations. I will setup a microbenchmark suite to get a feel for where the most time is spent. But having Christoph’s game as a comparative benchmark is already pretty amazing!
Also, Niklas added audio to the libgdx RoboVM backend. We still lack finegrained controll over individual sounds, but i’ll try to get that in as soon as possible so we have feature parity with the other backends.
I update the Wiki with information on the RoboVM backend. I’ll redo the setup video this weekend as well, and add a wiki article explaining RoboVM configuration files (similar to Android’s AndroidManifest.xml). Niklas is working on getting IPA creation to work, so folks can submit to the App Store.
We are in the process of doing some bugfixing and feature completion on the RoboVM backend at the moment, so it’s ready for the 0.9.9 release. Stay tuned for more info!