Sirikata Puzzle

From Berkman Klein Google Summer of Code Wiki
Jump to navigation Jump to search

The Sirikata platform grew out of several years of research at Stanford University. The research and development work underlying the development of Sirikata has resulted in a well described system architecture and openly available prototypes. The project provides a set of libraries and protocols which can be used to deploy and develop a wide range of 3-d applications such as multi-user games or a virtual world, as well as fully featured sample implementations of services for hosting and deploying these spaces. Fully realizing Sirikata's potential is a large endeavor and will require a wide collective effort, so the project has now been realized under the BSD open source license in order to enable the widest possible collaboration. The process of advancing Sirikata from a foundation in Stanford's particular needs and capabilities to a fully community-run and open-source project is well underway. The project is benefiting from growing interest across a range of academic and cultural institutions, as well as industry.

One of the key characteristics of Sirikata that differentiates it from other platforms is the combination of rich media capability with a strong orientation towards the World Wide Web. Development of Sirikata is based fundamentally on the idea that users will want to extend their existing work in a variety of digital realms to include the affordances of 3-d environments, rather than leaving everything behind when they move to virtual worlds. Sirikata is fully integrated with Google Chrome's browser, which gives this platform a unique ability to leverage existing web resources, as well the emerging cloud computing paradigm. An additional goal is to have Sirikata-based environments run inside common web browsers in order to ensure maximum accessibility.

In keeping with the open philosophies you can find communication channels, visuals, code and documentation freely available from the project website at: http://www.sirikata.com/

The task is getting a high performance physics library into the javascript language where it can be used by any web application, including the open source virtual world system that we are constructing, sirikata.

Currently the closest match to such a system that we know of is the http://www.jiglibflash.com Jiglibflash is an actionscript3 based 3d physics library supporting rigid bodies, rag dolls and heightmaps. The other candidate library is the C++ bullet physics library, which is a mature library in C++, but might require a lot of rethinking to be ported to a scripting language.

  • The first task will be evaluating jiglibflash and benchmarking and understanding its performance and the applicability for a javascript based system. Part of this will be analyzing how the jiglib could live within a javascript webworker thread where dom access is restricted.
  • The second task will be to port the rigid body simulation to javascript and generate some simple demos for it using webGL, GLGE or other javascript-based rendering systems.
  • The third task is to port the rest of the library including rag dolls and height maps to javascript and test them with some appropriate demos.
  • The fourth task is to come up with an inter-thread API so that jiglibflash may be used WITHIN a webworker thread so it does not block the main (graphics) thread.

The final task is to incorporate COLLADA physics loading support so that COLLADA models from remote URI's may be simulated within the physics system.

Each of these, naturally, might be broken off from the rest and treated as a summer project. My project team is mostly on the West Coast, but I am here at Harvard and there are several other collaborators in other locations in the US.