Archive

Posts Tagged ‘realXtend’

Building plans become immersive with Visibuild

April 13th, 2009
Comments Off

Visibuild is a 3D visualization tool for architects. It can take CAD models and place them into a virtual world. Architects and their customers can see the plans and blueprints come alive, exploring them together in a virtual world, just as if they were really there.

 

The users can bring their own characters, so that they can get the feeling how well their physical body will fit into various spaces and rooms of a planned building and its surroundings. Users and architects can meet in the virtual space, discuss and make changes to the plan right on the spot. “The client’s first reaction after seeing a teaser was ‘I want more!’ so I think we can safely say the value of a virtual model was immediately evident” states Jon Brouchoud, an architect and one of the first customers of Visibuild.

Consider how great this could be for a whole neighbourhood, which is just being planned. Everyone who is making plans for an individual house – both users and architects – can take the surroundings into account. Community-wise, it would even be possible to have a virtual neighbourhood bbq. Nothing like this has been possible before.

The innovator behind Visibuild is Jules Vos, based in Amsterdam, Netherlands. He is a young entrepreneur who has also been involved with Second Life before he turned his mind to new platforms. Jules said that “there appears to be a lot of traction for a virtual environment dedicated to architecture, evident by the very positive review on Visibuild by Jon Brouchoud, the comments others gave and the many private alpha participation requests that Visibuild is receiving currently”.

The Visibuild technology is based on realXtend, the open source virtual world platform. realXtend offers 3D model import, dynamic lights and shadows and many appealing features for Visibuild. “realXtend is a 1,5 years old project and this is the first commercial product built on it” says Antti Ilomäki, realXtend program manager, “when we started realXtend, architects were identified as one of the top potential user groups for the platform. It is fascinating to see the prediction to come true.”.

Visibuild is planning its public alpha launch at the Next Web, a conference on the future of the internet that will take place in Amsterdam. Visibuild is one of the remaining 24 finalists that may present the concept on-stage in five minutes.

realXtend , , , ,

Comparison: How realistic Avatars can look like?

April 11th, 2009

Here is a comparison between virtual world avatars and how realistic they can be. Generally it is easier to make cartoon-like and harder to make photorealistic. Commercial games and many closed virtual worlds are not included. Barack Obama is used as an example as he is widely known.

Wikipedia says that an avatar is “a deliberate descent from higher spiritual realms to lower realms of existence for special purposes”. When I go from my reality to the artificial digital reality, I present myself as an avatar. 

Some want to use fantasy avatars, some want to look like they are in the real life. If you don’t want to look like you are, it is easier. Photorealism is the hardest because human eye is most trained for that and easily senses any deviations.

Realistic-looking avatar is especially important for virtual meetings and business purposes. 

Second Life avatar

 SL Avatar is based on a mesh and skeleton, the modifiability is achieved using morph targets. The SL Avatar has respectable 144 modifiable parameters. See here how you can export and import SL avatar settings to/from your own computer.

Second Life girl caLLie cLine was the first Avatar that was selected to the “Top 100 Hottest Females of 2007″ in Maxim. The avatar model can’t be too bad! 

Opensim users usually technically use Second Life avatar if they are using SL Viewers. This has worried some people as the licensing of the avatar model is unclear. There is an effort that has started to create universal free human avatar models that could be used also in Opensim, Tommi Laukkanen wrote about it here.

 

Barack Obama in Second Life

Barack Obama in Second Life

Second Life avatar is cartoon-like with exaggerated muscles and forms – although this is something everyone can adjust themselves. 

Olive avatar

Forterra’s “flagship product, OLIVE™ (On-Line Interactive Virtual Environment) is an open, distributed client-server platform for building private, realistic virtual worlds.” – excerpt from Forterra web site.

Barack Obama avatar in Olive

Barack Obama avatar in Olive

Olive avatar is even more cartoon-like than Second Life avatar. Also, the rendering quality of Olive is optimized for low-end hardware because of the wide user base at US government projects. 

Wonderland avatar

Sun Microsystem’s project wonderland is working to enhance their avatars. The next release is coming and there should be something better available at that time. Take a look how you can try out Wonderland, it is really easy.

Avatar in Wonderland 0.4

Avatar in Wonderland 0.4

Wonderland’s current avatar model is really simple and low polygon. According to their web pages there are significant improvements coming.  I hope that Wonderland project joins to define universal avatars.

realXtend avatar

realXtend avatar can use Facegen’s photofit feature to make surprisingly real looking models. It is also possible to use any 3D mesh as an avatar, some examples being shipped with realXtend are a snowman and a mushroom. 

barack_rexbloom2

Barack Obama's avatar in realXtend

realXtend avatar can be made to look cartoonish, too as is the case with Rex Ping. Avatar has more than 10k polygons and it has both morph target based modifications as well as individual bones can be scretched in the skeleton – which can lead to many very funny avatars, see video below.

While realXtend avatar clearly looks realistic, realXtend is still an early phase software. As an interesting note, Ludocraft hinted at realXtend mailing list that they are working to bring face tracking and facial animation to realXtend. 

If you have screenshots of an avatar in other virtual world platforms (Barack Obama would be good!), please send them to me (jpirkola@gmail.com) with some explanation and I will publish them as a continuation to this post.

OpenSim, Uncategorized, realXtend, wonderland , , , , , ,

Open source licenses, virtual worlds and business, do they mix?

April 6th, 2009

What if you wanted to do some business using open source software? You are most probably already doing that even if you may not realize it. Open source virtual worlds have different licenses and they are briefly covered here.

Consider this example: You pay to a developer company to make you an e-commerce web site. They do it and you launch it with a marketing campaign, everything is rolling smoothly, money flows in. Most probably almost everything is done using open source software components. Why? Because it is cheaper and easier that way. 

software

Let’s see what software (just an example) is needed to run your e-commerce web site:

  • Web site runs on Linux operating system (GPL) – you save in average 5€/month when compared to proprietary operating systems
  • Apache web server (Apache open source license) – de facto standard web server
  • MySQL database (GPL)
  • Joomla content management system (GPL)
  • VirtueMart shopping cart (GPL)
  • And your customer may use Firefox web browser (GPL)

To put it briefly, business is possible. The above example is good in the sense that virtual worlds are used fundamentally the same way:
You make a virtual world and add some e-commerce aspects to it. Users use a virtual world viewer and come to browse your world and spend some money. In addition to that, you can sell your virtual world to another company if you wish.

Why licensed? Can’t the software just be available and used? 

If a company writes software, they hold the copyrights to the code. License defines how this company want to make the software available for others. License can be purely commercial, like is the case with Microsoft Windows. License can give the binaries for free use, but give no rights to the source code, like Skype. Open source licenses give users access to the source code too. Licensing does not mean transfer of the copyright.

A company can license a software using as many licenses it wants; for example Linden Lab Second Life Viewer is licensed in GPL, but it also has a commercial license for 3rd party developers. In both cases, the copyright owner of the viewer code is Linden Lab.  

How are different virtual world software distributions licensed?

OpenSim, the apache of virtual world servers, is using BSD license. BSD license is liberal, and some consider it business friendly. You can modify, split, chop, extend, deep-fry, wok, shrink wrap and sell it. Only thing to remember is to distribute the contributors.txt file with the software, so that the customer knows who made the original version of the software. No other strings attached. 

For example OpenLife is using Opensim to run their virtual worlds and they have developed the code further on their own. Openlife may publish their version of the virtual world server software using GPL license later, and this all is perfectly legal and in harmony with Opensim BSD license. realXtend server and Modrex Opensim extensions are using BSD license as well. 

Second Life Viewer is using GPL license, but is also available with a commercial license. The commercial license means that you get the source code and can develop your own version of the viewer, and use the result without giving the source code to your customer. 

realXtend viewer is using GPL license.  It is using GPL, because it is a modified SL Viewer. GPL license demands that if you use the source code to make a derived work, then the derived work must be licensed in GPL. GPL says that I can use the software for any purpose, even sell it, as long as I provide source code for my customers without any charges. Darkstar and Wonderland are also using GPL.

GPL makes some business cases unusable. If I made a better viewer for Second Life using the SL Viewer source code, I am obliged to give the source code to my customers for free, who can then continue to enhance the viewer. So I lose the rarity power which I gain from my own changes to the software because they are easily copied on. This is the area where many companies have made expensive mistakes.

