Past Projects

From Croquet Consortium

Jump to: navigation, search

Contents

Collaborative for Croquet

The Collaborative for Croquet was an effort led by Howard Stearns and several other individuals who were dedicated to making Croquet applications accessible to the general public as soon as possible. They did so by developing and making available a free and open croquet-based example application - and a free open place to connect it to over a wide area network. The goal was to make it easy for interested parties to explore a prototype implementation, and in so doing make it possible to consider participating in the continued development and refinement of this powerful and flexible technology.


A Preliminary Directory of Public Croquet Spaces

Mark P. McCahill and his team at the University of Minnesota are adding support to Croquet for both an in-world and a web server listing active croquet spaces and the postcard needed to connect to each space. This makes it easier to locate other Croquet spaces you might want to visit, and see what is going on inside the space before joining it (the thumbnails are pushed out from live Croquet spaces!). The Minnesota team also plans to add a x-mime typehandler to current web browsers to launch Croquet when an XML-encoded representation of a "join me" postcard is clicked on in a web page. A web page with the directory is at http://earth.software.umn.edu/cgi-bin/KnownWorlds . A green background on the first column entry indicates that the world has recently been in contact with the server. A yellow background indicates that it has been a while since the last contact. Red means that the server has not heard from the Croquet space in a while (and its probably down).

If you are already running Croquet, you can also look through the active spaces and create a portal to another space by clicking on the thumbnail image for the space. The in-world thumnail images are updated every couple minutes form the point of view of the avatar that published the space to the active space registry.

 University of Minnesota's directory of public Croquet spaces accessed from within a standard web browser application (left) and from within a Croquet space (right)
Enlarge
University of Minnesota's directory of public Croquet spaces accessed from within a standard web browser application (left) and from within a Croquet space (right)


OV3D: A Military Scenario Visualization Tool

"Screenshot of OV3D a visual simulation tool for creating scenarios describing communications networks in a modern battlespace environment."
Enlarge
"Screenshot of OV3D a visual simulation tool for creating scenarios describing communications networks in a modern battlespace environment."
OV3D (Operational Views in 3D) is an innovative Croquet-based 3D visual simulation tool developed by 3DSolve Inc. (see http://www.3dsolve.com) in collaboration with Lockheed Martin that enables the US Army to very efficiently create scenarios describing communications networks in a modern battlespace environment. Extracting from relational database descriptions, OV3D displays the hierarchical relationships, dependencies, and activities among platforms, equipment, and personnel while deployed in a battlefield. Extraction of server-based information also has application to non-military problems as well.

For military applications, a Croquet-based OV3D solution provides instant and easy to grasp visualization of database reports that are otherwise difficult to understand for interactive editing and presentation to decision makers. In an OV3D project scenario, a technician can import existing architecture or operational data or use a mouse to quickly position people and equipment on a terrain to generate a geospatial view that illustrates the subtle implications of changes to a battlespace configuration. OV3D enables users to visualize, analyze, and present complex data in a way everyone can understand. The system's capability is designed to provide rapid exposure of gaps and deficiencies in any network-centric battle plan.

For a cool video of OV3D in action go here: http://www.3dsolve.com/download/Videos/WebVideo_OV3D.htm .


Holodeck/CAVE Croquet

Daniel Faken, has developed code changesets for the Jasmine Croquet codebase that provides for driving N-walled CAVE-like environments where each wall can be composed of H * W mono or stereo sub panes.

This means that one can envision using Croquet to drive standard CAVE simulations where you can encounter and collaborate with people using Croquet clients at distand locations. It also means that it is possible to envision developing a "Croquet Holodeck" in the form of a cube of 81 cubic meters interior volume, with all six sides comprised of a 3 x 3 array of square meter 1024*1024 stereo pixel panes. This could be done with 108 projectors run by 54 instances of Croquet working in tandem, each simultaneously calculating the view in each of the left and right occular perspectives that an observer of fixed or dynamically updated position within the cube can see on each pane. Fast dedicated network fabric between the 54 boxes (or blades/cores) running Croquet keeps everything in sync.

At Boston University, this has already been done using 24 projectors (12 stereo panes) composed a Croquet scene where all the view panes updated seamlessly and simultaneously as the avitar was moved around the demo space. They made the system scale by dedicating a CPU/GPU pair and Croquet instance to each stereo megapixel or so of display.

The total visual information available to the users of such a room would be 54 stereo megapixels. Hovever, in a 6 sided CAVE with multiple stereo megapixel panes per wall, one hopes that LCD technology can be used at the walls, because 108 projectors would cook the occupants in short order! :)

