Contexte du projet
MetaClase est un jeu d’apprentissage multijoueur destiné à l’éducation et à la formation en entreprise. Les enseignants créent et animent des cours, des activités et des environnements virtuels interactifs sur Windows, Android et WebGL.
Le défi de développement
Une classe partagée associe des sessions pilotées par l’enseignant, des arrivées en cours d’activité, du contenu créé par les utilisateurs et les contraintes propres à chaque plateforme. Le travail d’ingénierie a relié ces besoins dans une même application Unity.
Contribution et périmètre
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
NavMeshdans 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 S3et 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 APIet d’Azure Cognitive Servicespour les interactions utilisant l’IA, la synthèse vocale et la reconnaissance vocale et linguistique. Association de la voix de synthèse àSALSA LipSyncpour 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
Addressableset Amazon S3. Extension deSmart Galleryavec 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.
Fonctionnalités développées
- États des joueurs et de la classe synchronisés, gestion des salles, changements de scène coordonnés et arrivées en cours de session.
- Outils intégrés pour créer cours, dialogues, personnages, activités et médias pédagogiques sans programmer.
- Distribution de contenu à distance, intégrations et packages réutilisables pour Windows, Android et WebGL.
Détails d’ingénierie
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.
Engagement professionnel d’origine
Contribution professionnelle individuelle chez OLSDATA. Le projet appartient à ses propriétaires et équipes de développement d’origine ; il ne s’agit pas d’un contrat confié à Sital Studio.