Why companies choose to develop open source software in the first place?

Usually because the resources are limited and the task at hand is big. Using suitable open source license allows other companies and interested parties to join the effort.

Incompatible licenses

It may be very hard to mix software that use incompatible licensing. If you have GPL software and your own closed source application, there is no simple way to bundle them. If you do, you need to put your own application under GPL too, because it becomes part of the derived work with the GPL software – this is simple, but may destroy your application business.

Summary

Open source is a smart way to use resources and distribute effort. It is here to stay, increasingly so. It enables business, but it also changes some business models.

All the open source virtual world software available today, enables the basic business model, which is familiar from the web: You can build your own world on top of open source software, and generate income. 

Resources:

GPL FAQ: http://www.gnu.org/licenses/gpl-faq.html
Wikipedia page about open source
Book how to produce open source software (free)
realXtend web site: http://www.realxtend.org
Opensim web site: http://www.opensimulator.org
Darkstar web site: http://www.projectdarkstar.com

Uncategorized , , , , , , ,

Scrum and virtual worlds: perfect fit

April 5th, 2009

Scrum is an agile method to achieve dynamic and changing goals. It is based on tightly co-located teamwork. Current work environments favor global teams. Virtual worlds help to use Scrum in the real world.

Virtual worlds give some clear advantages over the real world. People can gather together even they are physically far away from each other. Space is unlimited and almost free (see here how to create more land). Objects can be big and still anyone can move them around. Information from the networks can be fetched and visualized into world in any way – any surface can act as a display, or as a speaker. (see the Glasshouse example, and my email inbox visualization.)

After I left the realXtend virtual world platform project, I have written two articles that led me to think and now write about how to best use virtual worlds for Scrum. The first one is Virtual Worlds advantage over Real Life. The another one is about my experiences in using Scrum to make realXtend happen and how we Scrummed using realXtend: Scrumming realXtend.

The first implementation of virtual Scrum

The first Scrum implementation was simply copied from the real world; we had a virtual scrum wall, with sections for waiting, checked in, and ready tasks + other necessary things. Then we had our Scrum meetings in front of that wall, and we were moving notecard objects from a category to another. After the meeting I updated the excel sheet that contained the very same tasks.

This naive approach takes only the aspect of getting people together into account. It does not use virtual world advantages to make it better from the real world Scrum. The virtual worlds are still not good enough in many ways when compared to real world meetings and if the strengths of virtual worlds are not taken into use, the application ultimately fails.

The better way to do virtual Scrum

The tasks could be visualized as volumetric objects – the bigger the task, the bigger the object. The side of the object could show the name and details of the task. The object color could show the priority of the task – red, glowing objects are the high priority ones, light gray objects are not so important.

In the Scrum planning meeting, where tasks are picked up for the sprint, the team would push tasks around and set the effort (=size) to the object. Together with Product Owner, the team discusses through all the tasks and selects a set of tasks for the next sprint. The selected tasks could be moved to another place (maybe by dragging or pushing them around).

Different places are used to mark different categories of tasks.

  • There is a “hall” for the product owner, where all the unimplemented tasks are. Product Owner sets the priority for the objects (=colors). Team members set the effort estimate (=size)
  • Sprint backlog: unassigned tasks are at their own virtual physical location, where team members pick the tasks and drag them to “checked in” area
  • There is also an own area for the completed tasks.

At the end of the sprint, halls are copied for the next sprint and the old locations are frozen and left as documentation and can be visited later.

Moving tasks around and changing their properties should be automatically synchronized to a spreadsheet application to get easy reporting to work. The synchronization should also work to other direction, so that changes to the spreadsheet are reflected directly to the virtual environment.

The benefits:

  • The team can work together even they are physically far away: in real world it is really hard to run a Scrum team which is not co-located
  • Everyone can access the virtual locations from their own computer: in real world one must physically visit the Scrum team wall to get the latest situation
  • It is possible to see instantly where the tasks are and how big and important they are: in real world you need to read the individual Scrum wall task notes to see how much effort they contain and how important they are
  • Interaction and tream work in the virtual world can be fun, people can push and define tasks around instead of standing and watching.

This application is relatively easy to build to a prototype level implementation. If you are interested to see this done, contact me: jpirkola@gmail.com.

OpenSim, realXtend, wonderland , , , , , ,

Real time application sharing for virtual meetings

March 27th, 2009

realXtend platform offers a way to share live applications over the network to realXtend users. Effective virtual world meetings usually require that you can show your slides (here’s how to do that). It may also help to browse web so that others can view the same web page with you. Sometimes you may want to show how to use an application in real time.

In this example we use VNC (Virtual Network Computing – a simple and working desktop & application sharing system) to share the desktop. 

vncrex

Firefox window shared using tightVNC server and viewed in realXtend.

VNC allows also sharing the control between participants, and users can also join using a standard VNC client, if they do not want to use full virtual world to join the meeting.

In this example we use localhost, but I have tested that VNC works also over the network. In a real world situation I would set up another computer to serve as a VNC server – otherwise running the realXtend client on the same computer is a bit awkward as you need to have the shared content visible on screen to share it. Below is a screenshot how sharing the realXtend viewer window, which is looking at the shared content, causes infinite mirror -effect.

Watching your shared desktop getting shared, getting shared, ...

Watching your shared desktop getting shared, getting shared, ...

Follow these simple steps to test VNC application sharing with realXtend.

  • Install and run tightVNC server; Everything should work with other VNC servers as well, but I have tested this only using TightVNC.
  • Adjust the settings as in the following screenshots:

rexvnc_server1

Set the view-only passport, all the connecting users need to know it.

rexvnc_server2

rexvnc_server3

Be careful to have the settings exactly as here, change them after you get them to work for the first time. 

 

  • Bring a new texture to realXtend (file->upload)
  • Create a new cube (right click on ground -> create)
  • Edit cube and set the new texture on it (you can also use the texture on meshes for an interesting effect! Who doesn’t want to play doom and use a virtual sofa for the display?)
  • Edit texture properties (find it from your inventory and right click it) and edit the mediaurl:

 

vncrex_mediaurl

  • Edit the cube again and set it to play media when clicked:

vncrex_mediaplay

  • Now close the edit window and click the cube to get the VNC run, you will get a dialog asking for the password (which you defined for the server earlier):

vncrex_connectTop left dialog is the server telling that someone is connecting. 

Warning! After you hit enter, tightVNC client is launched – it is embedded to the realXtend viewer code – do not close it! Just bring your realxtend viewer to front and you see desktop sharing in action. You can use the tightVNC viewer to get the control over shared application, if the server owner grants you permission to do that.

vncrex_onmesh

Current VNC implementation is a prototype and it has known bugs. User can start one VNC session and after it is finished, the viewer needs to be restarted to be able to start a new VNC session. Users also need to be warned in advance so that they do not close the VNC viewer as it pops up after starting to view VNC.

realXtend , , , , , , , ,

IT giants back up open source 3D Web

March 25th, 2009

Nokia, IBM, Intel and Microsoft support open source projects that form the future 3D Web. The two most notable projects are realXtend and Opensimulator. These open source projects are healthy and self-governed. The big companies speed up the development by contributing money and resources.

First prototype of the 3D web is already run at thousands of Opensim servers all around the globe. The 3D Web bears similarities to 2D Web; Users can follow links to teleport from a 3D world to another one. 3D Viewers are used to browse the 3D content on the servers.

The 3D web software consists of Opensimulator server, comparable to Apache, and a 3D browser, comparable to Firefox. Today there are already many 3D browsers to choose from, the most advanced one called realXtend viewer.

The Opensimulator movement started early 2007 when Darren Guard published his C# reverse engineered Second Life compatible server. The Opensimulator (Opensim) project was born (read some history here).

Later many companies, most notably IBM and Intel (check Intel’s ScienceSim effort and their latest work with Opensim) have joined the Opensim project. Microsoft started to support Opensim indirectly via its C# user community. Even though there are big companies involved, the project backbone is built on hundreds of volunteer contributors.

Nokia joined the band by backing up the realXtend project. The realXtend project is mostly focusing on the 3D Viewer and user experience; It developed an enhanced 3D Viewer for Opensim based on Second Life viewer. Now the realXtend project is building a from-scratch 3D Viewer for the Opensim platform and Modrex module to support viewer enhancements at the server.