At present, researchers at Duke University are exploring how this fuctionality can be migrated to a future Croquet 1.1 release.

"Screenshot of Daniel Faken's ChemStereoCroquet"
Enlarge
"Screenshot of Daniel Faken's ChemStereoCroquet"
ChemStereo Croquet

Daniel Faken made some modifications to the Jasmine version of Croquet, to support use in a CAVE (at Brown University). He also developed support for various stereo modes (quad-buffered, frame-sequential, anaglyph, Sharp RD3D..). This was done for running on a distributed Linux cluster. Dan also had tracking working using VRPN libraries directly via the Squeak FFI (libffi?). None of this is really "stable", and so it wasn't neatly packaged for release. Dan has recently rereleased some of this under the Croquet license (it dopes not include the VRPN code, but Dan might be able to find it if you really need it).

All of this code is contained in a modified version of a Jasmine, which also contains an image and code with change of scale perspective capabilities and can be downloaded here: ChemStereoMultiScalePerspectiveCroquet0.3.tar.gz

Basically it defines the CAVE configuration in Croquet 3D space: you position the screens, the head, the eyes on the head with the desired interocular distance, etc. and the projections are automatically calculated. To change the projections in accordance with a tracked head, you just move the head object relative to the screens (you can actually do this interactively). And each croquet node, of course, is mapped to a particular screen object (rectangle). The difficult parts of this are determining the correct projections given the head/eye/screen positions, and dealing with using Croquet's 2D input system (the mouse). The latter can be problematic because Croquet assumes a single projection is correct, but of course for stereo you have two, and for multiple screens...

Dan did have to do some simple low-level modifications to Croquet's OpenGL interface, to support using Stereo visuals. (maybe this has been addressed in hedgehog, though) And for anaglyph stereo (which you may not be interested in) it was important to go through Croquet for changes to the relevant rendering parameters, since they were being modified somewhat haphazardly (not using glPush/PopAttrib(), possibly out of efficiency concerns).

For tracking, Dan found it much easier to use a simpler direct interface to the trackers (VRPN) and coordinate separate nodes within Croquet. In fact, as commonly suggested by Smalltalk proponents,Dan found it best to move as much as possible (but no more) into Croquet, since it was then much easier to work with with regard to modification, debugging and networking/synchronization. None of these things depend on using Linux, so MSWindows should be fine.

Dan is happy to answer any questions you might have on this at dbfaken at comcast dot net or via the lists.


Collaborative Music Generation

Florian Thalman and Markus Gaelli of the University of Bern, Switzerland are working on a Croquet-based music generation application called Jam Tomorrow, that allows large numbers of users to collaborate. In a virtual world, groups of users generate music simultaneously at different places in a room. This can be realized using OpenAL sound sources. The generated musical pieces will be modifiable while they are playing and all collaborating users will immediately see and hear the results of such modifications. Click here for a citation to this work.


Croquet on Mars

Frank Hughes (Tietronix Inc.) and Frank Wattenberg (USMA) are working is a very ambitious project whose goal is a massive collection of highly interactive material centered on the exploration and eventual colonization of Mars. Although the initial scope is mathematics, science, and engineering at the undergraduate level, the project is expected to expand rapidly to include middle and high school materials and other disciplines. This effort has been exploring the potential of using Croquet as a delivery medium for this educational content.


Avatar Import from Blender

