openslWangxiang Tuxing se ballade dans Twinity et Gromike dans Hipihi. Quant à Forest, il s'amuse avec OpenSim !

La première particularité d'OpenSim, c'est de fonctionner un peu à la Croquet en proposant la plateforme elle même avec son code source, mais sans l'hébergement.

La deuxième, c'est qu'OpenSim est entièrement compatible avec les Viewers Actuels de Second Life, y compris WindLight !

 

image

Téléchargement d'OpenSim

OpenSim peut être téléchargé librement ici. Vous pouvez opter soit pour la distribution compilée, soit celle avec le code source. Dans ce dernier cas, il vous faudra charger gratuitement Visual C# 2008 Express Edition et produire vous-même le code executable en suivant les consignes.

OpenSimulator est actuellement encore à l'état de prototype, mais il est étonnamment stable. Ci-dessous, une image du projet OpenSim ouvert dans Visual Studio 2008.

Le projet OpenSim ouvert dans Visual Studio 2008

Scripting

On apprend que le langage LSL est en cours d'implémentation avec un compte rendu détaillé de l'avancée des travaux. Le fonctionnement du moteur de scripting est d'ailleurs expliqué ici. Hélas, comme les travaux sur le scripting LSL sont très récents et pas encore bien avancé, il n'est guère possible de faire autre chose que des "Hello, Avatar!". Exit donc pour le moment la possibilité de faire marcher SLTris sur OpenSim...

En revanche, la technologie employée est celle envisagée par LindenLabs dans le futur (depuis 2005...) : grâce au code généré et compilé en juste à temps, on peut espérer une vitesse d'éxécution augmentée d'un facteur de plus de 100. Bien évidemment, il faut prendre cette info avec des pincettes : aussi vite les scripts s'exécuterons, les résultats seront pénalisés par la latence des échanges de données via le réseau, les race-conditions et autres...

Le moteur de script utilisé peut être switché. Il est d'ore et déja possible de développer les scripts en C# plutôt qu'en LSL, et c'est extrêmement encourageant.

Physique

Il est possible de switcher entre plusieurs moteurs de physique : "basicphysics", "OpenDynamicsEngine", "RealPhysX" et "BulletX". Chacuns de ces moteurs possède ses particularités. Ci-dessous, une vidéo des tests effectués avec le deuxième moteur : ODE.

Sandbox ou Grid ?

Il est possible de faire tourner un sim en solo sur son poste de travail, ou bien de créer un réseau de plusieurs sims réunis dans une matrice comme l'explique ce schéma d'architecture. On disposera d'un serveur d'inventaire, un autre pour l'authentification et les utilisateurs, un pour les assets (textures, sons...), et bien sûr, un serveur "grid" pour coordonner les sims. Ces serveurs tournent sous la forme de services Windows, répartis ou non sur plusieurs postes.

On pourra choisir le moteur de base de donnée qui sauvegardera l'inventaire, les assets, les utilisateurs, avec la possibilité de créer soi-même son propre moteur de persistence en respectant les interfaces. Pour le moment, il est possible d'utiliser MySQL, SQLite et DB4o. Une librairie spécifique à SQL Server est en cours de développement.

Pour tester la connection à une grille utilisant OpenSim, consultez cette page qui vous donnera la liste des initiatives d'hébergement de sim tournant avec OpenSim qui existent à ce jour.

Le test

Ci-dessous, la fenêtre d'OpenSim au lancement, en mode SandBox. Ca ne paye pas de mine, mais pour le moment, les auteurs ne s'embêtent pas à peaufiner les écrans d'administration...

image

Aaah... Pouvoir terraformer et voir comment règler les paramètres d'un sim comme un landbaron, en ayant accès aux écrans idoine, et tout ça gratos... PRICELESS !

OpenSim_Region

Ici, un script à l'execution...

Hello_Avatar_OpenSim

J'ai tenté d'inviter mon amie Duval sur un "OpenSim" hébergé sur mon portable, mais ça n'a pas marché. Soit l'un, soit l'autre arrivait à être présent sur mon sim, mais pas les deux en même temps, malgré X tentatives et de paramétrages à l'aide de Crossloop. Je soupçonne une histoire d'IP publique/privée d'être à l'origine de l'incident... Affaire à suivre.

Conclusion

Voilà. Le metaverse libre à la SL existe. Linden Labs l'aura inventé, continuera sans doute à l'héberger, mais il est fort probable (et souhaitable) que le code du serveur échappe à son créateur pour mûrir au seins d'une communauté de développeurs courageux. C'est le prix que LL devra payer pour que SL cesse d'être un jeu divertissant et devienne enfin une véritable plateforme professionnelle.

Le code source "original" de la partie serveur sortira-t-il un jour ? Jusqu'ou ira OpenMetaverse ? C'est une affaire passionnante que je tenterais de suivre au plus près.

Récapitulatif de quelques liens

Page principale d'OpenSim :
http://opensimulator.org/wiki/Main_Page

Photos d'écrans : http://opensimulator.org/wiki/OpenSim:Screenshots

Contributeurs à OpenMetaverse/OpenSim :
http://www.ohloh.net/projects/4753/analyses/latest/contributors
http://teddmaa.blogspot.com/ (le monsieur Script de OpenSim)
http://daltonic.blogspot.com (le furieux à l'origine du projet)

Grilles OpenSim publiques :
http://opensimulator.org/wiki/OpenSim:Grids