[Opensim-dev] a region module to visualize the state of a software project (Re: [opensim-dev] interfaces to opensim for sensor network data)

Toni Alatalo antont at kyperjokki.fi
Sat Dec 11 04:28:16 UTC 2010


On Nov 27, 2010, at 4:13 AM, Justin Clark-Casey wrote:
>> I am working on a project to create abstract 'data worlds' based on structures in a relational database. Justin's
>> proposed approach would be great! If there is anything I can contribute (testing, documentation), please 
> Lo-fi public visualization in OpenSim is an interest of mine.  There has been some interesting stuff done via scripting on the Linden grid but I think there's also a lot of potential for the server-side approach (because of the advantages outlined previously).

There is one quite new example out there btw, which originally came from the idea of thinking how we could 'eat our own dogfood' in opensim development .. visualizing the state of software projects as virtual worlds, to facilitate interdeveloper communications etc. 

It was developed against the Naali viewer codebase data, as an Opensim region module, but is general enough to work against any software project basically. The code is in http://code.google.com/p/rexprojectspace/ . It creates a quite rich scene on the server entirely from the code in the region module, using data it fetches from various services with http. There's a downloadable video on the project site, http://code.google.com/p/rexprojectspace/downloads/detail?name=rex_beta5.m4v .. demonstrates all these features:

It pulls information about the code itself, mainly the module / directory structure, from the version control (on github in this case). And shows commit information, the latest commit msg to each dir. And has an object representing each dev, placed where the previous commit from that dev came. And shows bugs as a kind of flying bugs in the air, it gets that info from the tracker we have at google code .. unassigned bugs have different colour.

Additionally it polls a buildbot to show build/test status -- if tests fail, the tree that shows the commits starts burning .. when tests again succeed, there is rain, and the tree stops burning :) And if someone makes a new branch to git, new branch grows to the tree. And you can click on a commit in the tree to open the info about that commit in a webbrowser (the github commit web view).

Markus made it as a his diploma thesis work, after found my writeup of the idea in a wiki, and the thesis is finished now .. the writeup is in Finnish though. I think we should write at least a short English article about it too, perhaps have time for that in January or so.

Plan is to set it somewhere to run and to actual use, and perhaps opensim can adopt it for opensim code too .. and run it on osgrid somewhere :) . So far I've been just running it locally sometimes, but am looking forward to having it always on as a kind of a painting at our studio, so can easily see the status in a nice way :) The visuals etc. are not the greatest, plan is to improve, but it works and is in some way complete .. as a first step, I hope.

Perhaps also works as an example for the original poster (Richard Hackathorn) for how to create a scene from external data in a region module. It uses modrex 'cause it uses meshes, but the vanilla opensim API to create new objects and assets and to place them etc. It is written in Python, using the IronPython Opensim region module loader Erno wrote a while ago, but the .net API of the Opensim objects is identical with c# usage. Py region modules are nicer to dev 'cause you don't have to restart the simulator while devving your module (I think MRMs have this advantage too?).  The py opensim loader is nowadays hosted by Melanie in some semi official opensim addons repo. 

Markus was quite happy to develop the module, actually said that didn't encounter any bugs. He learned using Blender to model the tree and the leaves etc. for this project too from scratch, and didn't know anything about SL or Opensim or reX before this, so quite an achievement I'd say :)

~Toni




More information about the Opensim-dev mailing list