I recently had a chat with Adam Frisby (Adam Zaius in SL) one of the founders of OpenSim who has since moved on to developing in Unity with projects such as ResLive. Does that mean other OpenSim developers should follow his lead, and give up on the open source version of Second Life? Not necessarily:
"There's room for both," argues Adam. "It depends on the level of interactivity required; but I do think there's more room for mass market growth in Unity." We then discussed the pros and cons of Unity versus OpenSim (somewhat ironically, via Facebook chat):
Adam Zaius: The big issue with OpenSim is the dependency on the SL viewer, and the SL data formats. Namely; they suck - even though Linden Lab is getting better at supporting standard tools (e.g. meshes), SL's graphically back around ~2002 in terms of capabilities. For instance; while you can now import meshes, you can't animate them, attach shaders or effects beyond the limited texture properties. While there's some definite truth to the fact that SL users would abuse these and tragedy of the commons prevents their inclusion, there's still a great deal that could be done to compensate for that, that isn't done.
Now; on the server, SL has some good design decisions - full server-side control of the environment, is fantastic to work with. Lots of room for rich interactivity; bandwidth willing. That does come at a cost in terms of maintainence and hardware requirements. Now you can do both to a degree, circumstances and requirements willing - but you get an awful lot out of the box for free with OpenSim.
Or TL;DR; use the right tool for the job.
Hamlet Au: I frankly don't see any massive advantages to OpenSim over Unity except that it's open source (which has its own problems) and that there's probably ten thousand or so people using it who aren't willing to leave the SL codebase to learn a new platform.
AZ: It depends a bit - doing things like user-generated content with Unity is difficult. We're going through that internally at the moment, and it requires lots of extra work to support.
Likewise; Unity is missing some pretty key components out of the box; we've spent the last two years making up for some of those (e.g. streaming down the environment progressively, avatar clothing, attachments, support for scripts in assetbundles, etc) realtime multiuser editing would be another use case that might lean towards something like OpenSim too.
HA: But OpenSim's install base is so small. And the amount of developers working on it is so small, as compared to Unity.
AZ: Sure - I wont argue community size (although Unity's "community" seems to be limited mainly to its forums, which'd probably be about the same size as OpenSim's IRC/mailing list/osgrid crowd) But I dont think it's a hugely relevant metric. For example; MySQL's community size dwarfs Postgres - but there's no question which is the better database engine.
I think Unity is absolutely kickass - it's got an excellent dev chain, and there's a reason we're deploying client projects using it. But there's more to it than just which is prettier and friendlier. Often you'll want something more focused on the client; in which case, Unity kicks ass and will do wonders for you. (Games & Entertainment win here bigtime.) Othertimes, graphics don't matter and you need to be doing something involving complex multi-user synchronisation; in which case a more server centric solution is better, I.E. OpenSim.
HA: And I'd say applications with a small install base, i.e. limited use government and education projects.
AZ: Yes; applications with small budgets too. Unity is going to cost you to do anything more than the very very simplest single-user demos.
:0 if every possible inventory asset at its 'props' level had a self-set 'ratings' attached (general/moderate/adult) - just like 'copy/modify/transfer'... but the 'ratings' slope didn't evolve early enough. :\
'grief' involves assets, and anymore via scripting, a good 'toy' can be set/rated to only be usable in a 'moderate' sim (if used in a private residence - at least last i understood the rules. ;0)
now if creators could have a control to help the lab control users into a guided and secure experience into sl by filtering things down to even a texture-level... maybe we could have saved ourselves much of the 'zindra-ing' of the grid... ;0 but animations would, i guess, have to be the sticking point (owch pardon the pun ;0). the lab would probably have to have the ability (and write into the toc) the ability to change permissions on those who don't 'self-rate' their assets appropriately.
Posted by: Nyoko Salome | Wednesday, February 29, 2012 at 02:17 PM
We did a fun analysis of some of the other game engines besides Unity a couple months back: http://fragileearthstudios.com/2011/10/24/comparing-cryengine-and-unreal-and-unity-too/
We still haven't adopted any new technologies besides Unity. Just an FYI...
Eric
Posted by: Eric Hackathorn | Wednesday, February 29, 2012 at 02:23 PM
I love what Unity can do but Adam is right. I asked John Lester to show me some 3D content from TurboSquid once...$30+ US for a single item.
I don't have that sort of $$ or the incentive to learn the tools needed for Unity. But it's a great mass-market platform.
For many educators like me, however, working without a team on campus and little to no budget, OpenSim is the better option.
Drop $50K US on me and hire some campus developers, and we'll talk about Unity.
Posted by: Ignatius Onomatopoeia | Wednesday, February 29, 2012 at 02:29 PM
I was writing about the promise of Unity back in September...2010!
http://www.daniel.org/blog/2010/09/19/in-unity-a-way-forward/
My basic point was that the TPV and SL viewers could spend years just trying to get to point that Unity used to be at. They're having to spend a lot of effort reinventing a wheel, and getting to the level of Chariot :)
The 1.x - 3.x codebases on the viewer side are a bit of a evolutionary dead end. Having said that, I commend the folks at Phoenix/Exodus/etc for at least advancing well beyond what the *paid* developers at SL have come up with .
Posted by: Daniel Smith | Wednesday, February 29, 2012 at 02:42 PM
"The 1.x - 3.x codebases on the viewer side are a bit of a evolutionary dead end. Having said that, I commend the folks at Phoenix/Exodus/etc for at least advancing well beyond what the *paid* developers at SL have come up with ."
Shouldn't that be 'well behind' not beyond?
The TPVs are way behind the 3.x code at this point, and have done little innovation at all since the days of Emerald...
But on topic; I'm somewhat unable to even figure out what relevancy Unity has to anyone. It just seems like some geek-ware dev tool, not something I or any other regular person could log into and enjoy. At least with Open Sim - I can find places to log in, and even possibly meet someone else there once I do.
Posted by: Pussycat Catnap | Wednesday, February 29, 2012 at 04:48 PM
I'll be impressed with Unity when I can use it with Linux. Until then, it's another Windows-only game and of little interest to me. OpenSim gives me true platform-independence, and, as has been pointed out above, I don't have to spend a fortune purchasing content.
I'll stick with Second Life and OpenSim for now, thanks.
Posted by: M.A.DeLuca | Wednesday, February 29, 2012 at 07:58 PM
Unity isn't Windows only. Its on OSX, iOS and Android as well. There'll be Linux support for Unity eventually.
Posted by: Ezra | Wednesday, February 29, 2012 at 08:16 PM
"There'll be Linux support for Unity eventually."
They keep saying that. And will that be just the player, or will there be a development environment available for Linux?
Posted by: M.A.DeLuca | Wednesday, February 29, 2012 at 08:44 PM
I'll believe it when I can run it, Ezra.
Posted by: Melissa Yeuxdoux | Wednesday, February 29, 2012 at 09:31 PM
Just sayin', Unity isn't hugging Windows as implied. Its cross-platform and they're making moves towards Linux. The most prominent move recently has been getting Unity running inside of Google Native Client for Chrome, which is essentially a Linux VM.
You're free to be doubtful about it, but there's a lot of reasons to feel positive as well if you're into that.
Posted by: Ezra | Wednesday, February 29, 2012 at 10:26 PM
"I'll be impressed with Unity when I can use it with Linux"
I'll be impressed when Linux users acknowledge the tiny install base of Linux OS. :)
Posted by: Hamlet Au | Thursday, March 01, 2012 at 12:20 AM
Boo hoo! The next opportunistic "SL's done for" killer-app promotion?
Unity will introduce one more blurry market with a crapload of apps in hobbyist quality and OpenSim can't overcome its dependencies. Classic game engines will adapt to the same playground anyway. I've tinkered with Unreal almost 14 years ago and even back then, it was easy enough.
In the contrary case, SL is an unbeatable niche as the most pluralistic all-in-one sandbox environment with kick-ass content. Even compared to the recent, most overrated, Deus Ex prequel. Issues are solvable. And if not, Unity won't innovate anything either.
Posted by: Trin Trevellion | Thursday, March 01, 2012 at 02:29 AM
"The big issue with OpenSim is the dependency on the SL viewer"
Most OpenSim developers seem to think that compatibility with that viewer is OpenSim's strongest asset.
When it comes to virtual worlds with user-generated content, Unity is mired in the same issues as CryEngine, Unreal Engine and other game engines: There is a divide between authoring and presentation. You can create stuff _for_ Unity but not _in_ Unity. And Unity's cross-platform capability ends at the presentation layer.
The size of Unity's community means nothing here because most of those people use Unity for things that don't even remotely resemble Second Life.
All those complaining about SL's graphics and performance (or lack thereof) keep forgetting that most of SL's content is created by non-professionals. The polygon count and texture detail of a typical Second Life scene exceeds anything you see in commercial games. No professional game asset designer would consider creating separate and detailed geometry for things such as clothing layers or tiny jewelry on top of a character's base mesh. That is the downside of user-generated content, and Linden Lab's viewer is handling it remarkably well. Adding advanced graphics features (normal maps etc.) will easily triple the amount of texture data. Are you prepared for that?
Shiny graphics tend to distract people from the fact that a virtual world requires much more than that. For example, if you want a rights management system for objects and land in a regular game engine, you have to create one from scratch and make it accessible from the presentation layer. Blue Mars was trying to do just that but for some reason didn't get very far.
By the way, RealXtend Tundra 2.3.0 was released just two days ago. That's a platform you may want to keep on your radar because it does some of the things that Unity can't.
@Hamlet:
"I'll be impressed when Linux users acknowledge the tiny install base of Linux OS."
An install base of 200+ million isn't tiny by anyone's standards.
Posted by: Masami Kuramoto | Thursday, March 01, 2012 at 02:44 AM
"Shiny graphics tend to distract people from the fact that a virtual world requires much more than that."
I'll take the shiny nice graphics though. I've always had a soft spot for the latest GPU\CPU combos and pushing them to the limit to see what they can produce. I wish we had a user-generated content world that could utilize the latest and greatest. Someone at the Lab really needs to focus on the graphics area some day. It's a huge complaint almost any way you look at the problem, it even affects the new user experience. So many people see SL's antiquated graphics and bug out before they get a chance to find the reason to stay. There is a reason we don't use 386's anymore.
Posted by: Little Lost Linden | Thursday, March 01, 2012 at 05:58 AM
"I've always had a soft spot for the latest GPU\CPU combos and pushing them to the limit to see what they can produce."
The problem is, we're already pushing the limits in SL, but in undesirable ways. The average SL avatar has a much higher polycount than a game character from Crysis. People put huge textures on everything, even microprims. They link hundreds of prims into a single piece of jewelry, hair, shoes etc. They import meshes with 3 or 4 levels of subdivision. There are people selling base avatar meshes with 40,000 triangles.
Now guess what will happen if SL gets multitexture support and people can use three textures per face instead of one. SL is barely keeping up on high-end machines, and no, that's not the fault of OpenGL. It's the fault of poorly optimized content.
Posted by: Masami Kuramoto | Thursday, March 01, 2012 at 07:21 AM
SL is the current default SOLELY because a) people are already there, but that's slowly shrinking, and b) because there is a way to conduct business there.
Posted by: shockwave yareach | Thursday, March 01, 2012 at 08:08 AM
"An install base of 200+ million isn't tiny by anyone's standards."
Oh yeah?
Well, it ain't 201 million baby!
;)
/ducks.
Posted by: Pussycat Catnap | Thursday, March 01, 2012 at 09:43 AM
If i want a real game i would be playing Bethesda!
I want a tool that allows ME, with almost no technical bases, to create and fill my dreams!
SL was that, now its Os Grid!
And despite all, there will be no other tools like the ones the Lab released for long!
Posted by: foneco zuzu | Thursday, March 01, 2012 at 11:54 AM
@Masashi
All the more reason Second Life needs to continue advancing in support of standard tools.
Creators have created laggy things in the past, like five different textures on a necklace, because there was no control over UVs and material IDs. With mesh now that kind of behavior can be curbed.
If sometime soon Linden Lab added support for normal maps and specular maps, it stands to reason big textures of baked lighting and overly high-poly meshes would stop being uploaded and used.
The more standard rendering features Linden Lab adopts, the better Second Life can look and less laggy it can become. Better graphics and better performance are proportional when it comes to Second Life due to the last few years of excessive use of sculptmaps and textures.
Posted by: Ezra | Thursday, March 01, 2012 at 02:36 PM
Unity has been around since the early 2000s and primarily on the mac side of things. Windows support came much later.
Posted by: bobo | Friday, March 02, 2012 at 12:23 PM
is ever interesting that a person as Adam Frisby want try "new technologies, and more if is for their own business too. but i disagree in the "critics" that him make of Opesim about the dependence of SL and anothers (not is a criticism in bad way to him!). We have to remember that Opensim is made in the way that their developments andcreators want. If is deendent not is fault of Opensim, is fault of the creators that not try make the program more "independent". Cab be compatible, but also can be independent as anothers. I am only a "medium" user of Opensim , and not have the same knowledges of mr Frisby or anothers, but Opensim version to vesion is much more nice an interesting, and give more options, and i think that if the developments want can make some really nice that in the future can be as secondlife, a reference in a part or this universe of the virtualWorlds. Of course exist another "handicap": opensim is a non-commercial platform/program and "not is interesting" either for the big bussiness, and is a big handicap too. for not want try to advanced much more, and is a really pity. If some times we forget the true dependence, THE MONEY, sure some things as Opensim sure raise more and can be a much good program include Free. Unity is "free" but is more atractive in Bussiness plans , by these reason all the bussinessmans want now these (as Jibe) and of course, the money is need for all todayand more need = more interest. Include for the dreams, seems. I understand the position of Mr Frisby, but i think htat him was create a nice idea ,and this idea deserve a bit more of support . (Ok, the project Opensim have a bit more of 4 years of live, but include if we compare with Secondlife when was have 4 years, was much more unstable that Opensim actually. Of course then was have a lot of big bussiness renting sims inside and support SL, and Opensim not have the same support, only have more than (estimate) 500000 users/creators -or more- in all the world makind "opensim" words/3d Enviroments with this, some inter-connect with Hypergrid and trying to make reality their own dreams (and include some people was made their own business with opensim -me at the moment not have enough knowledges for make this withouth help and not know the right people for this, im only a simply user, not a development or scripter, but i see clear that Opensims , version to version is each day a good oportunity, with some good adjust too ;) ).
Posted by: Lugh_Kondor | Saturday, March 03, 2012 at 07:24 AM
I teach Unity and do most of my research in Second Life. Unity is great for making a video game, but it's weak in its multiuser capabilities. Most of the community oriented collaborative things people like Second Life for have poor support in Unity.
Other things that I don't like about Unity are:
1. Getting motion captured animations into Unity is a pain as all the characters have to be manually rigged, which takes hours if not days of boring work, while uploading a motion captured animation into SL takes about a minute
2. Things we can do with avatars in Second Life are millions of light years ahead of what Unity offers. Changing shapes, using clothing, etc.
3. A.I. support is quite important for my work and I can do a lot with libopenmeraverse in Second Life and easily integrate it with my large AI packages with proper C#, inheritance, etc... sky is the limit. Unity has a lot to offer in terms of A.I., but I can't use my libraries as Unity operates with scripts attached to objects (limited version of C#).
But what Second Life is very bad in - is large numbers of avatars.
So, in summary, these are completely different tools to be used for different purposes.
Posted by: shaqq | Wednesday, March 07, 2012 at 02:24 PM