Archive for June, 2012

Just starting out, one of the first choices to make was what platform to use. At the time, the two leading platforms that seemed to make the most sense from a cost and capabilities perspective were Unity3D and Garage Games’ Torque.  Both were evaluated but in the end, Unity seemed the best choice.

Don’t get me wrong – there are a lot of things to like about Torque! But in the end, Unity’s use of a standard scripting language and its more object oriented environment tilted the decision towards Unity.

A bit earlier in life, I did quite a bit of programming in the Zope content management system environment. For sure, it’s Python- rather than C#-based but the scheme is the same: your scripts become part of the system. That’s one of the coolest things about Unity – you have direct access to an immense API, and to any plugins or third-party scripts.

And getting started and not knowing this API, I used a great visual programming system called PlayMaker to develop a (somewhat annoying) game just to get myself started. Eventually I reached a point where I understood the API enough that I left that behind. Again, not denigrating PlayMaker at all but it’s fairly easy for me to do coding and its easier to document code than visual programming diagrams.

GUI programming for Unity is annoying because unlike programming for Windows or Mac there are no dialog boxes, buttons, or anything at all. There is a built-in primitive GUI system in Unity but I found two products called EZ-GUI and Sprite Manager 2. These are rich and deep libraries that take a bit of time to master but hey – it would be a year’s work for me and they only cost a few hundred simoleons.

These sort of third-party tools and Unity’s Asset Store make me feel like the correct choice was made to use Unity.

In later posts I’m going to get into Unity some more and talk about EZ GUI and SM2.