MetaClase: Portada del proyecto

MetaClase

Educativo • Capacitación empresarial • Multijugador

Disponible en: PC (versión autónoma) • Android • WebGL

Resumen del proyecto

  • Funciones: Programador principal
  • Tamaño del equipo: 5
  • Organización: OLSDATA
  • Motor: Unity
  • Categorías: Videojuegos, Otros

MetaClase es un juego de aprendizaje multijugador y multiplataforma para la educación y la capacitación empresarial, con lecciones, actividades y entornos virtuales interactivos. En OLSDATA lidero el desarrollo en Unity de redes, sistemas de juego, herramientas de creación educativa, integración en la nube e interacciones con IA.

Tecnologías:

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

🧠 Contribuciones técnicas


🛠️ Lo que desarrollé

  • Arquitectura multijugador multiplataforma: Diseñé e implementé sistemas multijugador con Photon Fusion 2.1, incluidos estados de jugadores sincronizados, gestión de salas, transiciones de escena coordinadas, actividades educativas compartidas y compatibilidad con usuarios que se incorporan a sesiones en curso.

  • Editores educativos dentro de la aplicación: Desarrollé y amplié herramientas de creación en tiempo de ejecución que permiten a los docentes crear, personalizar y organizar lecciones, ejercicios, diálogos, minijuegos y experiencias educativas interactivas directamente en MetaClase, sin necesidad de conocimientos de programación.

  • Personalización de personajes: Implementé sistemas de personalización para docentes, estudiantes y NPCs, que permiten a los usuarios adaptar sus avatares y a los educadores crear y configurar personajes para sus propias actividades educativas.

  • Comportamientos de NPCs y navegación dinámica: Desarrollé sistemas de interacción con NPCs, comportamientos autónomos y soluciones de navegación en tiempo de ejecución, incluida la adaptación dinámica de NavMesh para entornos modulares creados y modificados durante el juego.

  • Sistemas de contenido y datos en la nube: Diseñé flujos de trabajo respaldados por la nube con Amazon S3 y Photon Fusion para distribuir contenido remoto, guardar datos de los usuarios y sincronizar información relevante del juego entre sesiones multijugador.

  • Tecnologías de IA y voz: Integré OpenAI API y Azure Cognitive Services para interacciones con IA, conversión de texto a voz y reconocimiento de voz e idiomas. Combiné la voz sintetizada con SALSA LipSync para sincronizar las animaciones de diálogo de los personajes.

  • Sistemas de juego y contenido interactivos: Desarrollé sistemas reutilizables de diálogo dinámico, secuencias de actividades similares a misiones, interacciones contextuales y minijuegos interactivos para distintos escenarios educativos.

  • Sistemas multiplataforma de recursos y contenido multimedia: Implementé y perfeccioné flujos de carga remota de recursos con Addressables y Amazon S3, y amplié Smart Gallery con tipos de contenido personalizados para material educativo interactivo.

  • Herramientas de desarrollo e integración de plataformas: Creé paquetes reutilizables de Unity, utilidades personalizadas para el editor y plugins de JavaScript para WebGL para agilizar el desarrollo, mejorar la integración con el navegador y facilitar el mantenimiento en Windows, Android y WebGL.

  • Funciones de aula interactiva: Desarrollé flujos de sesión controlados por los docentes, identificación de jugadores, registros de actividad sincronizados, chat de texto e interfaces de gestión del aula.


🤝 Cómo contribuí

  • Lideré el desarrollo en Unity de sistemas de juego, redes multijugador, herramientas de creación educativa, personalización de personajes e integraciones en la nube.
  • Diseñé e implementé sistemas interconectados para Windows, Android y WebGL, abordando la compatibilidad multiplataforma, el rendimiento y la facilidad de mantenimiento.
  • Diseñé flujos de contenido y redes respaldados por Amazon S3 y Photon Fusion que conectan datos persistentes, contenido distribuido remotamente y sistemas de juego sincronizados.
  • Desarrollé tanto editores en tiempo de ejecución para educadores como herramientas internas para agilizar la creación de contenido y los flujos de ingeniería.
  • Colaboré con distintas disciplinas en la planificación técnica, el desarrollo de funcionalidades, la depuración, la integración y la optimización.

🧩 Desafíos y soluciones

🌐 Desafío: Aulas multijugador sincronizadas

