Let me preface this post with the comment that I have only ever done very limited programming and I've never used Unity.
The Unity engine is certainly powerful, with its built-in collision detection, physics, and high-quality effects (full screen glow, water, refraction, etc.). I've tried many Unity-made games (mostly freeware), though, and I've begun to dislike the engine because it seems to be very inefficient with disk space.
iDevGames recently had a 3D game contest titled 3DU. Many of the entries were produced using Unity. Of the many entries, I kept 11 as good enough to spend HD space on. Of those, the *smallest* game made with Unity, Blocks Away, uses 22 MB of disk space! The game play pretty much consists of block physics and that's it. Short gameplay, no effects, no sounds. I would have expected a programmer to easily get the textures and code for a game like that into 5 MB or less. The largest Unity game I kept was Lone Survivor, at just under 54 MB, was better in the gameplay aspect, but still no way near worth 54 MB. I also have a copy of Big Bang Reaction, that Freeverse gave away a few months ago, and I've tried the demo of GooBall from Ambrosia. Both of those seem to suffer the same problem, though it's less noticeable since there is more substantial gameplay.
From what I've heard, Unity is supposed to throw away code that a particular game doesn't use, not including it with the package. I dunno what's going on, but that doesn't seem to be happening. First, it seems Unity is incapable of producing a Mach binary (in XXX.app/Contents/MacOS) of anything less than 9.3 MB. Furthermore, each game requires at least two Frameworks, one of which (Mono.framework) is 10.5 MB in size and can't be placed in /Library/Frameworks or ~/Library/Frameworks - if this were allowed, you'd only need one copy on your machine, instead of one copy for each and every Unity game. A framework is supposed to be, mostly, a shared library. What's the point of having a shared library if the code doesn't get shared?
I'm sure Unity has done some remarkable stuff as an engine, allowing game makers to concentrate mostly on content for their games, rather than how to get the thing to run and do what they want. It just frustrates me to see such bloated and inefficient results.
Unity
3D game editor; powerful graphics & cross-platform
Version: 2.1
Bloated results? - eduweb
Many Unity developers are using very high quality textures and models for their games, and that can create a fairly high payload of assets. Also, if the runtime is a Universal Binary build, it has to have two sets of executables.It is quite possible that the games mentioned were not highly optimized, which is less the fault of the engine than the individual game developers.
Finally, nowdays with a 100 GB hard drive, 50 MB for a game you might like to play is no big deal. If you don't want to keep it because you don't want to play it, fine. But the reality is, size doesn't matter all that much.
Also, look for more Web-based Unity games that won't clutter up your hard drive if you're worried about that.
Reply to This
Wednesday, October 10 2007 @ 07:52 PM PDT