MetaClase: Visuel du projet

MetaClase

Éducatif • Formation en entreprise • Multijoueur

Disponible sur : PC autonome • Android • WebGL

Présentation du projet

  • Rôle(s) : Programmeur principal
  • Équipe : 5
  • Organisation : OLSDATA
  • Moteur : Unity
  • État : En cours

MetaClase est un jeu d’apprentissage multijoueur et multiplateforme destiné à l’éducation et à la formation en entreprise. Il propose des cours, des activités et des environnements pédagogiques interactifs. Chez OLSDATA, je dirige le développement Unity : réseau, systèmes de gameplay, outils de création pédagogique, intégration cloud et interactions utilisant l’IA.

Technologies :

Unity, Photon Fusion 2.1, Amazon S3, Addressables, OpenAI API, Azure Cognitive Services, SALSA LipSync, NavMesh, Smart Gallery, JavaScript, WebGL

🧠 Contributions techniques


🛠️ Ce que j’ai développé

  • Architecture multijoueur et multiplateforme : conception et implémentation de systèmes multijoueurs avec Photon Fusion 2.1. Synchronisation des états des joueurs, gestion des salles, transitions de scènes coordonnées, activités pédagogiques partagées et prise en charge des arrivées en cours de session.

  • Éditeurs pédagogiques intégrés au jeu : développement et extension d’outils permettant aux enseignants de créer, personnaliser et organiser des cours, exercices, dialogues, mini-jeux et expériences pédagogiques directement dans MetaClase, sans connaissances en programmation.

  • Personnalisation des personnages : systèmes de personnalisation pour les enseignants, les élèves et les personnages non joueurs (PNJ). Les utilisateurs peuvent personnaliser leurs avatars et les enseignants créer et configurer des personnages pour leurs activités.

  • Comportements des PNJ et navigation dynamique : développement d’interactions, de comportements autonomes et de solutions de navigation à l’exécution, dont l’adaptation dynamique du NavMesh dans des environnements modulaires créés et modifiés pendant le jeu.

  • Gestion du contenu et des données dans le cloud : conception de flux utilisant Amazon S3 et Photon Fusion pour distribuer du contenu à distance, sauvegarder les données utilisateur et synchroniser les informations de gameplay pertinentes au fil des sessions multijoueurs.

  • IA et technologies vocales : intégration de l’OpenAI API et d’Azure Cognitive Services pour les interactions utilisant l’IA, la synthèse vocale et la reconnaissance vocale et linguistique. Association de la voix de synthèse à SALSA LipSync pour synchroniser les animations des dialogues.

  • Systèmes de gameplay et de contenu interactif : systèmes réutilisables pour les dialogues dynamiques, les enchaînements d’activités de type quête, les interactions contextuelles et les mini-jeux adaptés à différents scénarios pédagogiques.

  • Gestion multiplateforme des ressources et des médias : implémentation et amélioration du chargement de ressources à distance avec Addressables et Amazon S3. Extension de Smart Gallery avec des types de contenu sur mesure pour les médias pédagogiques interactifs.

  • Outils de développement et intégration des plateformes : création de packages Unity réutilisables, d’utilitaires d’éditeur et de plug-ins JavaScript pour WebGL afin de faciliter le développement, l’intégration au navigateur et la maintenance sur Windows, Android et WebGL.

  • Fonctionnalités de classe interactive : déroulement des sessions contrôlé par l’enseignant, identification des joueurs, journaux d’activité synchronisés, chat textuel et interfaces de gestion de classe.


🤝 Mon rôle

  • Direction du développement Unity : systèmes de gameplay, réseau multijoueur, outils de création pédagogique, personnalisation des personnages et intégrations cloud.
  • Conception et implémentation de systèmes interconnectés pour Windows, Android et WebGL, en tenant compte de la compatibilité multiplateforme, des performances et de la maintenance.
  • Conception des flux de contenu et de réseau avec Amazon S3 et Photon Fusion, reliant données persistantes, contenu distribué à distance et gameplay synchronisé.
  • Développement d’éditeurs intégrés destinés aux enseignants et d’outils internes pour faciliter la création de contenu et le travail technique.
  • Collaboration avec les différentes disciplines sur la planification technique, les fonctionnalités, le débogage, l’intégration et l’optimisation.