3D worlds have already, even in the current prototype form, spawned many business cases: IBM has demonstrated data-centre managing application and Virtual meetings with integrated Sametime product. Architects are using 3D web to show house plans to customers. Green Phosphor is visualizing data for medicine industry. Immersive Education initiative, collaboration of hundreds of universities, is evaluating and using virtual worlds for education.

Open source seems like the only way to implement the new 3D Web. No company or government wants to tie their applications to a single commercial closed source software provider. The big companies know this and they can not afford to ignore open source movement.

By the end of 2009 3D Web is developed into a stable and usable form that most probably allows mass adoption.

OpenSim, realXtend , , , , , , , , ,

Opensim gets a currency system

March 22nd, 2009
Comments Off

DeepThink integrated the first currency system to Opensim, where from it will be available for realXtend users via modrex. The currency system is home-grown at DeepThink and it is based on a transaction model. It’s simplistic, but will allow operators and grids to run fictional currencies out of the box. Anyone doing RMT [Real Money Transaction] will still need to implement additional security and all the conversion infrastructure.

screenshot_az_1

Screenshot from Deepthink estates at Second Life.

The first payment system being custom made is a wise move and does not give the toll-booth position to any one commercial Payment Service Providers.

Michael Huntington is sponsoring this project for DeepThink: ”I decided to sponsor this project because I saw how currency, whether fictional or RMT, could play a major part in OpenSim’s success. My initial plan was to use this technology for a commercial grid I am launching soon and not release it to the public … but later I realized how much this could help OpenSim if it was available to all grid owners. This isn’t the last project DeepThink and I will be working together on, we also plan to implement a fully functional groups system into OpenSim. Hopefully many other projects will follow.”

Jani: Have you thought of integrating commercial payment service providers such as Fatfoogoo, Paymo or PayPal?

Adam Frisby, DeepThink CEO: We’ve had some interest from Payment Service Providers to write in gateways for them, but we dont have anything planned at the very moment.

Jani: How does the currency work when teleporting from grid to grid using Hypergrid

Adam Frisby: It’s going to be hypergrid-aware. We’re tagging users with their loginserver address, so we’re able to keep your balance when visiting other grids that share a currency system. We’ve begun the work here on this, but it’s not in the current alpha version on the forge.

The payment system is a critical success factor for the platform. It allows merchants from Second Life to move into Opensim based commerce, where the cost structure is much lighter and not tied to any one hosting solution.

CTN wrote earlier that Opensim based Openlifegrid has developed a currency system with RMT capabilities using PayPal. However they have not released code to Opensim.

OpenSim , , , , , ,

Immersive Education Initiative LONDON SUMMIT to Launch Series of European Events

March 19th, 2009
Comments Off

LONDON, UNITED KINGDOM – March 06, 2009 – The Immersive Education Initiative today announced that it will launch its series of Immersive Education: Europe events in London this April. On April 23rd and 24th the London School of Economics (LSE) will host the Immersive Education Initiative’s London Summit, a special two-day event showcasing new and emerging virtual worlds, learning games, educational simulations, and related tools, techniques, technologies, standards and best practices. Designed specifically for educators, researchers, and administrators, the London Summit consists of presentations, panel discussions, break-out sessions and workshops that provide attendees with an in-depth overview of immersive learning platforms and technologies such as The Education Grid, Project Wonderland, Second Life, Croquet and Cobalt, realXtend, Alice, Open Simulator (OpenSim), augmented and mixed reality, and more.

 

2009_summitposter_london_top_bannerThe per-seat cost of the two-day London Summit is £195 (pound sterling), or $275 USD (U.S. dollars). Seating is limited and expected to reach full capacity almost immediately after registration opens to the general public at MediaGrid.org/summit.

Preliminary speakers and panelists include faculty, researchers, and administrators from The Grid Institute, Boston College, Loyola Marymount University, M.I.T. Media Lab, The Smithsonian Institution, Sun Microsystems, University of Essex (United Kingdom), realXtend (Finland), Royal Institute of Technology (Sweden), BalticGrid (Baltic states), Holon Institute of Technology (Israel), Duke University, Montana State University, University of Central Missouri, Southeast Kansas Education Service Center at Greenbush, Boston Media High School, and more.

The London Summit is modeled after the breakthrough 2008 Boston Summit that was hosted by the Woods College of Advancing Studies at Boston College. During the 2008 Boston Summit educators, researchers, administrators and students from Boston College, Boston Public Schools, Amherst College, Federation of American Scientists, MIT Media Lab, Harvard University, Duke University, United States Department of Education, New Media Consortium (NMC), Johnson & Wales University, NASA, Sun Microsystems, Synthespian Studios, and Computerworld gave a series of presentations, panel discussions and workshops that provided an overview of how virtual worlds and game-based learning technologies are used in and out of the classroom today. Immersive Education Day at Harvard University was a precursor to the 2008 Boston Summit.

Similar to the Boston Summit, London Summit speakers and panelists feature an array of Immersive Education experts, researchers and practitioners from around the world. In addition to showcasing new and emerging immersive learning technologies a number of new Community Groups (CGs) and Technology Working Groups (TWGs) and will be launched at the London Summit including groups for: K-6 and K-12 educators and students; virtual world builders; assessment, evaluation and grading; psychology and mental health; and augmented and mixed reality.

During the London Summit status reports and demonstrations will be given by previously launched Immersive Education groups, such as the Library Technology Working Group (LIB.TWG) and Open File Formats Technology Working Group (OFF.TWG).

To register for the London Summit visit MediaGrid.org/summit or ImmersiveEducation.org.

Darkstar, OpenSim, realXtend, wonderland , , , , , , ,

Neural network powered email inbox in virtual world

March 17th, 2009

This is how your email inbox could look like if it was automatically categorized by a SOM – a type of artificial neural network – and fed into realXtend virtual world platform. You can walk or fly, even teleport around a beautiful landscape, knowing that each of the snow covered hills is actually a bunch of emails. Goodbye to the messy and overflowing inbox! 

som_umatrix_realxtend

A self-organizing map (SOM) is a type of artificial neural network that is trained using unsupervised learning. One possible use for SOM is to automatically categorize data. The data categorization can be visually interpreted from the SOM U-matrix graph. 

Here is a experiment I did together with Tony Manninen (Ludocraft CEO). We fed hundreds of emails into SOM in order to find a way to automatically categorize incoming emails. Now, years later I took the U-matrix and loaded it as a terrain file to realXtend virtual world platform.

Here I am standing on a virtual hill that represents a category for emails from the internal mailing list, the big hill in the front represents a category for MSc studies related emails, and so forth. 

I used water level to better visualize areas that are below certain point, and different textures at different heights. As you could guess, the categories are the hills and valleys separate categories from each other. If I was to really present this to someone, I would set up flags to mark different hills and we would fly from hill to hill to get a feeling of the whole landscape.

Below you can see the actual U-matrix that was used to generate the terrain. The screenshot is taken from the up left corner, watching to about south-east.

som_trained_labels

To get full potential from this kind of visualization, it should be easy to find out examples of emails that fall in a certain point etc. That would require further work, perhaps writing a region module or MRM module to realXtend or Opensim.

The benefit from this kind of visualization is that it is a lot easier to get the feeling of the terrain while walking/flying around rather than looking 2D grayscale image. Also for a research workgroup it is surely easier to focus on some oddities together and discuss about their meaning when they can literally walk around in the data.

Here’s the terrain file, if you want to give it a go. I removed labels and blurred the image a bit to avoid very sharp edges on the result. After loading, I multiplied the height values by 0.3 and adjusted the height to fit the water level nicely. Use “terrain help” at the console to get list of all the commands. Then I changed the terrain textures and heights to emphasize hills visually. Get an empty realXtend server from the files section.

Artificial Intelligence, OpenSim, realXtend , , , , , , , , , , ,

realXtend hires a new developer company

March 16th, 2009
Comments Off

realXtend hires a new company to further speed up the development. The new company is Playsign, which is based in Oulu, Finland.

playsign

realXtend announced their plans for realXtend NG (Next Generation) last week at their mailing list. The plan most likely goes on after 2009 and the goals are ambitious – however that is already expected from the project.

“We are very excited to have Playsign on board. They have already worked with us previously with good results and their enthusiasm in developing the platform will be a great benefit for us all”, says Antti Ilomäki, the realXtend program manager.

