Friday, June 08, 2012

Steady progress has been made, here is a new screen shot:

The name tag in the screen shot is the original JMonkey scene graph name tag, any modules that require a JMonkey node now have a scene root that will follow the avatar.

Tuesday, June 05, 2012

First screen shot with a Wonderland client using the latest Avatars from the google code repository

The avatar's render component holds an IMI scene graph and is rendered by an MTGame render technique that is custom for that scene graph.

The name tag is rendered with Java2D fonts and turned into an OpenGL texture. The quad with that textures is set on an IMI scene graph node and attached to the character's scene graph.

The environment (ground, arches, trees etc) is using a render component that holds a JMonkey scene graph - same as before.

In this build the avatar can't move and a few things are disabled, more to come...

Quick asset changes review


All heads have been replaced, there are now four male and four female base heads.

Added models:


Removed models:


Friday, June 01, 2012

Merging the code

To merge the MTGame and JMonkey projects I had to do a diff on each modified file and carefully step through the code... MTGame now holds an improvement to the rendering framework - the improvement is to provide an alternate scene graph path to the JMonkey scene graph. This is enabled by providing a RenderTechnique that can calculate bounds, flatten world space transforms, perform culling etc on the same scene graph that is used by the Avatar Animation System. The IMI scene graph nodes use matrices to represent their local and word transforms instead of breaking it down into separate components.
Removed unused assets from avatarbaseart and put the new assets in...
I had to add EngineCore.jar to the common WL jars (where mtgame.jar is) because when the MTGame renderer encounters a RenderComponentIMI it will use the common class loader to find the IMI scene graph render technique that resides in EngineCore.
Last week I already replaced avatars.jar with the new one at modules/world/avatarbase/lib and modified the files that were required for the avatarbase module to compile with it.

The MTGame and JMonkey versions that are used by WL are now merged with the versions that were used by IMI. The avatarbase module is referencing the avatars project from the google code repository and I can run a WL server and client, log in and walk around the default garden arches environment. The avatar is not visible yet :), I'll keep posting my progress.

Monday, May 28, 2012

Brushing off the dust

Following up on the Open Wonderland meeting; I grabbed the last version of the IMI avatars project from its google code repository and started integrating it into the WL codebase. This newer avatars code base (newer than the version that is currently in WL) is actually composed of three projects: MTGame, EngineCore and Avatars.

  • MTGame - multi threading, component based architecture, rendering framework
  • EngineCore - scene graph, collada loader and more
  • Avatars - human avatars

My first step was to switch the Avatars jar that was used by WL avatarbase module (the WL module that is responsible for integration with the avatar system features) with the newer version of the Avatars jar and include the EngineCore jar. Some modifications were done in MTGame so I'll have to address that as well.

In the old Avatars version, the rendering of the avatars was done with a JMonkey root node acting as an adapter, in the newer version there is a new renderer that is managed by MTGame, it performs culling, flattens transforms, calculates scene graph bounds etc. The new version doesn't use any JMonkey nodes, but it does use the JMonkey geometry classes with an MTGame compatible renderer. While I was getting everything to compile again I disabled name tags - the implementation of the name tags used the JMonkey root node of an avatar. There is an alternate implementation for name tags in the new system so once I get some basic tests running I'll put that back.

Friday, May 18, 2012

Hello Again

Wow, it's been awhile.  2 1/2 years to be exact.
Last post was about the release of the IMI avatar system to Google code.
Since then much has happened as you might imagine but the reason to restart this blog is that we are now in the process of integrating that codebase into the currently live OpenWonderland project.  I am very pleased to see this and have high hopes for eventually pushing out and further developing many of the enhancement and new features we've developed on the IMI project SharedSpace.
Watch this space!

Monday, December 14, 2009

Google Code Update

We have updated the code base on Google Code, the update includes the Avatar System Developer Tool that we use internally - starting with our next update we will post fixes to known art asset issues. The tool is used by the artists to verify assets before passing it along for integration, it is possible to load meshes and animations on run time for a smooth work flow.

We have started a documentation effort using the wiki on Google Code, it is possible to post comments on the wiki pages, let us know what you think!

A new forum for the CosmicEngine is up and running at
please feel free to post your questions and comments, we monitor this forum regularly.

Work has begun on the Cosmic Object Model! We will document on the wiki as this matures. We hope to use this model to ease the work on "Game Objects", separate the business logic from the reusable components and even make networking easier - stay tuned!