My first world builder world

March 27, 2008

The Project Wonderland World Builder is coming along quite nicely. We have finally imported some full sets of artwork, and yesterday I built my first room:

This room is a lecture hall using the “collegiate” theme. The whole process was pretty simple. First, I installed the world builder in a servlet container (I used Jetty). Then I dragged and dropped the various components of the world using my browser. Finally, I saved the world from my browser and loaded up Wonderland pointing at the room that I had built. Here’s how it looks in Wonderland:

The art has improved even since I took this screen shot. Overall, I was very happy with the process. In just a few minutes I was able to layout a lecture hall that we are now using in demos.

We have big plans for the world builder, and lots of improvements to make along the way. Most importantly, we want to let the artists in the community contribute themes that people like me (a programmer and definitely not an artist) can assemble into buildings and rooms. We’ll be posting a tutorial soon on how to add your own themes to the world builder. Stay tuned!


Wonderland talk in Second Life tomorrow

March 26, 2008

Kevin Roebuck, Sun’s Community Manager for Immersive Technologies for education, will be giving a talk tomorrow, March 27, at 10am PT in Dr. Dobb’s CMP Amphitheatre in Second Life. Topics covered in this session include motivation for using 3D environments in distributed organizations, an overview of Wonderland features, a high-level technical description of the system and a discussion of the project’s roadmap for the future in Education including the Open Virtual Worlds Project with the New Media Consortium and Immersive Education Initiative at Media Grid.

Postcard from Wonderland

March 20, 2008

It’s great to have a new place to talk about all of the great things that are happening in Wonderland!

To start things off, we thought we’d introduce ourselves with a team photo. So, here’s the Wonderland team in our favorite meeting space, MPK20!

Project Wonderland team photo

Our team is growing fast, and we’ve added two new members, Jordan and Doug, since this photo was taken.

We’re also introducing a cool new way for you to keep track of Wonderland. We’ve set up a flickr account where we’re going to upload “Postcards from Wonderland”. We thought it would be neat if we could take snapshots of what we’re up to in Wonderland and publish them. We’ll post these postcards in this blog, but in the meantime you can check out our current list of postcards here:

We’d love to see postcards from your Wonderland travels, so send us your photos and we’ll publish postcards for you!

You might have read that we have a really great new feature in Wonderland, movie recording. Now you can make a movie of your travels in Wonderland. In our 0.4 release we’ll also have a collaborative video application, so you can watch movies too. I’ve spent a lot of time watching movie trailers while developing this feature! All of this got me thinking…perhaps we could convert the movie recorder into a camera, so you could take snapshots in-world and automatically upload them to our flickr account? Talk about the ultimate digital camera! So, Wonderland community, how about taking up this challenge and building Wonderland’s first virtual digital camera?

Storing your WFS in a JAR

March 19, 2008

The initial version of WFS in v0.3 came with a cool feature: your WFS can be packaged as a JAR file and located either on disk or over the net. The WFS tutorial (here) hinted at this feature towards the end, but I wanted to expand upon it here and what I had in mind when I included it in the code.

First off, you can package your WFS as a JAR simply as:

% jar cvf mywfs.jar ./my-wfs

where my-wfs is the root of your WFS directory on disk.

Then, you set the wonderland.wfs.root property to point to that JAR, for example: jar:file:/home/me/mywfs.jar!/. Don’t forget the final !/; Java won’t parse the URL properly without it.

You can also store the JAR file over the network and load it from there. In that case, set the wonderland.wfs.root property to something like: jar:!/.

It let’s you, for example, package up your world, export it via the net, and let others use the same world definition as you.

In the future I can see this feature being used in several ways:

1. The world gets automatically generated on-the-fly by web server code (e.g. servlet), perhaps as a result of HTTP parameters passed to it. (Staring in v0.4, we’ll be providing a more robust API and class library to both read and write WFSs).

2. Break the definition of a world into a collection of individual WFSs, each stored in JARs. We could, for example, include a new cell type (WFSCell) that is simply a collection of cells stored within a WFS JAR file. In your world, you can include cells as you do today, but also WFS cells that simply point to a portion of the world stored as a JAR elsewhere. This can be used to borrow components of a world (e.g. a room design) from elsewhere, and also enable highly-reconfigurable provisioning of the world space (e.g. break the world into a set of regions, each defined by a WFS cell that points elsewhere letting individual users control their own space). (Interesting challenge: The world definition is a directed acyclic graph where we would need to prevent infinite loops in its definition).

What do you think? Let me know your ideas!

Welcome to Wonderland, Alice!

March 13, 2008

Welcome to Wonderblog–a blog about Project Wonderland, a freely available, 100% Java-based, open source toolkit for building 3D virtual worlds!

Wonderland not only supports 3D world content that can be assembled on-the-fly, but also includes a high-fidelity audio mixer (that talks SIP and RDP too!) and seamless integration with your 2D desktop apps. You can read more about Project Wonderland–and download both the binaries and source code, read tutorials, and participate in forums–at

In this blog, the folks at Sun involved in the Wonderland community will post the very latest news about the code, releases, technical tips, and live updates from conferences. Plus: a very special feature we’re calling “Postcards from Wonderland”, stay tuned for more information about that.

You’ll also be hearing a lot more from me, so let me take this opportunity to introduce myself: I’ll be joining the Wonderland team full-time in late Spring after I finish up my PhD. Some of you may recognize me from the community as the creator of WFS (Wonderland File System). You can expect lots more enhancements to WFS in future releases, and I’ll be spending much of my time interacting with the community, blogging, developing tutorials, education materials, and of course–some cool 3D worlds.

Well — enjoy this blog & feel free to post comments. Let’s head down the rabbit hole, shall we?

%d bloggers like this: