Feb 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


Jan 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.


Dec 27 2009

Thinking in the overlap

Henrik Bennetsen

We have been pretty excited about our embedded browser Berkelium and it was good to see Patrick pull the trigger on it. Within our group there is an emerging sense that this technology is going to mean something and I wanted to start sharing a few thoughts-in-progress on this.

Imagine two circles where one is the web and the other represents virtual worlds/immersive environments/3D spaces (this includes the game space). These circles overlap but only very little at this point. Basically Berkelium is an attempt to push these two circles closer together. Lets put the 2D vs. 3D discussions behind us and explore the synergy that lives in the overlap.

During the course of the work on the Sirikata platform I have become increasingly interested in what happens in the webspace. HTML5 looks exciting in large number of ways as does dramatically faster javascript. Both these are central to driving the emergence of rich internet applications. These used to mainly be converted from the desktop but now a new wave (pun intended) with a web native feel is emerging. These born are born in the cloud and works in real-time.

Whether you look at the underlying technology or the resulting apps there has never been a better time to explore the overlap. With Berkelium in place we have started to build the foundation that lets us leverage advances in the webspace. The ultimate goal is to figure out the ecology that takes collaborative 3D to web-scale.

We think that lots of smart thinking is needed to move this forward. For the same reason we choose to make the open source & cross platform Berkelium available as a standalone library so that other platforms may integrate and contribute to it as well. Think smaller piece of a larger pie.

To be continued (but feel free to join in now)


Dec 25 2009

Berkelium

Patrick Horn

Over the past three months, we’ve been working on a new BSD-licensed browser engine called Berkelium. Berkelium is a library that provides off-screen browser rendering via Google’s open source Chromium and takes advantage of Chromium’s multi-process rendering engine, allowing us to safely isolate browser instances.  Best of all, it is independent of Sirikata—you can incorporate it into any project to get a simple, easy to use API for off-screen web browsers.  We’ve started using it in Sirikata to allow arbitrary 3d objects to contain browsers, and in the future, objects may be able to run a user interfaces and even entire object scripts within the sandbox of a browser window.

Berkelium should support plugins, but currently that support is limited to Flash (on all platforms). Hopefully many needs will be addressed by new features in HTML5. For those that aren’t, we believe Flash is able to fill the gap. (For the curious with some spare time, it may be possible to use a hooked HDC on Windows, and to use the X11 Composite extension to render plugins to OpenGL on Linux. However, we suspect enabling arbitrary plugins and programs in this way would take a good month of work to get right.)

And, of course, we wouldn’t leave you without a demo of the browser in action in Sirikata:


Oct 27 2009

Talk: Old stuff in new ways

Henrik Bennetsen

With the 3rd post in a row about giving a talk I do realize the need for variation but I had to share that MediaX have invited me to come speak. The event will take place on Thursday, November 5th at noon.

My focus will be on the work I have been involved in on the content side of the Sirikata equation (long winded way of saying less technical). Here is the abstract:

The platform has grown out of a several years of research at Stanford University, initiated by Media X, and the current ambition is to expand into a fully community run open source project. At the Stanford Humanities Lab we have built practical projects that explores potential futures of collaboration, cultural institutions and musical performance. Bennetsen will demonstrate and discuss this work in context of new technological possibilities offered by Sirikata.

The whole deal over at Events at Stanford


Oct 9 2009

Sirikata talk at Silicon Valley ACM SIGGRAPH

Henrik Bennetsen

The Silicon Valley ACM SIGGRAPH chapter has kindly invited Daniel Horn and myself to come talk about Sirikata. The event is open to the public so if you find yourself near Apple’s Cupertino campus on Thursday, October 15th then I hope you are able to join us.

Here is our abstract:

Sirikata (www.sirikata.com) is an BSD licensed open source platform for games and virtual worlds. We aim to provide a set of libraries and protocols which can be used to deploy a virtual world, as well as fully featured sample implementations of services for hosting and deploying these worlds. The platform has grown out of a several years of research at Stanford University and the current ambition is to expand into a fully community run open source project. In the talk we will describe the technology and its application and explore some possible roads ahead.

Full scoop and logistics


Sep 4 2009

Sirikata talk at Copenhagen University

Henrik Bennetsen

The good people at DIKU (Department of Computer Science) have invited me to come give a presentation. It is open to the public so if you find yourself in the Danish capital on Monday September 14th 2009 (and can get past this blatant self promotion :)) then please come say hi.

Full scoop and logistics

Ps. Remember DikuMUD?


Aug 25 2009

Mixed Reality Performance: An Evening on Sirikata

Henrik Bennetsen

One of the things I have been really excited about was when I get to write about some of the interesting projects that is propelling the development of our little platform forward. This first one, a mixed reality performance, I am very involved in myself. Just got word from Matteo Bittanti that his piece Mixed Reality Performance: An Evening on Sirikata will be featured in WIRED Italy’s September issue. The article describes our upcoming performance at the MiTo International festival of Music in Milan, Italy, on September 12 and 13 2009.

From Matteo’s blog:

Mixed Reality Performance is an experiment in which physical spaces and Musicians from different continents encounter one another on-line. Promoted by MITO SettembreMusica in collaboration with the Stanford Humanities Lab and the Stanford Center for Computer Research in Music and Acoustics, this production is an experiment in on-line interaction among musicians in different locations. While a pianist plays their music is manipulated by other musicians on-line; from across the ocean other acoustic realities are manipulated and appear projected in 3-D on walls. Spectators are immersed in a recreated world of sound in an installation that marks the birth of the performance spaces on Sirikata, the most recent open source platform on the web.

In the post you can also read a bit about some of the tech that will drive this performance. All the work code and art asset work we do for for this will be made available under open licenses so if you have an interest in collaboration around music performance in Sirikata then please be in touch as we already now start the planning for future projects.


Aug 13 2009

Sirikata Bug Tracker

Ewen Cheslack-Postava

bug database screenshot

Sirikata is slowly improving the infrastructure surrounding the project: we’ve had the mailing lists and a code repository since the project started, added the wiki soon after, we have an IRC channel, and most recently we added this blog.  Today, we’re making the new bug tracker public.  We’re using an instance of the excellent Trac software.  Calling it a bug tracker may be giving it too little credit: it also allows you to track milestones, versions, feature requests, commits to the source code repository, and much more.  A lot of the services we need are already provided by GitHub, so we’ve turned many of those features off and are focusing on using Trac specifically to handle bugs and feature requests, with just a little bit of milestone tracking thrown in for good measure.

We still need a bit more documentation on how to file good bug reports.  A short list of items to keep in mind:

  • The version or revision number which the bug was discovered on. Bonus points if you can track down the revision that introduced the problem.
  • The platform you are working on.
  • The features you have turned on and/or plugins you have loaded.
  • A minimal test case if applicable, or a minimal set of steps needed to reproduce the problem.
  • A backtrace if you are reporting a crash and can obtain one.

So if you’ve encountered problems compiling or running Sirikata, please take the time to file a bug report on our new system.  It does require an account to avoid spam, but anybody can register.  And if you run into any problems, email me and/or the developer list for help.


Aug 6 2009

Presentation about Collada in Sirikata

Daniel Horn

Greetings from New Orleans SIGGRAPH 2009.  I just gave a talk about using the COLLADA format in Sirikata at the COLLADA Birds of a Feather event at the Hilton.

I started with a high level description of our system architecture and then went through the rationale for choosing COLLADA as our interchange and display format.  Our reasoning is that Sirikata is essentially a 3d environment editing program and we wish to make the entire model available to users to edit and change its form in much the way as the “view source” option is available when visiting a webpage.

Clearly there are discussions to be had about whether to bake down this format to something specific to the renderer at hand, but we right now view that baking process as content-aware caching, because the original COLLADA format is the only container that will support the wide range of devices and viewers that we want to render our scenes.

Taking this further, I was chatting with Philipp Slusallek today and he reminded me that even providing pixel shader 2.0+glsl compatible shaders for a given model may be insufficient to both rasterize and raytrace it.  So some thought will need to go into using COLLADA as a multidevice, multirenderer-capable format such that users generate very compatible models that utilize the capabilities of their rendering environment.