Las actividades educativas requerían estados consistentes de los jugadores y el aula entre los usuarios conectados, incluidas las interacciones controladas por docentes, las transiciones de escena y la incorporación de participantes a sesiones en curso.

✔ Solución: Diseñé flujos multijugador con Photon Fusion 2.1para sincronizar los datos de jugadores, los estados de las salas, las actividades educativas y las interacciones dirigidas por docentes, manteniendo la continuidad de la sesión.

🧭 Desafío: Navegación en entornos dinámicos

Los NPCs debían desplazarse por entornos que podían modificarse durante el juego, por lo que las soluciones tradicionales de navegación estática resultaban insuficientes.

✔ Solución: Implementé la adaptación de NavMesh en tiempo de ejecución y comportamientos autónomos de NPCs para permitir la navegación y las interacciones en entornos modulares creados por los jugadores.

🧑‍🏫 Desafío: Creación accesible de contenido educativo

Los docentes necesitaban crear y personalizar experiencias de aprendizaje interactivas, incluidos sus propios NPCs, sin depender de desarrolladores ni de software externo de creación.

✔ Solución: Desarrollé editores dentro de la aplicación y sistemas basados en datos para configurar lecciones, actividades, diálogos, personajes y contenido multimedia directamente en MetaClase.

💾 Desafío: Distribución de contenido multiplataforma

La compatibilidad con Windows, Android y WebGL introdujo restricciones específicas relacionadas con la carga de recursos, la gestión de contenido remoto y los límites de memoria del navegador.

✔ Solución: Perfeccioné los flujos de distribución de contenido con Addressables y Amazon S3, junto con integraciones y optimizaciones específicas por plataforma para mantener un comportamiento consistente de la aplicación.

🎙️ Desafío: Integración de voz interactiva e IA

Las interacciones educativas requerían diálogos de personajes con buena respuesta, comentarios hablados y reconocimiento de voz para actividades centradas en los idiomas.

✔ Solución: Integré la conversión de texto a voz de Azure con SALSA LipSync, implementé reconocimiento de voz para minijuegos educativos y conecté los servicios de voz con interacciones de personajes mediante OpenAI.

🛠️ Desafío: Mantener sistemas interconectados complejos

El proyecto combinaba redes multijugador, servicios en la nube, integraciones de IA, edición de contenido en tiempo de ejecución y distintas plataformas de destino, lo que aumentaba la complejidad de integración y mantenimiento.

✔ Solución: Desarrollé componentes reutilizables de Unity, herramientas personalizadas para el editor, capas de integración y plugins de JavaScript para WebGL para simplificar los flujos de desarrollo y facilitar el mantenimiento.


🌟 Funcionalidades destacadas

🏫 Aula multijugador

Un entorno interactivo compartido donde los docentes organizan sesiones educativas con varios estudiantes. Incluye actividades sincronizadas, gestión del estado del aula, identificación de jugadores, códigos de sala, chat de texto e interacciones controladas por docentes.

🧩 Editores educativos dentro de la aplicación

Herramientas de creación en tiempo de ejecución que permiten a los docentes crear y personalizar lecciones, ejercicios, diálogos, minijuegos y experiencias multimedia directamente en MetaClase, sin conocimientos de programación ni herramientas externas de desarrollo.

🎨 Personalización de personajes y creación de NPCs

Avatares personalizables para docentes y estudiantes, junto con NPCs definidos por los educadores que pueden incorporarse a entornos de aprendizaje interactivos. Permite personalizar la apariencia y crear personajes diferenciados para escenarios educativos.

🤖 Interacciones de personajes con IA

Interacciones que combinan respuestas mediante OpenAI, conversión de texto a voz de Azure y SALSA LipSync, con diálogos hablados sintetizados acompañados de animaciones sincronizadas de los personajes.

🎤 Minijuegos educativos mediante voz

Actividades de aprendizaje interactivas que incorporan el reconocimiento de voz e idiomas de Azure y permiten participar mediante la voz y practicar habilidades de comunicación.

🌍 Entornos dinámicos y navegación de NPCs

Entornos modulares que admiten modificaciones en tiempo de ejecución, comportamientos autónomos de NPCs y actualizaciones dinámicas de navegación, permitiendo que los espacios interactivos se adapten a los cambios realizados durante el juego.