The failure of Second Life
bbot.org
bbot.org
The Minecraft comparison is a good one. There is a world with purpose: to survive and ultimately control nature. It perfectly indulges our most primal instincts.
In contrast, everyone is a god in Second Life and the world is empty. For some reason, this ultimate power is used to recreate the most mundane and tasteless aspects of reality:
- Consumerism -- SL citizens love buying clothes, furniture and other useless junk even when they can create anything themselves.
- Lame commercial "theme parks" like McDonalds Island etc. Even the ones that should be interesting, like NASA, fail to either educate or entertain since the medium of static 3D models is generally terrible at both.
- And of course, vice: kinky sex, gambling, pyramid schemes, and spam. These things made up most of the metaverse, last time I was in it.
By far, the most interesting thing about SL was the elaborate and imaginative attacks on the world e.g. self-replicating objects, and the equally elaborate countermeasures used to fight back.
I guess the lesson is that a virtual world needs to find a balance between innate meaning and open ended creativity. SL is one extreme, the other being MMOs that involve too much carrot-chasing to interest most people.
- Utter consumerism (this is how the company makes their money) - people shop for clothes. Typically the styles are not very creative, mostly variants on a couple motifs.
- Massive vice, mostly directed towards sex.
Unfortunately, IMVU has no ability to direct team action. No creation, no group games, no monsters. That makes me kind of sad. I'd like to grow my world, instead of simply living in a theme park. It's fairly empty experience when you're just idling in a 3d level.
Have you played in front of the crowd ? I did - and even if the crowd is virtual, it's a pretty cool feeling.
My employer did rather successful seminars/meetings in SL.
There was also a research that the virtual worlds are a sort of therapy for the autistic folks (http://goo.gl/iaOH7)
Finally, a small story I heard from someone.
A couple walks into the "club" in secondlife. They ask the DJ to put on a particular song and start dancing. When the music finishes, they thank the DJ and the woman explains - "It's the first time in 20 years that we're dancing. My husband can only move in the wheelchair".
That story alone is a sign that SL has served and is serving its purpose. And that everyone can find the different things.
As for your points: - "...even when they can create anything themselves." - Much the same way as everyone can make a painting, or a poem, or a song. They can, but to be good you need to devote the time to it.
- "Lame commercial "theme parks"..." - these are companies that did not get the potential of the secondlife, and treated it like a video game - hired the consultants to build what they thought would look good - which they did. But they did not put a life behind those constructs. Ergo, lame theme parks.
- "vice". Participating in the pyramid scheme in SL and learning about it in a painful way by losing a few hunderd dollars is way better than putting all your life savings into the banking scam in real life. And if a kinky sex with a virtual stranger averts even one occasion of the aggression in real life - that'd be great, isn't it ?
As for attacks - lots of it is the same /b/chan crowd that plays the pranks in real life - it's all for lulz of disturbing others. So I do not see a whole lot of interesting there.
As for the "interesting" technical part - opensim (opensimulator.org) was (is?) a pretty fun project, it recreated to a larger extent the server side of the second life.
So, to summarize - I think there's more to it than it seems. :)
SL has two sides, the creator side is one, but most people, like you describe, are here mostly to "be" in a different world, and chat, not to create or shape it.
Creating something in Minecraft takes a few minutes, you hit blocks to gather them, you reassemble them somewhere else. In SL, to create, you have to be in a place which allows you to create (most likely one you rent, or a sandbox). You have to know how to create, and the learning step is quite high. You have to pay actual money to upload any texture or mesh to the game.
So the "god" possibilities are high, but not accessible to most of people. Minecraft is the opposite on this point.
B. The writer completely misses the point when comparing SL to a video game. The entire point of SL is that the users should be able to build the world. Yes, this results in less than ideal environments, yes if an engineer designed the world there would be less polygon popping, better cache utilization, better hidden loading times, etc., but you would get a video game. Not the crazy world that second life is.
From my very brief foray into it, I have to say that SL has completely succeeded in doing what it aimed to do. It has grown a very involved community and they have built their own world or worlds. And of course most of second life is beset by weird and bizarre things and people, but then again, if you think about it, that was to be expected.
The above being said, it is actually a very interesting technical problem to do the optimizations you usually expect in video games for a completely user designed world like Second Life.
In a video game when you have something seen from far away (for example a city seen as you approach by air) it is usually specifically hand designed by artists to be seen from far away. Once you come close, you will see what seems to be the same buildings but they will be different renderings designed to look good up close.
Of course Second life cannot do that because people create and break down buildings all the time, so they cannot have artists render the town from far away all the time.
But what could be done is to have an engine specifically blend details and combine polygons in a way similar to the way objects blend in distance as seen by the human eye. This would make both the world more realistic and the networking load lighter as fewer polygons need to be transferred.
This is an interesting possible improvement that SL does not do. But to the best of my knowledge no other computer game does it either, so you cannot blame SL for this.
You haven't seen Minecraft then, have you? The users, in fact, can build the environments on their own, and the game loads and runs at a playable speed.
Perhaps Minecraft has greater "video gameness" than Second Life, but couldn't the designers of Second Life have focused on user experience instead of delivering laissez-faire, polygon jungle? Although Second Life wouldn't fare well reverting to voxels, there are other approaches to optimize a user-developed game experience and maintain flexibility; it seems the developers aren't looking hard enough, if at all.
Actually they can. It's entirely to generate levels of detail automatically and get good results. The open source program MeshLab, for example, (http://meshlab.sourceforge.net/) includes code to do this.
Myself I was also expecting a more detailed article about the economy, the communities... And it's just a basic rant about the time it takes to load items.
For a programmer, it's a 3D, multi-user IDE where you can learn new programming techniques in real time with your friends. Yes, people also use it for weird things and porn (unlike the rest of the Internet). But there's quite a lot of genuine art, talent, and learning going on in there as well, and I still think it holds a lot of potential as a medium to teach people to program while "playing a game."
No, Second Life was not the cool new thing back in 2005. It was never cool. It was always lame, and its popularity was always inexplicable. Why did companies like Amazon hold virtual meetings there? I don't know. Maybe some manager had a thirteen year old son who thought it was cool. But the thirteen year old kid was wrong.
Large draw distances, high particle & script counts and more than a few dozen avatars in a single region all tend to result in poor performance and user experience. And the platform appears to be quite sensitive to the usual concerns of bandwidth and GPU. As a longtime SL user I'm not surprised at the issues described by the author.
Linden Lab itself has seen a number of shaky management changes (founder + CTO out, new CEO, founder back, founder out again, etc) and this may have taken some toll on engineering efficacy.
That being said, I think that innovation on the SecondLife platform will be forced by pressure from the furiously advancing OpenSim project, an open source, reverse-engineered version of the SL "backend" that is usually described as "the Apache of the open metaverse". http://opensimulator.org/
Basically, SecondLife, though filled with an amazing amount of wonderful art, code and creativity, won't last another 8 years without somehow opening up and keeping up with the explosion happening just outside its walled garden.
I had a look around Second Life a few years ago when it was at the height of its media coverage. And it was just filled with crap. There was nothing there except brothels and shops to sell you stupid clothes.
The most interesting thing I found was an attempted replica of San Francisco, but after riding around on a cable car for five minutes I remembered that I live near the real San Francisco.
I can't see any point in having a second life that is less interesting than my first.
That's what everyone building a virtual world has to think about: how to make the new world more appealing than the world customers already know. Most new online worlds become appealing by being more inviting communities than the generality of each user's haphazard subset of real-world meatspace. I'm enjoying Facebook much better than I expected to, because it is, well, filled mostly with my friends. I was surprised to see that the author's comments in the submitted blog post were largely about the bandwidth limitations on Second Life's graphical representation of its virtual world shown to users, rather than about the community formed there. If people like a community well enough, they will put up with a pure text interface--as I have seen in my own experience.
So the blogger's noticing that Second Life's owners would rather make money with willing users who deal with the current interface than spend a lot of money to upgrade the interface makes sense. But I'm not sure that I can agree that that is a "failure," unless the purely technical exploit of worldwide, interactive, real-time virtual reality would build some new kind of more appealing community.
Because really, who wants to pay real money to allow a bunch of polygons to get a new hat and a lapdance from a robot?
I quit SL a few years ago, because it just wasn't doing it for me, but even while I was still there, there were actually quite a few interesting communities with good design and some immersive role-play going on. You did have to look around and filter out a lot of crap to find things that were at all interesting, I grant that. But your assessment seems overly harsh.
My take at the time: Second Life might be better if the real estate were at least ten times more expensive. As it was, it felt like the Asimov's Naked Sun MMORPG, only emptier. Lots of ugly buildings, each in the center of a giant empty lot, with no real attempt to relate one building to the next -- why bother, when land was so cheap? And no people that I could find. I wandered around, even did a little flying, and then I finally found another avatar... and it was a sexbot. A very poorly programmed sexbot.
Basically, there is no compelling storyline beyond "present yourself as better looking as you are in real life." That's why vibrant virtual worlds are normally based around games, which have compelling story lines around which the social atmosphere grows, rather than simply glorified chat services (which in the opinion of many are worse than other chat services since they provide an additional unneeded function).
So I installed just for the fun of it, played 15 minutes or so. But multi-player games never appealed to me (one exception is Heroes of Might and Magic hot-seat - it's real social multiplayer as people do take turns - especially fun when this goes for more than 24 hours, and everyone is pretty much drunk, smelly, some very tired, some can't stop laughing)
I didn't feel up to putting enough time for something that probably only hardcore nerds would like though, so I didn't pursue it.
Linden Lab (the makers of the Second Life platform) is a profitable company with about 250 employees. In fact, their latest quarter was their best yet, according to a recent blog post:
Of course, most of the content in SL wasn't made by Linden Lab, it was made by the SL users (residents). Because there's an internal economy (where content creators retain the IP rights in all content created for SL), there's a competitive market for quality content. Top-quality content has improved greatly over the years. To get a sense of it, check out the latest Best of SL magazine:
http://www.thebosl.com/en/latest-magazine-issue
The SL vision is audacious: to create a real-time simulation of a malleable world based on our own physical world, but better (e.g. you can fly). Of course, the characters in SL aren't simulations, they are real people (except for a handful of bots), so they're interesting in all the ways people are interesting.
As for user numbers, nobody says "Facebook has 650 million active people, but San Francisco has less than a million, therefore SF is a failure." That would be absurd. (The active user base of SL is about the same as the population of SF.)
Another game has the same issue with loading times and general performance: The Sims series, until the 3rd. The Sims 2 was excruciatingly slow when you had lot of elements on screen, even of fast computers. The reason? It's a game in which people make their own "levels", by adding items, which can even be of external source. So it's hard to really scale for it like for other video games.
The Sims 3 is faster, improved performance a lot, mostly because it is streaming as much as it can, now. Most of the time you will see dirty loading polygons, blurry textures, before it loads. Because that's the only way to deal with a level on which you have no control.
The issue is the same with SL, with the increased fact that people can really create anything, import meshes, make objects from thousands of polygons. And they can run scripts in each of these polygons, potentially able to launch scans of the whole area several times per second.
I'm not saying that this is as optimized as it can get. But it's far from being a "laziness" issue. The basic problem doesn't really have an "easy solution".
i) It's mostly deserted
ii) It's not easy to find your friends, or people who you might want to become friends with. There are no friend suggestions or other mechanisms to encourage network effects.
iii) Commercial barriers are everywhere. If you want to do anything of significance, such as build a virtual house, you have to pay real money up front - and often not insignificant amounts either.
iv) The default avatars are unattractive, with poor animation. This might seem like a minor point, but I bet many new users have turned away from SL because of this.
v) New users are often subject to derrision or "griefing". The initial experience is typically not very enticing. I can attest to this personally.
vi) The user interface is awful. Recent version have improved, but SL still needs someone to redesign the UI to make it easier and more intuitive to use.
But what he talks is balooney. Now I wasn't directly involved with how the levels were made (they were in segments, I believe kind of like hexagonal, more likely brick style layout, with a big strip every one in a while). Every such brick or strip would get asynchronously loaded.
Okay, now how to get that fast on console? Well first, your data has to be precooked, at minimum only pointers should be fixed up. No "new"/"delete"/"malloc"/free" - you load it in a buffer, and it's almost initialized (without the pointer fixup).
Then problems - say for example Spidey goes towards one of the bricks - you should start loading the neighbouring bricks too, but as soon as you know more about where he's going you should start CANCELing these I/O requests. And better if your system really supports them (or if not so, read in less chunks, or find the buffer size that the I/O controller or OS is splitting the request into - for Xbox I think it was 128kb).
Then make sure that you get as much as possible I/O asynchronous requests per frame from the levels, sound, etc. and for a DVD (and maybe for HDD) do an elevator sort - e.g. start from somewhere and always take the next request that is closer to the previous ones (sometimes that's tricky, as by the time you want to start the next one closer, and the head is already on something further away).
Then the biggest pain is that on burn media you get one results, while on GOLD discs another. Mainly because of how CRC checksums are put - I believe it was for every 32 sectors (or 16), while on the burn was a bit different.
Then you might experience problems, where the japanese PS2 version of the console just reads badly, hopefully your devkit has the same problem, so you know you would run in to.
And not forget - check which mode would work better for you - constant angular velocity, or constant speed. In the first you get slower results in the middle (I think it was the beginning of the disk), rather than the end - somewhere (ballpark figure) 1-2mbs/s vs 3-4mb/s
And find decompression algorithm that decompresses faster than what you reading (I was able to get lzo with some small unaligned write assembly optimizations) and have uncompressed speed of 5-6mb/s instead of only highest 3-4mb/s.
So my problem with the article? He's not even talking about the simple things I explained. Believe it's that's only the scratch in making streaming game (Look what Naughty Dog did, when they could not load the level in time - the character would trip and hop - now that's very good solution, but really tied with your gameplay).
In our case, we had testers banging out what Spidey's maximum speed could be, so we can adjust the levels - some of the levels he had to do some quick missions, and pop-ups were never allowed (it was considered bug).
All those considerations you mention are true (and I remember them fondly), but I think the problem here is that whatever budgets are imposed on player-creators are not adequate. As I think the author implies, the problems are authoring guidelines and asset design.
I don't even know if there are texture, vertex or other budgets imposed in Second Life, but I can tell you for sure that they were a big part of art creation in True Crime. The areas like Hollywood Boulevard with lots of recognizable buildings were really taxing on those budgets, but they made them work. Without those guidelines, even experienced artists can overshoot the mark.
Ideally, within Second Life, these creative limitations can be integrated into the game, so that it gets increasingly expensive to claim a large amount of an area's graphical resources.
I really don't know when comes to creative decisions (I'm very bad at that). At the end of the day I can only say we can stream this much and this much (say max 1 stereo stream for music, 6-7 mono voices occasionally, and rest for streaming geometry,t exture).
So part of all this was adjusting, testing to get it right. This is what the author misses - user provided content would never get the same amount of testing, as there is simply no money behind that. For that reason they should limit themselves as much as possible. But I'm begining to go into waters I've never been (never worked on MMO, so what the hell do I know :))
Cheers! I think we met, or at least said Hi couple of times, when walking by! (I'm still at Treyarch)
Yeah, we had some crazy QA requirements for True Crime. It blows me away that there were parts of the map maybe only driven through a few times (we didn't have the resources to do that many complete drivethroughs - 240 square miles is just so big). We have so many "glitch videos" on YouTube I think it autocompletes the word glitch after our game's name!
But that's very true - the iteration was a huge part of the process and of setting those limits.
I couldn't imagine us not being able to go back to an artist and tell them it was chugging. I know some other studios did this thing where anytime the frame rate dropped below 30fps they put a bright red border up! We did fine with just a graphical meter and some really talented environmental artists.
That's another thing - the folks who made our environments got increasingly better at delivering stuff under our budgets, because they were constantly getting feedback about it. Without that, you just can't get the best quality.
Um, yeah, of course that maximizes issues with loading textures. Obviously. It's also not remotely close to the average game-playing experience in SL. It's not representative.
1) Second life lets people design levels.
2) This gets very expensive in bandwidth a high draw levels.
3) This makes it 'unplayable.' (aka a failure)
Clearly its not the case that its unplayable since a lot of people play it. Also the geometry / texture issue is huge when moving from place to place, but manageable when you're in one area. Thirdly the big draw for second life seems to be weird sex acts which are probably mostly mental anyway.
It is one of the few attempts at creating a Metaverse. As the author points out there is a tremendous asset management problem if you try to stream everything from the server. It could be improved.
Given modern disk drives I'm sure you could cache locally pretty much everywhere you went with some lookaside cache code to invalidate local copies when meta-data indicated an update. The author alludes to something like that by asking for a better architecture.
Now it would have been a bit more interesting if it was written from the perspective of "this is what it does well, this is what doesn't work for me" and then go on to speculate or do the math on how one might improve it.
I was looking that the NoSQL dB space as a metaverse management plane. It could work although everyones view of the world would only converge, not instantly be the same. You could use something like MongoDB, it would be read-mostly for geometry. Back when I designed a castle building MMO (never shipped sadly) the textures were fixed (all clients had them) but you could paint them on different geometries. It reduced the bandwidth requirements to sending around vertices and a texture vector (id, origin, u and v vectors). It would be fun to code something up like that with the Unreal engine.
why impose a 3D real-world access model on an N-dimensional random access memory system?
I mean, that's what the web is. I can jump from Wikipedia to CNN to Reddit without walking through MSNBC and 4chan to get there.
The whole idea is wonky and bizarre when you really think about it. If you want 3D with an excellent frame rate, go for a walk.
He basically cranked up the drawing distance until everything is grinding to a halt and decided to complain about how everything is grinding to a halt.
I guess there could just be a simple fix for this, benchmark the PC and the connection and don't let users crank up the distance to unplayable levels.
But many in education are switching over to OpenSim (open source clone of second life) since it's free to host your own server and more hackable: http://opensimulator.org/wiki/Main_Page
Some examples are at http://www.sciencesim.com/wiki/doku.php/start
I know, I know! The graphs are auto-scaled by windows task manager, since they're designed to be a UI element, not to be compared between sessions like I did.
However! In this case I have lied with graphs in a way that benefits the victim, since, in the context of the article it implies that SL can use much more bandwidth than it actually does, which is a good thing!
Eh? Eh?
... FOR NOW! (dramatic reverb)