Liste des projets d'année : Langages Fonctionnels (DESS GLA - 2000-2001)


1   Mondes virtuels multi-utilisateurs programmables en O'Caml

Projet pour 2 étudiants

Le but de ce projet est de fournir une API O'CAML portable pour la programmation de mondes virtuels multi-utilisateurs et multi-robots. Une première application sera un salon de discussions.

Ce projet comporte 3 phases :
  1. un état de l'art des moteurs de RV et de leurs APIs;
  2. la réalisation d'une API O'CAML;
  3. la réalisation d'une application utilisant cette API.

Etat de l'art

Un premier travail sera d'effectuer un état de l'art des moteurs de réalité virtuelle et de leurs APIs. On s'intéressera particulièrement aux liens suivants : Les modèles 3D et surtout les modèles de communication diffèrent fortement dans ces différentes <<communautés virtuelles>>. On s'attachera aux propositions <<portables>> et facilement interfaçables avec le langage O'CAML via C. On priviligera l'aproche <<langage de communications>> à la SCOL plutôt que l'approche description de scènes animées à la VRML.

1.1   Réalisation d'une API

On peut découper cette API en trois parties :
  1. moteur 3D
  2. interface 2D
  3. communications
Il y aura donc deux possibilités : soit de s'interfacer avec une API existante satisfaisante, soit d'en construire une à partir de couches de plus bas niveau.

Les couches basses 3D sont le plus souvent baties sur openGL. Il existe déjà une interface entre openGL et O'CAML, appelée lablgl.

La partie interface 2D risque de ne pas être portable. Dans ce cas, il sera nécessaire de bien la spécifier pour pouvoir l'adapter à d'autres systèles de fenetrage.

La partie communication peut être construite à partir des briques de base de la bibliothèque Unix d'O'CAML, en particulier par les sockets IP et les threads.

1.2   Réalisation d'une application

On décrira un salon de discussions entre utilisateurs, avec possibilité de programmer des robots de discussions à la Eliza. Le serveur gèrera les connexions des différents utilisateurs représentés sous forme d'avatars. La navigation à l'intérieur de la scène tiendra compte des objets et des collisions possibles. Il pourra avoir plusieurs salons avec possibilité de passage de l'un à l'autre. Selon la richesse de l'interface la communication textuelle pourra être sonore.

Selon l'avancement de l'API un ou plusieurs projets de maitrise pourront l'utiliser.

2   Projets liés à la technologie SCOL

voir lien
Ce document a été traduit de LATEX par HEVEA.