Blue Mars again

So seeing Hamlet Au’s announcement that he’s joining the Blue Mars team (a few comments on that posting later on in this one), I thought I’d go over and try Blue Mars again. It was by no means a thorough exploration, so this will be more a set of point-observations than any kind of comprehensive update.

The Blue Mars client itself is still a hundreds of MBs download, followed by more hundreds of MBs if you want to go to a place that’s been updated significantly since you were last there.

The good news is that there is now some dynamic content, that gets downloaded only as needed, and presumably doesn’t require a download of the entire “city” whenever it changes. The bad news about the dynamic content is that, even with BM’s current tiny user population, it takes a Long Time to download. The picture above shows me standing in a store (buyable goods were the one kind of dynamic content I encountered), and even though I’ve been there long enough to have the Santa Suit download and try it on, some of the other things in the store (and there were less than a dozen) are still downloading.

Content-wise, then, BM seems to be combining the worst aspects of static and dynamic content: a big upfront download to get the static stuff, followed by long waits for the dynamic stuff.

As the Santa Suit suggests, there are now things to buy in Blue Mars! And it has a feature that Second Life would strongly benefit from (and Philip Linden hinted SL might sometime be getting): the ability to try clothes on before buying.

I have no “BLU”, so I couldn’t buy the Santa Suit, but when I clicked on it I got both “Buy” and “Try On” buttons. “Try On” let me put the suit on, but in a way that as soon as I left the store, it vanished. Clearly a boon to shoppers! I think it will be a challenge to fit this into the very user-programmable model of SL (rather than just bunging some special-purpose code in), but it should add some very interesting functions and potential capabilities once someone figures out how to do it cleanly.

So after the N-minute download of both the new client and Cloud City, I found myself able to wander about in a not all that interesting environment, where there was very little to do but buy Santa Suits and a few other goods. Might have been impressive in like 2004, but eh.

Figuring that virtual worlds are really all about the people, I went to the Welcome Area (which comes down with the client, so didn’t require another download), figuring there would be people there. And there were! About five people (including me, and the “Event Manager” bot).

I don’t know if this is new or not, but apparently Blue Mars has Ruths! :)

When I first arrived in the Welcome Area I didn’t see anyone, then I saw some floating names, then I saw some generic bald people with solid black clothing, and then eventually hair and customizations appeared (one person was even an anthropomorphic dragon!). That made me smile…

When I said “Hi!” I discovered that my name was being displayed as “ceoln”, which is my account name rather than my AV name. I asked how to get it to say “Dale Innis” instead, and fortunately one of the three other actual people there was Glenn the Blue Mars guy, and he told me the Web page to go to in order to tell it to use my actual name. I did that, restarted the client as required, and lo I was “Dale Innis (ceoln)”.

(Notice the similarity to the controversial display names that are coming to Second Life.)

I was practicing walking around using the rather awful default “point and click and aim the camera manually” method, and Glenn suggested that I try the “Absolute Direction” and “Camera Follow” options. With those on, I was able to walk around using the arrow keys in a much more familiar sort of way, without having to constantly readjust the camera to look in the obvious direction. It was great!

Well, it was great in comparison to the default.

Actually it was still awful. For one thing (and this seems to be true in all modes, not just camera-follow) the screen would go all blurry whenever the camera was moving too fast (or whenever it had something new to render, or something). It seems like they’re doing this on purpose, maybe to look cool, but it made me a bit seasick, and I didn’t notice an option to turn it off (there aren’t many options in the viewer). And second, using the arrow keys while standing still and in camera-follow mode turned my avatar much too far. It seemed to be a variable amount, but something like ninety degrees for a single tap on the key, which means I would always overshoot the direction I actually wanted to face, resulting in frustration and cursing. Using the left and right arrow keys while holding down the up arrow to move forward seemed to result in more gradual turning.

And the existing behavior that the avatar stops walking if the tiniest thing gets in the way (generally with this annoying “oh, well, whatever” gesture) continues, making navigating through, say, some tables sitting next to a potted plant an exercise in maze-solving.

Really, AR; it’s not like smoothly managing avatar and camera motion in response to user input is a Difficult Unsolved Problem! How long has it been a major pain in this “beta”, now?

(Oops, my frustration is showing, isn’t it? I was going to title this posting “Blue Mars Blues”, but I thought that would be too negative an opening. Seems I am sort of annoyed and disappointed, though, doesn’t it?)

Another random feature of note: if you go into the Options dialogs, when you come out again your Local Chat control is missing. There is apparently no way to make it come back, apart from either relogging, changing worlds, or waiting for someone else to talk. Glenn says that he’s pushing for them to fix that bug. I hope that doesn’t take much pushing! It does make one wonder how much unit-testing new BM client versions get…

Somewhere around there, as I was attempting to overcome the daunting obstacle of a couple of chairs placed a bit too close together, the client crashed. It was a very SL sort of crash, in that the world was still there, I could still run local animations and move the camera about, but I couldn’t actually move. Also, the other avatars in the area suddenly vanished. The statistics that I had displaying on the screen showed “LUA memory” increasing rapidly. The viewer refused to log me out or exit, and eventually I had to kill it forcibly from the Windows Task Manager.

