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.