Playsign is a game development company that does not restrict itself to just computer games. They apply gameplay expertise on everything from presentations to branding. Playsign’s productions often combine real world environments with digital platforms.

“We are currently working on a computer arcade game – realXtend offers a platform for creating a socially oriented version of our game”, says Toni Alatalo, Playsign CTO. He continues that “our work in traditional games generates solutions for other kinds of applications”.

realXtend project is currently supported by Mr Juha Hulkko, the realXtend founder, City of Oulu and the mobile phone giant Nokia.

realXtend , , , , , , ,

Searchable database of Virtual Worlds: Meta-Mole

March 11th, 2009
Comments Off

The Meta-Mole, created by the Centre for Design in the Digital Economy (D-LAB) based within the University of Teesside’s Institute of Digital Innovation, will ultimately be a dedicated searchable online resource for the 350 plus virtual worlds currently existing on the Internet.

Philip McClenaghan, Deputy Director of D-LAB explains: “We were analysing virtual world platforms and realised that there doesn’t appear to be a comprehensive service offering to list and compare key data for major 2D and 3D environments. This surprised us, considering the current popularity of virtual worlds. We intend to fill the gap with the Meta-Mole.”

metamole

The Meta-Mole will help both new and experienced users looking for a virtual world environment as well as platform developers who want to gauge competition. “The Meta-Mole seeks to increase the uptake and success rates of Virtual World ventures by providing a searchable directory of available platforms, easily definable according to the need of the user”, says Dan Riley, a Metaverse Architect at D-LAB.

All data contained within the Meta-Mole is provided by the platform developers themselves along with high quality official images and videos. The Meta-Mole allows for the sharing and comparing of information and provides access to the latest core, technical and specialist features on current virtual worlds, as well as those in development.

metamoleplatformsPlatforms listed at Meta-Mole

In addition to the digital industry, the team at D-LAB believe there are a range of potential users for this service such as businesses seeking a platform for new commercial opportunities and academia.

The Meta-Mole will initially be released as a Beta version focusing on 3D virtual world platforms. Future developments will cater for all platforms, including 3D, 2D and MMO environments.

Platform developers are able to participate in the Meta-Mole by contacting developers@Meta-Mole.com. Meta-Mole will become more and more useful as platform providers start to add details of their own platform. Go and update your platform!

Darkstar, OpenSim, realXtend , , , , , , , ,

Virtual Worlds, Virtual Robots, and AI: beyond gaming and social spaces

March 11th, 2009

In the last two years since Linden Lab released the source code for their client, a vibrant open source community has grown around the Second Life protocol. With projects such as the first version of realXtend, the possibility of moving beyond the limitations of that protocol are starting to be explored. Features such as inverse-kinematics-based avatar control and mesh-based prims extend the platform in ways that go beyond the capabilities of Second Life. There are also parallel open source virtual world efforts, such as Qwaq (based on Open Croquet), Sun’s Wonderland platform, and the Web3D/X3D set of formats and runtime tools.

One of my core interests in this space has been to find a way to bring some of my and other’s work in robotics, AI, and advanced simulation into this arena of shared virtual worlds. There are numerous reasons why this would be beneficial. Firstly, it would allow researchers to leverage a common set of tools, fostering collaboration and improving our ability to reproduce and critique each other’s work. Perhaps even more importantly, it could open the way for large numbers of people to interact with virtual entities (AI’s, if you prefer). This is a potentially major advance in AI research, as it represents a real-world, renewable source of training data, which many researchers think is critical for advancement in the field. It would also be ultra cool.
(Editor’s note: See also earlier article What do virtual worlds have to offer AI?)

rexrobot

Before I describe this work and the unique requirements it presents, let’s clarify some of the jargon. Linden Labs uses the term ’sim’, short for simulator, to signify a portion of virtual space supported by Linden’s servers. Opensim, the open-source, mostly Second Life-compatible server, inherits this usage. When I talk about simulation and simulators, I mean something quite different. In my work in robotics, I build software to simulate complex robots. This software uses some of the same underlying components as a Second Life or Opensim simulator – a physics engine, 3D representation of objects, and so on. However, the level of detail is quite different. The simulators I use in my robotics work are generally operating at a much higher degree of realism than a realXtend or SecondLife vehicle or avatar. They require proportionally greater resources in terms of CPU and memory, and of course the development time to get a simulation of this sort working is considerable.

While my own work in robotics requires a high degree of physical realism, there is work being done in this field that may have different requirements, such as robot swarms, where navigation and interaction are more important than physical realism. There is also a body of AI research into subjects such as language comprehension that may not need physical realism at all. However, my work is on physically realistic simulation, so I will be focused on that specific issue in this article.

There are several related issues that come up in the course of attempting to integrate ’serious’ simulation into the Second Life-derived model:

Basic Architecture

In Second Life (and related platforms), the user’s visual representation of the world consists of three major parts: the background (land, sky, sea); a set of objects (called ‘prims’ in Second Life); and avatars, representing the human (or possibly scripted) players. These three major elements have very different architectures, and present an almost mutually exclusive set of features to the system. Putting aside the background elements, let’s look at the prim and avatar systems.

Prims

Prims are physical objects that are described as a primitive shape (cube, cylinder, pyramid, sphere etc.), with various possible modifications such as cuts, tapers, skews, and hollows. Prims are controlled by the server software. Static prims, which generally don’t move unless they are being edited, make up architectural elements such as walls and other building elements. Other prims are allowed to move around the environment. They can be controlled by the physics engine (balls that roll), scripts (doors), or both (vehicles). They can have arbitrary textures, but do not have the ability to utilize deformable meshes, skeletons, or client-side animation.

Avatars

