Second Life / OpenSim

What is Open Simulator?










Open Simulator (sometimes referred as OpenSim) is an open source server platform that can host virtual worlds that are compatible with Second Life client. It also supports different protocols and features, for more detailed introduction, see the official site or wikipedia page. While Second Life provides player an easy way to access to the multi-user virtual world, OpenSim allows user more power to change the environment settings. To implement an interactive sound cycle, both platforms are good choices with different pros and cons. The following sections discusses advantages and disadvantages choosing Second Life or OpenSim as the implement platform. Some implementation limitations for each platform to implement the interaction cycle are discussed in the technical limitations section.



Use Second Life as platform









The biggest advantage to use Second Life as platform is that you don’t have to worry about how to install and set up the environment and the final work could be easily visited by every Second Life residents. The only thing you need to do is to download the Second life viewer and install it. However, this advantage dose not come for free. To set up the interactive sound cycle, you need to be a land owner to have the right to access to the land music url settings. You might need to spend some money on purchase an island in Second Life.


Another advantage for choosing Second Life as the platform is that there are many resources available in the world. There are various ready made objects, textures, sounds and scripts build by other in world users, you could get a lot of stuff for free through some in world search. If you are willing to spend some Linden dollars, there are many delicate and well functioned objects you can choose from. You could also build your own objects on your own land or in some public sandbox, but if you would like to use some customized textures, sounds or media, it will cost you a little amount of Linden dollars to import them in world.


Use OpenSim as platform


It would take more effort to choose OpenSim as the platform, you need to setup and run the OpenSim server, configure each settings. It might take you a little bit time to get familiar with OpenSim and set it up, but it’s worth doing so because once you set up it successfully, you have the most flexibility to change every settings. You could link it to an open grid for other user to visit, make it an private server that can only visit by user accounts you specified, or test it locally on your own computer.  You could create as many land as you want, import textures, sounds, media and objects. You could also save your land and all the stuff on it as an oar file or import oar files you found from the internet.


Although almost every thing by using OpenSim as the platform are free, if you’d like the world to be online 24 hours a day and allow multiple users login into the world, you either need a powerful computer to run as a server or to put it on an online hosting. This is the trade off of the flexibility provided by OpenSim.





























                            Screenshots of interaction models we build on our OpenSim land



Technical limitations


We’ve tested the interaction cycle in both Second Life and OpenSim environment, and there are certain known technical limitations for each platform. 


HTTP request limitation


In Second Life, the biggest problem is the HTTP request limitation: an object can only send some limited amount of HTTP requests in some given period of time. In our experiment, the object can only send continuous requests under the rate one request per second. If the object send requests faster than this rate, it will work for a while and then fail to send any request and takes some time to “recover”. This means one can not create interactions that needs continuous data, for example the position of the player when the avatar is moving. This limitation dose not exist in OpenSim, one can send as mach data as he want, once the internet speed and Pure Data can handle the amount of data (we did met some case that OpenSim send data too fast and Pure Data can not respond to it properly).









                          Error massage in Second Life when the HTTP request limit reached



Linden Scripting Language function support


Although OpenSim support using Linden Scripting Language (LSL) to develop script for objects, not all the LSL functions and event are implemented in OpenSim, so there’s a change that some event or functions you found useful in LSL but not supported by OpenSim. Here is the implement status page for LSL and OSSL. OSSL stands for Open Simulator Scripting Language which is another scripting language under development for scripting in OpenSim. However OSSL is still under development and its documentations and example/tutorial resources might not comparable to LSL at this time.