Digital Developer Conference: Hybrid Cloud 2021 | Capacitaciones gratuitas por expertos y partners | 21 de Setiembre ¡Inscríbete Ahora!

La aplicación de juego Mirror muestra 15 tecnologías y componentes en la nube

Resumen

Este proyecto contiene un juego donde los jugadores necesitan mostrar cinco emociones específicas y hacer cinco poses específicas en dos niveles. El jugador más rápido gana. El juego utiliza varias tecnologías clave en la nube para demostrar el valor de un sistema diverso e interconectado, con entornos de nube públicos y privados.

Este patrón de código le muestra cómo configurar una aplicación de juego interactiva que funciona con Cloud Foundry, una arquitectura sin servidor y un entorno local.

Descripción

El juego tiene tres partes principales:

  • El juego principal, que se implementa como una aplicación web con arquitectura sin servidor, porque solo se usa durante las conferencias.
  • El servicio de gestión de usuarios, que se implementa localmente para evitar tener los datos personales en una nube pública.
  • La lista de puntajes altos, que se implementa a través de Cloud Foundry para mostrar la adopción de temas fáciles para diferentes conferencias.

Aquí hay un ejemplo de un juego exitoso:

Resultado del juego, con emociones y poses

Este patrón de código funciona con los siguientes componentes:

Cuando completa este patrón de código, comprenderá las siguientes tareas:

  • Configurar una aplicación con Cloud Foundry, una arquitectura sin servidor con IBM Cloud Functions y un entorno local.
  • Configurar una aplicación web alojada en IBM Cloud (como el ejemplo aplicación de juego(link externo).
  • Configurar una API y una aplicación web alojada en IBM Cloud (como el ejemplo servicio de puntaje(link externo).
  • Trabajar con una API alojada en las instalaciones (como el ejemplo servicio de usuarios)(link externo)

Flujo

Diagrama de flujo de arquitectura de nube

  1. El usuario (jugador) accede a la URL desde el navegador para cargar la aplicación web del juego.
  2. Los recursos web estáticos de esta aplicación web se cargan desde el almacenamiento de objetos.
  3. El jugador ingresa información personal y hace clic en Vamos.
  4. Se invoca la API REST para el servicio de usuarios (servida por API Connect).
  5. API Connect utiliza Secure Gateway para invocar la implementación del servicio Node.js que se ejecuta en Minikube en las instalaciones.
  6. El servicio accede a CouchDB para almacenar la información del usuario.
  7. El usuario puede comenzar a jugar los dos niveles en el navegador. El juego completo se ejecuta en el navegador y utiliza tres modelos diferentes de reconocimiento visual para TensorFlow.js: caras, emociones, poses.
  8. Después de que el jugador completa ambos niveles, se muestran los resultados. El jugador puede descargar una imagen con imágenes del juego, por ejemplo, para compartir en las redes sociales.
  9. El jugador también puede grabar el puntaje. Se invoca la API REST para el servicio de puntuaciones (atendida por API Connect).
  10. API Connect reenvía la solicitud a la implementación del servicio de puntajes principales, que se ejecuta como Node.js Cloud Foundry buildpack en la aplicación pública Cloud Foundry.
  11. El servicio almacena los datos en Cloudant.
  12. El jugador ahora puede invocar la segunda aplicación web, que muestra las puntuaciones más altas. Los recursos web estáticos se cargan desde un segundo paquete de compilación de Cloud Foundry.
  13. La aplicación de puntaje alto invoca otra API del servicio de puntajes para obtener una lista de puntajes y luego representarla.

Instrucciones

Encuentre pasos técnicos detallados para este patrón de código en el archivo README.md(link externo) en el repositorio de GitHub y en los archivos individuales README.md para el juego, las puntuaciones y los usuarios.

  1. Configure la aplicación y el entorno local.
  2. Configure la aplicación del juego (link externo).
  3. Configure el servicio de puntajes (link externo).
  4. Configure el servicio de usuarios (link externo).

Aviso

El contenido aquí presentado fue traducido de la página IBM Developer US. Puede revisar el contenido original en este link.