Avatars are always defined as skeletons with deformable mesh (skin and clothes). Their motion is usually controlled by the user’s input (walk, run, fly etc). They do react to the physics engine, but in a rudimentary way: avatars are represented at the physical level as ‘capsules’, egg or pill-shaped shells that provide basic collision with walls and other avatars. This is an important point: there is no physical representation of, say, your arm extending out and touching an object. Complex avatar motion is achieved through client-side animation, which in our case is based on the .bvh file format (see http://en.wikipedia.org/wiki/Biovision_Hierarchy). Again, it’s important to realize that the animation of an avatar is not reflected at the physics layer, at least not in the present implementation of Opensim.

There is one more subtle but critical point to keep in mind about avatars vs. prims: avatars, by definition, are associated with a user account. Users have abilities that go outside the physical and graphic simulation layer – they can buy and sell things; they can chat with each other, join groups, get banned for TOS violations, and so forth. They represent an entity within the social network of Second Life (or one of the Opensim grids, or the emerging hypergrid). There are complexities – avatars can have ‘prim’-based attachments – but fundamentally, if you want to be part of the Second Life society, you need an avatar.

Users

Users, through their avatars, can interact with each other (chat, give/receive items…). They can interact with prims, by creating and editing them (if they have the permissions), or through menus and scripts. It may seem obvious, but it’s worth pointing out the heirarchy: Prims cannot create or edit avatars (!); they cannot buy, sell, give, or receive assets on their own behalf. They are, by definition, owned and controlled by at least one user, which is by definition represented by a single avatar.

The problems this heirarchy and separation of capabilities poses to those of us working in AI is hopefully becoming evident. If I design a robot using prims, scripts, and physics, there is no obvious way to give that entity the same rights and privileges of a “real” user. I also can’t take advantage of graphics abilities such as skeletons, deformable skin, or animations. On the other hand, if I design a robot in the typical ‘bot’ fashion, by pretending to be a user (using libsecondlife for instance), right at the start I must accept a number of constraints that may not be desirable: I need to look roughly human (because of skeleton constraints); I must have skin; I can’t interact physically at a fine-grained level with the rest of the system; and my behavior must be animated – I cannot generate low-level behavior on-the-fly.

Distributed simulation and synchronization

Second Life started as a proprietary system run by Linden on a local server farm. They made the choice to divide up the simulation by geography; in essence, each 256×256 meter region of land is assigned its own processing stack (set of CPU threads), and operates in parallel with all the other regions. Interactions between region modules are achieved through network communication.

There are obvious objections to this model, the main one being that popular sims get overloaded, and sparsely visited sims waste resources. Some of this can be addressed with load balancing and clever thread management, but in my opinion it represents a fundamental flaw in the Second Life architecture. Putting the resource issue aside for the moment, there is a deeper flaw in this state of affairs. To build a useful and reliable simulated world for AI research, it is critical that you not introduce major defects (artifacts) into the simulation. Learning algorithms are notorious for finding devious ways to “cheat” researcher’s goals. If something in the simulation is non-physical, you can pretty much bet that your genetic algorithm or neural network will find that defect and use it to its advantage, avoiding the more difficult, “honest” approach you are trying to develop.

Boundaries between regions in Second Life, especially in the case where the regions are separated by network lag, are places where the physics of the simulation break down in nasty and difficult to predict ways. One reason for this is that events in Second Life have no concept of operative time. An event is sent over the wire, and the receiving node assumes that this event is happening ‘now’, in relation to that node’s local concept of time. This creates some issues on the client side (perhaps I’ll post about that later), but more fundamentally, it’s a problem at the server level. Region modules in Opensim pass messages back and forth between each other, for instance posting the position, rotation, linear and angular velocity of objects, so that you can visualize what is happening across region boundaries. Since these messages are subject to server lag, each sim in effect has its own version of reality. In my sim, your objects are delayed by the average network lag time between our sims; in your sim, my objects are similarly delayed. Clearly this is not acceptible if our goal is to have a coherent, realistic, detailed simulation of the environment.

Open Croquet, an alternative virtual world platform, has developed a concept of distributed, synchronized simulation that sounds pretty good to me (I haven’t actually deployed it, so I’m taking some of this on faith. Decide for yourself: http://www.opencroquet.org/index.php/TeaTime_Architecture).

In summary, I hope I’ve managed to outline some of the features and requirements that need to be considered for the development of sophisticated, high-fidelity simulated worlds in the context of a massively distributed, shared environment. In the future, I hope to post some ideas on what we can do to support these concepts in future releases of Opensim and realXtend.

Artificial Intelligence, OpenSim, realXtend , , , , , , , , , , , , , , ,

Modrex update

March 6th, 2009
Comments Off

(via No There There)

I’ve been a little quiet of late due to digging into modrex while getting up to speed in a new job. For those who don’t know what modrex is, it’s a project to integrate all of the realXtend features with the mainline OpenSim code by incorporating them in a optional regionmodule – hence the project name modrex. The work is being done by Adam Frisby. The stability of the code is surprisingly good, though there a lots of missing pieces at present.

Paul Fishwick has been documenting how to build OpenSim with modrex (at least for Windows). You can help test by following the instructions on the Opensim wiki. Feel free to update the Linux build instructions if that’s your preferred environment.

A fairly current list of implemented features is documented here. The status of Python event handlers is here.

I hope to report soon that some of my tutorials have been implemented successfully on Opensim+modrex.

OpenSim, realXtend , , ,

The Future is here: full-scale architectural model from Revit imported into a Virtual World

March 2nd, 2009
Comments Off

It happened exactly 1 year, to the day I first contacted Jani Pirkola former project manager of the Realxtend team. I heard rumors late in 2007 that they had goals to accelerate the development of the ‘opensim‘ platform, and one of their priorities was 3D model imports. The conversation continued until a few weeks ago, when I received an e-mail from Jules Vos, founder of Visibuild, a company he founded aimed at leveraging and improving the capabilities of Realxtend, specifically targeting his efforts at architecture and the built environment.

He asked for an exported file from one of my Revit models, and the next day he sent me a log-in and password to the Visibuild sim where the model was hosted.  Needless to say, after all these years of waiting, I was skeptical, yet hopeful. I logged in, and there I was – standing on the front porch of our client’s soon-to-be new home we had designed!  It was exactly as I had left it during my last Save As!  This was a dream come true, that had been 10 years in the making.  I was absolutely blown away.  My Revit model was virtual!  Here it is shortly after import:

Before long I had the model populated with tables, chairs, sofa, stove, a Jenn-Air appliances, Kohler fixtures and more – all imported from Google’s 3D Warehouse, most of which are exact or near-perfect matches to the ones specified.  Google’s 3d warehouse is very extensive, and carries one of the largest collection of free 3d models available.  Thanks to Peter Quirk for the Sketchup import tutorial!



I left parts of the design out of the imported mesh that we were still designing, and was able to enjoy the best of both worlds by building those pieces with primitive objects using the in-world building tools.  This way, I could make immediate use of the model as a collaboration tool with our clients by testing, for example, ceiling options in the living room, and trying out an alternate arrangement of the porch and entry area.  There is no limitation to the size of primitive objects here (the limit is 10 meters in Second Life), so it becomes much easier to model without always having to bandage the model to work around size limitations.

The client’s first reaction after seeing a teaser was “I want more!” so I think we can safely say the value of a virtual model was immediately evident.

Even a quick proof-of-concept study of imported buildings that surrounded a project site in Manhattan was fruitful.  When almost any model format can be imported, it feels like the whole world has opened up – and the possibilities are truly without limit.

The combined 3-part effect of being able to import contextual structures shared by others and import professionally built CAD or BIM-derived models and model bits and pieces using the familiar in-world building tools is a pretty astonishing new opportunity.  Of course there are still kinks to be ironed out, and some parts of the work-flow that would benefit from further optimization, but that’s where Visibuild’s value becomes most apparent.  They have the capability of streamlining that process for you, and serving as a one-stop service and hosting environment  for architects, urban planners, realtors, city governments and anyone else with a vested interest interest in architecture and the built environment.   

Another key feature of this environment is the dynamic shade and shadows.  You need a decent graphics card to experience it, but its nice to know that the feature is available when you’re ready for it.  One common complaint for architects exploring the use of Second Life in professional practice was the plasticness of the builds, and the inability to convey the way light and shadow will effect the architecture.  The code for dynamic shadows has been available for some time now, but has yet to be implemented in any of the newest viewer releases. This is surely a key fundamental to an architect’s concern in design development, and experiencing a building without light and shade doesn’t as accurately reflect the experience you will get in real life.

Since most modern architectural software automatically generates 3D models anyway, the gap between your model and a virtual environment is no longer treacherous or time consuming – but relatively simple (or cost effective if you’d rather have someone else import it for you).  If you already model in SketchUp, for example – you’re only a few clicks away from enjoying the benefits of experiencing the model virtually and inviting others to experience it with you in realtime.  The bottom line is, most architects utilize 3D models at some point in the design development process anyway.  With Visibuild, you’re just one ’save as’ away from leveraging the value of that model, and enjoying all of the many benefits a virtual environment affords.

These are some of the qualities of this environment I find most powerful:

  • The capacity to import 3D Models from just about any industry standard 3D package
  • Its accessible – there is very little mystery around how this works, and it isn’t terribly complicated or expensive.
  • It is built on an open source platform, and with a little experimentation you can roll up your sleeves and tinker with it.  You still have the option of hiring others to get everything set up for you.  The choice is yours.
  • User-generated content.  I can’t modify the imported mesh in-world, but I can leave off parts of the build that aren’t finalized and use the simple in-world building tools to test ideas on the fly.
  • Multi-user.  I can create an account for each of my clients and project stakeholders (builders, subs, etc.)  We can all occupy the building at the same time, from our own computers, wherever we happen to be in the world.  I can also customize their accounts ahead of time – so their avatars look good, and they appear right at the front door.
  • Realtime.  Unlike an prescriptive illustration or animation, you get to choose how, when and where your avatar moves.  This is much closer to the way people actually experience architecture.
  • Collaborative.  Multiple users can work together on a single group of objects to explore ideas – this capability is at the heart of what Studio Wikitecture is exploring.
  • Shade and Shadows, and the ability to cycle through any day/night setting and customize the sky to whatever settings you like
  • The incorporation of avatars.  I think this provides an enhanced sense of immersion and a feeling of actually being in the space.

This is truly a defining moment in the story of virtual worlds and architecture!
I’ll be working with Jules and the Visibuild team in the months ahead to help out with some exciting new projects, so if you’re interested in being an early adopter and want to be a part of the private beta, you can find contact information on the Visibuild website here: http://visibuild3d.com

(published also at the ARCH)

OpenSim, realXtend , , , , , , , , , , , , , , , , , , ,

Future goals for the realXtend project set

March 1st, 2009
Comments Off

realXtend project posted a note at their web site:

The two-month period of seemingly quiet research and planning is nearing its end and we have decided on our strategy for the first half of 2009. We will be focusing on creating a new viewer and continuing work on the realXtend modularization effort as well as improving our authentication (OpenID!) and distributed storage services. We will also be working on global voice and instant messaging, which will form the backbone of future realXtend communications. We welcome you all to discuss the issues on our email list at http://groups.google.com/group/realxtend. We welcome everyone to participate and you can expect more news shortly.

It seems that realXtend is taking the new cooperation with Opensim seriously as they will continue the work with Modrex. 

See also earlier related news items:

ModRex 0.2A now in SVN (Jan 7th)
realXtend starts a new from-scratch viewer (Dec 13th, 2008)

OpenSim, realXtend, security , , , , , ,

Transfer your SL Avatar appearance to Opensim

February 28th, 2009
Comments Off

rex_logintosl

You can connect to Second Life using realXtend viewer. It is not at its best that way, but still there are some nice features worth writing about. One of them is the possibility for inter-grid teleporting, as I wrote in teleporting with realXtend. Another smaller yet interesting feature is that it is possible to import and export the avatar appearance.

Many people have spent a lot of time in tweaking their avatar appearance in Second Life. SL Avatar has 144 settings:

  • Shape, 77 settings
  • Skin, 26 settings
  • Hair, 39 settings
  • Eyes, 2 settings

Bringing your avatar to OSGrid is clearly a non-zero effort. Using realXtend appearance import/export, the work is made significantly easier.

The export gives you a XML file that can be saved to a local computer (it is actually just a text file, not xml inside). You need to have “worn” bodyparts and clothing on when using the import and export facilities. Textures keys are exported but currently not able to be imported, because different grids will have different keys, and there is no way to match them up.

avappearancexml

To Export:

  1. Start editing your appearance
  2. Click the Export Button,
  3. Select a file name for the saved data

 To import:

  1. Start Editing your appearance
  2. Click the Import Button
  3. Select a file with the saved data
  4. Make changes to textures
  5. Click SaveAll Button

This is tested from Second Life to OSGrid, and to a standalone Opensim. Textures need to be upload separately and set manually. Many thanks to Ewe Loon for the code patch!

Note: The avatar appearance import/export works in Opensim and SL, not with the realXtend’s own free form mesh avatar. realXtend’s own avatar is stored on a separate server which makes it easy to be used at different realXtend servers (ie your avatar travels with you when you teleport around), which makes this kind of import/export unnecessary.

The avatar appearance import/export can also be used to back up your sl avatar easily or you can even send your sl avatar settings in email.

OSGrid, OpenSim, realXtend , , , , , , ,

teleporting with realXtend

February 25th, 2009

realXtend viewer is able to teleport between Second Life, Opensim and realXtend. Simplest way to teleport is to use view->address bar menu item to show your address bar. Type and go, just like in a web browser!

teleport_lucy

World owners can also make link objects. In the picture above, there is a realXtend teleport object on the left. However, teleports can be scripted to any object. Here’s how:

  1. Right click object, select edit
  2. go to content tab and edit object’s script (create a new script, if needed)
  3. copy the code:

teleport_code

Save the script, close the edit window and the link object is ready. Click the object, and a popup will appear asking for the username & password. Lucy is going to teleport to Second Life, and change user account to Yani Pinion on the way in the picture below:

teleport_popupHere are two llMapDestination examples you can use. rex-url is used when you want to teleport anywhere else than to Second Life, and sl-ulr is used when you want to teleport to Sec0nd Life. The same works from Second Life, just use rex-url in llMapDestination to exit Second Life and teleport to realXtend or Opensim. This works only with rexViewer, naturally.

llMapDestination("rex://world.adminotech.com", <100, 100, 0>, ZERO_VECTOR);
llMapDestination("sl://cisco", <76, 173, 142>, ZERO_VECTOR);

OpenSim, realXtend , , , , , , , , ,

Opensim compatibility and MXP

February 22nd, 2009
Comments Off

So, I have a small announcement to make.

OpenSim has had the capability to run multiple different clients connected to the same world since version 0.3. We translate a large number of our internal programming into a somewhat vendor neutral interface; the big catch has been – in the 21 releases since 0.3, we’ve never actually implemented a true second protocol. As of today that has changed, OpenSim now supports two client protocols that can be used simultaneously at the same time to display the same world with the same updates, avatars and interactivity. This means right now you can use either the LLUDP transport used by Second Life™, OpenSim and realXtend, or the new MXP transport developed by the Tommi over at Bubblecloud.org.

We also have some good news from the guys over at VastPark – over the next few days, I will be working with their team to try write another client transport which allows you to use the VastPark viewer to connect to OpenSim. Watch this space for some information about that.
MX Deck and Second Life in a single Region (Click to Enlarge) MX Deck and Second Life connected to the same region (Click to Enlarge)

Why MXP?

The simple answer here is the protocol is reasonably well thought out (it’s very refreshing compared to LLUDP), it’s also pretty simple and easy to understand. There’s a good reference implementation on their website which we were able to utilize extensively. To users, there’s potentially some big advantages in how you can route packets from a region simulator to viewers – possibly eliminating some of the issues people see when trying to host from behind firewalls and routers. This is however conceptual – a decent client will still need to be written to utilize the MXP protocol (right now the only clients using it are for demonstration purposes).

The big reasons were however that it’s appropriately licensed, there’s good reference code out there and the protocol is straight forward. It was also in the right place at the right time — while it gets the crown for first additional protocol, we’re hoping to have quite a few more now the infrastructure is in place and tested to properly support alternate client libraries.

How complete is this implementation?

Not very – we implement at the moment about 5 of 250 “functions” the Second Life viewer can present to us, ontop of the basic connection management. Mostly these are relating to display of primitives, updating their positions and chat. We still need to do a good deal towards displaying avatars correctly (and assigning a ‘ruth’ for each clients display of the other). Given the adapter is however less than 48 hours old – I expect to see some rapid progress here in adding features and capabilities to it. To give some idea of what’s working however below is some screenshots of the same region connected to in each client.

How do I connect a MXP client to OpenSim?

Grab a copy of the Demo Client from Bubblecloud.org (see Downloads -> MXP Demo Client.zip) and a copy of the latest release of OpenSim from the OpenSim Trunk SVN.

In your OpenSim.ini, add the following settings to the end

[MXP]
Enabled = true
Port = 1253

Start up your OpenSim and create a region if you havent already – now go into your OpenSim Region’s directory and open your default.xml – cut and paste the sim UUID (looks like this: b18ddeb1-f3d4-4c05-aa55-f1ca55532220 )

Install the MXP Client and edit the MX Deck.exe.config file – you need to paste your region UUID into the “BubbleID” field, and edit the “ServerAddress” to read “127.0.0.1″

Start MX Deck.exe and you should be connected to your OpenSim region.

Voila!

Note from CTN editor: Check CTN post about MXP, and also about CICP (MXP is based on CICP), and how CICP is now Public Domain

OpenSim , , , , , ,

Openlife: Leapfrogging to the evolution of the grid

February 12th, 2009

Tonight a meeting was held for the public on 3DX Island where Sakai was to introduce us to some of the new devs he has working in Taiwan with him at 3DX. We got the pleasure of meeting Padre and Sai OpenLife. Both were very cordial and greeted us as we arrived.

First off though Sakai shared about the Island he, Sai and Padre are working on. It is dubbed the “living island”. Sakai explains it in this way:

sakaiolx

“This island is literally alive. The trees and the grass grow and die and make seeds to make new trees. There’s no LSL scripting, it is all done in the server.
We will likely have the first showcase version publicly available for everyone over the next few days. This is really a proof in concept demonstration and we would like to make it available as an option.
when you plant a tree you can make it a ‘living’ tree so it would grow, die and make new trees.”

So the island plants, grows and may someday even have it’s own weather system. It will be great to see this in action when it goes live.

The new devs were a little fashionably challenged so Sakai put out the call for some new duds for them to run around in. Of course the call was answered by various OLGers. OLG members have long been known for their willingness to share. 

Sakai also gave a little speculation on the new viewer schedule. Though not firm, the target for the R16.3 should be in the next week or so with the R16.4 coming when credits go live. The target date for that code is around Feb 26th. With that may come Groups as well as the credits. Also tighter perms and possibly parcel transfers being able to happen in world.

saiolx

As for the dev duties Sakai says Sai is currently working on centralized land items. Things that will help speed up the delivery process, help with showing up available land and Sakai further said it could lead to purchasing mainland with credits. Padre has been working on the log in process. Sakai is quick to let us know this is just the last couple days. Obviously they work on much more but this is the current focuses he has them on. He said “specific specializations are not likely to appear for a couple months after all new developers get to know the system better.” Devs are often paired together on projects. As Sakai explains, this way the best solution comes from two minds. Hey, we all know two heads are better then one, right? 

padreolx

Even with all the talk of Living Islands and currency, Sakai still made it clear that stability is still the main focus. He even gave us an order to priorities as 3DX sees it:

1. We want you connected
2. We want your essential activities covered
3. We want your stimulating activities covered

Sakai also aims to institute an efficient way of submitting bug reports this week. Something that would be able to send specific stats like times, regions, etc to show what is happening.

Sakai also mentioned that the R17 is still likely a few months away but that it will contain the OGRE capabilities and Avatar 2.0. He cautions that there is still a ways to go with the R16 series and Kim Openlife has some niggles to work out server side while KirstenLee Openlife works on the viewer. He mentions we will see it all in action someday on a beta grid. He lets us know there are side projects that are running and there is no “arrival point where we put down our keyboards and pat ourselves on the back”. He says this “leapfrogging” is the evolution of the grid.

So it looks like exciting things are coming to OLG and Sakai is picking the right team to take us there. Welcome to Padre and Sai and any other new developers and thanks in advance for what you are contributing to the grid. We will keep the coffee hot for you.

OpenLife, realXtend , , , , , , , , , ,

Welcome to OLX on CyberTech News!

February 9th, 2009
Comments Off

We are pleased to announce that OLX (OpenLife Xchange) has now joined with CyberTech news to bring you OpenLife news and happenings in this sparkly new format. OLX has a large and fast growing membership and we are excited to bring this new experience to you.

We are happy to be working with Jani Pirkola, past program manager for realXtend and owner of CyberTech News. We have had a long standing relationship with Jani and he has been a wonderful friend to OpenLife and OpenLife has supported the realXtend Project as well.

Right now we are fixing up the eye candy and we will bring over a couple recent stories but keep an eye here for exciting news. OLX always strives to bring you the most up to date info we can get hold of. Now we are taking that up a notch and will be bringing you that experience here at CyberTech News.

Strap in and hold on! It is a new journey ahead as we watch our OpenLife home grow.

In addition to reading the news from this main web site, you can find the OLX News subsection also using the direct address: http://olx.cybertechnews.org

OpenLife , , , , , ,

ReactionGrid starts realXtend trials in February

February 3rd, 2009
Comments Off

manhattan183sflbashx

realXtend new features are making their way to users. ReactionGrid is going to start extensive trials on how the new technology could be taken into use. The main difference to the SL Viewer - Opensim combo is that in realXtend the rendering is done with OGRE3D and it is possible to use standard 3D mesh objects. There are also other benefits worth mentioning, like spatial voice and next generation free form avatars. 

ReactionGrid offers Opensim region hosting with as low as $25 per month and a whole server with four regions $75 per month with more powerful plans available.

Intro to ReactionGrid

ReactionGrid is a PG Rated grid that caters to Business, Education, Collaboration, Art & Entertainment. The founders of the grid, Kyle & Robin G & Chris Hart believe in a hands on approach to help get your 3D project off the ground: “We invite you to stop by our grid by registering here http://reactiongrid.com/register.aspx“.

ReactionGrid is based exclusively on Microsoft technology, such as Microsoft Windows Server 2008 & SQL Server 2008. ReactionGrid is a fulltime 3D world whose owners can be contacted by IM, Phone, Email or InWorld.

OpenSim, realXtend , , , ,

Cross-platform realXtend cabable R17 Viewer progressing

February 2nd, 2009

KirstenLee Cinquetti reports that the R17 viewer is in schedule and the estimated release will be at the end of February. Now the code merge work from realXtend viewer 0.4 is 75% ready. The majority of the work is to write parts of realXtend code again to make it compile for all major platforms; Linux, Windows and Mac. R-series of viewers are specifically tailored to work with OpenLifeGrid, the biggest OpenSim-based grid. 

openlifegrid

The first deliverable from KirstenLee’s work will be the OpenLifeGrid specific R17 viewer, which has most of the features from previous R-series of viewers and also most of the realXtend features. After R17 is released, KirstenLee told to CTN that the next step is to take the latest SL Viewer, and backport the code from R17 on top of that. The result will be cross platform realXtend viewer, based on the latest official Linden Lab SL Viewer.

The realXtend team is working hard to get Modrex fully functional, and it is expected to have most of the functionality ready by the end of February. Modrex is a library that makes a standard Opensim to a realXtend cabable server (Opensim + modrex = realXtend server). OpenLifeGrid is expected to utilize Modrex to support the realXtend features of the upcoming R17 viewer.

OpenLife, OpenSim, realXtend , , , , , , , ,

Content Injection and Control Protocol (CICP): HTTP for Virtual Worlds

January 22nd, 2009
Comments Off

My involvement with virtual world protocol design began with a very practical need.  I had used Second Life to develop a prototype of a gateway for querying a database and producing a three-dimensional representation of the query result within the virtual world.

For business reasons, I wanted my gateway to be able to work not only with Second Life, but also with Sun’s Wonderland, Forterra’s OLIVE, OpenSim, realXtend, and any other virtual world platform.  This cross-platform requirement caused me to design a protocol called Content Injection and Control Protocol, and to implement the protocol in both Second Life and Sun Wonderland.  I call the program which implements the protocol for a given virtual world platform an “adapter” for that platform.

In addition to the cross-platform benefit of the protocol, which enabled me to create one version of my gateway which is able to work simultaneously with both Second Life and Wonderland, I discovered another significant benefit: the ability to shield a proprietary, closed-source program from attachment by Second Life’s Terms of Service, and Wonderland’s Gnu Public License.

By releasing the protocol itself to the public domain, conforming to Second Life’s Terms of Service with the Second Life adapter, and contributing the Wonderland adapter back to the Wonderland project for release under GPL, I created a communication mechanism which my gateway can use to generate temporary artifacts in the worlds. The gateway itself never resides within a virtual world and is never linked to a virtual world at a code or library level.  Rather, it simply communicates with CICP adapters using sockets and a simple text-based protocol much like HTTP. It is of course important that I do not desire to protect the temporary artifacts, which happen to be representations of data, from any intellectual property issues; I am only concerned with protecting the algorithms and processes contained within the gateway program.

port_many

I believe the most useful aspect of my CICP work is a way of looking at virtual worlds from the perspective of an external application which must place content into them for viewing and interaction by other entities (users) who are also external to the virtual worlds.

Looking at a virtual world from this perspective can lead to the development of a universal protocol: an HTTP for virtual worlds.  There are few who would dispute the usefulness of HTTP in the development of the World Wide Web.  The presence of a well-defined protocol has enabled various groups to develop client software (browsers, for example) and server software (web servers, for example) which work together.  Closed-source servers work just fine with open-source clients, and vice-versa; one company’s client software works well with another company’s server software.  One of the aspects of HTTP which enables this interoperability is its simplicity.  HTTP is a very simple protocol and is concerned with the mechanism of transferring commands and content from one place to another, rather than with the meaning or structure within the content.

For more information please visit http://greenphosphor.com/?location=Developers

Darkstar, OpenSim, realXtend, wonderland , , , , , , , , ,

Scrumming realXtend

January 16th, 2009

realXtend project used the Scrum methodology from the beginning. The reason for this was the nature of the project. It was really hard to estimate what we could achieve within 6 calendar months we got the funding for. The goal was simple enough; to make a demo prototype of a future virtual world platform that is good enough to get more funding to continue the effort. So we really needed to do as good demo as possible.

rextestingsession

A screenshot from a testing session.

The Scrum methodology we learned from an excellent book: Scrum and XP from the Trenches by Henrik Kniberg. The book is absolutely the best and easiest to read about how to use Scrum in practice.

realXtend project started with two participating Finnish companies, Ludocraft and Admino technologies. The companies are both located at the Oulu area, but they are still located quite far from each other. In the Scrum methodology the whole Scrum team must be co-located for two main reasons; to maximize the communication bandwidth between team members and secondly, to have the daily scrum meetings together.

Initially we had everyone working at the same scrum team and we used skype between the two offices for the daily scrum meetings. It was working, but not as good as it should. Irc, physical visits, email and skype were all used every day to keep things synchronized.

After two months of work, the realXtend platform was at the stage where we decided to move our daily scrum meetings to the virtual space. It was awful. Everyone looked the same – our first woman avatar, which was later called as “crack-slut madonna” by someone, she had just white underwear and no hair… voice was working through team speak software. Opensim had some serious problems at that time, objects were lost and big craters appeared to the landscape. We partly moved back to skype, but continued to use realXtend for the meetings weekly.

Eating our own dogfood did good to the development. Scrum helped us to always work on most important issues and we did not need to worry about changing a project plan like we would have done with the waterfall project management model.

Scrum did not work so well with some of the content oriented tasks. Artists need time to think and be creative and they did not like Scrum. If I had to do the first six months again for the realXtend, I would left artists out of the daily Scrum meetings and keep their tasks out of sprint backlogs. I would still have them present at the sprint planning meetings as it is essential to synchronize their work with the software developers.

At the end of the six month period we had moved realXtend sprint and product backlogs to Google docs, and we used a big virtual wall with sections to move tasks around. Tasks were small notes containing the name of the task. The synchronization between Google docs and the virtual wall was done by hand, and they were quite often not in sync.

The effective virtual world Scrum work clearly needs a virtual world application to support it. Copying the real world task wall did not work well enough – see a previous article, where I discuss about how to effectively use virtual worlds and avoid their weaknesses. The synchronization between virtual world application and a spreadsheet should work instantly and automatically.

After the fist six month the realXtend project moved to more traditional project management for a period of four months (March 2008 – June 2008). The reason for this was that the new funding source wanted to have exact task lists for the Avatar 2 sub-project. Even as the results were good in terms of software and content, this did not work very well when compared to Scrum. Many tasks slipped over their deadlines and the project management felt like a real work for a while.

From July 2008 the project used Scrum again.

The key findings summarized:

  • Scrum works well for high risk projects with limited visibility
  • Scrum does not fit well to content oriented work
  • Virtual worlds allow Scrum teams to work in a multi-site setting
  • A specific Scrum application built on top of realXtend would dramatically increase the efficiency
  • Virtual world applications need to be integrated to old fashioned applications (like the spreadsheet).

realXtend , ,

ModRex 0.2A now in SVN

January 7th, 2009
Comments Off

A picture is of course worth a thousand words.

How to get it?

Please remember, this is alpha software. Not like OpenSim ‘it sort of kinda works’ alpha, but really early code. It may break. It may trash your sim. It may kill small children. You have been warned. Please note, this requires a working realXtend authentication server – if you have a dedicated server on a public IP, you may use the ‘users.realxtend.net‘ service, otherwise a copy of the auth server is included with the standard realXtend server package.

SVN – ModRex is only availible via SVN at the moment.
svn checkout http://forge.opensimulator.org/svn/modrex/branches/0.2-alpha/

Known Issues

This version is not compatible with the Second Life viewer at all due to the Auth server dependency, installing modrex will disable SL based logins. This is a known issue and will be fixed in the next release.

Final Note

This is a preview release and does not construe a final public version not something in search of widespread testing, we’re still actively working on this – a more polished final version is currently in progress which I will encourage widespread testing. This version is not feature-complete with realXtend 0.4 – if you want to use realXtend features in a production or semiproduction environment, I would recommend using the standard server software for the moment.

OpenSim, realXtend , ,

KirstenLee is working towards a cross-platform realXtend viewer for OpenLife

January 7th, 2009
Comments Off

The next OpenLife viewer r16.3 is planned to be released during January.

After r16.3, Kirsten is working towards r17, which is going to include majority of the functionality from the realXtend viewer, such as the Avatar 2.0, OGRE rendering and 3D meshes – and it is going to be working on all three major platforms; Windows, Mac OS X, and Linux. Already the 16.2 release had many features, such as Skype call and asset browser integrated from the realXtend viewer. The first beta versions of r17 are planned at around the end of February 2009.

OpenLife r16.2 screenshot

OpenLife r16.2 and asset browser screenshot

KirstenLee has released a series of SL Viewer based OpenLife r -viewers. realXtend viewers from 0.3 are based on Kirsten’s r15 codebase, which is still compatible with SL. The r16 series is evolving into direction where the viewer is not anymore compatible with Second Life.  Kirsten’s viewers are known to be stable and well performing.

While waiting for the r17 to run realXtend on Mac OS X and Linux, it is possible to use Wine to achieve cross-platform support for the official realXtend viewer.

OpenLife , , , , , ,

Take Wine and view realXtend on Linux

January 6th, 2009
Comments Off

Linux users can run realXtend viewer by using Wine.

Introduction of Wine from the website: “Wine is a translation layer (a program loader) capable of running Windows applications on Linux and other POSIX compatible operating systems. Windows programs running in Wine act as native programs would, running without the performance or memory usage penalties of an emulator, with a similar look and feel to other applications on your desktop.”

Screenshot from OpenSim wiki that shows off rex on linux

Screenshot from OpenSim wiki that shows off rex on linux

Instructions how to use Wine and make the realXtend viewer 0.4 run on Linux can be found from OpenSim wiki. The instructions were for Linux, but Wine works also on Mac OS X. If you try that and make it work (or not) on OS X, please leave a comment on this article!

When I first read about realXtend on Wine, I was suspicious about the performance. Wine works surprisingly well, the OpenSim wiki page says that the frame rate was “about 40/50 fps on a 8600 GT“.

realXtend viewer has been Windows-only right from the start. The first goal of the realXtend team was to make a prototype, so it did not matter that it was working only on Windows. The prototype was working well enough at the time of the first release (February 2008) that the prototype development continued – and continued as Windows-only.

The realXtend team is now planning a new from-scratch, BSD licensed and cross-platform viewer (read the CTN article about the new viewer). However, as making a new viewer is a huge task, we can not expect to use the new viewer before summer 2009 – so Linux/Mac users can use Wine as an intermediate solution until that.

realXtend , , , ,

Teleporting methods in OpenSim

January 4th, 2009
Comments Off
realXtend teleport object (a coin) takes you to another world. Just click it!

just a click and the realXtend teleport coin takes you to another world.

Teleporting from a world to a different world is a basic enabler for the Immersive 3D Internet. What would web be without hyperlinks between web sites? This obvious feature has been missing from Opensim until recently.

OpenSim supports three different methods of teleport:

OGP, The Open Grid Protocol. It is demonstrated already a few months earlier. The OGP allows avatars to use same agent domain, but visit different grids. This technology is driven by Linden Labs, and it is supported in a special OGP version of SL Viewer.

realXtend. This works already on top of OpenSim and SL because it is viewer based. The viewer simply performs logout first and then logins again to a new server. When used between realXtend servers, the avatar appearance and inventory are teleported too via the use of a special avatar server. Almost all of the realXtend functionality is working on top of Opensim as a dll – this work is called modrex.

HyperGrid. It was originally introduced by Diva Canto. Hypergrid works with the standard SL Viewer. It is based on the idea that any external region can be linked to user’s home grid. When it is linked, it can be used as a teleport to the another grid actually containing the external region. Diva writes in her email to opensim-dev:

“In an hypergrid of p2p nodes there is no central authority for allocating nodes to grid positions. The position of peers in the map is determined locally by the node itself, and not by any global entity. As we move from peer to peer, we are presented completely different grids. For example, my node can connect to CNN’s world placing it in position 10, 10 of my grid; but when I TP to CNN, I am presented with a totally different grid: the node that I TP-ed to is probably not at position 10, 10 of its local grid; my own node is probably not in CNN’s grid at all.

“These links are the VW-equivalent of web hyperlinks. Some comparisons to the Web:
- Just like hypertext links, hyperworld links are uni-directional.
- The establishment of hyperworld links by region administrators is [sort of] equivalent to writing a web page with hypertext links to other web sites.
- A web page with external links can be thought of as a 1D Map. The VW Map happens to be 2D.

Having links, or teleports, between worlds is a big advantage to virtual world developers as they can get connected to the new 3D Internet easier.

OpenSim , , , , , , , ,