altaïde dev' drink 6 : les mondes virtuels
DESCRIPTION
TRANSCRIPT
Mondes virtuels et simulation
Henri [email protected]
Les mondes virtuels: un concept très générique
09/04/23
3D
2D
Mondesvirtuels
MondesMirroirs
Mondes professionnels
09/04/23
FormationRéunionsConférences
EntraînementSimulation
Media - Entertainment
09/04/23
MondesVirtuels
Création de l’identité
Jeu – (gameplay)Socialisation
Casualgames
RéseauxSociaux
InstantMessaging
Mondes virtuels et démographie
09/04/23
Simulation et mondes virtuels
Une complémentarité idéale
Les mondes virtuels offrent une infrastructure « prête à l’emploi » pour la simulation
• Cartographie (Google Maps)• 3D (Second Life)• Multi-utilisateurs, VOIP, …
La simulation est un besoin essentiel des mondes virtuels sur de nombreux cas d’utilisation
• Formation – Entraînement• Entertainment (PNJ…)
09/04/23
09/04/23
Exemple: Créer un logiciel d’entraînement de pompiers
Exploitons une infrastructure de monde virtuelSecond Life
On réutiliseLe client 3D
La simulation physique de Second Life
Les serveurs multi-utilisateurs
Les capacités d’édition de scène
La VOIP
Il nous reste « juste » àCréer une scène 3D
Simuler des bots dans Second Life pour scénariser l’entraînement
Créer une interface graphique de pilotage de la simulation
Etape 1 : créer la scène 3D
Achat d’une île dans Second Life: env 2k€
Création des graphismes: env 10k€
09/04/23
Etape2 créer des botsObjets scriptés
Chaque objet dans Second Life peut être:Physique (moteur Havok 1)
Scripté dans un langage propriétaire (LSL)
Communicant• Entre eux directement• Avec l’extérieur (XML RPC – Mail – Requêtes HTTP)• Avec des avatars (chat)
Perceptifs• Senseurs pour capter les objets et avatars à proximité
Lié à d’autres objets
LimitationsChaque script ne peut utiliser que 16KB de mémoire
Latence des communications extérieures
De nombreuses fonctions ont une limite d’appels autorisés par secondes
Langage simple• Les listes ne peuvent pas dépasser 72 items• Pas de Array• Les listes ne peuvent pas contenir de listes
Fortes limites sur le moteur physique
Basculement sur Mono et Havok 4 en cours chez Linden Labs
09/04/23
Etape2 créer des botsAvatars controlés par IA
09/04/23
Le client graphique de Second Life est Open Source (GPL)Code réutilisable pour créer un connecteur IA -> Second Life
LibsecondlifeLibrairie open source en C# (fonctionne sur Mono)
• Utilise un système d’events - callbacks– OnConnected / OnDisconnected– OnCurrentSimChanged– OnInstantMessage– OnChat– OnTeleport– OnNewAvatar / OnNewPrim– OnObjectUpdated / OnObjectKilled
Utilise un véritable avatar
• Système d’animations
• Look éditable
Interdit (théoriquement) par les Terms of Service de Linden Labs
• En pratique on estime qu’il y a 10000 bots connectés en permanence
Etape 2 : simuler le comportement des bots
Bon là effectivement c’est plus difficileSWORD Behavior Models
09/04/23
Etape3: Interface graphique
Second Life propose un navigateur web inclus dans le client graphique
Gecko porté sur OpenGL (Open Source)
GWT + Tomcat
= 1 mois pour un stagiaire
09/04/23
Résultat
Vidéo sur internet: http://fairyverse.wordpress.com/2008/03/28/bot-city-first-video/
09/04/23