Jul 30 2010

KataSpace Application Built on Sirikata

Ewen Cheslack-Postava

Today we’re releasing KataSpace, a simple web-based application built on the Sirikata platform.  Utilizing many new HTML5 features, WebGL, and Sirikata’s server, KataSpace provides a shared space where users can chat and interact with each other, right from their browsers. KataSpace is being developed by Katalabs as the basis for the BE community. They’ve open-sourced the application and the code is now under the Sirikata umbrella.  Here’s what it looks like:

Even better, you can test a live demo at http://kataspace.sirikata.com (be sure to use a WebGL-enabled browser — Firefox 4 Beta 7 works well on all platforms).

High level overview

Here are some distinguishing features of our platform:
  • WebGL/HTML5 client lets you login from modern web browsers with no additional installs or downloads
  • The Sirikata backend server is based on ongoing research into building a better more scalable multiuser platform
  • COLLADA support secures an open import path from just about every 3D tool out there as well as existing repositories
  • All code is available under the liberal BSD license

Anatomy of a Web-based Virtual World

Kataspace is an example of how to build a web-based application on the Sirikata platform.  Here’s the architecture of the application:

A web-based application built on Sirikata is built of three major components:

  • Space server— The space server is the “world” itself, managing the shared space and interactions between objects. This is the standard C++ client found in the main Sirikata repository.
  • Client— The client runs in the user’s browser and is built on the KataJS object host. KataJS is a library that connects to the space server to give you basic functionality in the world, as well as a WebGL display.
  • Web server— A web server hosts the application (a web page and collection of scripts) and the content.

Try It For Yourself

Building a real virtual world application is tough — all the components need to be coded, configured, and connected. To make trying out and extending KataSpace for yourself as easy as possible we’ve provided some scripts which let you easily build and deploy on a bare Ubuntu EC2 image (or really any recent Debian or Ubuntu computer).  Instructions can be found in the README in the KataSpace repository.

One of the features of Sirikata is that its core services are not application-specific, so the space server running the world isn’t modified for each application.  All the code specific to the KataSpace application is HTML, CSS, and JavaScript and runs in the browser.  This means you can easily dig in and make modifications — just edit and hit refresh!

Getting Involved

We’d like the community to get involved in developing all aspects of Sirikata — from systems developers working on the space server, to web developers focusing on building applications, to content creators building content for use in Sirikata based worlds.

Specifically the KataSpace application has the basic chat and display features described above.  It also shows how to build other common features of virtual world applications, such as animated avatars and customized user interface elements. With 1500 lines of code; KataSpace hopefully feels reasonable to dig into.

See the Getting Involved for some pointers on getting started, or get in touch with us directly.

Jul 26 2010

Invitation: WebGL social mixer around GDC

Henrik Bennetsen

The WebGL community is growing fast and here is a chance to meet informally in San Francisco. Logistics are:

Friday March 12th from 6-8 at The Vin Club (google maps). (Please note that this has been changed from the original Thirsty Bear location.)

Open to anyone interested so feel free to plug this.

Voluntary RSVP is possible on the Facebook event page

Jul 20 2010

Sirikata’s websocket capability illuminates a new avenue

Daniel Horn

A couple of days ago, I managed to upload code that changes our ad-hoc TCPSST protocol to a wire protocol compatible with the recent websocket IETF drafts.  Additionally in the months of September and October, Patrick has been working on ProtoJS, an implementation of google’s protobufs inside javascript, allowing javascript to speak the linga franca of our message serialization format: protocol buffers. What this means is that we’re taking a step towards breaking down the proverbial wall between web apps and heavyweight fat clients and servers that currently dominate the realm of 3D virtual worlds and games.

By allowing javascript-enabled webpages to invoke connections to Sirikata servers,  we suddenly open the floodgates to mashups that display statistics about virtual worlds, chat interaction, 2d clients using the new canvas tags or adobe flash to display objects in the world.

But we can take this one step further: as the WebGL standard is approaching finality and O3D is becoming more mature, there is the possibility to make a webpage that can display and interact with a beautiful 3D Sirikata world with the click of a link. As we build a web-based client on javascript and as Sirikata clients begin to speak to ever more servers, like OpenSim, it is possible to imagine a world wide world: the democratization of virtual worlds to the point where anyone can host a world and anyone can join a world as long as they have a browser in front of them.

This makes me imagine a youtube-like usecase where people are sharing their virtual worlds and enjoying popular worlds together.

Jul 5 2009


Henrik Bennetsen

Back at GDC in March Mozilla and Kronos launched the initiative to create open royalty free standard for accelerated 3D on the web. Since I have been very excited about the prospect of having support for open 3D built into the web. It would be nice to put an end to seperate clients and random plugin downloads once and for all and I think this could be our best bet. Imagine just having your space just load when you click the link.

Haven’t heard much since March until yesterday when some exciting news came out of SIGGRAPH:

JavaScript Binding to OpenGL ES 2.0 for Rich 3D Web Graphics without Browser Plugins;
Wide industry Support from Major Browser Vendors including Google, Mozilla and Opera; Specification will be Available Royalty-free to all Developers

AMD, Ericsson, Google, and Opera have now joined Mozilla and I imagine that other major players can’t be far behind. The project is now called WebGL and has a target of a first public release in first half of 2010.