Blender is an open source cross platform tool for modeling and animation and has support for exporting .obj meshes and BVH animations (see http://www.blender.org/ ). Croquet supports importing motion capture data for avatars meshes as BVH files, but to date the only documented mechanism to modify/scale the BVH motion capture data to a given avatar's mesh and skeleton has been to use Poser. Documenting the workflow for creation and importing of avatars from Blender is underway at the University of Minnesota. This is part of a general project to get better avatars for our worlds.


Croquet with TVML

Researchers at Japan's NICT (Yutaka Kidawara, Takashi Yamamiya, Masaki Hayashi, and Katsumi Tanaka) developed a new 3D content browser based on Croquet that has a TVML processing engine and peer-to-peer network connectivity. TVML is a scripting language for generating TV-like content, and it can control virtual 3D character’s behaviors and camera positions. Croquet and TVML are very powerful tools for creating virtual 3D content. However, both systems lack important functions for virtual 3D content browsers using the Internet. The usual Croquet does not have easy-to use functions for authoring 3D characters ’behaviors. A usual TVML player also does not have functions for sharing virtual 3D objects and virtual space among PCs. They added TVML processing functions to Croquet to develop a novel virtual 3D content browser. They call this browser "Croquet with TVML". The tool can play virtual 3D content in shared virtual 3D space through peer-to-peer networks. TVML is used to generate aspects of a virtual 3D world in Croquet. For a complete citation of this work, click here.


Non-Player Characters (NPCs)

Besides working on better looking avatars, Mark McCahill's group (at the University of Minnesota) has been exploring easy ways to get robots such as recordable avatars, zombies, and other NPCs (Non-Player Characters) into Croquet. There is a movie of this here:

http://hedgehog.software.umn.edu/croquet/croquetMovies/RobotsInCroquet.mov


CITRIS Gallery Builder

"Screenshot of the CITRIS Gallery Builder Application"
Enlarge
"Screenshot of the CITRIS Gallery Builder Application"
The CITRIS Collaborative Gallery Builder was an early Croquet-based system designed to allow researchers in the humanities to interact with 3-dimensional artifacts and related digital content inside of a collaborative virtual environment. It was implemented in a pre-alpha version of Croquet.

The CITRIS Collaborative Gallery Builder creates digital galleries, which are simple virtual structures emulating real-life exhibitions and collections. Visitors find themselves in a virtual space composed of various rooms, with 2-dimensional and 3-dimensional artifacts and multimedia presented in the space. Each visitor is represented by an avatar which they can navigate through the 3D space.

The CITRIS Collaborative Gallery Builder, built on top of HP Labs' Croquet software, allows for group collaboration and interaction within the virtual space. That is, several people may have avatars present in the space at one time which can interact with each other, and with the gallery itself. Examples of interaction include discussion, annotation of artifacts, adding hyperlinks to artifacts, as well as introducing new items into the gallery and modifying the layout of the gallery and contents.

The system can be used in a traditional authoring mode, where one or more researchers curate the gallery, creating a space for exploration by later visitors. It can also be used as a purely collaborative 3D wiki, where everyone who visits is free to modify the space. In the second approach, curating itself becomes the learning experience.

The CITRIS Collaborative Gallery Builder has been developed in cooperation with HASTAC (Humanities, Art, Science and Technology: Advanced Collaboration), the UC Humanities Research Institute, the Stanford Humanities Lab, and the Stanford Library's Buckminster Fuller Archive. It uses digital content from the Fuller Archive in addition to artifacts digitized at the UCB Tele-Immersion Lab.

http://citrissrv1.eecs.berkeley.edu/hosted/projects/ith/gallery/


Information Space

"Screenshot of Brian Tabone's Information Space"
Enlarge
"Screenshot of Brian Tabone's Information Space"

InformationSpace is a causal set exploration tool developed by Brian Tabone. A causal set is basically a set of simple rules that define the relationship between bits in a space time. A common example of this is John Conway's game of life. I use the term InformationSpace to encompass space, time, causal rules, and initial conditions together as one. An information space is the structure of bits in a static space time, as defined by the causal set rules and initial conditions.

In this screenshot we see a 3D space time visualization of a classic r_pentomino using John Conway's Game of Life causal rules. Y is up towards the sky and is the time dimension. This visualization is done using Open Croquet

This causal set is defined as:

Causal Rules: Game of Life Initial Conditions: R Pentomino Space time: Three dimensional (2 dimensions of space, one of time).

InformationSpace allows you to set some initial conditions, attach a set of causal rules, and render a space time into a log file, which you can then view with the visualizer. Currently only 2 space dimensions are supported, 3D space will be supported in a future release.

http://www.softcentral.com/informationspace/

Immersive Language Instruction Tool

Here is a movie of a prototype that Mark McCahill's group made with along with some University of Minnesota folks interested in technology assisted language acquisition - Mahmoud Sadri, Penny Thompson, and Sara Mack.

http://hedgehog.software.umn.edu/croquet/croquetMovies/betterLangDemo.mov

The movie shows how Croquet might be for immersive foreign language learning. The idea is that a couple players are dropped into a space and sent on a quest. In this prototype the quest is to get across the lake and then to take the bus into the clouds. To cross the lake they will have work out how to find the boat, then pay the boatman (who is hungry), then demonstrate that they understand when the bus departs. In other words, the narrative structure is like the rhetoric of many games: start without assets, gather assets and pass some sort of test to move to the next level.

DualMazeAgain

"Screenshot of Dave Faught's DualMaze"
Enlarge
"Screenshot of Dave Faught's DualMaze"

Many moons ago, Dave Faught wrote a game called DualMaze for the Amiga. It made use of the specialized graphics hardware in the Amiga that allowed two overlapped graphics fields to be scrolled independently, with a separate randomly generated maze in each field. It was kind of fun to play. Now he is working on a remake of DualMaze in Croquet, but the concept has changed a bit. This time, DualMaze is a space inside Croquet that contains two mazes, one above the other. As you enter the space, you are inside the upper maze but gravity pulls you down to the maze below.

The idea is that you solve the maze that you have fallen into below to find a "magic" button that causes the mazes to rotate around in space so that the lower one becomes the upper one and the upper one becomes the lower one. Gravity once again takes hold and you fall down into the lower maze, where you can find your way back to the portal where you entered the space. This is a work in progress and a learning experience in Croquet.

See http://map.squeak.org/packagebyname/DualMaze

Worldbase Digital Repository

The University of Minnesota ran a prototype digital repository for the Jasmine codebase where objects, annotations, and meta data could be stored, searched, and instanced from. As we begin connecting Croquet spaces, it makes a lot of sense to get the digital object commons going again, so this is a project for this fall. The initial work will be centered on supporting free-to-use/redistribute content.

Annotation Tools

We had a number of annotation tools developed in Jasmine, that are being ported to the hedgehog codebase. A first iteration on thumbtack annotations now works, but we also want to allow non-texture annotations, and 3D concept mapping, which were both part of Jasmine. THis is a relatively low priority at the moment at the University of Minnesota, so if someone else wants to dive in, go for!


Video Avatars

Video avatars paint live 2D images (typically taken by a web cam) onto an avatar so that you can see a lifelike representation of the person running the avatar. This is work is designed to enable teleconferencing via Croquet and its messaging architecture and is being done by The University of Wisconsin, Clotho Advanced media, and now Duke University.


A Croquet Game Called Q

Here is a little demo somewhat inspired by Quidditch. It uses the older Jasmine version of pre-Croquet.

Strick has a wiki page with the download, instructions, and screenshots here:

http://smilax.org/144

That page also has lots of hints for beginners to be able to download Croquet, the Q game, and to run them.

A demo by and for hackers at PhreakNIC 9 includes the game. The image resolution is poor, but the narrative has a nice explanation for developers.

Rubik's Cube in Croquet

Here are a couple of videos of a Rubik's Cube in Croquet space on YouTube. This is work done by one of Robert Hirschfeld's students at the Hasso Plattner Institute in Potsdam (see http://www.hpi.uni-potsdam.de/personen/professoren/hirschfeld.html). Looks like they used the embedded the cube inside the standard 3D edit box so that you can use the edit box to rotate the cube around. Pretty cool!

http://www.youtube.com/watch?v=FnT6tXA5MDs


Croquet-Related Doctoral Thesis

"Screenshot from Michael Kleiber's thesis project"
Enlarge
"Screenshot from Michael Kleiber's thesis project"
New Interaction Schemes For Authoring Digital Worlds For Non-Professional Users (using Croquet) from the Games Group at the University of Magdeberg.

Many non-professional computer users are intrigued by three dimensional graphics. They have seen rendered digital creations in movies like Toy Story or have played 3D computer games. Furthermore, with the advancement of graphics hardware in consumer PCs 3D content is becoming more and more common. Nonetheless, easy ways for the user to create his own unique 3D graphics are still missing.

This thesis by Michael Kleiber shows how non-professional users can create 3D graphics in an easy but still flexible way to allow even arbitrary creations. It develops requirements for a pen controlled authoring suite in three dimensions. Especially the unique features of pen input are investigated in detail and new interaction schemes making use of these features are developed. A new concept for 3D creations is presented which is based on placing free form user created objects in 3D space to build larger more complicated structures.

The developed demonstration application lets the user shape the landscape of the virtual world, create unique objects and place vegetation freely. All these tasks are supported by new pen based input techniques. Also, the developed application can be used in future research projects which focus on interacting with 3D worlds using non-standard input devices.

Finally, a short informal user study was carried out to evaluate the developed authoring suite and the new pen based interaction schemes. The results of his thesis indicate that the new navigational techniques are especially intuitive and the concept of creation is easily understood. Yet, it also indicates that much more work needs to be done in the area of human computer interaction when targeting non-professional users.

see http://games.cs.uni-magdeburg.de/?id=441


A Commercial Game

A member of the Los Angeles Smalltalk User Group, is presently working on a commercial game built with Croquet.


ChemStereo Croquet

"Screenshot of Daniel Faken's ChemStereoCroquet"
Enlarge
"Screenshot of Daniel Faken's ChemStereoCroquet"
ChemStereo Croquet

Daniel Faken made some modifications to the Jasmine version of Croquet, to support use in a CAVE (at Brown University). He also developed support for various stereo modes (quad-buffered, frame-sequential, anaglyph, Sharp RD3D..). This was done for running on a distributed Linux cluster. Dan also had tracking working using VRPN libraries directly via the Squeak FFI (libffi?). None of this is really "stable", and so it wasn't neatly packaged for release. Dan has recently rereleased some of this under the Croquet license (it dopes not include the VRPN code, but Dan might be able to find it if you really need it).

All of this code is contained in a modified version of a Jasmine, which also contains an image and code with change of scale perspective capabilities and can be downloaded here: ChemStereoMultiScalePerspectiveCroquet0.3.tar.gz

Basically it defines the CAVE configuration in Croquet 3D space: you position the screens, the head, the eyes on the head with the desired interocular distance, etc. and the projections are automatically calculated. To change the projections in accordance with a tracked head, you just move the head object relative to the screens (you can actually do this interactively). And each croquet node, of course, is mapped to a particular screen object (rectangle). The difficult parts of this are determining the correct projections given the head/eye/screen positions, and dealing with using Croquet's 2D input system (the mouse). The latter can be problematic because Croquet assumes a single projection is correct, but of course for stereo you have two, and for multiple screens...

Dan did have to do some simple low-level modifications to Croquet's OpenGL interface, to support using Stereo visuals. (maybe this has been addressed in hedgehog, though) And for anaglyph stereo (which you may not be interested in) it was important to go through Croquet for changes to the relevant rendering parameters, since they were being modified somewhat haphazardly (not using glPush/PopAttrib(), possibly out of efficiency concerns).

For tracking, Dan found it much easier to use a simpler direct interface to the trackers (VRPN) and coordinate separate nodes within Croquet. In fact, as commonly suggested by Smalltalk proponents,Dan found it best to move as much as possible (but no more) into Croquet, since it was then much easier to work with with regard to modification, debugging and networking/synchronization. None of these things depend on using Linux, so MSWindows should be fine.

Dan is happy to answer any questions you might have on this at dbfaken at comcast dot net or via the lists.

Views
Personal tools