Evaluating Unity: questions

I’m evaluating Unity as a possible engine for my team’s next game. We’re working on a single-player or small-party multiplayer (not MMO) role playing game which is probably closer to Oblivion than to anything else currently on the market. In the past we’ve used toolkits based around BioWare’s Aurora engine, both the original Aurora Toolkit and the D’Jinni toolkit released with CDPR’s The Witcher.

Obviously, these are much higher level toolkits than Unity, and the reason we’re looking at things like Unity is because we find they constrain us too much. We’re quite prepared to have to build some of the tools we need.

However, at the same time other people must have needed some of the same things we need, specifically:

Waypoints and actionpoints, or something equivalent, to allow specification of NPC behaviour;

NPC conversation; a framework for character models capable of facial animation, and to engage in scripted conversations with one another and with player characters;

Related to that, a conversation editor (although since it’s almost certain one would want to have conversations in an XML format of some kind, any decent XML editor would do);

A high-level plot editor. While D’Jinni has a lot of faults, its ‘quest editor’ really is extremely good, making it very easy to describe plots at high level. Again, we will probably use some XML dialect to describe high-level plots, but if someone had a visual plot editor which integrated with Unity we’d be very interested.

The Islands demo shows quite a large land area, but we want to build a much larger land area, probably using a background loading scheme to load in new content ahead of the player as he moves. Has anyone done this sort of thing in Unity? Is there a library available?

Related to that is procedural forest. The Islands demo shows what appears to be a hand-modelled forest, with individual tree models individually placed. On larger land areas hand modelled vegetation becomes infeasible - it’s too much work and the data volume gets out of hand (although that’s getting less of a problem these days). Also, in the Islands demo it’s clear that there are only about a couple of dozen plant models used altogether and the player quickly comes to recognise them and see the repetition.

So I’m hoping to use at least procedural forests and vegetation, and possibly procedural settlements as well, at least away from ‘main plot event’ areas. Again, has anyone done this with Unity? Anyone used XFrog with Unity?

Finally, there’s a point I need to clarify about Unity licensing. We’re an amateur team. This project might take us professional, but realistically it probably won’t. So we want to be able to have the choice whether to sell what we build or give it away for free. Will Unity allow us to give the game away for free, or is there a per-copy royalty?

As far as the selling/giving away fro free, AFAIK, you can create an many games as your want and either give them away for free or sell them with no royalties with both the indie and pro license (the indie just has more restrictions to features and temporary watermarks when loading the game).

No royalties of any kind on the desktop or iPhone versions (can’t speak about the Wii, since I haven’t looked at it). Several people give their games away, and some - like ourselves and others - even give source code away.

As for your other requirements:

  • Pathfinding and NPC behavior are covered by AngryAnt. I’ve written some tutorials on behavior trees myself (you can start here) and used both on client projects. They’re stable and feature full, with Path being more polished than Behave.

  • Somebody else made available a project that contains NPC conversation logic, but I haven’t looked at the source myself.

Perhaps others can comment on your other requirements. Best,

No, all the trees and detail objects are painted on with the terrain tool. These are generated on the fly and use a minimal amount of data. Granted that even painting these on would still be somewhat labor-intensive for truly huge areas, procedural placement would be possible–Unity’s terrain tools are made in Unity–although the APIs aren’t currently public. Which doesn’t mean you can’t use them, but if/when they change, you have to deal with it.

Everything else you mentioned can be done, though there aren’t any built-in tools for those. The hardest would probably be facial animation since Unity doesn’t do morph targets with its animation system.

–Eric

What folk were saying about a helpful user community clearly was right!

I’m having difficulty getting to the AngryAnt website. Is this just a temporary blip, or is the Behaviour and Path stuff now orphaned?

Edited to add:
My summary of my initial evaluation of Unity is here.

No definitely not orphaned as you will find out on the showcase board

But potentially not available due to the version switch.
Both (Path and Behave) can be found on the showcase board

Temporary blip, I would imagine (the site is working for me, so it may be a routing issue). Path 1.0 just got released, and it’s a significant improvement over the beta versions, and I understand an updated Behave is next on AngryAnt’s plate.

Two corrections on your article: the modeling tool is called just “Blender”, not “The Blender”, and AngryAnt’s tools are not open source.

Best,

Thanks, noted.