Wednesday, December 12, 2007

Unity, Day 2

Searching for the Unity equivalent of Virtool's "Set Active Camera", I found the weblog of Dominique Boutin at http://www.boutin.info/. Like myself, Dom appears to be new to Unity coming from Virtools. I have been working heavily with Virtools for about a year and a half because it is used in the Game Design Program at George Brown College.



I enjoyed working with Virtools and was able to publish some attention-getting games. There are a couple of reasons I am migrating to Unity. As an independent developer, Unity's $1500 Pro entry point is ten times cheaper than Virtools $15000 Commercial+Physics license. Gamers love shaders, particles and effects. Virtools has extensive shader support, but after a year and a half I am not convinced its shader support is as strong as Unity's. The "have to buy a Mac" factor is a bit of an obstacle, until you start customizing your Mac computing environment in was Windows makes thoroughly impossible. Plus, I have always been a fan of Unix. What makes it wall click though is Mono: .NET development on Unix/Linux has lead to even further cross platform development.

Dom says, "I'll blog about my experiences with Unity - especially from a Virtools Users perspective - while I learn and think about it, "
and wonders how Unity rates with regard to, �Windows .Exe deployment, custom plug-in using C++�

In evaluating Unity for my company, we had to get it to work with a custom DLL that our product uses. Unity passed the test of making function calls from a C# script to our custom C++ DLL. I am now able to make function calls from a JavaScript script that calls the functions from the C# �script� that have been mapped to the functions in the C++ DLL. All of this is to get data from an optical sensor system that tracks the movement of a real golf ball or a real football around the game area. (For details, see http://www.visualsportssys.com) Even though the DLL was compiled for an x86 machine and was not recognized by the MacOS, we were able to develop the test app on the Unity Mac, then deploy it on a PC, and have it successfully call the DLL.

"I finally started to learn Unity3D after having observed it from distance over a couple of years now. Something I've done and I am still doing for many real-time technologies like i.e. Ogre3D, Shiva3D, DxStudio, Visual3D, Blade3D, Quest3D etc. etc."

I am interested to see other developer's observations regarding Unity; especially how they adapt to the straight-ahead scripting (if you compile a script, isn't that a program???) environment compared with the Schematic approach (behaviour graphs and building blocks) employed by Virtools. Dominic has provided a short list of real-time dev platforms comperable to Virtools. I will have to round-out my education by getting some baseline familiarity with each of those. Personally, I have a background in Web development, so JavaScript and Boo (Python) are not a hurtle for me; but they are to many of my designer friends.

- Shannon

No comments: