Is web the future of 3D virtual worlds? That's the gamble of Kata Labs, a new development studio creating virtual world spaces within web browsers, but not through a plug-in like Flash or Unity. Instead, Kata is using WebGL, the new 3D graphics format for web browsers developed by the Mozilla Foundation, which is soon expected to be a standard feature of upcoming versions of Safari, Chrome, and Firefox. (Here's Kata Lab's page on installing WebGL on those browsers now.) Kata also uses code from Sirikata, an innovative open source virtual world project originated at Stanford.
The startup is led by Henrik Bennetsen, formerly a director at Stanford's Humanities Lab; previous to that, he spent a Summer as a visiting academic at Linden Lab. (As Henrik Linden, he wrote the hugely influential "Immersionist versus Augmentationist" essay which remains a prime reference for defining SL activity.)
Despite (or rather because) of his deep background with Second Life, however, Henrik is betting that a web-based standard like WebGL, not a standalone client like Second Life, will define the future of virtual world activity. This video narrated by Bennetsen will suggest why, showing off a 3D image gallery, with new images quickly added to the simulation from other web pages via simple click and drag:
"Bottom line, if you want to launch a virtual world [in WebGL]," Henrik tells me, "a lot of it is built into the browser... which makes creating a 3D space dramatically easier."
And arguably faster: this demo runs at 30 frames per second. (Henrik believes the open source aspect of Javascript will improve performance even further.) At the moment, the platform doesn't come with avatars, but Bennetsen believes they could quickly be imported using assets from companies like Evolver and Mixamo. "Adding avatars to our space will not be hard at all," he says. For Second Life developers, he thinks the chance to control an entire environment, not just discrete elements allowed by Linden Lab, will be an attractive proposition.
However, that may depend on them subscribing to his vision:
"3D is becoming a web technology, the way that video became a web technology," Bennetsen tells me. "The web's continuing away from a document delivery platform to a fully-fleshed application environment." In an era of Google Wave and other apps, he argues, "What we call virtual worlds now will be a subset... I predict our terminology around virtual worlds will change." (He argues that VRML, which launched when dial-up modems were still popular, was ahead of its time.)
Kata Labs is pushing a vision of virtual worlds that are displayed on discrete, separate web pages, markedly different from Second Life. However, he thinks SL could convert to WebGL. "They would need to switch their graphics out... [but] my guess this would be a real Second Life 2.0, because that would be an actual change." Henrik notes the closing of There and Project Wonderland, which pretty much makes Second Life the last of the non-web 3D virtual worlds standing.
"I feel these are the last guys and we're moving into a new paradigm," he says. During his days at Linden Lab, "Metaphorically we thought 3D would eat the web." Now, however, "I'm pretty sure these days at least initially the web will eat 3D."
Wait .. isn't this just VRML all over again, really.
Posted by: Trinity Dejavu | Wednesday, March 03, 2010 at 09:39 AM
Hey, you bite your tongue, Microsoft VChat owned back in the day. I have fond memories as a highschooler of hanging around in the Fishbowl chatroom and asking women (fat men) twice my age for "a/s/l/cyber plz". Also hanging out in the Kiva room and going way up to the moon and going inside like Christof in that Jim Carrey movie The Truman Show.
Posted by: Two Worlds | Wednesday, March 03, 2010 at 09:55 AM
Very good.
Now show me 30fps with seamless rendering of uncached objects and textures with 50+ hi-rez animated avatars on a legacy box over standard broadband.
And then let's party :)
Posted by: Arcadia Codesmith | Wednesday, March 03, 2010 at 10:08 AM
> faster
oy.
yes, when rendering 20 prims, it's quite easy to get 30fps. now try a sim's worth (15,000).
i'll say it again in hopes that it will sink in: the SL renderer is very VERY fast.
Posted by: qarl | Wednesday, March 03, 2010 at 10:59 AM
When you compare 15,000 prims to the number of polygons in an actual game you'd laugh because games organize them into actual logical objects each of 10,000 or 100,000 polygons.
webGL only has problems with sheer quantities of objects, not their polygon count. So if you had a hundred objects totalling 60,000 polygons (equivalent of 15,000 tets) then you would have 0 trouble getting it through at 60 fps. For a reasonable enough graphics card a big model (huge mesh) and a small model (prim) will not make a difference in framerate.
Now once you start breaking it up into smaller components things get interesting, but I have every confidence that the fine folks at google and mozilla will be working on making large collections of objects fast.
Posted by: X3dcollada | Wednesday, March 03, 2010 at 11:40 AM
SL in-browser native, no plugin? Winsauce.
Possibility of a standard that might allow migration of avatars/objects between different virtual worlds? Gamechanger.
Resulting IP issues? Epic headache. But worth working through.
Posted by: Arcadia Codesmith | Wednesday, March 03, 2010 at 12:05 PM
> So if you had a hundred objects totalling 60,000 polygons (equivalent of 15,000 tets) then you would have 0 trouble getting it through at 60 fps.
tell ya what - i'm going to generate a collada file for SL's welcome area (around ahern.) you feed it to webGL and let me know what your framerate is.
Posted by: qarl | Wednesday, March 03, 2010 at 12:13 PM
Conflict of interest or not, he is correct, considering the burden the basic SL architecture places on it.
Posted by: Sidney Smalls | Wednesday, March 03, 2010 at 12:23 PM
And to Trinity, no it doesn't technically resemble VRML in the slightest. WebGL is essentially a way to let JavaScript running in a browser make OpenGL graphics calls. VRML is a file format for describing 3D objects.
Posted by: Sidney Smalls | Wednesday, March 03, 2010 at 12:33 PM
"tell ya what - i'm going to generate a collada file for SL's welcome area (around ahern.) you feed it to webGL and let me know what your framerate is."
Cool! Head-to-head! Make it happen, post the results.
Posted by: Arcadia Codesmith | Wednesday, March 03, 2010 at 12:40 PM
Nice library, like Google's O3D.
Arcadia, did you see the demos from O3D? It seems not to have too many problems with frame rate and complex polygons (see for example: http://o3d.googlecode.com/svn/trunk/samples/home-configurators/homedesigner.html). Try the same (same detail level) on SL/Opensim, for example...
Now (for SL/Opensim) we only need a port of the libopenmetaverse libraries for making a functional viewer.
Posted by: Impalah Shenzhou | Wednesday, March 03, 2010 at 12:53 PM
Very exciting. I've been waiting for something like this since O3D and WebGL popped on the scene.
Probably still too early to revive the fervor around Virtual Worlds however. Outside of kid based virtual worlds, most consumer based ones have failed. But mix 3D in the browser with social games and we might see the rise of Virtual Worlds 2.0:
http://justingibbs.com/2009/12/22/the-end-of-virtual-worlds-1-0-now-onto-2-0/
Posted by: Justin Gibbs | Wednesday, March 03, 2010 at 01:50 PM
Urgh...tech industry people and various hangers-on, could you PLEASE stop doing the "two point oh" thing? Please? Like...it got lame about 2 weeks after you started calling stuff "Web Two Point Oh".
Posted by: Two Worlds | Wednesday, March 03, 2010 at 02:54 PM
While this looks interesting, I am a bit dubious. We've gone down the 3D in the browser thing before. VRML has already been mentioned, but Microsoft came up with an actually rather nice technology in the late 90s called—confusingly enough—Chrome. Neither of those panned out. Still, this time maybe we have a winner. Users' computers and internet connections are generally better than they were in those days (excepting my father, of course).
While this could be used to provide a web client to Second Life or its ilk, the bulk of the work done by the current client is really going to have to be done on a web server. This means a more significant outlay by the provider (they have to pay for those servers somehow), but it could also mean much less opportunity for personalization, if this were to mean no more desktop client.
I really doubt this would have any positive impact on performance, by the way (unless there were a huge gain in performance by moving the web server hosting such a UI closer to the sims). In my experience (and I'd be interested to hear qarl's take on this), the bottleneck isn't in the renderer of the Second Life client but in all the network activity to bring in all the objects, textures, etc. in the view. For me at least, once the scene has stabilized, my framerate has usually been fine.
Posted by: Loraan Fierrens | Wednesday, March 03, 2010 at 04:07 PM
No IE or Firefox?
which browser revolution is this?;)
yes let webGL and O3D fight it out..... and i assume MS wont be around? eh? Silverlight.etc. and Adobe is gonna go away just because Apple wants it?
but lets wait on "roadmaps" and "revolutions" considering how "well" these folks did in predicting web3d usage/reality for the last 3 years;)
and YES, politically/ and in biz practice, WebGL and O3D are very much like VRML/ X3D, U3D and Colladas mechanations...
c3
Posted by: c3 | Wednesday, March 03, 2010 at 04:13 PM
Katalabs has the right idea; timing is good, what with WebGL momentum, COLLADA for content, X3D for scenegraph (X3DOM to be exact) and finally reliance on the major browsers vendors getting the WebGL part right. I'm betting they know their stuff and know what they are doing. I wish them luck.
Posted by: ritaturk | Wednesday, March 03, 2010 at 06:14 PM
I agree with qarl, the SL renderer is very fast, and the SL viewer has the advantage where the renderer is written in c++ and directly communicates with the OpenGL layer. Trying to communicate to the graphics hardware or a low level abstraction such as WebGL via a higher level language such as Javascript carries with it a *huge* amount of overhead, even if the execution environment for the language is optimized for speed. Also, dragging around a couple of boxes and moving a camera around a room with a few flat walls and a few textures would probably give frame rates in excess of 1000 fps in any c++ OpenGL program with even a low end GPU. I doubt the FPS is accurate tho, it could be reduced by the screen capture used to make the video.
I'm still interested to see where WebGL goes, but I'm not betting on it being able to display any complex scenes with lots of animated characters and objects without a big hit in FPS, unless they define an API a lot different than they've published so far.
Posted by: dahlia | Wednesday, March 03, 2010 at 07:25 PM
I don't think that supposedly immersive 3D worlds belong in web browser windows. It just isn't very immersive.
Posted by: Turnips | Thursday, March 04, 2010 at 01:00 AM
From a design perspective, I'd agree that "world in a browser" hinders immersion if done Facebook-style, with a little window in the middle of a page full of (misleading if not downright fraudulent) advertising.
But there's nothing that says you can't do a browser-based VW in a full-size window, with no more impact on immersion than any client.
Don't be married to the client. If there's a way to ditch it without sacrificing performance, grab the brass ring. Even if it's your baby and sleek and perfect, the client is a barrier to entry.
And if you just can't bring yourself to let the client go, develop a browser version in parallel. Transition is hard, but.... adapt or die.
Posted by: Arcadia Codesmith | Thursday, March 04, 2010 at 06:52 AM
VRML was indeed ahead of its time, and the short "VRML Age" (a few years!) was a wonderfully creative time.
There are already VR world(let)s in the browser, based on web.alive or unity3D (fusionfall). The difference is that webGL, once implemented natively in all browsers, will not even require a plugin and be immediaately available to everyone. So I think Henrik is right, most of the action is likely to migrate to worlds in the browser.
Yet the performance of systems based on plugin or dedicated clients is likely to remain higher than native browser implementations. Also, cloud gaming like onlive (rendering on the server, video streamed to the client) may become popular.
Posted by: Giulio Prisco | Thursday, March 04, 2010 at 08:10 AM
The frame rate might be a bit low ATM but that will only go one way.
"No IE or Firefox?" webkit and firefox already have support in the nightly builds, I'd have said all browsers will have support by early next year. Not including IE6/7/8/9. Before people say IE accounts for x% of the market, I really don't think it'll matter.
Microsoft have left it too late and there is too much bad blood with devs. Web developers HATE it, and are leaving it behind with rapidly increasing regularity. So, users will follow the devs as the applications(such as this) they want to use slowly but surly stop working in the IE's.
Posted by: paulb | Thursday, March 04, 2010 at 09:03 AM
katalabs current website offers no IE or firefox versions...
My Firefox said - wrong browser.
yes. im aware of webgl for Firefox... but i didnt see it there. do you?
and i doubt MS will go so quiet.
Posted by: c3 | Thursday, March 04, 2010 at 11:27 AM
Good points, Arcadia!
Posted by: Turnips | Thursday, March 04, 2010 at 07:42 PM
katalabs demo runs in Firefox Minefield (nightly beta) but you have to enable webGL. See the 'Firefox' section here:
http://www.glge.org/getting-webgl/
Posted by: danx0r | Saturday, March 06, 2010 at 01:04 AM
Now show me 30fps with seamless rendering of uncached objects and textures with 50+ hi-rez animated avatars on a legacy box over standard broadband.
Posted by: clauisaa1 | Saturday, March 20, 2010 at 08:45 AM
All hail WebGL!
That said, comparing a graphics API to a full application is like comparing lumber to a gazebo so it's a little early to be comparing frame rates.
Posted by: Trevor F. Smith | Thursday, March 25, 2010 at 09:38 AM
This is my eight try at a comment. Have you considered getting off Typepad and maybe getting your own domain being the big cheese and all?
http://www.adric.us/getrealhamy.jpg
Posted by: Adric Antfarm | Tuesday, April 27, 2010 at 05:03 PM
I'd like to see a YouTube-style embeddable SL/OpenSim player. I can put it on my website, showing a quick preview of a region. Click to login (using an avatar from that grid or ANY connected grid, or a default avatar) and click the little expand icon at the bottom of the window to make it full screen.
-- Maria
Posted by: Maria Korolov | Friday, June 11, 2010 at 08:43 AM