So, yeah, I’m afraid I didn’t come away with alot of positive new impressions of Blue Mars. It still feels sort of late-alpha to me, with little reason to go back anytime soon.

But now what about this Hamlet post? I’d like to pontificate briefly on his five reasons for thinking that Blue Mars “have the best strategy for growing the next generation of 3D virtual worlds”.

“Cloud Bound: Blue Mars Deploying a Cloud-Based Version Soon”: On this one, I’d first like to complain about this tendency to use “cloud” when what one really means is “server-side rendering”. “Cloud” is a different, and a much broader, term; for instance you can currently run OpenSim instances very nicely on the Amazon Compute Cloud, but that has nothing to do with server-side rendering, which is what Hamlet’s talking about here.

But anyway, server-side rendering. This is the great Holy Grail of virtual worlds, because if the servers can do all the hard 3D rendering stuff and just ship the result down to the client, as though it were basically an interactive streaming movie, then (the thinking goes) not only will much lighter-weight clients be enabled (because they don’t need to do 3D rendering, just play movies), but also content will be protected (because only fully-rendered versions, from which it’s much harder to steal the underlying assets, will go to the untrusted clients).

These would definitely be advantages of server-side rendering, once a few details were worked out, if only server-side rendering were actually practical. But at the moment it is pure vapor-ware, carefully restricted to a few carefully-controlled one-player demo videos, and despite constant promises that it’ll be out Real Soon Now (for instance Hamlet’s own “perhaps as early as this quarter” back in, ehem, April) I don’t see any reason to think it will be hitting actual users of actual consumer 3D worlds anytime soon; the math just doesn’t work out.

Consider the resources that would be needed to do a server-rendered version of Second Life. First, you’d need all of the resources that SL currently has, to keep track of the sims and the avatars and the assets, do group IM and chat and voice and everything else; server rendering doesn’t save you anything significant at the server side. Then, you’d need enough extra horsepower to render every frame of every user’s interaction with the world; every calculation done by every video chip in every client in the current model has to instead be done by some computer in the Second Life server farm. That’s a noticeable amount of new hardware!

And then, you need the bandwidth to stream the rendered images out to all the clients. Although it’s possible to construct counterexamples, it seems unavoidable to me that the required bandwidth there is significantly greater in the typical case than the bandwidth required to stream out the object and AV and camera updates that client-side rendering needs to render the scene.

So server-side rendering is significantly more expensive for the provider (i.e. BM or SL) than client-side rendering. It also scales badly: maybe Avatar Reality can afford to do the rendering for the five people sitting around in the Welcome Area, but what about a concert with 100 people in the audience? The obvious solution there is to force everyone onto the same camera and do the rendering only once; but then you don’t have an immersive virtual world anymore, you just have streaming video from a virtual concert. And that’s nothing very new or exciting…

I’m definitely a skeptic about server-side rendering. I do think it will eventually be possible; I don’t know whether it will ever be the actual best solution. I’m pretty sure that it’s not going to be in routine use in any consumer 3D world this year. On the other hand I’d love to be wrong, too. :)

“Content Creator Friendly: Blue Mars Has a Well-Planned Content Protection System”: That’s good! “Well-planned” is a necessary condition for “secure”. Unfortunately it’s not a sufficient condition. We won’t know whether or not BM actually has effective content protection until there’s significant motivation to break it. Security is Hard.

“Fun Advantage: The Blue Mars Team Has a Deep Background in Game Design”: As far as I can tell, Blue Mars is currently not particularly fun. I’m not sure what the team has been doing with their deep background in game design all this time; if they haven’t made it fun yet, when are they planning to start?

In fact this is true of most of my concerns about Blue Mars: any of the negative things would be perfectly understandable in a brand new company, but Blue Mars has been open for a Long Time now, and improvements have been minimal. I would really like BM to be a viable competitor to SL; but, y’know, if not now, when?

“Mac Compatible: Yes, Blue Mars Can Run on Macs”: Well, sort of. Hamlet, imho pretty unforgivably, says “Blue Mars can run on a Mac, with a few tweaks”. But in fact the client doesn’t run natively on a Mac at all, and while some customers have reported being able to run it in a Windows boot or emulator like Boot Camp, Wine, or Parallels (which is a heck of alot more than “a few tweaks”), that use is not supported, and I find it annoying that BM wants to benefit from being able to say “we run on Macs!”, without investing any resources into actually making it do that, or supporting people who believe them when they say it.

(The Blue Mars FAQ about Macs hints that they’re hoping to avoid the whole Mac (and presumably Linux) issue via server-side rendering. See above. :) )

Wow, so that turned into a bit of a rant, didn’t it? Executive summary: Blue Mars still unimpressive, server-side rendering still vaporware.

fwiw…