Game Development Tools: Unity

You may know that I got into game development a couple of years ago. Since then, I've noticed that those who are new to game development have troubles choosing what game engine to use. I plan on continuing a series of articles related to game making tools, to give a broad idea of what tools are out there. Keep in mind these are not actual reviews (just overviews), and that I will not go deep into all the different engines because that would require deeper knowledge of the different tools.

This time I will talk a little about Unity. Right off the bat, I have to say you should keep an eye on Unity because it has grown from a small Mac and Web only engine, to a powerful AAA-capable multiplatform engine. As of today, Unity can build games for PC, Mac, Linux, Consoles (Sony, Xbox and Nintendo platforms), Web, iOS, Blackberry and Android.

 

In Unity, you can use 3 different programming languages, JavaScript, C# or Boo, so if you are keen on any of those you know you won’t be having problems coding in Unity. According to my experience, you can even combine scripting languages in a project (for example, you could use JS to define a camera behavior while using C# for your character controller), although some advice not to do that.

Scripting in Unity has a very nice feature: variables can be linked to actual objects in your level. This means you don’t need to call the objects in your level via code, and also scripts are reusable. For example, if you write a script that opens a door when you touch a trigger, you apply the script to a trigger and link the door to your script, and then you can use the same script on a different trigger and link its corresponding door to that trigger. You won’t have to write a script for each trigger or each door, you just need to link the correct objects to the scripts.

 

Unity should be compatible with any 3D application, since it supports the industry-standard FBX format. Unlike UDK, Unity doesn’t have a centralized asset manager, so asset libraries are stored per-project (on a side note, a single Unity install is better suited for a multi-project environment). However, you can easily import external asset libraries to use them in your projects, in case you have stored different libraries.

Graphically, Unity is capable of producing very high quality graphics, and now supports the DirectX 11 API. Obviously, if you want to develop games supporting DX11, you'll need a DX11-capable video card (personally, I don’t like the idea of DX11-only games, since there are surely gamers who haven’t upgraded their cards). It also supports particle effects and full-screen effects.

What I’d consider the “killer feature” in Unity is not even part of its inner workings. Unity includes the Asset Store, where you can find props, scripts, and even modules that extend functionality of Unity. There you can also find full projects that can be used as a learning resource or a template to start a new game (obviously, this will depend on the license specified in each case).

As I said, in the Asset Store you can find modules that can extend the functionality of the core engine and make your life easier. There you can find shader editors, UI editors, visual scripting modules, 2D game modules and sprite managers, and so on. On one side, it’s amazing to have all these extensions and modules at your disposal, and it’s also nice to see how active the Unity community is. Extensions are also a good workaround to what some may consider limitations in Unity. For example, if you are mostly a fan of visual scripting tools (like Kismet in UDK), you will find that having to set everything up in Unity via code is a turn off (especially when it’s something as simple as opening a door or making a flickering light). In cases like this, being able to buy a visual scripting extension is a very good option (although not as good as having your own native visual scripting tool built inside Unity).

 

 

Unity licensing is also very indie-friendly. There’s a free version that you can use to develop and sell your games (yes, you can use the free version to make commercial games), and when you think it’s the right time, you can move to Unity Pro, which costs $1500. On top of that, you don’t have to pay royalties after you hit a certain amount of revenue. You can also get the “pro” versions of mobile exporters ($1500 per mobile platform). I have left console licensing out because that’s something most developers won’t find useful (those interested in console development can contact Unity directly). I would advise not to focus too much on the differences between Unity free and Unity Pro, because in most cases you will be able to develop a game around those limitations. For this reason, Unity can be a very convenient solution for startups.

For more information, be sure to visit the Unity website.

Also check out Sergio's other Game Development articles:


Sergio Aris Rosa [nemirc], is Sr. Staff Writer for the Renderosity Front Page News. Sergio discusses on computer graphics software, animation techniques, and technology. He also hosts interviews with professionals in the animation and cinematography fields. You can follow him on Twitter, and if you want to see what he's up to you can visit his blog.

 

 

 


October 28, 2013

Please note: If you find the color of the text hard to read, please click on "Printer-friendly" and black text will appear on a white background.

Create your masterpieces with products from the Renderosity MarketPlace
Check out What's on Sale and see the Hot New Products for more items!

Please take a moment to join Renderosity's Newsletter List to receive news and information from Renderosity!



Powered by Bondware
Newspaper Software | Email Marketing Tools | E-Commerce Marketplace