🧩 Défis et solutions

🌐 Défi : synchroniser les classes multijoueurs

Les activités pédagogiques exigeaient un état cohérent des joueurs et de la classe pour tous les participants, y compris lors des interactions de l’enseignant, des transitions de scènes et des arrivées en cours de session.

✔ Solution : conception de flux multijoueurs avec Photon Fusion 2.1, synchronisant données des joueurs, états des salles, activités pédagogiques et interactions de l’enseignant tout en assurant la continuité des sessions.

🧭 Défi : naviguer dans des environnements dynamiques

Les PNJ devaient se déplacer dans des environnements modifiables pendant le jeu, ce que les solutions de navigation statique ne permettaient pas de gérer correctement.

✔ Solution : adaptation du NavMesh à l’exécution et comportements autonomes permettant aux PNJ de naviguer et d’interagir dans des environnements modulaires créés par les joueurs.

🧑‍🏫 Défi : rendre la création pédagogique accessible

Les enseignants devaient pouvoir créer et personnaliser des expériences d’apprentissage, y compris leurs propres PNJ, sans dépendre des développeurs ni de logiciels de création externes.

✔ Solution : éditeurs intégrés et systèmes pilotés par les données pour configurer cours, activités, dialogues, personnages et médias directement dans MetaClase.

💾 Défi : distribuer le contenu sur plusieurs plateformes

La prise en charge de Windows, Android et WebGL impliquait des contraintes propres à chaque plateforme : chargement des ressources, gestion du contenu à distance et limites de mémoire du navigateur.

✔ Solution : amélioration des flux de distribution avec Addressables et Amazon S3, complétée par des intégrations et des optimisations spécifiques pour assurer un comportement cohérent de l’application.

🎙️ Défi : intégrer la voix et l’IA aux interactions

Les activités pédagogiques nécessitaient des dialogues réactifs, des retours vocaux et de la reconnaissance vocale pour les exercices axés sur la langue.

✔ Solution : intégration de la synthèse vocale Azure avec SALSA LipSync, reconnaissance vocale pour les mini-jeux pédagogiques et connexion des services vocaux aux interactions de personnages utilisant OpenAI.

🛠️ Défi : maintenir des systèmes complexes et interconnectés

Le projet associait réseau multijoueur, services cloud, IA, édition de contenu à l’exécution et plusieurs plateformes de déploiement, ce qui augmentait la complexité de l’intégration et de la maintenance.

✔ Solution : composants Unity réutilisables, outils d’éditeur sur mesure, couches d’intégration et plug-ins JavaScript WebGL pour simplifier le développement et faciliter la maintenance.


🌟 Fonctionnalités marquantes

🏫 Classe multijoueur

Un environnement interactif partagé où les enseignants animent des sessions avec plusieurs élèves. Activités synchronisées, gestion de l’état de la classe, identification des joueurs, codes de salle, chat textuel et interactions contrôlées par l’enseignant.

🧩 Éditeurs pédagogiques intégrés

Des outils permettant aux enseignants de créer et personnaliser cours, exercices, dialogues, mini-jeux et expériences multimédias directement dans MetaClase, sans programmer ni utiliser d’outils de développement externes.

🎨 Personnalisation et création de personnages

Des avatars personnalisables pour enseignants et élèves, ainsi que des PNJ définis par les enseignants et intégrables aux activités. Le système permet d’adapter leur apparence et de créer des personnages pour différents scénarios pédagogiques.

🤖 Interactions avec des personnages utilisant l’IA

Des interactions associant les réponses produites avec OpenAI, la synthèse vocale Azure et SALSA LipSync pour des dialogues parlés accompagnés d’animations synchronisées.

🎤 Mini-jeux pédagogiques à commande vocale

Des activités interactives intégrant la reconnaissance vocale et linguistique d’Azure. Les joueurs participent à l’oral et travaillent des compétences de communication.

🌍 Environnements dynamiques et navigation des PNJ

Des environnements modulaires modifiables à l’exécution, avec des comportements autonomes et une navigation mise à jour dynamiquement pour s’adapter aux changements effectués pendant le jeu.