Hack#Inlife shows the Inlife Framework and how it can be used to create Serious Games which can be played in real life using Unity3D, Visual Studio and Internet of Things
1. www.inlife-h2020.eu 1
Hack#Inlife
Las charlas de los
miércoles
Sergio Morales
smorales@fiveflamesmobile.com
Co-funded by the horizon 2020 Framework
Programme of the European Union
INLIFE - Grant Agreement 732184
3. www.inlife-h2020.eu 3
¿Quién soy yo?
Sergio Morales (Co-fundador y CTO Five Flames Mobile)
Ing. Técnico en Informática de Gestión
Universidad de Valladolid
https://www.linkedin.com/in/sergiomorales1980/
Jefe de proyecto I.C.E.B.E.R.G. (Inlife)
Incubate Changes in Environmental Behaviour through an Educational yet
enteRtaining Game.
4. www.inlife-h2020.eu 4
¿Qué es Five Flames Mobile?
Empresa de desarrollo de aplicaciones móviles
¿Donde estamos?
Edificio CTTA Módulo 116 (Valladolid)
¿Quien somos?
www.fiveflamesmobile.com
@Fiveflames
5. www.inlife-h2020.eu 5
¿Que es el proyecto INLIFE?
• Proyecto europeo enmarcado dentro del programa Horizonte
2020
• Five Flames Mobile (Valladolid)
• Excmo. Ayto. Valladolid (Valladolid)
• Imaginary SRL (Milán)
• NTUA (Atenas)
• ICCS (Atenas)
• Thales (Francia)
• SUPSI (Suiza)
• Objetivo: Apoyar la educación a través de la gamificación a
través de un framework versatil que utilice la IoT para crear
serious games basados en la vida real
https://www.inlife-h2020.eu
6. www.inlife-h2020.eu 6
¿Y eso de los serious games?
• Juegos de aprendizaje
• “A serious game or applied game is a game designed for a primary purpose other than pure
entertainment. The "serious" adjective is generally prepended to refer to video games used
by industries like defense, education, scientific exploration, health care, emergency
management, city planning, engineering, and politics.” – Wikipedia
• Neonatal resurrection training game by
Imaginary SRL
7. www.inlife-h2020.eu 7
Inlife Serious Games
ICEBERG
• Orientado a todos los
públicos
• Mejorar el comportamiento
sostenible
AKSION
• Orientado a niños con
autismo
• Mejora de las habilidades
sociales
8. www.inlife-h2020.eu 8
Y ahora ¿qué?
• Inlife Framework
• Arquitectura
• Componentes
• Conceptos sobre serious games
• Inlife SDK (Taller)
• Unity 3D
• Integración en un juego
11. www.inlife-h2020.eu 11
Inlife SDK
• Open Source
• Desarrollado en C#
• Compatible con Unity3D
• Compatible con dispositivos
móviles
• Principales módulos
• Session management
• Serious game logic
• Learning Analytics Metrics
• IoT intergration
• Incentive Server integration
http://gitlab.telecom.ntua.gr/smorales/InlifeUnitySDK
12. www.inlife-h2020.eu 12
Game Server (GS)
• Licenciamiento
• Desarrollado en PHP
• Principales módulos
• Session management
• Serious game logic
• Learning Analytics Metrics
• IoT intergration
• Game configuration
13. www.inlife-h2020.eu 13
Game Configuration Server
(GCS)
• Desarrollador del juego
• Configuración del mismo:
objetos, acciones, misiones,
niveles…
• Cambiar parámetros
dinámicamente sin necesidad
de despegar
• Persona a cargo de los
jugadores
• Recompensas manuales
• Asigna los identificadores de
beacons, RFID, etc..
• Agrupa a los usuarios por
criterios.
Desarrollador Educador
14. www.inlife-h2020.eu 14
IoT Server (IoT)
• Gestiona la comunicación con los sensores IoT
• Presencia: Beacon o RFID
• Luminosidad
• Smartplugs
• Permite combinar eventos de diferentes sensores para generar
“ActionEvents”.
• Ejemplo: Detectar que un usuario ha apagado la luz
• AE1: Luminosidad + Presencia
• AE2: No luminosidad + No Presencia
• No es “Real time”: Nos permite jugar sin dispositivos
Sensor IoT Server Game Server Game
15. www.inlife-h2020.eu 15
Incentive Server (IS)
• Generador dinámico de recompensas
• Algoritmo de IA
• Alimentado por las acciones relevantes realizadas en
el juego: Misiones completadas, eventos…
• Mejora la dinámica del juego y evita que este sea
monótono.
• Ejemplo: Mejores recompensas para misiones
completadas por pocos jugadores.
16. www.inlife-h2020.eu 16
LAM Server (LAM)
• Metricas de comportamiento y aprendizaje
• Funcionamiento similar a Google Analytics
• Tracking de eventos en el juego
• Visor de informes: Kibana
• Basado en xAPI (https://xapi.com)
“The Experience API (or xAPI) is a new specification for learning
technology that makes it possible to collect data about the wide range of
experiences a person has (online and offline). This API captures data in a
consistent format about a person or group’s activities from many
technologies. Very different systems are able to securely communicate by
capturing and sharing this stream of activities using xAPI’s simple
vocabulary.”
18. www.inlife-h2020.eu 18
Objetos y Acciones
• Objetos: Cualquier elemento que participa en el
juego:
• Personaje: Yeti, pingüino, foca
• Cosa: Iglú, Molino de viento.
• Lugar: Biblioteca, parade de autobus.
• Acciones: Accion que se ejecuta sobre un objeto
• Personaje: Crear
• Cosa: Subir de nivel.
• Lugar: Apagar la luz
• Un juego son un conjunto de objetos sobre los
que el jugador realiza acciones.
19. www.inlife-h2020.eu 19
Misiones, pasos y
consecuencias• Misión: Conjunto de pasos que hay que realizar para alcanzar
un objetivo
• Pasos: Un conjunto de acciones sobre objetos que deben de
ejecutarse en un orden concreto. Pueden tener prerrequisitos y/o
consecuencias.
• Consecuencia: Efecto que tiene la ejecución de un paso o de
una misión.
• Ejemplo:
• Misión: Apagar la luz al salir
• Pasos:
• 1. Cuando la luz este apagada (prerrequisito) detectar presencia y luz encendida
• 2. Se deja de detectar presencia y la luz está apagada
• Consecuencia: Has ganado 200 puntos de sostenibilidad
20. www.inlife-h2020.eu 20
Secuencias
• Secuencia: Conjunto de misiones que están
relacionadas deben de ser ejecutadas en un
determinado orden:
• Libre: No importa el orden de ejecución
• Desbloquear: Una mision desbloquea la siguiente.
• Sugerencia: Una mission recomienda la siguiente, pero no la
bloquea.
• Un juego puede constar de diferentes secuencias.
• Ejemplo: ICEBERG
• Secuencia de juego normal
• Secuencia de misiones IoT
• Secuencia de Quizs
21. www.inlife-h2020.eu 21
Game & Game Plan
• Game: Conjunto de secuencias
• Game Plan: Conjunto de juegos (mini-juegos)
• Ejemplo: AKSION
• Juegos de comportamiento
• Mini-juego de reconocer expresiosnes faciales.
• Mini-juego de lista de la compra.
23. www.inlife-h2020.eu 23
Contenidos
• Descargar e instalar Inlife SDK en Unity
• Registro de usuarios e inicio de session
• Recuperar configuración del servidor
• Misiones normales
• Misiones IoT
• Recompensas dinámicas
• Learning Analytic Metrics
24. www.inlife-h2020.eu 24
Requisitos
• Conocimientos C#
• Unity3D & Visual Studio
• Conocimientos básicos del ciclo de ejecución
de un juego.
• Descargar el template gratuito Space Shooter
FREE de Unity3D Asset Store