SlideShare una empresa de Scribd logo
www.inlife-h2020.eu 1
Hack#Inlife
Workshop
Sergio Morales
smorales@fiveflamesmobile.com
Co-funded by the horizon 2020 Framework
Programme of the European Union
INLIFE - Grant Agreement 732184
Como añadir InlifeSDK a un
proyecto
Empecemos por el principio
www.inlife-h2020.eu 3
Crear nuestro juego
1. Creamos un nuevo juego
2D
2. Añadimos el paquete
«Space Shooter FREE»
que nos hemos
descargado previamente
de Unity Asset Store
www.inlife-h2020.eu 4
Añadir INLIFE SDK
1. Clonar repositorio InlifeSDK a nuestro equipo.
2. Crear en Unity3D una nueva carpeta
Assets/3rdParty/InlifeSDK
3. Arrastrar los archivos de InlifeSDK a esa carpeta
utilizando Unity3D
4. Revisar la consola para verificar que no hay ningún
error.
Login y registro
Si no, no juegas.
www.inlife-h2020.eu 6
Crear pantalla de login
1. Creamos una nueva escena (LoginScene)
2. Creamos un GameObject vacio
3. Creamos un nuevo script LoginScript.cs y este script lo
vinculamos al objeto MainCamera.
4. Añadimos los componentes gráficos para la pantalla de
login en LoginScript.cs (LoginFormSnippet.cs)
5. Añadimos los siguientes scripts al mismo GameObject
1. Tracker
2. StatusManager
3. Status Manager Server
6. Configuramos los Scripts
www.inlife-h2020.eu 7
Configurar objetos Inlife
Tracker
Flush Interval: 10
Check Interval: 3
Storage Type: net
Trace Format: xapi
Host: http://sso-inlife.cn.ntua.gr/api/proxy/gleaner/collector/
Tracking Code: 59ccef48c275be006e932246ob25dcfkgmfxyldi
Status Manager
Type: Server
www.inlife-h2020.eu 8
Login Scene – Game Objects
www.inlife-h2020.eu 9
Método de Login
• 2 pasos asíncronos y dependientes
• LoginSnippet.cs
T.Tracker.Connect •bool resultExt, string data
ForceLoginPlatform •(bool result, string messag
www.inlife-h2020.eu 10
Método de regisro
• Registro + Autologin
• RegisterSnippet.cs
T.Tracker.Register •bool resultExt, string data
Login •(bool result, string message
Recuperando la
configuración
Planes y misiones del juego
www.inlife-h2020.eu 12
Recuperar el plan del juego
• Conjunto de secuencias que componen el juego.
• Por convenio
• [0] Misiones del juego
• [1] Misiones IoT
• [2] Quizs
• LoadGamePlanSnippet.cs
JSONNode N = JSON.Parse("{}");
LoadEnvelope<InlifeSDK.Plan>.ObjectLoadedHandler loadHandler = InitLeveChoice;
Hashtable parameters = new Hashtable();
parameters.Add("Device_ID", InlifeSDKConstants.GamePilotId); //Cambiar pais.
parameters.Add("lang", LoadUtils.isoLanguage(Application.systemLanguage));
StatusManager.instance.Load<InlifeSDK.Plan>(loadHandler, parameters);
www.inlife-h2020.eu 13
Recuperar las misiones
• Recuperamos las misiones de cada juego
• Game[0]: Misiones normales
• Game[1]: Misiones IoT.
• Game[2]: Cuestionarios
• Durante el juego
• InlifeSDK.CurrentGame.dictMissions contiene
todas las misiones del juego.
• InlifeSDK.Plan.iotGame.dictIOTMissions contiene
las misiones con IoT.
www.inlife-h2020.eu 14
Recuperar las misiones
• Recuperamos las misiones (LoadMissionsSnippet.cs)
InlifeSDK.Plan.currentPlan = plan;
LoadEnvelope<Game>.ObjectLoadedHandler loadHandler = InitGame;
Hashtable parameters = new Hashtable();
parameters.Add("pg_id", plan.gamesList[0].pg_id);
parameters.Add("session_id", plan.session_id);
//TODO: Dejar como estana
//parameters.Add("lang", LoadUtils.isoLanguage(Application.systemLanguage));
parameters.Add("lang", "WTF");
StatusManager.instance.Load<Game>(loadHandler, parameters);
StatusManager.instance.Log("status-
plan", ("{"session_id":" + InlifeSDK.Plan.currentPlan.session_id + ","results":{"big-
test":true}}").hashtableFromJson());
}
www.inlife-h2020.eu 15
Inicializar el juego
• Iniciamos el juego (InitGameSnippet.cs)
public void InitGame(bool success, Game g, string error)
{
if (error != null)
Console.Write(error);
InlifeSDK.Plan.currentGame = g;
SceneManager.LoadScene("Demo_Scene", LoadSceneMode.Single);
}
www.inlife-h2020.eu 16
Integrando InlifeSDK con nuestro
juego• Debemos enlazar los conceptos abstractos de InlifeSDK con elementos
concretos del juego.
• Por ejemplo: Una mission se cumple si se eliminan 10 naves.
• Debemos comprobar periodicamente o cuando algún evento del juego
se dispare si se ha completado una mission
• Por ejemplo: Cuando se elimine una nave comprobamos si hemos llegado al
objetivo de enemigos.
• Cuando se cumple una mission mostramos el mensaje de feedback y
premiamos/castigamos al usuario
• Por ejemplo: Cuando hemos eliminado 10 naves subimos la potencia de fuego.
• Introducimos el concepto de MissionManager para gestionar esta lógica.
Integrando IoT
Subtitle
www.inlife-h2020.eu 18
Integrando Internet Of Things
• Permite “jugar sin jugar”. Es decir, poder
interactuar con el juego a través de nuestro
día a día.
• Requiere de areas sensorizadas para poder
jugar.
• El propio dispositivo podría actuar de sensor.
• La información se almacena en un IoT server
y está disponible para su consulta. No es
efímera.
• Introducimos el concepto de
IoTRewardChecker
Learning Analytic Metrics
Añadiendo mediciones a nuestro juego
www.inlife-h2020.eu 20
Tracker y XAPI
• Basado en XAPI
• Verbos
• Inicializado
• Progresado
• Completado
• Elegido
• Desbloqueado
• Objetos
• Juego
• Nivel
• Personaje
Tracker.T.completable.Completed(_mission.title);
Tracker.T.completable.Progressed(_mission.title, destroyedEnemies);
Hackaton
¡Al lío!
www.inlife-h2020.eu 22
Modo de participación
• Equipos de 1 a 3 personas
• Unity3D e InlifeSDK integrado en el juego
• Valoración
• Idea: ¿Qué queremos hacer?
• Objetivo de aprendizaje: ¿Qué pretendemos enseñar?
• Ejecución:: ¿Cómo lo hacemos?
• Fecha límite de entrega: 2 Octubre a las 23:59
• Formato: Fichero zip con el Código Fuente enviado a
• Jurado
• Alma Pisabarro (UVa)
• Jerónimo Hinojosa (Ayto Valladolid, ValladolI+D)
• Alfredo Villarino (Five Flames Mobile)
• Premios por equipo
• 1er premio: 3 Chromecast
• 2º premio: 3 Arduino Starter Kit
Bonus Track - IoT
Añadir beaconing para Android
www.inlife-h2020.eu 24
Añadir Beaconing Plugin
1. Crear carpeta /Assets/Plugins/Beacon
2. Añadir
1. IoTManager.cs
2. AndroidPluginBinding.cs
3. unityandroidlibrary-release.aar
3. Ir a ”Demo_Scene”
4. Agregar el script IoTManager.cs al GameObject
donde está MissionManager.cs
IMPORTANTE: Sólo funciona en tablet android, no en
el simulador.
Consortium
Advisory
board
contact-
inlife@cn.ntua.gr
www.inlife-h2020.eu

Más contenido relacionado

Similar a Hack#Inlife Workshop

Manual y temario unity
Manual y temario unityManual y temario unity
Manual y temario unity
Marisol ALTAMIRANO CABRERA
 
Herramientas para el Desarrollo de Videojuegos
Herramientas para el Desarrollo de VideojuegosHerramientas para el Desarrollo de Videojuegos
Herramientas para el Desarrollo de Videojuegos
Javier_J
 
Expo kinect
Expo kinectExpo kinect
Expo kinect
campus party
 
Trabajando con acelerómetros en Android
Trabajando con acelerómetros en AndroidTrabajando con acelerómetros en Android
Trabajando con acelerómetros en Android
ykro
 
Taller madrid diabetes nightscout para slideshare
Taller madrid diabetes nightscout para slideshareTaller madrid diabetes nightscout para slideshare
Taller madrid diabetes nightscout para slideshare
Jose Miguel Borrachero Guijarro
 
Desarrollo de aplicaciones multiplataforma con python y Kivy
Desarrollo de aplicaciones multiplataforma con python y KivyDesarrollo de aplicaciones multiplataforma con python y Kivy
Desarrollo de aplicaciones multiplataforma con python y Kivy
Ernesto Crespo
 
Experiencias desarrollando mi primer videojuego - Techne18
Experiencias desarrollando mi primer videojuego - Techne18Experiencias desarrollando mi primer videojuego - Techne18
Experiencias desarrollando mi primer videojuego - Techne18
Vanessa Galcera
 
SISTEMAS DE MONITOREO LINUX
SISTEMAS DE MONITOREO LINUXSISTEMAS DE MONITOREO LINUX
SISTEMAS DE MONITOREO LINUX
Diego Caceres
 
internet of things day 2014 (presentación)
internet of things day 2014 (presentación)internet of things day 2014 (presentación)
internet of things day 2014 (presentación)
David Sánchez Falero
 
Live code manual Español
Live code manual EspañolLive code manual Español
Live code manual Español
Sykrayo
 
Integración sistemasembebidosaplicacionesmóviles
Integración sistemasembebidosaplicacionesmóvilesIntegración sistemasembebidosaplicacionesmóviles
Integración sistemasembebidosaplicacionesmóviles
SBCTecnologias S.A. de C.V.
 
Presentacion android mistela&tweets
Presentacion android mistela&tweetsPresentacion android mistela&tweets
Presentacion android mistela&tweets
Jorge Soro
 
‌Kinect v2 descripción
‌Kinect v2 descripción‌Kinect v2 descripción
‌Kinect v2 descripción
David López
 
Software para el aprendizaje de la programación EC 2. Presentación 1: Descarg...
Software para el aprendizaje de la programación EC 2. Presentación 1: Descarg...Software para el aprendizaje de la programación EC 2. Presentación 1: Descarg...
Software para el aprendizaje de la programación EC 2. Presentación 1: Descarg...
UCC_Elearning
 
Curso android studio
Curso android studioCurso android studio
Curso android studio
PEDRO OSWALDO BELTRAN CANESSA
 
Manual de android
Manual de androidManual de android
Manual de android
Jarboledah
 
Curso android studio
Curso android studioCurso android studio
Curso android studio
Bryan Asto Campos
 
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
RootedCON
 
Actividadno1seguridadperimetral -conversion-gate01
Actividadno1seguridadperimetral -conversion-gate01Actividadno1seguridadperimetral -conversion-gate01
Actividadno1seguridadperimetral -conversion-gate01
pattala01
 
Seguridad perimetral - Mikrotik Firewall
Seguridad perimetral - Mikrotik FirewallSeguridad perimetral - Mikrotik Firewall
Seguridad perimetral - Mikrotik Firewall
Vanesa Rodríguez Percy
 

Similar a Hack#Inlife Workshop (20)

Manual y temario unity
Manual y temario unityManual y temario unity
Manual y temario unity
 
Herramientas para el Desarrollo de Videojuegos
Herramientas para el Desarrollo de VideojuegosHerramientas para el Desarrollo de Videojuegos
Herramientas para el Desarrollo de Videojuegos
 
Expo kinect
Expo kinectExpo kinect
Expo kinect
 
Trabajando con acelerómetros en Android
Trabajando con acelerómetros en AndroidTrabajando con acelerómetros en Android
Trabajando con acelerómetros en Android
 
Taller madrid diabetes nightscout para slideshare
Taller madrid diabetes nightscout para slideshareTaller madrid diabetes nightscout para slideshare
Taller madrid diabetes nightscout para slideshare
 
Desarrollo de aplicaciones multiplataforma con python y Kivy
Desarrollo de aplicaciones multiplataforma con python y KivyDesarrollo de aplicaciones multiplataforma con python y Kivy
Desarrollo de aplicaciones multiplataforma con python y Kivy
 
Experiencias desarrollando mi primer videojuego - Techne18
Experiencias desarrollando mi primer videojuego - Techne18Experiencias desarrollando mi primer videojuego - Techne18
Experiencias desarrollando mi primer videojuego - Techne18
 
SISTEMAS DE MONITOREO LINUX
SISTEMAS DE MONITOREO LINUXSISTEMAS DE MONITOREO LINUX
SISTEMAS DE MONITOREO LINUX
 
internet of things day 2014 (presentación)
internet of things day 2014 (presentación)internet of things day 2014 (presentación)
internet of things day 2014 (presentación)
 
Live code manual Español
Live code manual EspañolLive code manual Español
Live code manual Español
 
Integración sistemasembebidosaplicacionesmóviles
Integración sistemasembebidosaplicacionesmóvilesIntegración sistemasembebidosaplicacionesmóviles
Integración sistemasembebidosaplicacionesmóviles
 
Presentacion android mistela&tweets
Presentacion android mistela&tweetsPresentacion android mistela&tweets
Presentacion android mistela&tweets
 
‌Kinect v2 descripción
‌Kinect v2 descripción‌Kinect v2 descripción
‌Kinect v2 descripción
 
Software para el aprendizaje de la programación EC 2. Presentación 1: Descarg...
Software para el aprendizaje de la programación EC 2. Presentación 1: Descarg...Software para el aprendizaje de la programación EC 2. Presentación 1: Descarg...
Software para el aprendizaje de la programación EC 2. Presentación 1: Descarg...
 
Curso android studio
Curso android studioCurso android studio
Curso android studio
 
Manual de android
Manual de androidManual de android
Manual de android
 
Curso android studio
Curso android studioCurso android studio
Curso android studio
 
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
 
Actividadno1seguridadperimetral -conversion-gate01
Actividadno1seguridadperimetral -conversion-gate01Actividadno1seguridadperimetral -conversion-gate01
Actividadno1seguridadperimetral -conversion-gate01
 
Seguridad perimetral - Mikrotik Firewall
Seguridad perimetral - Mikrotik FirewallSeguridad perimetral - Mikrotik Firewall
Seguridad perimetral - Mikrotik Firewall
 

Último

Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
dayronfabricioruizmo
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
Maria Celeste Trujillo Cruz
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
eliersin13
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
PaulDelgadoSoto
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
Eduardo455921
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 

Último (7)

Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 

Hack#Inlife Workshop

  • 1. www.inlife-h2020.eu 1 Hack#Inlife Workshop Sergio Morales smorales@fiveflamesmobile.com Co-funded by the horizon 2020 Framework Programme of the European Union INLIFE - Grant Agreement 732184
  • 2. Como añadir InlifeSDK a un proyecto Empecemos por el principio
  • 3. www.inlife-h2020.eu 3 Crear nuestro juego 1. Creamos un nuevo juego 2D 2. Añadimos el paquete «Space Shooter FREE» que nos hemos descargado previamente de Unity Asset Store
  • 4. www.inlife-h2020.eu 4 Añadir INLIFE SDK 1. Clonar repositorio InlifeSDK a nuestro equipo. 2. Crear en Unity3D una nueva carpeta Assets/3rdParty/InlifeSDK 3. Arrastrar los archivos de InlifeSDK a esa carpeta utilizando Unity3D 4. Revisar la consola para verificar que no hay ningún error.
  • 5. Login y registro Si no, no juegas.
  • 6. www.inlife-h2020.eu 6 Crear pantalla de login 1. Creamos una nueva escena (LoginScene) 2. Creamos un GameObject vacio 3. Creamos un nuevo script LoginScript.cs y este script lo vinculamos al objeto MainCamera. 4. Añadimos los componentes gráficos para la pantalla de login en LoginScript.cs (LoginFormSnippet.cs) 5. Añadimos los siguientes scripts al mismo GameObject 1. Tracker 2. StatusManager 3. Status Manager Server 6. Configuramos los Scripts
  • 7. www.inlife-h2020.eu 7 Configurar objetos Inlife Tracker Flush Interval: 10 Check Interval: 3 Storage Type: net Trace Format: xapi Host: http://sso-inlife.cn.ntua.gr/api/proxy/gleaner/collector/ Tracking Code: 59ccef48c275be006e932246ob25dcfkgmfxyldi Status Manager Type: Server
  • 9. www.inlife-h2020.eu 9 Método de Login • 2 pasos asíncronos y dependientes • LoginSnippet.cs T.Tracker.Connect •bool resultExt, string data ForceLoginPlatform •(bool result, string messag
  • 10. www.inlife-h2020.eu 10 Método de regisro • Registro + Autologin • RegisterSnippet.cs T.Tracker.Register •bool resultExt, string data Login •(bool result, string message
  • 12. www.inlife-h2020.eu 12 Recuperar el plan del juego • Conjunto de secuencias que componen el juego. • Por convenio • [0] Misiones del juego • [1] Misiones IoT • [2] Quizs • LoadGamePlanSnippet.cs JSONNode N = JSON.Parse("{}"); LoadEnvelope<InlifeSDK.Plan>.ObjectLoadedHandler loadHandler = InitLeveChoice; Hashtable parameters = new Hashtable(); parameters.Add("Device_ID", InlifeSDKConstants.GamePilotId); //Cambiar pais. parameters.Add("lang", LoadUtils.isoLanguage(Application.systemLanguage)); StatusManager.instance.Load<InlifeSDK.Plan>(loadHandler, parameters);
  • 13. www.inlife-h2020.eu 13 Recuperar las misiones • Recuperamos las misiones de cada juego • Game[0]: Misiones normales • Game[1]: Misiones IoT. • Game[2]: Cuestionarios • Durante el juego • InlifeSDK.CurrentGame.dictMissions contiene todas las misiones del juego. • InlifeSDK.Plan.iotGame.dictIOTMissions contiene las misiones con IoT.
  • 14. www.inlife-h2020.eu 14 Recuperar las misiones • Recuperamos las misiones (LoadMissionsSnippet.cs) InlifeSDK.Plan.currentPlan = plan; LoadEnvelope<Game>.ObjectLoadedHandler loadHandler = InitGame; Hashtable parameters = new Hashtable(); parameters.Add("pg_id", plan.gamesList[0].pg_id); parameters.Add("session_id", plan.session_id); //TODO: Dejar como estana //parameters.Add("lang", LoadUtils.isoLanguage(Application.systemLanguage)); parameters.Add("lang", "WTF"); StatusManager.instance.Load<Game>(loadHandler, parameters); StatusManager.instance.Log("status- plan", ("{"session_id":" + InlifeSDK.Plan.currentPlan.session_id + ","results":{"big- test":true}}").hashtableFromJson()); }
  • 15. www.inlife-h2020.eu 15 Inicializar el juego • Iniciamos el juego (InitGameSnippet.cs) public void InitGame(bool success, Game g, string error) { if (error != null) Console.Write(error); InlifeSDK.Plan.currentGame = g; SceneManager.LoadScene("Demo_Scene", LoadSceneMode.Single); }
  • 16. www.inlife-h2020.eu 16 Integrando InlifeSDK con nuestro juego• Debemos enlazar los conceptos abstractos de InlifeSDK con elementos concretos del juego. • Por ejemplo: Una mission se cumple si se eliminan 10 naves. • Debemos comprobar periodicamente o cuando algún evento del juego se dispare si se ha completado una mission • Por ejemplo: Cuando se elimine una nave comprobamos si hemos llegado al objetivo de enemigos. • Cuando se cumple una mission mostramos el mensaje de feedback y premiamos/castigamos al usuario • Por ejemplo: Cuando hemos eliminado 10 naves subimos la potencia de fuego. • Introducimos el concepto de MissionManager para gestionar esta lógica.
  • 18. www.inlife-h2020.eu 18 Integrando Internet Of Things • Permite “jugar sin jugar”. Es decir, poder interactuar con el juego a través de nuestro día a día. • Requiere de areas sensorizadas para poder jugar. • El propio dispositivo podría actuar de sensor. • La información se almacena en un IoT server y está disponible para su consulta. No es efímera. • Introducimos el concepto de IoTRewardChecker
  • 19. Learning Analytic Metrics Añadiendo mediciones a nuestro juego
  • 20. www.inlife-h2020.eu 20 Tracker y XAPI • Basado en XAPI • Verbos • Inicializado • Progresado • Completado • Elegido • Desbloqueado • Objetos • Juego • Nivel • Personaje Tracker.T.completable.Completed(_mission.title); Tracker.T.completable.Progressed(_mission.title, destroyedEnemies);
  • 22. www.inlife-h2020.eu 22 Modo de participación • Equipos de 1 a 3 personas • Unity3D e InlifeSDK integrado en el juego • Valoración • Idea: ¿Qué queremos hacer? • Objetivo de aprendizaje: ¿Qué pretendemos enseñar? • Ejecución:: ¿Cómo lo hacemos? • Fecha límite de entrega: 2 Octubre a las 23:59 • Formato: Fichero zip con el Código Fuente enviado a • Jurado • Alma Pisabarro (UVa) • Jerónimo Hinojosa (Ayto Valladolid, ValladolI+D) • Alfredo Villarino (Five Flames Mobile) • Premios por equipo • 1er premio: 3 Chromecast • 2º premio: 3 Arduino Starter Kit
  • 23. Bonus Track - IoT Añadir beaconing para Android
  • 24. www.inlife-h2020.eu 24 Añadir Beaconing Plugin 1. Crear carpeta /Assets/Plugins/Beacon 2. Añadir 1. IoTManager.cs 2. AndroidPluginBinding.cs 3. unityandroidlibrary-release.aar 3. Ir a ”Demo_Scene” 4. Agregar el script IoTManager.cs al GameObject donde está MissionManager.cs IMPORTANTE: Sólo funciona en tablet android, no en el simulador.