Evaluating Unity

Hi there!

We are evaluating different game engines and so I have a few questions on Unity. Development won’t start until fall so if you can please answer the questions with Unity 2.0 in mind.

We have a lot of knowledge (and investment) in Macromedia Director but the platform clearly is going nowhere, thus our search for a replacement. We don’t need a general multimedia platform/engine, we only want to create games with it.

  • From the website it seems like Unity’s main focus are 3D games with a previously created world or levels. How flexible is Unity? Could you make something completely different with it?

  • Could you make a 2D platformer with it? Or could you make it 3D but only move the objects on a 2D plane? Would the physics engine work with this? Could you render the camera without any perspective distortion so it appears 2D?

  • Could you create your 3D world form code? In case the game doesn’t work with a prebuilt level could you generate one? I ask this because this way the world could be really large and different every time.

  • How about sound? Can you play several samples just by code? Can you control them individually? Could you create a simple mixer with Unity? Can you change the pitch of a sample? When looping several samples over a long time how is the timing? Do they drift apart like they would in Macromedia Flash?

  • How about video? Does the end-user need Apple’s Quicktime installed? What codecs and bitrates are supported? How is performance with several videos?

  • How about joysticks? Or gamepads? Or Wacom tablets?

  • How are assets stored in the game? I guess they are in the application bundle, right? Are they stored as the plain files (bad) or as some sort of compiled file as in Director’s .dir files (good, due to copyrights with music etc.)?

  • Do we need the Mono framework in the application bundle even if we don’t code C#?

We know Director by heart so if you know about a comparison somewhere on the web this would really help us a lot. My questions are rather broad because we don’t have a real spec by now and because I want to know about the general possibilities with Unity. Also I believe you guys that Unity is a powerful engine so I’m more interested in its shortcomings or weak points.

  • Could you do Tetris with Unity? Would you do this just with code or with the inbuilt behaviours/objects?

  • Same questions for Rez (the music game for Dreamcast and Playstation).

  • Same questions for a pure 2D platformer like Mario Brothers. Or like LocoRoco for the Playstation Portable.

  • Would you do Indigo Prophesy (Fahrenheit in Europe) with Unity? Or other story drive adventure games like Monkey Island or Silent Hill.

  • Could you make something like Tower Of Goo? Would the physics engine work with this?

Sorry for rambling on for so long. We really consider Unity for our next project (rather large) and I read everything on this website but we need to know more about it.

Thanks for your help!
John.

Yes, it is completely flexible.

Yes, with the possible exception that in certain cases, constraining the physics engine to a 2D plane can result in erratic behavior. However, if there are no forces that want to move an object on the third axis, it works in all cases. This was done with the physics engine working completely in 2D (the models are all 3D, but could have been sprites had I been so inclined). It’s also rendered with an orthographic camera so there is no perspective distortion.

Yes.

Yes, although I have no experience with looping several samples over a long time in order to determine the timing so I can’t answer that.

Currently video is primarily limited to a Pro-only Quicktime plugin. The 2.0 preview says that there will be improvements in that area, although it also says that it will still be Pro-only.

Yes.

Yes, they are stored in the application bundle, not as plain files.

Everything is included in the run-time.

I did this in a couple of hours or so. All game logic in Unity is done with code. This means that virtually any kind of game is possible. Unity handles the arcane stuff like 3D rendering and i/o and physics and so on, so you just concentrate on creating assets and writing game logic.

–Eric

Welcome aboard.

Not sure what you mean by “completely different”, but Unity is not tied to any particular game genre. You can make Tetris or card game as well as a First Person Shooter. Actually, it does not have to be a game at all, some clients are using Unity for abstract visualizations and so on.

Any of these options. Unity itself is “3D”, so if you want a 2D look, you either use orthographic camera and move the objects on a flat plane, or use GUI functionality to draw 2D stuff, etc.

Sure. You can build Prefabs and instantiate them at runtime based on whatever you like (a random level, or a level controlled by some text file, etc.). Prefabs are a really powerful feature - you can pre-configure an object of any complexity in the editor (complete with hierarchy, meshes, textures, animations, physics setup, scripts) and then just instantiate them at will.

You can create fully procedural meshes or textures as well.

Yes, yes, yes and yes. From code you use AudioSource class to play sounds and control them (each playing sound is separate AudioSource object). From there you can change pitch, volume and whatnot at runtime.

