Unity 3D

In the last days I’ve been using Unity3D. Unity3D is a electronic games engine. It has been developed by some years, but in the last years a free version, with some limited features, was made available.

Now, why am I, somebody who likes to write real code, playing with this kind of software, where most of the work is done by the mouse?

Sometimes we have to do things that we do not like, or we aren’t ready to. And in this case, I was chosen to teach a course on Applied Game Development, and IPCA, in the second year of the graduation students of a Game Engineering Degree.

What can I say on Unity3D? Well, first of all it is an IDE merged with a graphical editor, where you can prepare your scenes. Then, you can script your scenes with three different languages, C#, JavaScript or Boo, a Python dialect. In fact, JavaScript isn’t JavaScript (it is a JavaScript dialect) and I wonder whether C# is really C#. Any way, you can script different parts of your game in any language. This is just great.

Then, your code will run in Mono. Yes, Mono is the OSS .net implementation, that was started by Miguel de Icaza (as far as I can remember). I am sincere, never though it would be being used as it is in so few years.

One of the great things on Unity is the ability to, with some plugins, export (or build) your game for a variety of platforms, ranging from the top console market (Wii, XBox, PS3) to the top mobile market (iOS and Android) passing by the major PC architectures/operating systems, and touching the Web.

At the present moment I am having some fun with Unity. I am just sorry there isn’t any academic program where the students (and teachers) would be able to use the Pro version with a lower price (current Pro license is $3000, too much for a public Portuguese academic institution).