In the hours following the news of Shiva’s (temporary?) demise, I purchased a copy of the Indie version of the Android compiler for Unity. I already knew that it would be suitable for what I wanted to do, so it wasn’t really a leap of faith. The only real concern I had was how long it would take me to get up to speed.
It did take a few hours to wrap my head around the way scripting works in Unity, and although it does work, I find it a bit untidy. Because of Unity’s strict object-oriented design, everything in a scene is derived from a basic object, which then has numerous scripts attached to it, to grant it the properties and methods that define it. Shiva’s approach is to uniquely define the properties of every type of game object, and then provide a collection of functions to manipulate it.
While I find the structure messy, I can see the benefits of doing it Unity’s way – in particular, with 3rd party plugins. The standard objects that Unity provides can easily be enhanced simply by attaching scripts defining new methods and properties.
Speaking of plugins, Unity has lots of them, and many are high quality. Shiva belatedly acquired an asset store late last year, but due to the smaller community there hasn’t been many plugins added, and potentially useful plugins are largely API wrappers for iOS.
Besides the smaller user base, I suspect Shiva’s biggest issue is that the plugin structure isn’t very flexible. It’s not straightforward to integrate with Shiva’s API, especially trying to call back to the game API from a plugin. Plugins also have to be written in native code, not Shiva’s scripting language, which makes it hard for anyone who only knows Lua.
I started off browsing through Unity’s asset store, and despite tremendous willpower, my cart was repeatedly loaded up with the following add-ons:
- NGUI: like Shiva, Unity’s default GUI needs some love. I’d written an elaborate GUI layout tool that used XML files for my Shiva apps and I didn’t want to go through that again. I’ve read that Unity will be getting an improved UI system, but since it’s not happening this week (or on any specific date), I’m going with NGUI. I doubt learning it will be wasted time, because Unity’s solution should be similar as they are both being created by the same developer.
- Playmaker: Increased productivity through code avoidance. I had a bit of play with it today, and I can see that it could be very useful in many situations, especially prototyping.
- Easy Touch 2.5: A package to handle touch gestures. It was only $20 and included a joystick which was a pain to setup in Shiva the first time I did it. I may still buy FingerGestures though, because it supports Playmaker, assuming I become a Playmaker disciple like so many others. One day perhaps, Unity might be considered an essential add-on for Playmaker?
- Localization Package: An efficiently titled, simple method for handling basic app localisation. I’d actually written something similar to this for Shiva too.
- Multi-platform Toolkit: Very important, and yet again, something I’d crudely implemented into my Shiva apps.
- 2D Toolkit: Sprites! Another module I’d written for Shiva. I gave up on my sprites because Shiva hasn’t yet been given the ability to directly call functions in one script from another. Everything has to go through events, which are slow. This meant that in order to implement sprites, I’d either have had to write a plugin in native code, or copy all the sprite functions into the scripts that needed access to them, resulting in code duplication and maintenance issues. Couldn’t be bothered.
- Rage Suite: After I’d bought 2D toolkit, I found out about this gem. 2D vector sprites, similar in style to Flash. I ended up buying the full pack, including Rage Spline and its add-ons, because I wanted the SVG importer which is going to save me a lot of messing around.
- Edy’s Vehicle Physics: I bought this out of curiosity. The last thing I’d played with on Shiva was the vehicle physics demo that is supplied in the samples. Shiva’s version works, but would need a lot of work to bring it up to the standard of Edy’s, which also runs surprisingly well on mobile devices.
I started writing this as a comparison of Unity and Shiva, and it’s turned into a quick review of some of Unity’s 3rd party plugins.
At the end of the day, both Shiva and Unity do the same job. A Unity game might look more professional because of its shader support, but Shiva is easier for a novice programmer to learn, and it has better cross-platform support.
What really sets these apart are the 3rd party plugins, of which Unity has far more of far higher quality, thanks to the way it’s implemented and the larger user base.
In total, I’ve probably spent $500 over the past few days of testing. For that money, based on my experience, I’m convinced that I’m going to save myself many, many months of my time, which is incredibly important because the software industry moves so fast and I’m just a team of one.









Barnes and Noble’s Microsoft deal is a mistake
I read with alarm the news today that Microsoft was making an investment in Barnes and Noble and the ridiculous patent lawsuits were going away.
This news is of particular interest to me because I found out a few days ago that B&N finally decided to allow non-US developers to release apps on Nook back in November last year. I signed up to their developer program and was investigating the implications of getting a US tax id, which is the method that B&N use to allow foreign developers to sell apps.
With the news of the Microsoft deal, I now wonder if it’s worth bothering.
I am unaware of any company that has accepted a significant joint-venture type investment from Microsoft that hasn’t ended up being ransacked or trashed because of it.
Two recent examples include the stealth takeover of Nokia and Yahoo, both of which have been crippled by business decisions that have been made after “former” Microsoft execs entered their respective boards. Yahoo continues to lose market share to Bing after their board decided to shut down the search engine R&D department following a Microsoft investment, while we all know about Stephen Elop’s bizarre decision to publicly trash Nokia’s major bread-winner in his infamous burning platform memo.
Given Microsoft’s history, I have to wonder how long it will be before we hear that Microsoft execs have begun taking up positions on B&N’s board, followed by a decision to drop Android and switch to Windows 8 for ARM.
I believe the real winner from this deal will be Amazon because Microsoft’s self-interest will not do B&N’s business any good at all.