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
¿Quién es quién?
Para meternos en harina
No hagais
caso al calvo
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.
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
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
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
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
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
INLIFE Framework
Visión Global
La que os
está dando…
www.inlife-h2020.eu 10
Arquitectura
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
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
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
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
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.
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.”
Conceptos
¿Como hacemos que valga para diferentes tipos
de juegos?
Ánimo ya
queda poco
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.
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
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
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.
Workshop
Buf! A la
hora de la
siesta…
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
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
Consortium
Advisory
board
contact-
inlife@cn.ntua.gr
www.inlife-h2020.eu
www.inlife-h2020.eu 26
[Bonus track] Practicas UVa
• Desarrollo apps móviles iOS & Android
• Del 1/10 al 13/12 (300 horas)
• Horario: 9:00 a 15:00
• 2 plazas
• 1 iOS
• 1 Android
• Inscripción:
https://practivas.sigma.uva.es/es
Oferta ref. 737 - Desarrollo de aplicaciones móviles nativas iOS / Android
GRACIAS POR
VUESTRA
ATENCIÓN
Y por
aguantar
al calvo…

Hack#Inlife Valladolid

  • 1.
    www.inlife-h2020.eu 1 Hack#Inlife Las charlasde los miércoles Sergio Morales smorales@fiveflamesmobile.com Co-funded by the horizon 2020 Framework Programme of the European Union INLIFE - Grant Agreement 732184
  • 2.
    ¿Quién es quién? Parameternos en harina No hagais caso al calvo
  • 3.
    www.inlife-h2020.eu 3 ¿Quién soyyo? 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é esFive 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 esel 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 esode 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 SeriousGames 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
  • 9.
  • 10.
  • 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 ConfigurationServer (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.”
  • 17.
    Conceptos ¿Como hacemos quevalga para diferentes tipos de juegos? Ánimo ya queda poco
  • 18.
    www.inlife-h2020.eu 18 Objetos yAcciones • 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, pasosy 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.
  • 22.
    Workshop Buf! A la horade la siesta…
  • 23.
    www.inlife-h2020.eu 23 Contenidos • Descargare 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 • ConocimientosC# • 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
  • 25.
  • 26.
    www.inlife-h2020.eu 26 [Bonus track]Practicas UVa • Desarrollo apps móviles iOS & Android • Del 1/10 al 13/12 (300 horas) • Horario: 9:00 a 15:00 • 2 plazas • 1 iOS • 1 Android • Inscripción: https://practivas.sigma.uva.es/es Oferta ref. 737 - Desarrollo de aplicaciones móviles nativas iOS / Android
  • 27.