(Video is upcoming 2.0 feature). No, Quicktime is not required. When importing a video file, Unity converts that into internal format with a bitrate you specify. Performance largely depends on the size of the video (i.e. you probably don’t want to be playing a lot of 800x600 cutscene videos at the same time).

Joysticks and gamepads: yes. Wacom tablets - I’m not sure, never tried it myself.

All assets are packed into a custom binary representation, and stored as several files inside the built game. When building a web player, a single compressed file is produced. So yes, it’s pretty hard to extract the assets from the file (and most of them are not stored with full source info… e.g. a Photoshop texture is surely not stored with layers internally - it’s stored in hardware friendly format, with mip-maps, etc.).

Generally, you need everything that is inside the game built by Unity. We do include a stripped down Mono framework/dll that is required to run the game (it is the Mono .NET runtime only and the core libraries, i.e. there is no C# compiler or ASP.NET runtime inside the game you build). The same .NET runtime is used by all languages in Unity (JavaScript, C#, Boo).

Gee, I mentioned Tetris above before reading up to this point!

Yes, of course you can do Tetris. From the built-in objects you’d most certainly use the Cube at least :slight_smile: And then the game logic you’d have to build yourself, Unity does not come with a Tetris component inside.

Yes. As an example, one entry in 3DU contest, Parallel Destiny, draws some inspiration from Rez (though it’s not as much of a music game). (gallery, demo and a followup game in development: Project Subdivision).

Yes.

Yes! Mmm, Monkey Island… memories… :slight_smile:

That would probably be easier to do manually. There’s no reason why you couldn’t use built-in physics for Tower Of Goo (via spring joints I guess), but that physics is 2D and a bit specific. Just like cloth simulation (webplayer link) can be implemented purely in code, so can be Tower Of Goo. Unity’s scripting is really fast.

You’re welcome!

Edit: I see that Eric5h5 has answered while I was typing in my answer. Well, the more answers the better!

I just tried to delete my post in favor of your more thorough reply, but it won’t let me. :wink:

Suffice it to say that Unity is completely great and the answer to the question of “should I buy it” is YES!! :slight_smile:

–Eric

Wow, thank you for your quick and thorough answers!!

In case anyone here works (or did work) with Director, I’m interested in comparing it to Unity. Anything else is answered, I guess. :slight_smile:

Cheers, John.

I think there are a lot of ex director users here. One might pop in shortly…

I use to use Director. And I have converted a couple of my Director kiosk based interactives to unity (or mostly) as I did them internally for testing purposes. Overall, I would say that Unity and Director have a similar work flow. That is you bring in assets created externally and then add scripts/behaviours to them. But Unity’s work flow is a lot faster… once you get use to it. Another thing is that Unity’s web plugin is smaller, faster and works natively on Intel Macs. Also like Flash, Unity’s webplayer can now talk to it’s hosting web page which opens up a lot of potential that Flash and Shockwave had the edge on beforehand.

For purely realtime things with basic 2d based interfaces (apparently this will change in 2.0) Unity does kick Director’s butt. Unity’s physics engine is faster then Havok’s imho. Unity plays nice with several leading 3d apps… unlike Director… best way to get content into Director was with Plasma or 3D Max… Lightwave and Maya was a close second… on the PC platform that is! :wink:
Unity and Photoshop play real nice…

I’m happy to answer and specific Director/Unity comparsions, so ask away.

Cheers.

Thank you everyone!

I’ve worked with and on Director quite a bit during my eight years on the Director team at Macromedia/Adobe (tech support, QA, doc writing, developer relations and product management, I worked on D6 all the way through DMX’04 in one way or another). In my mind there is no comparison when it comes to all things 3D, Unity is just that far ahead of Director…

Oh… I used to read your blog.

You’re working here now? I’m sold!

Peep the signature, I’m the Product Evangelist for Unity working out of San Francisco. After oh so many years I felt it was time to move up the 3D food chain and love it here, so will you. :smile: 8)

Best. Quote. Ever.

So I guess you can’t disclose anything you still know about Director’s roadmap. :lol:

Glad you liked my quote. I still know quite a bit about Director’s current trajectory but with each day my info grows a bit more stale - I still have my sources though. Alas, I’m not at liberty to share most of what I do know as it falls under that hefty NDA I signed just prior to walking out of the building last year. If I learned one thing in 9 months working for Adobe it’s that you should in fact fear the wrath of their legal department…

:shock: :lol:

I can say this, you’re doing yourself a huge favor in picking up Unity. Welcome aboard!