scieee Science in your language
[es] (orig)

Ejecutor de búsquedas del tesoro con realidad aumentada

Abstract

Las búsquedas del tesoro y las yincanas son una serie de juegos tradicionales que consisten en tratar de resolver una serie de retos y pruebas con el objetivo de ganar algún tipo de premio o recompensa. Pueden ser jugados de forma individual o en grupos y pueden tener un planteamiento más competitivo o casual. La idea del TFG es crear un motor y una herramienta web que sirva para poder generar este tipo de juegos con la premisa de que el usuario no necesita tener conocimiento de programación alguno. Estas aplicaciones estarán formadas por fases de diferentes tipos y en diversas cantidades según las necesidades del creador de la aventura para adaptarse mejor al entorno donde va a ser utilizado y el objetivo que se quiere conseguir. Para generar las aventuras los usuarios deben hacer uso de una herramienta web disponible en un servidor de la UCM donde pueden configurar desde el nombre de la aventura que vayamos a crear, a todas y cada una de las diferentes fases disponibles y luego permitir descargarnos el proyecto para generar el instalador para dispositivos Android.

Read accessible full text

Ejecutor de búsquedas del tesoro con realidad aumentada

Author: Osés Sánchez, Leire; De Lucas Gómez, Adrián; Czepiel, David; Molina Cumba, William
Year: 2022
Source: https://docta.ucm.es/bitstreams/e552520b-3252-4750-badf-858526a95645/download
Ejecu o de búsquedas del eso o con
ealidad aumen ada
Po
Lei e Osés Sánchez
Ad ián de Lucas Gómez
Da id Czepiel
William Molina Cumba
T abajo de Fin de G ado en Desa ollo de Videojuegos
Facul ad de In o má ica
Di igido po
Ped o Pablo Gómez Ma ín
Ped o An onio González Cale o
Augmen ed eali y easu e hun s
engine
Mad id, 2021–2022
Ejecu o de búsquedas del eso o con
ealidad aumen ada
En es e TFG se plan ea la ealización de una aplicación web pa a c eación y
con igu ación de búsquedas del eso o en las que uno de sus ing edien es p incipales es el
econocimien o de obje os ísicos, que pe mi en i desbloqueando las pis as. Pa a
ejecu a lo se desa olla á un mo o que pueda ejecu a la a en u a según la con igu ación
dada po el usua io. También se pod án mos a , en pun os conc e os, minipuzzles
especí icos que encajen con la ambien ación de la búsqueda del eso o pa icula .
Lei e Osés Sánchez
Ad ián de Lucas Gómez
Da id Czepiel
William Molina Cumba
Di igido po
Ped o Pablo Gómez Ma ín
Ped o An onio González Cale o
Depa amen o de Ingenie ía del So wa e e In eligencia A i icial
Facul ad de In o má ica
Uni e sidad Complu ense de Mad id
Mad id, 2021-2022
Resumen
Las búsquedas del eso o y las yincanas son una se ie de juegos adicionales que consis en
en a a de esol e una se ie de e os y p uebas con el obje i o de gana algún ipo de
p emio o ecompensa. Pueden se jugados de o ma indi idual o en g upos y pueden ene
un plan eamien o más compe i i o o casual.
La idea del TFG es c ea un mo o y una he amien a web que si a pa a pode gene a
es e ipo de juegos con la p emisa de que el usua io no necesi a ene conocimien o de
p og amación alguno.
Es as aplicaciones es a án o madas po ases de di e en es ipos y en di e sas can idades
según las necesidades del c eado de la a en u a pa a adap a se mejo al en o no donde
a a se u ilizado y el obje i o que se quie e consegui .
Pa a gene a las a en u as los usua ios deben hace uso de una he amien a web disponi-
ble en un se ido de la UCM donde pueden con igu a desde el nomb e de la a en u a que
ayamos a c ea , a odas y cada una de las di e en es ases disponibles y luego pe mi i
desca ga nos el p oyec o pa a gene a el ins alado pa a disposi i os And oid.
Palab as cla e
Búsqueda del eso o
Ejecu o búsquedas del eso o
He amien a de au o ía
Videojuegos pa a disposi i os mó iles
Realidad Aumen ada
Aplicación web
2
Summa y
T easu e hun s and gymkhanas a e a ype o adi ional games ha consis in ying o
sol e a se ies o challenges and es s wi h he p emise o winning some kind o p ize o
ewa d. They can be played indi idually o in g oups and hey can ha e a compe i i e
o casual app oach.
The idea o he TFG is o c ea e an engine and a web ool ha is used o gene a e
and play his ype o games wi h he p emise ha he use does no need o ha e any
knowledge o p og amming o make use o i .
These applica ions will be made up o phases o di e en ypes and in a ious amoun s
acco ding o he needs o he c ea o o he ad en u e o be e adap i o he en i onmen
whe e i will be used and he objec i e ying o be achie ed.
In o de o c ea e hese games use s will use a web ool a ailable a a UCM se e whe e
hey can con igu e om he name o he ad en u e ha hey a e going o c ea e, each and
e e y one o he di e en phases a ailable and hen allow hem o download he p ojec
o gene a e he ins alle o use i in And oid de ices.
Key wo ds
T easu e Hun s
T easu e Hun s engine
Au ho ship ool
Mobile ideo games
AR - Augmen ed eali y
Web-based con igu a o ool
3

Índice gene al
Página
Bloque de in oducción. 1
1. In oducción 1
1.1. Mo i aciones ................................. 2
1.2. Plande abajo................................ 2
1.3. Reposi o io y página del p oyec o . . . . . . . . . . . . . . . . . . . . . . 3
1. In oduc ion 4
1.1. Mo i a ions.................................. 5
1.2. P ojec ´sschedule .............................. 5
1.3. P ojec ’s eposi o y and web page . . . . . . . . . . . . . . . . . . . . . . 6
2. Es ado del A e 7
2.1. Juegosse ios ................................. 7
2.2. Aplicacionesweb ............................... 10
2.2.1. Mul i Page Applica ion . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.2. Single Page Applica ion . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.3. Capas de las aplicaciones web . . . . . . . . . . . . . . . . . . . . 12
2.3. RealidadAumen ada............................. 13
2.4. P oduc osdelsec o ............................. 17
2.4.1. ARVR ech: T esu e Hun . . . . . . . . . . . . . . . . . . . . . . 17
2.4.2. Educaplay............................... 18
2.4.3. Oni ix................................. 20
2.4.4. uAd en u e.............................. 21
3. He amien as 26
3.1. Uni y ..................................... 26
3.1.1. Funcionamien o de Uni y . . . . . . . . . . . . . . . . . . . . . . 27
3.1.2. Ca ga de ecu sos en Uni y . . . . . . . . . . . . . . . . . . . . . 28
3.2. Vu o ia..................................... 28
3.2.1. Funcionamien o de Vu o ia Engine . . . . . . . . . . . . . . . . . 29
3.2.2. Cla es de Vu o ia . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3. Reac ..................................... 30
3.3.1. Funcionamien o de Reac . . . . . . . . . . . . . . . . . . . . . . 30
3.3.2. Componen es............................. 31
4
Augmen ed eali y easu e hun s engine UCM
Bloque de implemen ación. 34
4. Diseño e implemen ación 34
4.1. Tiposde ases................................. 34
4.1.1. FaseQuiz............................... 35
4.1.2. FaseQR................................ 35
4.1.3. FaseImagen.............................. 35
4.1.4. FaseAR................................ 35
4.1.5. Fasedesonido ............................ 36
4.1.6. Fasede ex o ............................. 36
4.1.7. FasedeGPS ............................. 36
4.2. Con igu ación de las a en u as . . . . . . . . . . . . . . . . . . . . . . . . 36
4.3. Ejecución de las a en u as . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.4. Da os que cons i uyen una a en u a . . . . . . . . . . . . . . . . . . . . . 37
4.5. Ciclo de gene ación de una a en u a . . . . . . . . . . . . . . . . . . . . 37
5. He amien a de au o ía de yincanas 39
5.1. F on end.................................... 39
5.1.1. Flujo de la aplicación . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.1.2. Es uc u a de los componen es de la WEB . . . . . . . . . . . . . 41
5.1.3. Es adoin e no ............................ 41
5.1.4. Ins anciación de los componen es . . . . . . . . . . . . . . . . . . 42
5.1.5. Es uc u a de los componen es . . . . . . . . . . . . . . . . . . . 43
5.1.6. Se ialización de la a en u a . . . . . . . . . . . . . . . . . . . . . 50
5.2. Backend.................................... 52
5.2.1. A anque del se ido . . . . . . . . . . . . . . . . . . . . . . . . 52
5.2.2. Se icios del backend . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2.3. Comunicaciones F on -End/Back-End . . . . . . . . . . . . . . . 55
5.2.4. Comunicaciones al gua da una aplicación . . . . . . . . . . . . . 56
6. Mo o de ejecución de yincanas 59
6.0.1. GameManage ............................ 60
6.0.2. Mas e Objec ............................. 61
6.0.3. Ad en u eIn o............................. 61
6.0.4. S age ................................. 61
6.1. Implemen ación de las ases . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.1.1. FaseQuiz............................... 62
6.1.2. FaseQR................................ 62
6.1.3. Faseconimagen ........................... 63
6.1.4. Fase de ealidad aumen ada . . . . . . . . . . . . . . . . . . . . . 63
6.1.5. Faseconaudio ............................ 64
6.1.6. Fase de in oduci ex o . . . . . . . . . . . . . . . . . . . . . . . 65
6.1.7. Fase con geolocalización . . . . . . . . . . . . . . . . . . . . . . . 65
7. Resul ados ob enidos 67
7.1. Busqueda del eso o - Demos ación . . . . . . . . . . . . . . . . . . . . . 68
7.1.1. Reco ido y p uebas de la demo . . . . . . . . . . . . . . . . . . . 68
7.2. E aluación con usua ios . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
7.3. Posibilidades como mo o de juegos se ios . . . . . . . . . . . . . . . . . 70
5
Augmen ed eali y easu e hun s engine UCM
Bloque de conclusiones. 73
8. Conclusiones 73
9. T abajo u u o 75
8. Conclusions 77
9. Fu u e Wo k 79
10.Con ibuciones indi iduales 81
10.1.Lei eOsésSánchez.............................. 81
10.2. Ad ián de Lucas Gómez . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
10.3.Da idCzepiel................................. 84
10.4. William Molina Cumba . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Bloque de anexos. 90
A. Manual de usua io 90
A.1. C eación de una a en u a . . . . . . . . . . . . . . . . . . . . . . . . . . 90
A.1.1. Con igu a una ase Quiz . . . . . . . . . . . . . . . . . . . . . . . 91
A.1.2. Con igu a una ase QR . . . . . . . . . . . . . . . . . . . . . . . 91
A.1.3. Con igu a una ase Image . . . . . . . . . . . . . . . . . . . . . . 92
A.1.4. Con igu a una ase de RA . . . . . . . . . . . . . . . . . . . . . . 93
A.1.5. Con igu a una ase de GPS . . . . . . . . . . . . . . . . . . . . . 93
A.1.6. Con igu a una ase de ex o . . . . . . . . . . . . . . . . . . . . . 94
A.1.7. Con igu a una ase de sonido . . . . . . . . . . . . . . . . . . . . 94
A.1.8. Ayudasypis as............................ 95
A.2. Edi a una a en u a p e ia . . . . . . . . . . . . . . . . . . . . . . . . . . 96
A.3. Desca ga a en u as de o os usua ios . . . . . . . . . . . . . . . . . . . . 96
A.4. C eación del APK con Uni y . . . . . . . . . . . . . . . . . . . . . . . . . 97
A.5. Ins alación en un disposi i o And oid . . . . . . . . . . . . . . . . . . . . 98
A.6. Despliegue de la he amien a . . . . . . . . . . . . . . . . . . . . . . . . 98
Bloque de bibliog a ía. 100
Bibliog a ía y enlaces de e e encia 100
6
Índice de igu as
2.1. Popula ización de los juegos se ios en el nue o milenio y sus campos de
aplicación ................................... 8
2.2. Aplicaciones web con o ma o Mul i-Page Applica ion y Single-Page Ap-
plica ion.................................... 11
2.3. Ciclo de ida de una MPA . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4. Ciclo de ida de una SPA . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.5. Espada de Damocles (HMD), 1966 . . . . . . . . . . . . . . . . . . . . . 13
2.6. Knowledge-based Augmen ed Reali y o Main enance Assis ance, 1993 . 14
2.7. ARQuake: In e ac i e Ou doo Augmen ed Reali y Collabo a ion Sys em,
2000 ...................................... 15
2.8. Wiki udeD i e,2010............................. 15
2.9. In izimals en ba alla, 2009 . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.10. Pokemon Go AR+ mode, 2017 . . . . . . . . . . . . . . . . . . . . . . . 16
2.11. Búsqueda del eso o c eada po ARVR como demos ación . . . . . . . . 18
2.12. Algunas de las ac i idades disponibles pa a con igu a . . . . . . . . . . 19
2.13. Ac i idad sob e animales en F oggy Jumps . . . . . . . . . . . . . . . . . 19
2.14.Edi o webdeOni ix............................. 20
2.15. Búsqueda del eso o c eada po Oni ix como demos ación . . . . . . . . 21
2.16. Vis a gene al de escenas y conexiones en e ellas . . . . . . . . . . . . . . 22
2.17. Con igu ado de una escena no mal . . . . . . . . . . . . . . . . . . . . . 23
2.18. Con igu ado de códigos QR . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.19. Con igu ado de una escena geoposicionada . . . . . . . . . . . . . . . . 24
2.20. Visual sc ip ing en uAd en u e . . . . . . . . . . . . . . . . . . . . . . . 24
3.1. In e az g á ica del edi o de Uni y . . . . . . . . . . . . . . . . . . . . . 27
3.2. P ocesamien o de una imagen en la SDK de Vu o ia . . . . . . . . . . . . 30
3.3. P oceso de ges ión de cambios de es ado en Reac . . . . . . . . . . . . . 31
4.1. Ciclo gene al de la gene ación de una a en u a . . . . . . . . . . . . . . . 38
5.1. Flujodeaplicación .............................. 40
5.2. Es uc u a del es ado global y es ados locales en Reac . . . . . . . . . . 42
5.3. Esquema de ins anciación de los componen es Reac . . . . . . . . . . . . 42
5.4. Elemen os isuales del componen e S eps . . . . . . . . . . . . . . . . . . 43
5.5. Componen e de esumen de la a en u a . . . . . . . . . . . . . . . . . . . 44
5.6. Componen e de ca ga de a en u as . . . . . . . . . . . . . . . . . . . . . 45
5.7. Fo mula io aseQuiz............................. 46
5.8. Fo mula io ase de QR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7
Augmen ed eali y easu e hun s engine UCM
knowledge. The ad en u e edi o will be accessed om he b owse whe e we can choose
he phases and hei con en in a g aphic and simple way. When he use is sa is ied wi h
he ad en u e con igu ed, i can be sa ed in he se e o download he Uni y p ojec o
gene a e he execu able o an And oid de ice.
1.1. Mo i a ions
This p ojec has achie ed he c ea ion a e y use ul ool o he gene a ion o small
in e ac i e games ha could be di ec ed o a ious ields. In he educa ional ield, games
could be c ea ed ha in i e s uden s o apply concep s gi en in class, s eng hening hem.
In he cul u al ield as an in e ac i e guide in isi s o museums. Wi hin he mos play ul
sphe e, gene a ing easu e hun s wi h he aim o en e aining g oups o people.
The p ojec , wi hin he ield o educa ion, bene i s eache s and s uden s as i allows he
o me o gene a e in e ac i e and gami ied ma e ial in a simple and in ui i e way. S u-
den s ecei e an in e ac i e expe ience ha is mo e engaging and p esen ed in a iendlie
way.
We also show ha i has he po en ial o be a simple engine o c ea ing se ious games[3].
La e we will see ha se ious games ha e ano he objec i e beyond en e ainmen , which
can be eaching, emembe ing concep s, e c.
1.2. P ojec ´s schedule
Du ing he de elopmen o he p ojec we a e going o se a se ies o miles ones o be
accomplished in he sho e m in o de o add new ea u es each ime, always ha ing a
unc ional e sion o he p ojec . The agile me hodology used will be SCRUM and we
will ha e one-week sp in s. A he end o each sp in , a mee ing wi h he u o s will be
held o show he p og ess and ecei e eedback.
In Oc obe , he wo k o he p ojec will ocus on expe imen ing wi h di e en ools ha
will be necessa y o de elop his p ojec , as we will see in he chap e 3. In Uni y we
will de elop a p og am ha eads in o ma ion om JSON and gene a es scenes and goes
om one o ano he as necessa y.
In No embe wi h his base and wi h he chosen ools, wo comple e phases will be
de eloped o be able o c ea e a mini ad en u e. To gene a e his JSON, a web ool will
ha e o be made om which you can c ea e a easu e hun by con igu ing and combining
he wo phases de elop. Then he ile ha de ines he ad en u e w i en in JSON can be
copied in o he execu o and o c ea e an execu able o use on ou de ice.
Now he objec i e will be o simpli y he p e ious p ocess so ha he execu o wi h
he JSON o he gymkhana al eady a ached can be downloaded di ec ly om he web
con igu a o and o be able o compile he p ojec di ec ly using a ba ch sc ip .
A he s a o Feb ua y and wi h ha cycle closed, a da abase will be c ea ed wi hin he
se e o be able o sa e he ad en u es ha a e c ea ed in o de o be able o modi y
hem la e and also upload he ins alle s o hese ad en u es so ha o he use s can
download and play hem di ec ly.
5

Augmen ed eali y easu e hun s engine UCM
Du ing Ma ch and Ap il mo e di e en phases will begin o be added wi h he pu pose
o gi ing mo e con en and e sa ili y o he p ojec o c ea e o he expe iences. The
idea is o ha e a ound six o se en di e en phases o be able o con igu e and add o
he ad en u es.
In May wi h all he phases de eloped he goal will be o c ea e a comple e easu e hun o
es he en i e wo k low om he design, h ough i s c ea ion using he web con igu a o
an inally downloading i and gene a ing he execu able and hen playing i om he
mobile de ice.
Finally, he isual aspec o bo h he con igu a o and he execu o will be imp o ed
ollowing he same s yle and ying o use he mos pleasan and in ui i e design possi-
ble.
1.3. P ojec ’s eposi o y and web page
All he wo k done du ing he de elopmen o he p ojec has been done using Gi Hub
as ou e sion con ol ool o s o e he eposi o y 1and imp o e he wo k low, allowing
each membe o wo k independen ly in a di e en b anch.
In he p ojec a web ool2has de eloped o c ea ing easu e hun s, we include he link
o i whe e you can c ea e you ad en u es and whe e he demo sca enge hun seen in
he chap e 7 is also a ailable. This ad en u e in ques ion will be a ailable bo h o edi
i and download eady o ins all i on ou de ice and play i .
1h ps://gi hub.com/Ad ian-de-Lucas-Gomez/TFG-Ejecu o -de-busquedas-del- eso o
2h p:// g.U banAR.o g
6
Capí ulo 2
Es ado del A e
En es e capí ulo amos a da con ex o sob e los a ances y es udios que se han ealizado en
los campos que a añen a nues o p oyec o: ealidad aumen ada, ecnologías web y juegos
se ios en los úl imos años y que han pe mi ido que a día de hoy sea iable ealiza un
p oyec o como es e. También e emos algunas emp esas que desa ollan so wa e simila
y/o compa able que ya se encuen an asen adas en el me cado.
2.1. Juegos se ios
Los juegos se ios (se ious games en inglés) son juegos diseñados con un p opósi o conc e o,
dis in o al lúdico aunque pueden se ambién di e idos de juga . La exp esión “se io”
iene dada po que se u ilizan en el sec o educa i o, cien í ico, en la a ención médica,
plani icación u bana, ingenie ía y polí ica, en e o os campos.
El é mino ue acuñado en 1970 po Cla k C. Ab , in es igado es adounidense y au o
del lib o Se ious Games[3] donde se explo an las di e en es o mas en las que los juegos
se pueden inclui en el p oceso de enseñanza y ap endizaje sin elimina la di e sión y el
place .
Es e ipo de so wa e ha adqui ido g an impo ancia desde la en ada del siglo XXI
( igu a 2.1b) y ha sido adop ados po ins i uciones educa i as y emp esas, especialmen e
pa a p og amas de o mación y campañas publici a ias. En el caso especí ico de España[4],
hay muchas emp esas que ya es án u ilizándolos sob e odo en el campo educa i o pa a
la o mación an o de niños como de adul os. Algunas de es as emp esas son Human iks,
Gamelea n, Binnakle, Ne languages y Chia a en e o as.
Campos de aplicación de los juegos se ios
Como ya ocu e con los ideojuegos adicionales, los juegos se ios se ag upan po su
emá ica o su público obje i o. Como es e ipo de juegos es án pensados con una inalidad
y obje i o muy conc e o exis en muchas subca ego ías posibles pe o se suelen ag upa po
campo de aplicación ( igu a 2.1). A con inuación amos a e algunos de los campos de
aplicación más impo an e que hay en la ac ualidad.
7
Augmen ed eali y easu e hun s engine UCM
(a) Dis ibución po ámbi os de uso
de 1970 a 2002 (953 juegos)
(b) Dis ibución po ámbi os de uso
de 2002 a 2010 (1265 juegos)
Figu a 2.1: Popula ización de los juegos se ios en
el nue o milenio y sus campos de aplicación
Fuen e: www.ludoscience.com/ iles/ essou ces/o igins_o _se ious_games.pd
Educación
Es a pa e del me cado son los que conocemos como juegos educa i os, en los que el
obje i o que se pe sigue es que el usua io adquie a una se ie de conocimien os y compe-
encias. Uno de los p ime os y conocido en EEUU, ue The O egon T ail (1971). El juego
enía como obje i o enseña a los niños ace ca de la ida de los pione os de la Ru a de
O egón en el Siglo XIX. El jugado asumía el ol de un líde en un ca o e iba guiando
a su g upo de colonos a ando de sob e i i cazando y ges ionando los ecu sos. Tu o
éxi o, eniendo en cuen a la época ( igu a 2.1a), y a lo la go de los años u o múl iples
secuelas y spin-o s.
En la ac ualidad los juegos se ios an omando cada ez más y más ele ancia lo cual
ha hecho que desa ollado as de ideojuegos, en ocados en el ámbi o lúdico, lancen un
o ma o educa i o usando sus p opiedades in elec uales. Es e ue el caso de Mic oso y
Mojang con Minec a y su Educa ion Edi ion1lanzado en 2018. Se a a de una e sión
adap ada del popula juego Minec a donde los docen es pueden hace uso de he a-
mien as pa a ansmi i las lecciones a los alumnos de una o ma no edosa e in e esan e.
Sanidad
Los juegos pensados pa a el mundo médico y sani a io ienen como obje i o e esca
conocimien os al p opio pe sonal sani a io sob e cie os p ocedimien os, aunque ambién
exis en juegos que es án di igidos a un público gene al y pe mi en enseña a la ciudadanía
écnicas2que pod ían ayuda a sal a idas o ayuda a man ene la salud.
Den o del ámbi o médico ya se usan ideojuegos[12] desde hace años pa a ayuda en labo-
es de diagnós ico, a amien o y ehabili ación de los pacien es. En es e ámbi o des acan
juegos como F eeDi e3, usado pa a dis ae y anquiliza a pacien es con en e medades
1Minec a Educa ion Edi ion:h ps://educa ion.minec a .ne /en-us
2E ec i idad de juegos se ios con ealidad aumen ada po 3ciencias: h ps://www.3ciencias.com/wp
-con en /uploads/2018/09/A _4-1.pd
3h ps://www.b eakawaygames.com/case-s udies/ ee-di e/
8
Augmen ed eali y easu e hun s engine UCM
c ónicas o Hung y Red Plane 4, el cual a a de inculca buenos hábi os alimen icios en
los niños.
También hay que añadi que hay juegos que o iginalmen e no se habían c eado como
juegos se ios pa a el ámbi o de salud pe o que sí que se aplican. Es e uso no se limi a
solo a los hospi ales o cen os de salud, donde se aconseja a los pacien es que se jueguen
cie os ipos de juegos ya sea pa a man ene se en o ma, an o ísica como men al o como
ayuda a la ho a de ehabili a se. Tí ulos que se usan de es a o ma son Wii Spo s, B ain
Age, Ring Fi Ad en u es o Jus Dance po menciona algunos ejemplos.
Mili a
Uno de los ámbi os más an iguos de los juegos se ios son los simulado es mili a es[15],
u ilizados como he amien a de en enamien o. Comenza on siendo o mas de ensaya
maniob as mili a es du an e la Gue a F ía (1945-1989). Uno de es os p ime os juegos no
e a un ideojuego elec ónico sino de mesa, HUTSPIEL[5] (1955). Consis ía en un juego
pa a 2 jugado es donde debían de ges iona los ecu sos de combus ible y munición en
cada unidad con el obje i o de gana la ba alla.
En los años pos e io es, los o denado es comenza ían a oma más ele ancia en la escena
mili a lo que pe mi ió que se desa ollasen simulado es donde se enseñaba a las opas
a maneja los ehículos sin necesidad de sali a ealiza las maniob as y pudiendo p oba
escena ios conc e os de ba alla. Suelen i acompañados de compleja maquina ia pa a
simula de la mejo o ma posible el en o no.
Es os juegos no es án disponibles pa a el público gene al po mo i os de segu idad na-
cional, ya que e ela ía en enamien os y ác icas a o os países.
Publicidad
Los juegos se ios u ilizados como he amien as de ma ke ing, los conocidos como ad e -
gaming, son ideojuegos cuyo obje i o es el de publici a una ma ca o p oduc o. Los
juegos elabo ados como pa e de una es a egia de ad e gaming suelen se g a ui os y
dis ibui se de mane a online siendo compa ibles con di e en es disposi i os. El p o ago-
nis a de los mismos es la ma ca, emp esa, p oduc o, ins i ución o se icio que se quie e
p omociona .
Debemos dis ingui el ad e gaming de la publicidad inse ada den o de un ideojuego
es ánda , po ejemplo, los banne s den o de los es adios de ideojuegos depo i os. En
los juegos publici a ios la p esencia de ma ca no es secunda ia, sino que es el pun o cen al
del juego.
A día de hoy, en la e a de las edes sociales, son muy comunes es e ipo de juegos ya que las
ma cas han is o lo bien que uncionan. Algunos ejemplos de ad e games an es de la época
de las edes sociales son Ame ica´s A my (Windows, 2002), un juego bélico que lanzó
el ejé ci o de EEUU con el obje i o de cap a a los más jó enes pa a que se alis asen,
Pepsiman5(Plays a ion, 1999), un juego donde debíamos e i a obs áculos y ecoge
4h ps://se ious.gameclassi ica ion.com/EN/games/15815-Hung y-Red-Plane /index.h ml
5Gameplay de Pepsiman: h ps://www.you ube.com/wa ch? =8U gQ8jybIw
9
Augmen ed eali y easu e hun s engine UCM
Pepsis y po úl imo Ya is6(Xbox 360, 2007), un juego donde conducíamos un Toyo a
Ya is po pis as ubula es a ando de dispa a a los enemigos y gana pun os.
A e y cul u a
Es e ipo de ideojuegos a a de ansmi i conocimien os sob e a e, asgos cul u ales
o his o ia sob e un luga conc e o. En especial, cuando se a a de ci ilizaciones an i-
guas como omanos, g iegos o egipcios, la adap ación a ideojuegos (especialmen e en
3D) ayuda a en ende y isualiza mejo como e an esas sociedades. En la úl ima década
ha habido un auge de juegos de ealidad aumen ada en zonas de yacimien os a queo-
lógicos donde supe poniéndose a las uinas podemos e cómo e an las es ancias en su
época.
Es una de las ca ego ías que más es á c eciendo en los úl imos años. Incluso ha lle ado
a emp esas muy g andes del mundo de los ideojuegos con encionales a in oluc a se en
p oyec os de es a índole. Una de ellas ue Nin endo, quien en colabo ación con el Lou e
desa ollo una audioguía7in e ac i a pa a Nin endo 3DS.
Co po a i os
Videojuegos desa ollados pa a se usados como una he amien a pa a la emp esa con el
obje i o de en ena a sus abajado es o gami ica una se ie de ac i idades como pueden
se las euniones, con e encias, e c. Son juegos que no se hacen disponibles al público
ex e no a la emp esa ya sea po mo i os de segu idad u o os, aunque sí hay cons ancia
de algunos a lo la go de los años.
Uno de los que conocemos es Pepsi In ade s8(1983) el cual es un clon del ideojuego
Space In ade s9(1978) que usó in e namen e Coca-Cola con el obje i o de aumen a la
compe i i idad de sus empleados en e a Pepsi.
2.2. Aplicaciones web
La po encia de lo que es posible hace en la web ha ido aumen ado muchísimo desde
la llegada al me cado de los p ime os na egado es du an e la década de los 90. En esos
p ime os años los na egado es, las aplicaciones que pe mi en accede a la web, solamen e
se enca gaban de desca ga páginas HTML y mos a las. Un a ance impo an e en esos
años ue on los lenguajes de sc ip ing que pe mi ie on dinamiza es as páginas es á icas.
Aunque ha habido más a ances en la web, uno de los más ele an es en es e p oyec o
es el de pode pedi la in o mación bajo demanda, es deci , cuando sea necesa io. Es o
ha pe mi ido la c eación de aplicaciones que se ejecu an en el na egado , lo cual elimina
la necesidad de ene las ins aladas en nues o o denado y las hace más accesibles al
6Gameplay Ya is: h ps://www.you ube.com/wa ch? =S sW-ZW9iWI& =56s&ab_channel=Mis e
Jan ix
7Demos ación Nin endo 3DS Guide Lou e: h ps://www.you ube.com/wa ch? =27lAJiYTZwQ
8h ps://www. e ogames.cz/play_1215-A a i2600.php
9h ps://www. e ogames.cz/play_016-A a i2600.php
10

Augmen ed eali y easu e hun s engine UCM
público ya que pueden accede desde cualquie disposi i o en el que se pueda ejecu a un
na egado web.
Pa a el desa ollo de páginas web se suelen segui uno de es os dos pa ones: MPA (Mul i-
Page Applica ion) y SPA (Single-Page Applica ion).
(a) Página web que usa MPA (GAME) (b) Página web que usa SPA (Twi e )
Figu a 2.2: Aplicaciones web con o ma o Mul i-Page Applica ion y Single-Page Appli-
ca ion
2.2.1. Mul i Page Applica ion
El pa ón de diseño de las Mul i Page Applica ion (MPA) consis e en la di isión del
con enido de la página en di e en es pan allas. Es e es el pa ón que se ha usado du an e
muchísimos años en el desa ollo web. A día de hoy sigue es ando muy ex endido y se
usa gene almen e pa a páginas muy g andes ya que suelen ene mucho con enido y muy
a iado po lo que es más azonable el di idi lo ya que no se ía iable ene lo odo en
una sola pan alla.
Figu a 2.3: Ciclo de ida de una MPA
Al accede a una página MPA emos que en su ciclo de ida ( igu a 2.3) se pide la página
y es a se mues a al usua io pe o cada ez que se p oduzcan cambios de página o se
ac ualice la in o mación de la misma el se ido nos da á un nue o a chi o HTML y CSS
con la página ac ualizada, desca ando la que se es aba mos ando has a aho a.
Cada una de las di e en es pan allas que iene una MPA lle a asociada una URL (Uni o m
Resou ce Loca o ) la cual si e pa a iden i ica a cada uno de los ecu sos disponibles en
la ed y pode accede di ec amen e a ellas e i ando pasa po o as páginas in e me-
dias.
11
Augmen ed eali y easu e hun s engine UCM
2.2.2. Single Page Applica ion
La iloso ía de diseño[7] de páginas web conocida como Single-Page Applica ion (SPA)
consis e en una aplicación web que mues a odo el con enido desde una misma página.
Es o no quie e deci que odo el con enido es é al mismo iempo en la pan alla sino que
se a ocul ando y mos ando con enido según se aya necesi ando.
Al ca ga po p ime a ez la página se desca ga el HTML, CSS y el código Ja asc ip [11].
Es e código Ja asc ip con ola el cambio de una sección a o a, ac ualizando lo que se
debe mos a en pan alla. Al ca ga se es a es uc u a lige a al p incipio, y después ca ga
el con enido desde el se ido , los iempos de espues a de la aplicación son mejo es y es o
mejo a la expe iencia de usua io no haciéndole espe a an o pa a ab i la página.
Figu a 2.4: Ciclo de ida de una SPA
Aunque se accede a odo el con enido desde la misma URL, es a se puede modi ica pa a
que cada sección enga una p opia como pasa ía en una MPA. Es o es ú il pa a accede
di ec amen e a la sección que e in e esa de la página sin ene que epe i el eco ido
desde el inicio de la web. Las SPA suelen i asociadas a una base de da os desde la cual
desca gan el con enido, ya que es e suele i cambiando (ej. Twi e : igu a 2.2b). En es e
ciclo de ida ( igu a 2.4) se puede e que solamen e piden el con enido a mos a , no la
página en e a ya que no se a a e esca comple amen e.
2.2.3. Capas de las aplicaciones web
Cabe des aca que un en oque ípico en el desa ollo web es con a con una di isión cla a
en e la in e az y el se ido donde se encuen a alojada la in o mación de la aplicación.
Dichas capas eciben el nomb e de on en y backend espec i amen e.
El on end es la capa de una aplicación enca gada de mos a el con enido en pan a-
lla y con la que in e ac úa el usua io. Pa a el apa ado isual se emplea gene almen e
HTML con hojas de es ilo y pa a la uncionalidad suele emplea se Ja aSc ip como len-
guaje de p og amación. Es ípico el uso de amewo ks como Reac o Angula pa a la
implemen ación de es a capa.
El backend, po o o lado, es la capa de la aplicación que se ejecu a en el se ido la
cual se u iliza pa a la ges ión del en ío y ecepción de solici udes y da os que se en ían
en e el clien e y el se ido . Se puede usa cualquie lenguaje de p og amación pa a
implemen a la, aunque algunos de los más usados son: Node.js, Py hon, PHP o Ja a.
Es o se debe a que es án pensados pa a que sea ácil hace que se comuniquen con bases
de da os, se ializa la in o mación pa a se en iada o ealiza abajo de o ma asínc ona
que es muy común en el desa ollo web.
12
Augmen ed eali y easu e hun s engine UCM
Cabe des aca que hay webs que usan un modelo híb ido en el que ienen secciones
implemen adas como SPAs pe o es án den o de páginas sepa adas y conec adas como
ocu e en una MPA.
2.3. Realidad Aumen ada
La ealidad aumen ada es una ecnología que consis e en la supe posición de elemen os
i uales sob e el mundo eal de o ma que, de la sensación de que esos elemen os i ua-
les ealmen e exis en en la mundo eal[1]. Pa a expe imen a es a ecnología hay a ias
o mas: a a és de la pan alla de un disposi i o como puede se el caso de un elé ono
mó il o a a és de láminas anslúcidas sob e las que se p oyec a la imagen a supe -
pone como ocu e po ejemplo con Google Glass10. Debido a la g an popula ización de
es a ecnología a día de hoy es ba a a y accesible g acias a la g an can idad de so wa e
g a ui o y la escasa necesidad de ha dwa e especí ico. A di e encia de la ealidad i ual
(VR) la ealidad aumen ada no sus i uye la ealidad po una i ual sino que la expande
y complemen a.
Uno de los p ime os a ances en es e campo ue en el año 1966, cuando el p o eso de
Ingenie ía Eléc ica de la Uni e sidad de Ha a d, I án Su he land[9], c eó el HMD (Head
Moun ed Display). Conocido ambién como La Espada de Damocles11, el disposi i o e a
un iso ( igu a 2.5a) que mos aba elemen os idimensionales con g á icos ec o iales
(wi e ame) p oyec ados sob e unas len es de c is al. Pa a sabe la localización y o ación
de la cabeza del indi iduo se hacía uso de di e sos senso es mecánicos ( igu a 2.5b) que
enía el anclaje de las ga as al echo en conjun o a senso es de ul asonidos.
(a) Viso del disposi i o (b) Esquema de uncionamien o
Figu a 2.5: Espada de Damocles (HMD), 1966
Imágenes HMD: h ps://p oyec oidis.o g/espada-de-damocles/
10h ps://www.google.com/glass/s a /
11Espada de Damocles: h ps://www.you ube.com/wa ch? =eVUg U P4uk&ab_channel=Ul im
a eHis o yo VideoGames
13
Augmen ed eali y easu e hun s engine UCM
K.A.R.M.A.[16] (Knowledge-based Augmen ed Reali y o Main enance Assis ance) ue
desa ollado en la Uni e sidad de Columbia12 po S e en Feine , Blai MacIn y e y Do ée
Seligmann en 1993. Desa olla on un so wa e que iba dando ins ucciones al usua io
sob e cómo eca ga la imp eso a, sin ene que ecu i al manual de uso, p oyec ando
igu as ec o iales ( igu a 2.6b) que iban indicando los pasos a segui a a és de un iso
( igu a 2.6a) con p oyec o es y len es anspa en es.
Pa a mos a las imágenes hicie on modi icaciones sob e un so wa e p e io llamado
IBIS[6], el cual se especializaba en la gene ación de ilus aciones basado en eglas de-
sa ollado po S e en Feine y Do ée Seligmann.
(a) Viso del disposi i o (b) G á icos mos ados
Figu a 2.6: Knowledge-based Augmen ed Reali y o Main enance Assis ance, 1993
En el año 2000 su ge un nue o hi o en el desa ollo de la ealidad aumen ada, ARQuake[18].
Es e p oyec o e a una demos ación écnica13 de ealidad aumen ada pe o es a ez en-
ocada al mundo de los ideojuegos. Es e p oyec o e a una de i ación del popula juego
Quake de id So wa e14 lanzado en 1996. Desa ollado po Wayne Pieka ski y B uce Tho-
mas, es e p o o ipo pe mi ía segui la posición del jugado en el mundo eal a a és
de GPS de al a p ecisión. También empleaba una combinación de gi óme o15 y b újula
magné ica pa a egis a y maneja la o ación de la cabeza del usua io. Pa a mos a el
con enido usaban un HMD (Head Moun ed Display).
La ele ancia de es e p oyec o iene ma cada po se la p ime a ez que hacía uso de RA
( ealidad aumen ada) en un disposi i o “po á il”, ya que el o denado que p ocesaba
odo se encon aba den o de la mochila ( igu a 2.7a). Es o, unido a la capacidad GPS,
pe mi ía al usua io mo e se lib emen e po su en o no ( igu a 2.7b) in e ac uando con
pue as, enemigos, a mas, e c ( igu a 2.7c). Los desa ollado es además ab ie on una
página web16 donde se pueden e da os écnicos del p oyec o y del disposi i o. T as es e
p o o ipo comenza on con el desa ollo de Tinmi h17, el cual es una e sión mejo ada y
gené ica del ha dwa e usado en ARQuake pa a c ea aplicaciones de RA al ai e lib e.
12h ps://g aphics.cs.columbia.edu/p ojec s/ka ma/ka ma.h ml
13Video ARQuake: h ps://you u.be/No7QF0MwSjg
14h ps://www.idso wa e.com/es-es
15Apa a o que si e pa a medi la elocidad de o ación de una máquina.
16Página ARQuake: h p://www. inmi h.ne /a quake/
17Página sob e Tinmi h: h p://www. inmi h.ne /
14
Augmen ed eali y easu e hun s engine UCM
(a) Realidad aumen ada po ubicación (b) Realidad aumen ada po supe icie
Figu a 2.15: Búsqueda del eso o c eada po Oni ix como demos ación
Fuen e: h ps://www.you ube.com/wa ch? =i1zA xlGkjU&ab_channel=Oni ix
2.4.4. uAd en u e
uAd en u e24 es una pla a o ma pa a el desa ollo de juegos de o denado de a en u as
clásicas con ines educa i os. Es a pla a o ma ha sido desa ollada po el g upo de in-
es igación de la Uni e sidad Complu ense de Mad id. Es la suceso a de la pla a o ma
eAd en u e25. A di e encia de su p edeceso , que se c eó en el ma co de Ja a, uAd en u e
se ejecu a sob e el mo o de juego Uni y y pa a u iliza lo no se equie en conocimien os
p e ios de Uni y.
Es e mo o ue concebido pa a hace juegos se ios de ipo a en u as g á icas que pueden
o no hace uso de geoposicionamien o según la a en u a que que amos c ea . uAd en u e
se ins ala como un paque e en Uni y y o ece un edi o p opio sepa ado del edi o de
Uni y en el cual nos o ecen di e en es ipos de obje os que podemos c ea pa a hace
nues as a en u as:
24h ps://www.e-ucm.es/uad en u e/
25h p://e-ad en u e.e-ucm.es)
21

Augmen ed eali y easu e hun s engine UCM
Figu a 2.16: Vis a gene al de escenas y conexiones en e ellas
Escenas: aquí podemos añadi y modi ica escenas que o ma án pa e de nues-
a a en u a. Se puede añadi el ondo, zonas de in e acción, obje os y pe sonajes
( igu a 2.17) pa a da la uncionalidad que se busque en ese momen o. Podemos
isualiza las conexiones ( igu a 2.16) que engamos en e dis in as escenas.
Pe sonajes: en es a sección podemos añadi y e los pe sonajes c eados. Es as son
las en idades con las que podemos con e sa den o del juego pudiendo ene cua o
o ien aciones di e en es según hacia donde mi en.
Con e saciones: pe mi e c ea líneas de diálogo en e los pe sonajes y ambién pa a
el p o agonis a. Pueden se dispa adas po e en os como po ejemplo al accede a
una escena nue a.
Obje os: aquí podemos c ea y edi a los obje os con los que podemos in e ac ua
du an e la pa ida pudiendo elegi su ep esen ación en pan alla y los e en os a los
que es án asociados.
Códigos QR: pe mi e la c eación de códigos QR ( igu a 2.18) que luego se escanea-
án du an e el juego eniendo la opción de gua da los e imp imi los.
Escenas de mapa: es e ipo de escena iene la pa icula idad de que es á asociada a
una localización eal y se suele u iliza pa a hace secciones o juegos geoposiciona-
dos. El ondo de la escena siemp e se á el mapa de la zona en la que se encuen e el
usua io y en él se pueden añadi zonas especiales ( igu a 2.19) que desa en e en os
al en a en ellas y coloca obje os y pe sonajes en zonas del mapa.
Obje os geoposicionados: son una a ian e de los obje os pensada pa a se colocada
y u ilizada en los mapas geoposicionados. Se puede es ablece además de su aspec o,
la dis ancia a la que es isible.
22
Augmen ed eali y easu e hun s engine UCM
Figu a 2.17: Con igu ado de una escena no mal
Figu a 2.18: Con igu ado de códigos QR
23
Augmen ed eali y easu e hun s engine UCM
Figu a 2.19: Con igu ado de una escena geoposicionada
A la ho a de p og ama es as a en u as g á icas en uAd en u e se hace odo a a és
de isual sc ip ing ( igu a 2.20). Es o quie e deci que la p og amación de los compo a-
mien os del juego se ealizan a a és de secuencias de nodos que son una o ma g á ica
de manipula obje os y compo amien os en Uni y sin ene que esc ibi código desde
ce o. La lógica se cons uye conec ando nodos en e sí, lo que pe mi e que pe sonas no
amilia izadas con la p og amación puedan c ea juegos y sis emas in e ac i os de una
mane a sencilla. Es a he amien a ya incluye compo amien os ya p ede inidos pa a ac-
ciones comunes como el inc emen o de a iables, na egación en e escenas, ac i ación de
obje os, bo ado de obje os, e c.
Figu a 2.20: Visual sc ip ing en uAd en u e
24
Augmen ed eali y easu e hun s engine UCM
uAd en u e al se un mo o que es á muy pensado pa a la c eación de juegos se ios iene
un sis ema de eleme ía. Un sis ema de eleme ía se enca ga de la ecolección de da os
du an e las sesiones de juego de los usua ios, pe mi iendo gua da los de o ma local o en
un se ido , y el o ma o de la in o mación puede se en o ma o CSV o XAPI. Es o es
muy ú il ya que pe mi e e alua que al unciona el juego y cuál ha sido el desempeño de
los jugado es en unción de los alo es ecogidos.
25
Capí ulo 3
He amien as
En es e capí ulo amos a conoce algunas de las he amien as que hemos u ilizado pa a
desa olla es e TFG. Comenza emos hablando de qué ipo es la he amien a, sus o ígenes,
como unciona in e namen e y las ca ac e ís icas que nos han hecho decan a nos po ellas
sob e o as al e na i as. Como el p oyec o cons a de dos pa es bien di e enciadas, la
aplicación web y el ejecu o de las búsquedas del eso o, ha emos uso de he amien as
di e en es pa a cada una de las pa es.
3.1. Uni y
Uni y1es una pla a o ma de desa ollo de ideojuegos la cual combina mo o g á ico,
mo o ísico, mo o de audio, sis emas de inpu , un edi o con el que pode c ea los juegos
y la capacidad pa a gene a e siones pa a dis in as pla a o mas. Exis e g an can idad
de in o mación y documen ación pa a el desa ollo de ideojuegos y además una ienda
donde podemos accede a miles de ecu sos que se pueden añadi a un p oyec o pa a se
u ilizados, an o g a ui os como de pago.
Uni y su gió a aíz del ideojuego “GooBall”, desa ollado po Da id Helgason, Nicholas
F ancis y Joachim An e. Aunque no u o el éxi o espe ado, pa a ese p oyec o desa olla on
una se ie de he amien as muy ú iles a la ho a de desa olla un ideojuego, po lo que
decidie on ag upa esas he amien as c eando un mo o con el que pudiesen abaja
p og amado es, diseñado es y a is as, ya ue an es udios g andes o pequeños pa a c ea
juegos, y después pode desplega lo en di e en es pla a o mas.
Uni y ue p esen ado en la Wo ldWide De elope s Con e ence (WWDC) de Apple en el
año 2005 siendo inicialmen e solo disponible pa a MacOS pe o iempo después apa ece ía
ambién en la pla a o ma Mic oso Windows. O iginalmen e el modelo de negocio que
seguía Uni y e a con e siones de pago, la e sión Indie y la P o. En e ambas e siones
no solo exis ía una sus ancial di e encia en p ecio (300 dóla es la Indie y 1500 dóla es la
P o) sino ambién con espec o a la uncionalidad ya que la e sión de acceso ca ecía de
algunas unciones más a anzadas. En ese en onces, Uni y no podía compe i en igualdad
de condiciones con los mo o es de ese momen o.
1h ps://uni y.com/es
26

Augmen ed eali y easu e hun s engine UCM
En el año 2009 desapa eció la e sión Indie de pago y es a pasó a se g a ui a. A pa i de
ese momen o solo se debe de paga en caso de ebasa un umb al de bene icios gene ados
po los juegos desa ollados en la pla a o ma. Es o aumen ó eno memen e la popula idad
del mo o , el cual comenzó a se usado po nue os usua ios c eando sus p ime os juegos.
En los años siguien es, Uni y ha con inuado añadiendo uncionalidades y mejo ando las
capacidades g á icas del mo o poniéndose al ni el de los e e en es en el sec o .
3.1.1. Funcionamien o de Uni y
Uni y sigue una a qui ec u a o ien ada a componen es y po lo an o pa a desa olla
juegos u o as aplicaciones se hace uso de dos ipos de obje os, las en idades conocidas
como GameObjec s y los componen es. Las en idades son p incipalmen e con enedo es
de componen es que po de ec o ienen la in o mación sob e su posición, o ación y escala
en un componen e T ans o m.
Figu a 3.1: In e az g á ica del edi o de Uni y
Fuen e de la imagen: h ps://uni y3d.com/es/be a/2020.1b
Los componen es se enca gan de apo a la uncionalidad conc e a que que emos pa a el
p og ama. Uni y o ece componen es de odo ipo pa a la mayo ía de unciones básicas
en cualquie juego como ende iza un obje o, emi i sonidos o ealiza in e acciones
ísicas, en e o as. Pa a pode hace juegos usando es as he amien as Uni y cuen a con
un edi o con in e az g á ica ( igu a 3.1) desde donde un usua io puede i añadiendo
en idades. Es á di idido en cua o secciones po de ec o:
Je a quía: colocado en la pa e izquie da, el usua io puede e un lis ado con los
GameObjec que iene en la escena en la que nos enco amos ac ualmen e.
Viso de escena y juego: en la pes aña cen al se puede e la ep esen ación
y posición de los GameObjec de la escena. También podemos e como se e la
escena a a és de la cáma a, que es como se e ía al ejecu a el juego.
Inspec o : en la pa e de echa se puede e oda la in o mación sob e los compo-
nen es del GameObjec seleccionado y a ia sus alo es di ec amen e.
27
Augmen ed eali y easu e hun s engine UCM
Explo ado de a chi os y consola: colocado en la pa e in e io , se pe mi e e
los di ec o ios de ecu sos del p oyec o donde podemos a as a o os nue os. En
la o a pes aña podemos e la consola donde apa ecen los mensajes de e o .
Uni y ges iona po sí mismo el bucle de juego además del ciclo de ida de la aplicación,
las en idades y sus componen es. Los usua ios pueden c ea sus p opios componen es
p og amándolos en sc ip s que pueden he eda de Monobeha iou [13] haciendo que el
ciclo de ac ualización del sc ip lo lle e Uni y. Es os sc ip s los edi a emos a a és de
IDEs2como Visual S udio u o os.
Uni y pe mi e añadi a los p oyec os paque es de e ce os que pueden ayuda a la ho a
de desa olla algo o pode añadi alguna uncionalidad, po ejemplo Vu o ia.
3.1.2. Ca ga de ecu sos en Uni y
En el sec o de los ideojuegos sabemos que es muy impo an e que la ca ga de ecu sos
sea ápida y e icien e debido al g an núme o de ex u as, modelos, sonidos y o os ele-
men os que equie en los juegos ac uales. Po es e mo i o el equipo de Uni y dio mucha
impo ancia a es e aspec o.
Los ecu sos que se ayan a u iliza en un p oyec o de Uni y deben es a almacenados
den o del di ec o io Asse s. Todos los ecu sos que es án bajo el con ol de Uni y con-
a án con a chi os con ex ensión me a. Es os a chi os ienen como unción almacena
la con igu ación de impo ación del a chi o al que es á asociado en el p oyec o y o as
unciones.
Uni y ambién nos pe mi e ca ga de o ma dinámica a chi os haciendo uso del di ec o io
Resou ces y su API3especí ica. Los ecu sos que se encuen an den o del di ec o io
Resou ces o ma án pa e de la aplicación inal independien emen e de si es án siendo
e e enciados po alguna de las escenas que la con o man, po lo que es ecomendable no
deja ecu sos no empleados en ese di ec o io.
3.2. Vu o ia
Vu o ia4es un ki de desa ollo de so wa e (SDK) pensado pa a la c eación de aplicacio-
nes de Realidad Aumen ada. Su uncionamien o es á basado en una ecnología de isión
compu acional con la que puede econoce y segui imágenes planas o idimensionales
conocidas como a ge s. Sob e esos obje i os que ha econocido podemos p oyec a ele-
men os i uales usando un mo o g á ico[10], po ejemplo el de Uni y, pa a simula que
exis en ealmen e. Vu o ia ue c eado o iginalmen e po Qualcomm pe o pos e io men e
ue endido en el año 2015 a PTC la cual ha seguido desa ollando el so wa e y añadiendo
nue as uncionalidades.
Vu o ia iene muy buena in eg ación con Uni y y es una he amien a g a ui a siemp e que
se use con ines no come ciales como es el caso del p oyec o. Es a he amien a pe mi e
2Sis ema so wa e pa a el diseño de aplicaciones que combina he amien as comunes pa a desa olla-
do es en una sola in e az de usua io g á ica (GUI).
3Uni y Resou ces: h ps://docs.uni y3d.com/Sc ip Re e ence/Resou ces.h ml
4Po al de Vu o ia: h ps://de elope . u o ia.com/
28
Augmen ed eali y easu e hun s engine UCM
la c eación de a ge s de o ma au omá ica sin necesidad de usa el con igu ado de su
p opia página, eliminando pasos a ealiza .
En Vu o ia encon amos es elemen os p incipales pa a el uncionamien o del econoci-
mien o de imágenes:
Ta ge : es el elemen o ísico que se a buscando a a és de lo que e la cáma a.
Puede se una imagen plana, un obje o o una supe icie.
T acke : es el enca gado de analiza y p ocesa lo cap ado po la cáma a buscando
coincidencias con los da os del a ge que es amos usando.
Da abase: es donde se gua dan los da os que iden i ican a los a ge que se es én
usando a la ez.
También nos o ece g an a iedad de ipos de a ge s que se pod ían llega a in eg a en
nues as a en u as ales como: Image Ta ge , Cilinde Ta ge , Cuboid Ta ge y Su ace
Ta ge .
3.2.1. Funcionamien o de Vu o ia Engine
Aho a amos a e cómo unciona in e namen e la lib e ía de Vu o ia pa a pode iden i-
ica y as ea los a ge s haciendo uso de la cáma a del disposi i o. Pa a ello du an e la
ejecución ( igu a 3.2), el disposi i o cap a ídeo a a és de la cáma a y de es e la SDK
de Vu o ia selecciona un o og ama. Es a imagen es ans o mada a una esolución más
educida pa a mejo a la elocidad de p ocesamien o y pode se co ec amen e a ada
po el T acke . Vu o ia analiza la imagen y busca coincidencias en la base de da os, la cual
es á compues a po “ a ge s”. Si consigue encon a coincidencias manda á a Uni y en-
de iza en pan alla los elemen os que es e obje i o u iese asociados, al e ando posición
y o ación según cambie la posición del a ge de ec ado.
3.2.2. Cla es de Vu o ia
Las aplicaciones de Vu o ia necesi an de una cla e pa a pode accede a las cualidades
del mo o . Dichas cla es se consiguen a pa i de las licencias que se mues an a con i-
nuación:
Licencia básica.
Licencia básica + sopo e en la nube.
Licencia p o.
Pa a consegui una se debe i a la página o icial de Vu o ia, c ea una cuen a nue a e i
al adminis ado de licencias pa a ob ene cualquie a de las mencionadas p e iamen e.
Al hace es o, se le pedi á al usua io que inse e un nomb e pa a gene a una nue a cla e
a pa i de dicha licencia. T as habe lo asignado, la cla e se mos a á disponible en el
adminis ado de licencias5de la cuen a del usua io.
5h ps://de elope . u o ia.com/ ui/de elop/licenses
29
Augmen ed eali y easu e hun s engine UCM
Figu a 3.2: P ocesamien o de una imagen en la SDK de Vu o ia
Fuen e de la imagen: h ps://www.sci p.o g/h ml/1-9301927_48585.h m
3.3. Reac
Reac 6es una lib e ía de código abie o pa a el lenguaje de p og amación web Ja aSc ip .
Fue concebida con el obje i o de acili a la c eación de aplicaciones en una única página
(Single Page Applica ion) las cuales imos en la sección 2.2.2. La lib e ía se enca ga
de la pa e isual de la página y se suele usa con aplicaciones cuyos da os cambian
cons an emen e.
Fue c eado po Jo dan Walke, ingenie o de so wa e en Facebook, bajo el nomb e de
FaxJS en el año 2011. Ese mismo año se comenzó usa en Facebook y al año siguien e
en Ins ag am. En el 2013 pasó a se de código abie o y en 2015, con la llegada de
Reac Na i e, pe mi i ía desa olla de o ma na i a en And oid, IOS, Uni e sal Windows
Pla o m. Elegimos usa Reac como lib e ía pa a c ea nues a aplicación web debido a
que es á especializada en SPAs y jus o ese es el en oque que que íamos da a la página
web con el obje i o de se simple y ápida.
3.3.1. Funcionamien o de Reac
Reac es á cons uido en o no a hace unciones, que oman las ac ualizaciones de es ado
de la página y que se aducen en una ep esen ación i ual de la página. Siemp e
que Reac es in o mado de un cambio de es ado, uel e a ejecu a esas unciones pa a
de e mina una nue a ep esen ación i ual de la página y, a con inuación, se aduce
au omá icamen e ese esul ado en los cambios del DOM7necesa ios pa a e leja como
6h ps://es. eac js.o g/
7Documen Objec Model: in e az de p og amación pa a los documen os HTML y XML
30
Augmen ed eali y easu e hun s engine UCM
o a que hizo an e io men e, debe de cons ui las desde ce o, lo cual es un incon enien e
impo an e cuando se a a de a en u as g andes.
Pa a soluciona es o, la aplicación web pe mi e almacena a en u as “en la nube”. Los
usua ios ienen la posibilidad de gua da la con igu ación de sus a en u as en el se i-
do que sos iene la aplicación web. Es as con igu aciones engloban elemen os como: el
nomb e de la a en u a, las ases que la cons i uyen y una desc ipción de lo que a a la
a en u a.
Adicionalmen e, es a he amien a pe mi e gua da aplicaciones hechas po los usua ios
con el obje i o de que si un usua io quie e di ec amen e juga una en u a almacenada, no
engan que gene a la a pa i de su con igu ación. Al igual que con dichas con igu aciones,
es as aplicaciones ambién son almacenadas jun o a una desc ipción sob e la misma dada
po su au o .
4.3. Ejecución de las a en u as
Po su pa e, pa a la ejecución en el mó il se ha decidido usa Uni y. Como se ha con ado,
Uni y es un mo o gene alis a pa a ealiza juegos. Lo que se ha hecho es c ea un “juego
sin e mina ” en el que le al an los da os eales de la yincana que se ejecu a á. Esos ienen
de la he amien a de au o ía. Cuando alguien hace una a en u a, lo que es á ealmen e
haciendo sin en e a se es c ea los ecu sos que le al an al “juego sin e mina ” y pa a
consegui la aplicación inal lo que se hace es jun a las dos pa es y pedi a Uni y que
haga la build inal.
4.4. Da os que cons i uyen una a en u a
Es os da os que gene a el usua io engloban: el nomb e de la a en u a, su cla e de Vu o ia
pa a accede a las cualidades del mo o de AR y las ases de las que se compone dicha
a en u a. La mane a en la que se almacena odo es o es median e un JSON. Sin emba go,
hay algunos ipos de ases que hacen uso de imágenes o iche os de audio. Po lo que, en
conjun o, los da os que con igu an la a en u a de un usua io es án ep esen ados po un
JSON y los iche os adicionales que se e e encien en el mismo.
4.5. Ciclo de gene ación de una a en u a
Habiendo mos ado los elemen os que cons i uyen es e p oyec o y los da os que ep esen-
an las a en u as del usua io, el esquema que se debe de segui pa a gene a una a en u a
es el que se mues a en la igu a4.1
37

Augmen ed eali y easu e hun s engine UCM
Figu a 4.1: Ciclo gene al de la gene ación de una a en u a
Pa a c ea su p opia a en u a, el au o ab i á la aplicación de au o ía, donde inse a á
da os como el í ulo de es a y su cla e de Vu o ia. A pa i de en onces, selecciona á las
ases que desea inclui y ellena á los o mula ios de cada una de es as. En el momen o
en el que es é sa is echo con su esul ado, pod á ma e ializa su a en u a, lo que le
o o ga á un p oyec o de Uni y que le pe mi i á gene a una aplicación que ep esen a á
su a en u a.
38
Capí ulo 5
He amien a de au o ía de
yincanas
Pa a consegui es a he amien a se necesi a una aplicación web que, como se io en la
Sección 4.2, es a aplicación es a á compues o de un on end, que es lo que ejecu a el na e-
gado , y el backend que p opo ciona se icios al on end. Pa a mejo a la in e ac i idad,
usamos una SPA.
El backend p opo ciona se icios de almacenamien o. En pa icula , man iene los da os
de las yincanas c eadas, de o ma que es posible eab i las y con inua su edición. Po
o o lado, man iene las aplicaciones pa a mó il gene adas a pa i de esas con igu aciones
de yincanas pa a que los usua ios puedan desca gá selas e ins ala las en sus mó iles pa a
juga las.
Pa a ap ende a u iliza es a he amien a se puede consul a el manual de uso en el
Apéndice A.
5.1. F on end
El módulo de on end ep esen a la página web que el usua io e. Es a pa e es á desa-
ollada con Reac . A con inuación se discu en las di e en es decisiones de diseño omadas
en es a pa e del p oyec o.
5.1.1. Flujo de la aplicación
La aplicación web p esen a una se ie de pan allas po las que le usua io puede pasa pa a
con igu a sus a en u as, un esquema del lujo de la aplicación que segui ía un usua io
se ía el que se mues a en la siguien e igu a:
39
Augmen ed eali y easu e hun s engine UCM
Figu a 5.1: Flujo de aplicación
40
Augmen ed eali y easu e hun s engine UCM
5.1.2. Es uc u a de los componen es de la WEB
Den o de las dos al e na i as que o ece Reac a la ho a de c ea componen es mencio-
nadas en la Subsección 3.3.2. Nues a decisión ha sido ealiza nues os componen es a
modo de componen es uncionales. Es o es debido a que su es uc u a es más sencilla de
esc ibi , además de que como ambien se ha is o en la Subsección 3.3.2, median e los
Hooks de Reac es posible ob ene uncionalidades como es ado in e no y ciclo de ida.
Po lo que é amos capaces de ob ene los mismos esul ados que u ilizando componen es
a modo de clases.
5.1.3. Es ado in e no
Pa a almacena los di e en es alo es elacionados con las a en u as que con igu a el
usua io, hacemos uso de los es ados de cada uno de los componen es del p oyec o.
El p oblema apa ece con el hecho de que, en la página web exis en múl iples componen-
es, cada uno especializándose en una sección conc e a de las a en u as, y ene oda su
in o mación despe digada po múl iples componen es no es buena idea a la ho a de eco-
pila la o accede a ella. Po lo que la solución a es o es, oma el es ado del componen e
p incipal de la aplicación (aquel que con iene a los demás) y dá selo al es o a la ho a de
ins ancia los. El obje i o de es o es que cada componen e enga su es ado p opio, en el
que almacene la in o mación que solo le in e esa a dicho componen e, pe o que el es o
de cosas que sean ele an es pa a la c eación de la a en u a se almacenen en el es ado
del componen e pad e, el cual de es a o ma pasa a se una especie de “es ado global”.
Lo que nos pe mi e es o es que, en caso de que sea necesa io consul a algún da o sob e
la a en u a, bas a con i al es ado del componen e pad e. Es a solución pe mi e ambién
la comunicación en e componen es que no es án elacionados en e sí, u ilizando pa es
cla e- alo auxilia es en el es ado global pa a in e cambia in o mación.
El es ado in e no cuen a con una es uc u a como la que se mues a en la igu a 5.2. En
él, apa e de almacena se in o mación gene al de la a en u a mencionada en la Sección 4.4
se almacenan los siguien es elemen os:
Una sección que ep esen a la ase que se es é con igu ando en cada momen o jun o
con in o mación adicional que pe mi e sabe si es á comple a o al an campos po
ellena .
Una a iable de con ol que pe mi e sabe si se p e ende c ea una ase nue a o
hace modi icaciones sob e una ya exis en e.
Un índice que ep esen a la posición en la que que emos que se añada la p óxima
ase que con igu emos den o la a en u a.
41
Augmen ed eali y easu e hun s engine UCM
Figu a 5.2: Es uc u a del es ado global y es ados locales en Reac
5.1.4. Ins anciación de los componen es
Como ya se ha mencionado, la idea es ene un componen e que uncione como pad e, y
que sob e es e se ins ancien el es o. Es e p oyec o iene como pila p incipal el componen-
e “App” el cual es el componen e que iene po de ec o cuando se c ea un nue o p oyec o
de Reac . En él, se an a i añadiendo los dis in os elemen os que den uncionalidad a la
página. Dicha es uc u a se mues a en la igu a 5.3.
Figu a 5.3: Esquema de ins anciación de los componen es Reac
En es e caso, el componen e que se ins ancia en App es “S eps”, el cual unciona como un
con enedo de los componen es que ep esen an los di e en es o mula ios que pe mi en
con igu a una a en u a. Cada uno de es os o mula ios iene como p opósi o con igu a
algún elemen o elacionado con es a.
42

Augmen ed eali y easu e hun s engine UCM
5.1.5. Es uc u a de los componen es
A con inuación se explica un poco más en de alle el es o de componen es que o man el
on end y pe mi en con igu a las a en u as del usua io:
Componen e S eps
Es e componen e unciona a modo de con enedo de los di e en es o mula ios que si en
pa a con igu a las a en u as, sin emba go, solo mues a uno de es os en cada momen o.
Su ep esen ación isual se mues a en la igu a 5.4:
Figu a 5.4: Elemen os isuales del componen e S eps
El es ado in e no de es e componen e cons a únicamen e de un índice que iene el p opósi-
o de indica cuál de odos los componen es que con iene es el que debe de mos a .
Componen e de esumen de la a en u a
Es el componen e que “S eps” mues a po de ec o, el obje i o de es e es mos a al usua-
io el es ado de la a en u a que es á con igu ando en cada momen o. Su ep esen ación
isual es la que se mues a en la igu a 5.5:
43
Augmen ed eali y easu e hun s engine UCM
Figu a 5.5: Componen e de esumen de la a en u a
Es e componen e ca ece de alo es en su es ado in e no debido a que odos los da os
que mues a en pan alla los ob iene o modi ica di ec amen e del es ado global de la
aplicación.
Componen e de ca a de ase
Es e componen e ep esen a las ca as que se u ilizan en la pan alla de esumen pa a
ep esen a las di e en es ases que iene la a en u a. Su ep esen ación isual es la que
se mues a en la igu a 5.5. El es ado in e no de es as ca as se compone de los siguien es
elemen os:
Un obje o con oda la in o mación de la ase a la que ep esen a.
Un índice con la posición de dicha ase den o de la a en u a.
Componen e de ca ga de a en u as
Es e componen e iene como obje i o da in o mación sob e las a en u as disponibles en
el se ido . Su ep esen ación isual es la que se mues a en la igu a 5.6
44
Augmen ed eali y easu e hun s engine UCM
Figu a 5.6: Componen e de ca ga de a en u as
Es e componen e almacena en su es ado in e no los siguien es elemen os:
Una lis a con los nomb es de las con igu aciones de a en u as disponibles pa a
ca ga .
Una lis a con las desc ipciones de dichas con igu aciones.
Una lis a con las aplicaciones disponibles pa a desca ga .
Una lis a con las desc ipciones de dichas aplicaciones.
Un iche o pa a gua da la posible aplicación que el usua io quie a manda al se -
ido pa a su almacenamien o.
Una cadena de ex o pa a almacena la desc ipción de dicha aplicación.
Componen e de ca as a en u as
Es e componen e es u ilizado pa a ep esen a an o las di e en es con igu aciones como
las aplicaciones que se encuen an almacenadas en el se ido y es án disponibles de ca a
al usua io. El es ado in e no de es e componen e es á o mado únicamen e po un índice
que si e pa a iden i ica la con igu ación o la aplicación que ep esen a. Su ep esen ación
isual se puede e en la igu a 5.6.
Componen e Quiz
Es e componen e ep esen a el o mula io que es necesa io ellena pa a pode inclui ases
de ipo Quiz en una a en u a. La ep esen ación g á ica de dicho o mula io se mues a
en la igu a 5.7.
45
Augmen ed eali y easu e hun s engine UCM
Figu a 5.7: Fo mula io ase Quiz
El es ado de es e componen e es á compues o po una cadena de ex o que ep esen a
la p egun a del quiz y una lis a de obje os que ep esen an las dis in as espues as del
mismo. Es as espues as es án compues as po dos elemen os, una cadena de ex o que
ep esen a la espues a en sí, y un booleano que indica si es co ec a o no.
Componen e QR
Es a ase ep esen a el o mula io que es necesa io ellena pa a pode inclui ases de
ipo QR en una a en u a. La ep esen ación g á ica del o mula io se mues a en la igu a
5.8.
Figu a 5.8: Fo mula io ase de QR
46
Augmen ed eali y easu e hun s engine UCM
5.2.2. Se icios del backend
El backend es á p epa ado pa a ecibi una se ie de pe iciones po pa e del clien e ha-
ciendo uso del amewo k Exp ess[2]2. Po medio de pe iciones POST, el backend ecibi á
ecu sos e in o mación necesa ia pa a con igu a una a en u a. Dichos ecu sos se án al-
macenados en el se ido haciendo uso de un middlewa e de Exp ess llamado Mul e [14].
Po o o lado, el clien e ha á uso de pe iciones GET, cuando quie a ecibi algo del se i-
do , como puede se la p opia página es á ica pa a con igu a la a en u a o los da os de
con igu ación de una a en u a alojada en el se ido . A con inuación amos a di e encia
los di e en es endpoin s de los que dispone el backend.
1. Endpoin s pa a ecibi iche os: El backend dispone de una se ie de endpoin s
que le pe mi en ecibi los di e en es a chi os con igu ados po el usua io en el
on end:
h p:// g.u bana .o g//image-upload(POST): ep esen a la di ección
a la que se en ían las imagenes elacionadas con las ases de ipo imagen.
h p:// g.u bana .o g/package-upload(POST): ep esen a la di ección
a la que se en ían las imagenes elacionadas con las ases de ipo AR que an
a se escaneadas.
h p:// g.u bana .o g/o e lapping-upload(POST): ep esen a la di ec-
ción a la que se en ían las imagenes elacionadas con las ases de ipo AR que
se an a supe pone sob e o as.
h p:// g.u bana .o g/sound-upload(POST): ep esen a la di ección a
la que se en ían los a chi os de audio elacionados con las ases de ipo sonido.
h p:// g.u bana .o g/apk-upload(POST): ep esen a la di ección a la
que se en ían las aplicaciones ealizadas po los usua ios pa a su almacena-
mien o en el se ido .
2. Endpoin s pa a gene a una a en u a: es os endpoin s se u ilizan pa a la ge-
ne ación del p oyec o de Uni y que le pe mi i á al usua io gene a su a en u a.
h p:// g.u bana .o g/ ese (GET): Tiene como obje i o p epa a los di-
ec o ios u ilizados pa a la gene ación de a en u as. Es o implica elimina
cualquie a chi o esidual que se pudie a habe quedado de una a en u a con-
igu ada an e io men e.
h p:// g.u bana .o g/gua dame-json(POST): Tiene como obje i o man-
da le al se ido un JSON con oda la in o mación que cons i uye una a en-
u a.
h p:// g.u bana .o g/gene a e-zip(GET): Tiene como obje i o ecopi-
la oda la in o mación elacionada con la a en u a en iada po el on end y
de ol e un a chi o comp imido con el p oyec o de Uni y que pe mi a gene a
la a en u a en cues ión.
3. Endpoin s pa a gua da a en u as: es as di ecciones se u ilizan pa a almacena
nue as con igu aciones de a en u as o aplicaciones en el se ido :
2h ps://exp essjs.com/es/
53

Augmen ed eali y easu e hun s engine UCM
h p:// g.u bana .o g/gua dame-a en u a(POST): ecibe una desc ip-
ción y iene como obje i o oma odos los iche os de la a en u a que se le
hayan mandado p e iamen e (imágenes, sonidos...), pa a c ea un nue o di ec-
o io den o del se ido en el que se almacene dicha a en u a. La es uc u a
de dicho di ec o io es la que se mues a en la igu a 5.17.
Figu a 5.17: Es uc u a de almacenamien o de con igu aciones de a en u as en el se ido
h p:// g.u bana .o g/gua dame-APK(POST): ecibe una desc ipción
y iene como obje i o oma la aplicación que p e iamen e el usua io ha man-
dado y ag upa la con dicha desc ipción en un nue o di ec o io que enga la
es uc u a que se mues a en la igu a 5.18.
Figu a 5.18: Es uc u a de almacenamien o de aplicaciones en el se ido
4. Endpoin s pa a ob ene a en u as almacenadas en el se ido : den o de
es a sección se engloban los endpoin s u ilizados pa a ob ene an o las con igu a-
ciones de a en u as como las aplicaciones que o os usua ios hayan gua dado en el
se ido p e iamen e:
h p:// g.u bana .o g/a en u as-gua dadas(GET): Tiene como obje-
i o de ol e una lis a con odas las con igu aciones de a en u as que se en-
cuen en disponibles en el se ido .
h p:// g.u bana .o g/dame-a en u a(POST): Recibe el nomb e de una
a en u a y iene como obje i o busca el JSON que con iene su es uc u a
den o de las con igu aciones alamacenadas en el se ido y de ol e lo como
espues a.
h p:// g.u bana .o g/ge File(GET): Recibe el nomb e de un iche o y
el nomb e de la a en u a a la que pe enece, iene como obje i o busca dicho
54
Augmen ed eali y easu e hun s engine UCM
iche o den o de los que componen la a en u a mencionada y de ol e lo como
espues a.
h p:// g.u bana .o g/aplicacionesLis as-gua dadas(GET): Tiene co-
mo obje i o de ol e una lis a con odas las aplicaciones almacenadas en el
se ido .
h p:// g.u bana .o g/ge APK(GET): Recibe el nomb e de una aplica-
ción, iene el obje i o de busca dicha aplicación en e las que se encuen an
almacenadas y de ol e la como espues a.
5.2.3. Comunicaciones F on -End/Back-End
T as habe is o la mane a en la que se pueden comunica los dos módulos de la aplicación
web. Es p eciso analiza las si uaciones en las que es as comunicaciones ienen luga .
Dichas si uaciones se p oducen en los siguien es escena ios.
Comunicaciones al gene a una a en u a
Es as comunicaciones se ealizan en el momen o en el que el usua io es á sa is echo con
la a en u a que ha con igu ado, ha cumplido odos los equisi os necesa ios pa a pode
gene a la y p esiona el bo ón de “Gene a A en u a”. A pa i de en onces los pasos que
se siguen se mues an en la igu a 5.19:
Figu a 5.19: Pe iciones al gene a una a en u a
P ime o se le a isa al backend de que se a a gene a una nue a a en u a, el siguien e
paso es manda le uno po uno los iche os elacionados con las ases que la con o man,
como imágenes y los iche os de audio. Pos e io men e se en ía el JSON con la es uc u a
de la misma y inalmen e se manda una pe ición pa a que se gene e el p oyec o con odos
los da os en iados que pe mi a gene a la a en u a con igu ada po el usua io.
55
Augmen ed eali y easu e hun s engine UCM
Comunicaciones al gua da una a en u a
Al igual que al gene a una a en u a, se llega a si uación cuando el usua io es á sa is echo
con la que ha con igu ado y p esiona el bo ón de ”gua da a en u a”. Los pasos que se
siguen son los mismos que a la ho a de gene a una a en u a, a excepción del úl imo,
donde en luga de ecopila odos los da os en un p oyec o de Uni y se mue en a o o
di ec o io del se ido pa a su almacenamien o. El p oceso que se sigue es el que se
mues a en el esquema de la igu a 5.20:
Figu a 5.20: Pe iciones al gua da una a en u a
5.2.4. Comunicaciones al gua da una aplicación
Se llega a es a si uación en el momen o en el que el usua io se encuen a en la pan alla
de ca ga de a en u as, ha subido una aplicación al on end y as p esiona el bo ón
de ”gua da ”ha dado una desc ipción sob e la misma. En caso de exis i una a en u a
con el mismo nomb e en el se ido , se le a isa al jugado de que en caso de gua da se
elimina á la ya exis en e. Si el jugado desea gua da la a en u a en el se ido , los pasos
que se siguen se mues an en la igu a 5.21.
Figu a 5.21: Pe iciones al gua da una aplicación
P ime o se en ía la aplicación del jugado , una ez hecho es o se manda o a pe ición
56
Augmen ed eali y easu e hun s engine UCM
con la desc ipción de la misma pa a ag upa las y almacena las en el di ec o io que co-
esponda.
Comunicaciones pa a ob ene las a en u as almacenadas en el se ido
Es as comunicaciones ocu en en la pan alla de ca ga de a en u as, donde al en a en
es a, se mandan pe iciones pa a p egun a po las con igu aciones y las aplicaciones que
puede ob ene el usua io. Los pasos que se ealizan en es a si uación se en en la igu a
5.22.
Figu a 5.22: Pe iciones pa a ob ene las a en u as disponibles en el se ido
En caso de que e ob ene una aplicación se manda únicamen e una pe ición con el nomb e
de dicha a en u a y se ob iene la misma como espues a. Los pasos que se siguen en es a
si uación se en en la igu a 5.23.
Figu a 5.23: Pe iciones al desca ga una aplicación almacenada en el se ido
En caso de que el usua io quie a ca ga la con igu ación de una a en u a los pasos que
se siguen son los que se mues an en la igu a 5.24.
57
Augmen ed eali y easu e hun s engine UCM
Figu a 5.24: Pe iciones al ca ga una con igu ación almacenada en el se ido
P ime o se manda una pe ición pa a ob ene el JSON de dicha a en u a, luego se analizan
las ases que es a con iene en busca de aquellas que equie an de a chi os adicionales,
como las de ipo imagen. Po cada una de es as ases se mandan pe iciones pa a ob ene
los a chi os que es as u ilicen.
58

Capí ulo 6
Mo o de ejecución de yincanas
Du an e el desa ollo se u ilizó la e sión 2020.3.13 1[17] de Uni y pa a ap o echa las
en ajas de se una LTS1.
T as habe is o en p o undidad el uncionamien o de la aplicación web desa ollada pa a
con igu a nues as búsquedas del eso o, amos a de alla dónde deben almacena se los
dis in os ecu sos necesa ios pa a las a en u as, el uncionamien o de nues o ejecu o en
Uni y y como ha sido implemen ado.
Como se menciona en el apa ado an e io , la a en u a iene de inida en un iche o JSON,
que en nues o ejecu o de búsquedas del eso o se denomina “Ad en u eDa a.json”. Es á
compues o po el nomb e de la a en u a, la cla e de Vu o ia del usua io y un lis ado con
la con igu ación de las ases de las que a a cons a la búsqueda del eso o.
Dicho a chi o se á pos e io men e p ocesado po nues o mo o pa a gene a las ases que
con o men nues a a en u a jun o con el es o de a chi os adicionales que equie an las
ases de sonido, imagen y ealidad aumen ada. Dichos ecu sos adicionales se encon a án
almacenados den o de la ca pe a “Resou ces” en los siguien es di ec o ios:
Ad en u eImages: di ec o io en el que se encuen an almacenadas las imágenes
empleadas en la ase de imagen.
Ad en u eSounds: di ec o io en el que se encuen an almacenadas los audios
empleados en la ase de sonido.
O e lappingImages: di ec o io en el que se encuen an almacenadas las imágenes
que se deben supe pone sob e los a ge s en la ase de ealidad aumen ada.
Cabe des aca ambién la ubicación en el p oyec o de las imágenes que u iliza emos
como a ge s pa a la ase de ealidad aumen ada. Dichas imágenes se encuen an en
el di ec o io “/S eamingAsse s/Vu o ia” pa a que Vu o ia sea capaz de gene a los
a ge s en iempo de ejecución y sin necesidad de pasa po la página web pa a egis a los
den o de una base de da os. Los a chi os almacenados en S eamingAsse s2no se llegan
a p ocesa si no que se empaque an en la APK y al ab i se la aplicación po p ime a ez
se uelcan en un subdi ec o io den o del di ec o io de la aplicación.
1Ve sión de un so wa e que ecibi á man enimien o y pa ches a la go plazo.
2h ps://docs.uni y3d.com/Manual/S eamingAsse s.h ml
59
Augmen ed eali y easu e hun s engine UCM
Pa a que el desa ollo de las dis in as ases sea modula , se emplea una escena po cada
ipo de ase con igu able desde la aplicación web. De es a o ma se puede abaja de
o ma independien e en cada una de ellas y es ex ensible a la ho a de añadi ases nue as.
Como se de alla á más adelan e, se hace uso de ca ga adi i a de escenas, po lo que
con i en al mismo iempo los obje os que componen cada una de las escenas que es én
ca gadas.
Con amos además con es escenas p opias del mo o que no es án asociadas a ninguna
ase con igu able:
Una escena Logic, la cual es la p ime a en ejecu a se en el ciclo de ida de la
aplicación. En la escena Logic se encuen an odos los elemen os que son comunes
al es o de escenas: GameManage , el can as con el bo ón pa a pasa de ni el y las
cáma as an o de ealidad aumen ada como la cáma a po de ec o de Uni y. Como
empleamos ca ga adi i a, no es necesa io que ninguna de las escenas de las ases
engas es os los elemen os ya exis en en es a escena base.
Una escena S a en la que se mues a el nomb e designado po el usua io a la
búsqueda del eso o.
Una escena End en la que se mues a el logo de la Uni e sidad Complu ense de
Mad id con el po cen aje de ases supe adas.
T as es a in oducción sob e la es uc u a in e na del p oyec o y su di isión en escenas,
amos a de alla en p o undidad el uncionamien o del mo o haciendo un eco ido po
los componen es que han sido desa ollados.
6.0.1. GameManage
GameManage es la clase p incipal que con ola la adminis ación de la in o mación de
la a en u a ob enida del JSON, la ca ga de ecu sos y el cambio de escenas. Dicha clase
ha sido implemen ada siguiendo el pa ón Single on como se explica en el lib o Design
Pa e ns: Elemen s o Reusable Objec -O ien ed So wa e[8].
A pesa de que las escenas po las que podemos pasa po la a en u a son ela i amen e
lige as (p incipalmen e debido a que casi odos los elemen os p esen es son de la in e az),
con el obje i o de educi al mínimo la espe a al pasa de una ase a o a, el GameManage
hace uso de la ca ga adi i a de escenas. Una ez ha leído el JSON que compone la
a en u a, pone a p eca ga odas las escenas que es én in oluc adas, pe o no las ca gan
comple amen e, las deja a un ochen a po cien o pa a comple a el es an e una ez que
ayamos a pasa a dicha escena. En el momen o en el que una ase se ha comple ado
el GameManage es no i icado de es o y an es de pasa a la siguien e ase comp ueba
si quedan más ases de es e ipo. Si no uel e a apa ece se desca ga esa escena. La
excepción a es a no ma son las escenas de ealidad aumen ada y de escaneo de QR ya
que son conside adas como “pesadas” debido a que al necesi a accede a la cáma a,
consumen más ecu sos que las o as. La p eca ga de las escenas pesadas comienza una
ase an es de llega a ellas y su desca ga se ealiza au omá icamen e al comple a las
aunque uel an a apa ece en la a en u a, con la excepción de que la siguien e ase sea
idén ica a la que se acaba de ejecu a .
GameManage ambién se enca ga de la ges ión de las dis in as cáma as con las que
cuen a el p oyec o. Con amos con una cáma a de ealidad aumen ada que se emplea en
60
Augmen ed eali y easu e hun s engine UCM
las ases de escaneo de QR y de de ección de a ge s, mien as que en el es o de ases
se emplea la cáma a con los componen es po de ec o que p opo ciona Uni y. Cuando
se ealiza un cambio de ase, GameManage comp ueba cual es el ipo de ase a la que
amos a pasa y se enca ga de deja ac i a la cáma a co espondien e pa a que no haya
con lic os en e ambas.
6.0.2. Mas e Objec
Es e componen e es á asociado en cada una de las escenas de la a en u a a un obje o que
es ep esen ado como el pad e del es o de obje os que la componen. Su unción es ac i a
o desac i a los obje os de la escena dependiendo de si la ase en la que se encuen a es
la siguien e a ejecu a en la a en u a o no. Pa a ob ene la in o mación de si es e obje o
debe ac i a /desac i a al es o, se ha hecho uso del pa ón lis ene en el que es a clase,
al inicializa se, se egis a como lis ene del GameManage pasando a es a den o del
g upo de lis ene s de es e. Dichos lis ene s an a se no i icados en el momen o en el que
se pase de una ase a o a, y en dicha no i icación se les a a in o ma de la ase que
oca en la a en u a. De es a o ma, si el Mas e Objec es in o mado de que oca una ase
dis in a a la suya, desac i a odos los obje os que con iene.
6.0.3. Ad en u eIn o
Clase pad e que ep esen a la in o mación mínima que ienen que con ene las ases de
la a en u a. Cuen a con los siguien es a ibu os: el nomb e de la ase y la pis a asociada
a la misma. También decla a un mé odo pa a ellena dichas a iables con in o mación
ob enida del JSON que de ine la a en u a. Debido a que la in o mación de cada ase iene
una es uc u a y a ibu os di e en es, cada ase que he eda de Ad en u eIn o añade sus
a ibu os p opios pa a su co ec a de inición y ede ine el mé odo pa a asigna dichos
a ibu os. Es al p incipio de la ejecución, a la ho a de lee el JSON, cuando se ins ancian
es os obje os los cuales gua dan la in o mación que lle a cada ase pa a después se dada
al componen e que ejecu a la ase, los “S age’’.
6.0.4. S age
Clase abs ac a de la cual he edan el es o de ases pa a pode hace uso del polimo ismo
y la cual do a de la uncionalidad a la ase. Cuen a con dos mé odos abs ac os, Ini y
OnS ageEnd, que se án ede inidos en las clases hijas según la uncionalidad que equie a
cada ipo de ase en el momen o de comenza y inaliza la ase espec i amen e. El
mé odo Ini ecibe po pa áme o un obje o que he eda de Ad en u eIn o y que como se
ha is o almacena los da os de esa ase los cuales se usa án pa a con igu a la escena. Las
clases hijas end án o os mé odos que se enca ga án de da la uncionalidad p opia de
cada ase.
61
Augmen ed eali y easu e hun s engine UCM
6.1. Implemen ación de las ases
A con inuación, se desc ibi á qué in o mación se u iliza pa a cada ase disponible y cómo
unciona in e namen e de cada una de ellas.
6.1.1. Fase Quiz
La ase Quiz consis e en una escena de cues iona io donde se nos p esen a una p egun-
a, un lis ado de espues as posibles ( igu a 6.1a) que podemos selecciona y un bo ón
pa a con i ma nues a selección. La p egun a puede ene una o a ias espues as co-
ec as posibles. Pa a pasa a la siguien e ase debe emos de esponde a la p egun a
co ec amen e. Es a escena es a á con olada po la clase “QuizS age”.
Du an e la inicialización de la a en u a
La clase que ep esen a la in o mación con enida en una ase de quiz es “QuizIn o”, la cual
po medio del mé odo “ReadF omJSON”, lee á una es uc u a JSON pa a ob ene odos
los da os necesa ios pa a con igu a la ase. Es os da os son una p egun a a esponde y
una se ie de espues as ep esen adas po un s ing y un booleano que indica si es co ec a
o no.
Ejecución de la ase en la a en u a
La clase “QuizS age” ecibe en su mé odo inicialización un obje o de ipo “QuizIn o”, que
es de donde a a saca la p egun a y las espues as que debe mos a en pan alla.
Cuando el bo ón que disponemos pa a comp oba si hemos espondido bien al quiz es
pulsado, el obje o “QuizS age” comp ueba que dicha selección sea co ec a. En caso en
el que se haya espondido co ec amen e, se in o ma al GameManage de que la ase ha
sido comple ada pa a que podamos con inua la a en u a.
6.1.2. Fase QR
La ase de QR hace uso de la cáma a del disposi i o mó il a a és de Vu o ia. Pa a
comple a es a ase debe emos de busca el QR que haya en nues o al ededo y escanea lo
( igu a 6.1b). Es a ase es á con olada po la clase “QRS age”.
Du an e la inicialización de la a en u a
La clase que ep esen a la in o mación con enida en una ase de QR es “QRIn o”, la
cual po medio del mé odo “ReadF omJSON”, lee á una es uc u a JSON pa a ob ene
odos los da os necesa ios pa a con igu a la ase. Es os da os cons an de un s ing que
ep esen a el alo que iene el QR que debemos de escanea .
Ejecución de la ase en la a en u a
Cuando sea el u no de p ocesa una ase de QR, se llama a al mé odo Ini de QRS age
donde gua da emos el alo del QR almacenado en QRIn o en una a iable s ing pa a
más a de pode compa a el alo leído con el espe ado.
62
Augmen ed eali y easu e hun s engine UCM
4. In e e encias en el museo
Po desg acia FiDI aún no se á capaz de localiza los í ulos ya que siguen exis iendo
in e e encias. Nos suge i á subi a la e ce a plan a, el museo, ya que allí hay
muchos apa a os elec ónicos que pueden se causan es de las mismas. Usando la
ase de GPS ha emos un de ec o de in e e encias que nos indica á como de ce ca
o lejos es amos del causan e, el AD-1-32. Pa a pode apaga lo y elimina po in las
in e e encias se debe á esponde co ec amen e a p egun as sob e su his o ia.
5. Busca la biblio eca
Aho a FiDI, libe ada de las in e e encias, halla á donde es aban ocul os los í ulos,
en la biblio eca. Po ello se debe á de busca la en ada usando el GPS. Al llega
de nue o la pue a es a á bloqueada pe o no po o a con aseña sino po una lla e
la cual ha sido hecha pedazos y los agmen os han sido espa cidos po la acul ad.
6. P ime agmen o de lla e
Es e p ime agmen o es á ocul o en e los ideojuegos de ZX Spec um que hay
en el museo. Al llega debe emos de escanea las ca á ulas en busca de pis as. Al
escanea “Olé o o” se mos a á ex o sob e la ca á ula indicando en cual ca á ula
es á el agmen o que buscamos, siendo “A my Mo es” quien lo ocul a. Al se
escaneado e emos el agmen o de la lla e que no se eía a simple is a.
7. Segundo agmen o de lla e
El segundo agmen o de la lla e es a á en la segunda plan a, la de los labo a o ios,
donde debe emos de busca la sala de écnicos. Allí se p esen a el siguien e e o a
comple a que es encon a la combinación que se ob iene al aduci los símbolos
que hay en las pue as de los labo a o ios, p e iamen e colocados po el o gani-
zado de la yincana, siguiendo el o den: 5-4-9-7-10-2-1-3-6-8-11. Pa a ello usa á
una abla de con e sión que pod á ob ene en la sala de écnicos. Al in oduci la
co ec amen e ob end emos el segundo agmen o.
8. Te ce agmen o de lla e
El e ce agmen o se encon a á ocul o en e la maleza en la pa e ase a de la
acul ad po lo que se debe á de i a la plan a baja. Al sali al ex e io se usa á el
GPS como de ec o de me ales has a que se encuen e el úl imo agmen o de la
lla e.
9. Búsqueda del diploma
Ya con la lla e comple a se pod á accede al in e io de la biblio eca pa a busca
el p eciado í ulo uni e si a io, aunque debe emos de ebusca lo en e el mon ón
ya que solo nos in e esa el de nues a i ulación. Pa a iden i ica lo usa emos los
QR que ienen po den o. Es a mon aña de diplomas debe á de coloca se an es de
comenza el juego.
69

Augmen ed eali y easu e hun s engine UCM
7.2. E aluación con usua ios
Aunque no se han ealizado g an can idad de p uebas con usua ios sí que se han hecho
e aluaciones con las di e en es demos que se han ido c eando du an e el desa ollo y con
la a en u a de demos ación. Queda ían po hace p uebas con o os usua ios de o ma
más me ódica y o ganizada. Du an e es as p uebas hemos is o que en gene al el usua io
e a capaz de en ende que debía de hace en cada momen o de la a en u a a excepción de
cuando se pedía la con aseña pa a en a al edi icio, ya que no quedaba cla o que el alo
escaneado po el QR e a la con aseña. En ese momen o se indicó a los p obado es que
pueden consul a las pis as siendo la única si uación donde ha sido eque ido su uso.
Es as p uebas enían el in de puli los pun os de in e acción que no queden del odo
cla os a ni el del p opio mo o ya que pueden exis i o os p oblemas de comp ensión
de i ados del p opio diseño que se ha dado a la búsqueda del eso o.
7.3. Posibilidades como mo o de juegos se ios
Hemos is o que con el p oyec o es posible, además de hace búsquedas del eso o, adap a
y/o c ea juegos se ios. Tomando como ejemplo los ideojuegos desa ollados pa a la
asigna u a de Juegos Se ios en los que se usa la pla a o ma de uAd en u e is a en
el Capí ulo 2, an o las a en u as g á icas como las geoposicionadas, podemos e que
las in e acciones necesa ias pueden se anspo adas o adap adas pe o man eniendo la
esencia. Tomamos dos juegos desa ollados pa a esa asigna u a como ejemplo:
Gue a Ci il
Gue a Ci il2desa ollado po Miguel Mu , Geo gi Medkino y Liyuan Li es un
juego donde se eco e Ciudad Uni e si a ia a ando de iden i ica donde se habían
omado o og a ías du an e la Gue a Ci il Española (1936-1939). El iempo de
desa ollo del mismo es u o en o no a un mes en e diseño e implemen ación del
mismo.
El obo de B eda
El obo de B eda3, desa ollado po Ad ián de Lucas, Felipe Cuad a y Au o a Ga cía
es un juego en el cual se eco e el cen o de Mad id mos ando pun os de in e és de
la época de los Aus ias mien as sigues la pis a de un lad ón que había obado el
cuad o La Rendición de B eda de Velázquez. Al igual que el o o í ulo se desa olló
en un mes en e diseño e implemen ación.
En ambos casos los ing edien es p incipales de es os juegos son: los diálogos, las decisiones
y el uso del GPS pa a di igi al jugado po el mapa. Todos esos aspec os son eplicables
usando las ases disponibles ac ualmen e en el mo o e incluso pode econ e i o as
in e acciones que en los juegos o iginales no hubie an sido posibles como escanea QRs o
usa ealidad aumen ada.
2Reposi o io del juego Gue a Ci il: h ps://gi hub.com/JuegosSe iosG 3/JuegosGeoposicionados2
3Reposi o io del juego El obo de B eda: h ps://gi hub.com/Alone cp/Mad idDeLosAus ias
70
Augmen ed eali y easu e hun s engine UCM
Uno de los aspec os que no eplicables en nues o mo o se ía la no linealidad que se puede
consegui en uAd en u e. El mo o de es e TFG, al es a desa ollado con un en oque
hacia las búsquedas del eso o, es á o zado a se lineal y ene que comple a los obje i os
en el o den dado.
71
Bloque de conclusiones
72
Capí ulo 8
Conclusiones
O iginalmen e en la p opues a de es e TFG p oponía la ealización de un mo o en Uni y
con el obje i o de ejecu a búsquedas del eso o con elemen os de ealidad aumen ada.
La idea e a que ue a lo más gené ico posible pues se iba a usa pa a gene a es e ipo
de juegos en las di e en es acul ades de la Uni e sidad Complu ense de Mad id. Du an e
el desa ollo se plan eó la idea de hace un con igu ado web pa a simpli ica de ca a
al usua io la c eación de las búsquedas del eso o, el cual ha acabado siendo una pa e
undamen al del esul ado inal.
El esul ado inal del p oyec o son dos piezas bien di e enciadas: el con igu ado de a en-
u as en la web y el mo o de ejecución de las a en u as en Uni y.
He amien a de au o web
En el con igu ado web enemos la opción de c ea a en u as desde ce o, con inua con
una p e ia gua dada en el se ido o desca ga una búsqueda del eso o lis a pa a ins ala
y juga . A la ho a de con igu a a en u as pod ás añadi di e en es ipos de ases como ya
se han is o, añadi pis as a cada una, eo dena las ases o añadi las en la posición que
el usua io quie a. Podemos gua da la a en u a en el se ido pa a segui con igu ándola
en o o momen o y ambién desca ga el zip que con iene el p oyec o de Uni y.
El p oyec o cuen a con un o al de sie e ases di e en es en e las que elegi y con igu a
pa a c ea las búsquedas del eso o. Cada una de esas ases puede lle a asociada una
pis a en el caso de que se c ea con enien e da algo de in o mación ex a.
En el con igu ado se ha enido en cuen a la impo ancia de mejo a en cada e isión su
usabilidad con el obje i o de limi a en la medida de lo posible las icciones cuando se
use, a ando que el usua io enga la mejo expe iencia posible. Se ha c eado un pequeño
manual como o ma de ayuda pa a las p ime as eces que se haga uso de la he amien a
el cual se puede consul a en el Apéndice A.
73
Augmen ed eali y easu e hun s engine UCM
Mo o de ejecución de yincanas
El mo o de ejecución de Uni y implemen a odas las ases disponibles, la ges ión de
escenas y de ecu sos. El usua io no necesi a u iliza Uni y ya que solo debe á de u iliza
el a chi o Au oBuild.ba el cual gene a á la APK ya p epa ada pa a se ins alada en un
disposi i o And oid.
El mo o al a anca lee del a chi o de con igu ación las ases que componen la a en u a y
el o den de las mismas. Es as ases se ca ga án de o ma simul anea po ca ga adi i a en
el caso de se sencillas o bajo demanda si son más pesadas (como se io en el Capí ulo 6).
Según se a comple ando cada ase de la a en u a se comp ueba si esa ase apa ece más
eces en la a en u a pe o si no es el caso de desca ga po que ya no se á necesa ia.
Se añadie on las opciones de da pis as especí icas pa a cada ase y pe mi i sal a las.
Al inal de la a en u a se mues a un me cado que indica el po cen aje de ases que ha
comple ado el jugado po sí mismo sin ene que sal a la ase.
A la ho a de desa olla el mo o en Uni y hubo p oblemas de i ados de las di e en es
e siones de lib e ías que usamos, en especial Vu o ia ya que ha sido ac ualizado hace poco
a la e sión 10.0 y la documen ación p e ia de la e sión 9.8, la e sión que u ilizamos,
es á siendo eliminada de su página web di icul ando bas an e el desa ollo de las ases de
ealidad aumen ada.
74

Capí ulo 9
T abajo u u o
El es ado ac ual del p oyec o pod ía conside a se ce ado. Es o no qui a que se puedan
in oduci mejo as y añadidos que pod ían da más alo a los usua ios que ayan a
usa la. Algunas de las ideas pa a expandi el p oyec o son:
Gene ación del APK en el se ido :
La idea se ía de ene den o del se ido una copia de Uni y donde pode gene a
la build y de ol e al usua io únicamen e el APK en ez de hace al usua io de
baja se un zip y hace que enga que lanza el Au oBuild.ba . Es o elimina ía pasos
y complicación a usua ios menos amilia izados con la in o má ica.
Gua dado de pa ida:
Es a uncionalidad pe mi i ía a los usua ios gua da el p og eso que lle en en la
búsqueda del eso o que es én jugando ya sea po que deben pa a un momen o o
po que quie an con inua o o día. Al acaba cada ase es un momen o idóneo pa a
ealiza es os gua dados, qui ando la necesidad al usua io de hace lo manualmen e
a a és de un bo ón.
Sopo a nue as pla a o mas:
Uni y da muchas acilidades a la ho a de hace aplicaciones mul ipla a o ma po lo
que es a expansión se ía ela i amen e sencilla. Es o pe mi i ía que más pe sonas
puedan usa sus disposi i os en es e ipo de ac i idades.
Realiza e aluación o mal con usua ios:
Du an e el desa ollo se han hecho a ias p uebas con usua ios usando pequeñas
demos pe o se han ealizado con amilia es y amigos po lo que se ía bene icioso pa a
el p oyec o el ealiza p uebas más o males y plani icadas con o os usua ios ajenos
al p oyec o. Es o pe mi i ía e alua la he amien a web de c eación de a en u as y
ambién las di e en es ases del mo o pa a e si son in ui i as e iden i ica pun os
a mejo a .
75
Augmen ed eali y easu e hun s engine UCM
Sopo e de sesiones múl iples en la he amien a web:
Ac ualmen e la he amien a es á p epa ada pa a se usada po una pe sona a la ez.
Es o es así ya que si hay dos o más pe sonas puede habe solapamien o a la ho a de
manda los ecu sos de las a en u as con igu adas. La idea se ía da un iden i icado
único a cada sesión pa a hace las pe iciones de gua dado y ecupe ación en base a
ese iden i icado e i ando la colisión con da os de o os usua ios.
Fases compa imen alizadas en paque es de Uni y:
El obje i o se ía que cada una de las ases disponibles es u ie a en su p opio paque e
de Uni y y solo ins ala las necesa ias según la a en u a con igu ada, lo que ayuda ía
a educi el amaño de la aplicación al solo ene los ecu sos indispensables pa a
cada a en u a.
Nue as ases:
Aunque, como se ha demos ado, se puede llega a c ea una búsqueda del eso-
o muy comple a con las ases que ya hay disponibles, la adición de o as nue as
ab i ía más posibilidades a nue os ipos de puzles o dinámicas de juego. Algunas
p opues as pa a abajo u u o pod ían se ases con econocimien o de oz o eali-
dad aumen ada con obje os idimensionales.
Sis ema de eleme ía:
Un sis ema de eleme ía pod ía se una mejo a muy impo an e pa a el p oyec o
sob e odo si se hace uso de la aplicación como un juego se io ya que, po ejemplo,
un docen e pod ía comp oba : que han hecho sus alumnos, que espues as han dado
y que desempeño han enido en la p ueba. Hab ía e en os especí icos a cada ipo de
ase según los pa áme os que iene y ambién e en os más gené icos como du ación
de una ase.
76
Chap e 8
Conclusions
O iginally, in he p oposal o his TFG, was p oposed he ealiza ion o an engine in Uni y
wi h he objec i e o execu ing easu e hun s wi h elemen s o augmen ed eali y. The
idea was o i o be as gene ic as possible, since i was going o be used o gene a e his
ype o game in he di e en acul ies o he Complu ense Uni e si y o Mad id. Du ing
de elopmen , he idea o making a web con igu a o was p oposed o simpli y he c ea ion
o easu e hun s o he use , which has ended up being a undamen al pa o he inal
esul .
The inal esul o he p ojec is wo well-di e en ia ed pieces: he au ho ship ool on he
web and he ad en u e execu ion engine in Uni y.
Web-based au ho ship ool
In he web con igu a o we ha e he op ion o c ea e ad en u es om sc a ch, con inue
wi h a p e ious one sa ed on he se e o download a easu e hun eady o ins all
and play. When con igu ing ad en u es you can add di e en ypes o phases as we
ha e al eady seen, add clues o each one, eo de he phases o add hem in he posi ion
p e e ed. We can sa e he ad en u e on he se e o con inue con igu ing i a ano he
ime and also download he zip ha con ains he Uni y p ojec o c ea e he APK.
The p ojec o e s a o al o se en di e en phases o choose om and con igu e o c ea e
he easu e hun s. Each o hese phases can be associa ed wi h a clue in case i is
con enien o gi e some ex a in o ma ion and he e is also a bu on o skip he phase
in p og ess wi h he aim o p e en ing playe s om being blocked o no knowing how o
con inue.
In he ool he impo ance o imp o ing i s usabili y in each e ision has been aken
in o accoun wi h he goal o limi ing e o s as much as possible when using i , ying o
ensu e ha he use has he bes possible expe ience. A small manual has been c ea ed
as a o m o help o he i s imes ha he ool is used, which can be consul ed in he
Appendix A.
77
Augmen ed eali y easu e hun s engine UCM
T easu e Hun s engine
The Uni y un ime implemen s all a ailable s ages, scene and esou ce managemen . The
use does no need o use Uni y since he will only ha e o use he Au oBuild.ba ile which
will gene a e he APK al eady p epa ed o be ins alled on an And oid de ice.
When he engine s a s, i eads om he con igu a ion ile he phases ha a e pa he
ad en u e and hei o de . These phases will be loaded simul aneously by addi i e load
in he case o being simple o on demand i hey a e hea ie (as seen in chap e 6). As
each phase o he ad en u e is comple ed, i is checked i ha phase appea s mo e imes
in he ad en u e, bu i i is no he case he phase is emo ed because i will no longe
be necessa y.
The op ion o gi e speci ic hin s o each s age and allow hem o be skipped was added.
A he end o he ad en u e a ma ke is displayed ha indica es he pe cen age o phases
ha he playe has comple ed by himsel wi hou ha ing o skip he phase.
When de eloping he engine in Uni y he e we e p oblems de i ed om he di e en
e sions o lib a ies ha we use, especially Vu o ia since i has ecen ly been upda ed o
e sion 10.0 and he p e ious documen a ion o e sion 9.8, he e sion ha we use, is
being emo ed om i s websi e, making he de elopmen o he augmen ed eali y phases
qui e difficul .
78
Augmen ed eali y easu e hun s engine UCM
El hecho de u iliza siemp e los mismos di ec o ios pa a ag upa los iche os que componen
las a en u as en el backend gene ó di e sos p oblemas como la con aminación de las
a en u as con a chi os esiduales de o as a en u as con igu adas an e io men e. Po lo
que soluciené es o añadiendo uncionalidades al backend que solucionaban es a clase de
p oblemas.
Con la apa ición de nue as ases an o en el mo o de Uni y como en la página web ol í
a ealiza apo aciones en el mo o de Uni y con la c eación de la clase Mas e Objec
que con olaba los obje os de cada escena.
A la ho a de c ea nue os o mula ios en el on end me dediqué a p epa a el de las
ases de Sonido, in e ine en la c eación del componen e de esumen de la a en u a y c eé
el componen e que se especializa en la ca ga de a en u as almacenadas en el backend.
Es os dos úl imos con enían mucha in o mación que inicialmen e se mos aba no muy
elegan emen e asi que c eé los componen es que ep esen an las ca as que se u ilizan
pa a mos a dichos bloques de da os.
El siguien e apa ado en el que abajé ue en la posibilidad de almacena aplicaciones
hechas en el se ido siguiendo las mismas ideas que se u iliza on a la ho a de gua da
las con igu aciones.
A medida que íbamos p obando a hace a en u as de ejemplo, nos íbamos dando cuen a
de que en ocasiones, a pesa de que las ases de una a en u a es u ie an bien con igu adas,
podía su gi el caso de que un jugado no en endie a lo que se suponía que enía que hace .
Po lo que el siguien e elemen o en el que me puse a abaja ue en la inco po ación de
pis as, an o en la pa e del on end, como en la o o gación de las mismas en el mo o
de Uni y.
Habiendo enido en cuen a que e a posible que los usua ios pudie an no sabe cómo
comple a una ase, pensamos que pod ía ocu i lo mismo con los usua ios a la ho a
de ellena co ec amen e los o mula ios del on end, po lo que lo siguien e en lo que
me cen é ue en la posibilidad de o o ga le un bo ón en cada uno de es os que le die a
in o mación sob e cómo ellena los. Es o nos lle ó a pensa en la mane a en la que íba-
mos a mos a dicha in o mación, la solución a la que llegué ue en la u ilización de un
paque e de npm que daba la posibilidad de u iliza ale as es ilizadas las cuales se podían
pe sonaliza con di e sos elemen os.
Ap o echando es a nue a mane a de da le in o mación al usua io, lo siguien e que hi-
ce ue la p epa ación de ale as en momen os como cuando el usua io ha gua dado su
con igu ación pa a in o ma le de que la ope ación se ha hecho sa is ac o iamen e. O a la
ho a de in en a gua da una ase incomple a, da le in o mación de cómo se iene que
ellena el o mula io pa a pode gua da . En esencia, mejo a el diseño UX de la página
web.
El siguien e obje i o que u e, ue hace que las a en u as almacenadas en el se ido ,
an o las con igu aciones como las APKs, u ie an una desc ipción que el usua io que
las gua dó hubie a dado pa a da algo de in o mación sob e las mismas. Una ez hecho
es o hice que en el on end a la ho a de mos a las a en u as disponibles se mos a an
ambién sus espec i as desc ipciones.
Vol iendo a la pa e del mo o de Uni y, me dediqué a es iliza lo median e asse s que
enía gua dados, a ealiza las ansiciones en e escenas y a me e animaciones a los
85

Augmen ed eali y easu e hun s engine UCM
dis in os elemen os de la in e az. Sin emba go, solo ealicé la es ilización de un pa de
escenas, el es o ue e minado po mis compañe os.
Una ez llegados a es e pun o, eníamos ya la página web uncional y capaz de gene a
a en u as y el mo o p epa ado pa a pasa po odo el ciclo de ida de una de es as,
independien emen e de las ases que u ie a. Po lo que el siguien e paso ue hace la
a en u a de ejemplo que se mues a en el Capí ulo 7 con la ayuda de mis compañe os
Ad ián y William.
Po úl imo, mis úl imas apo aciones has a la echa en el TFG han sido en la memo ia,
donde he complemen ado la sección de implemen ación, edac ando la pa e elacionada
con la página web, y he ealizado apo aciones en la sección del mo o en Uni y.
10.4. William Molina Cumba
Tu e in e és en pa icipa en es e TFG po el ema de la ealidad aumen ada, a pesa
de no habe enido expe iencia p e ia con ninguna he amien a de las u ilizadas en es e
abajo como Vu o ia y Reac , a excepción de Uni y con el ya es aba amilia izado g acias
al g ado que es aba cu sando. Debido a es o, he podido p o undiza mis conocimien os
sob e odos los emas que a a nues o TFG, aunque pa iendo de ce o en algunos de
ellos.
Empecé in es igando sob e las dis in as he amien as a usa an es de inicia una imple-
men ación, y pa icipé en las decisiones sob e escoge e siones ap opiadas an o pa a
el p oyec o de Uni y como pa a Vu o ia. Sin emba go, me cen é en la implemen ación
y uso de los Sc ip able Objec s como con enedo es de lo que iba a se inalmen e una
a en u a den o del p oyec o de Uni y.
Pa iendo de la base que ealizó mi compañe o Ad ián pa a la ase de QR en Uni y,
ealicé una segunda i e ación pa a que es a sea comple amen e uncional y se adap ase a
la p ime a es uc u a de ases mon ada po mi compañe o Da id.
Con el obje i o de au oma iza la gene ación de una a en u a en o ma de APK a pa i
del p oyec o de Uni y c eado con las ca ac e ís icas de e minadas po el con igu ado
web, jun o a mi compañe o Ad ián, implemen amos un sc ip en C Sha p pa a Uni y y
un a chi o BAT que log a a una build comple a con su simple ejecución. Desa ollando
más es a idea de au oma ización de builds, me dediqué a explo a opciones pa a pode
ealiza las desde el p opio se ido , in es igando el se icio Uni y Cloud Build y desca -
ando la idea de ins ala Uni y en un sis ema ope a i o linux sin in e az g á ica como
e a el se ido .
Pos e io men e me enca gué de implemen a las bases del sis ema de p eca ga de escenas
en Uni y, que enía como obje i o e i a la gas espe as en e ases de la a en u a al se
comple adas, an icipando la ca ga de una escena que se usa ía consecu i amen e a o a
con ayuda del o den de e minado en el a chi o JSON que desc ibía la a en u a y el o den
de las ases.
Después de es ablece de nue o cie as bases en la es uc u a de las ases en Uni y,
me ocupé de la in es igación e implemen ación de escenas adi i as en Uni y, siguiendo
86
Augmen ed eali y easu e hun s engine UCM
el mismo p incipio an e io sob e ene una ca ga lige a de escenas. También jun o a
mis compañe os, pa icipé en las decisiones de diseño pa a las siguien es i e aciones de
implemen ación de es e sis ema.
El siguien e paso del que me enca gué, ue c ea un sc ip de comandos an o en e sión
Windows BAT como en e sión Linux SH pa a gene a de o ma au omá ica un a chi o
ZIP con odos los di ec o ios necesa ios del p oyec o de Uni y pa a gene a una a en u a.
A con inuación, abajé en el p oceso de pe ición desde el on end al backend pa a
llama a es e sc ip desde la he amien a web, y que inalmen e al acaba su ejecución,
se desca gase el ZIP con el p oyec o de Uni y pa a el usua io.
En cuan o a las implemen aciones de las ases en Uni y, empezó a su gi la necesidad de
ajus a los elemen os que componían las escenas y mejo a su disposición en pan alla,
po lo que añadí un paque e al p oyec o de Uni y pa a acili a el ajus e de los elemen os
UI y ealicé a ios ajus es en las escenas que habían c eadas en ese momen o. Siguiendo
con Uni y, con inué abajando en la lógica pa a la ase Quiz, la cual había sido iniciada
po Da id.
La misma necesidad de mejo a isual su gió en el apa ado web, po lo que modi iqué
la mayo ía de a chi os CSS y elemen os HTML, pa a ob ene un acabado más amigable
con el usua io de la he amien a web an o en las ases desa olladas has a ese momen o,
QR, Quiz, ImageCha ge e ImageTa ge , como en la na egación y aspec o del es o de
la web. Ap o echando la ealización de es os ajus es, ambién a eglé algún que o o bug
en la pa e de los componen es del on end.
Re omando el apa ado de implemen ación del p oyec o de Uni y, con inué ealizando
cambios en la ase pa a QR e implemen é la escena y la lógica pa a la ase Sound y
pa a la ase Inpu Tex . De es a úl ima además, añadí su co espondien e o mula io en
la pa e del on end, y ol iendo a amilia iza me con los cambios de mis compañe os,
hice algunos ajus es y a eglos de e o es en o os o mula ios.
Una ez mi compañe o Da id añadió los ecu sos isuales que se iban a usa pa a las
escenas inales en Uni y, adap é la mayo ía de escenas a la nue a es é ica de ini i a,
ajus é elemen os de la UI en las di e en es ases c eadas y me enca gué de que la in e az
unciona a de o ma co ec a en dis in as esoluciones de pan alla. Siguiendo con Uni y,
implemen é el con eo de las ases que se iban comple ando de o ma no mal y de las que se
iban sal ando con el bo ón de ayuda, y su pos e io mues a al inal de la a en u a.
Se ol ió a eque i una ez más cambios en el aspec o de la web, en es e caso me enca gué
de es a a ea modi icando algunos elemen os que ya había c eado en la an e io i e ación
y apo ando colo es más aco des al aspec o gene al de la he amien a web. Y ol iendo a
ecupe a con ac o con los cambios de mis compañe os en la pa e de on end en Reac ,
me dediqué a implemen a es icciones eque idas en la ase de Ta ge Image pa a e i a
posibles e o es o con lic os con el uso de Vu o ia. En e es as es icciones es aban que
las imágenes subidas en es a ase u ie an un amaño máximo de 2 Megaby es y en caso
de escoge una imagen a supe pone sob e el a ge , que es a enga el mismo amaño que
el a ge .
Como úl imas apo aciones al p oyec o en Uni y, es u e haciendo algunos ajus es más a
elemen os de la UI y inalmen e busqué ecu sos pa a los sonidos de oda la in e az e
implemen é el sis ema de sonido global pa a la aplicación.
87
Augmen ed eali y easu e hun s engine UCM
Sal ando de nue o a la he amien a web, conc e amen e en el componen e de ca ga de
a en u as, es u e abajando en on end y backend pa a mos a a isos y ad e encias
al usua io a la ho a de sob esc ibi una APK que ya había sido subida con el mismo
nomb e o no i ica que la APK ha sido gua dada en el backend. Al acaba es a a ea,
jun o a Da id solucionamos un e o que no pe mi ía ac ualiza de o ma co ec a la lis a
de APKs subidas.
Con el lujo de abajo y c eación de a en u a bas an e pulidos, colabo é en el diseño de la
a en u a de ejemplo jun o a mis compañe os Ad ián y Da id. Como úl imas apo aciones
al abajo, he es ado documen ando pa e del código en el p oyec o de Uni y, he ealizado
algunos ajus es mínimos en los elemen os de la he amien a web y me he dedicado a
colabo a en la co ección de es e documen o.
88
Bloque de anexos
89
Apéndice A
Manual de usua io
En es a sección e ás una in oducción a como se c ean las búsquedas del eso o con las
he amien as hechas pa a es e TFG, desde la con igu ación de la a en u a has a la ejecu-
ción en nues o disposi i o. Comenza emos explicando cómo se u iliza la aplicación web
donde amos a con igu a las búsquedas del eso o. Ve emos cómo se usa, que opciones
nos o ece y como se con igu an las di e en es ases disponibles. Una ez es emos con o -
mes con la a en u a pod emos desca ga el p oyec o de Uni y y se explica án los pasos y
equisi os necesa ios pa a pode gene a una APK pa a nues o disposi i o And oid.
A.1. C eación de una a en u a
La c eación de una a en u a de la búsqueda del eso o se ealiza desde una página web1en
los se ido es de la UCM. Una ez es emos den o de la página pod emos pone nomb e
a la a en u a e in oduci la cla e de Vu o ia aunque es a solo se á eque ida en el caso
de que haya ases de RA.
Si que emos añadi una ase a la a en u a usa emos en desplegable de la pa e supe io
donde pod emos elegi la ase que que emos. Tend emos como opciones: Quiz, QR, Image,
ImageTa ge , Sound, Inpu Tex y GPS.
Según ayamos añadiendo ases i emos iendo cómo se an añadiendo al esumen de la
a en u a. En es a sección ( igu a A.1) e emos odas las ases c eadas y el o den que
ienen. Pa a cada ase end emos la opción de edi a la o de bo a la comple amen e. Si
que emos inse a una ase en una posición conc e a den o de la a en u a pod emos
hace lo con el selec o de la pa e supe io donde pod emos selecciona lo. La ase que
hubie a en esa posición pasa a a se la siguien e en la lis a.
Una ez acabada la con igu ación de odas las ases pod emos gua da la a en u a en el
se ido , pudiendo ecupe a la más a de y ambién desca ga el p oyec o de Uni y con
odo lis o pa a gene a el APK.
A con inuación amos a e como se con igu a cada una de las di e en es ases que pode-
mos u iliza pa a c ea nues as p opias búsquedas del eso o.
1Página del con igu ado de a en u as: h p:// g.u bana .o g/
90

Augmen ed eali y easu e hun s engine UCM
Figu a A.1: Vis a esumen de ases que con o man la búsqueda del eso o
A.1.1. Con igu a una ase Quiz
La ase de Quiz pe mi e c ea una ase que con iene una p egun a y de dos a seis espues as
di e en es ( igu a A.2). El enunciado de la p egun a lo esc ibi emos en el p ime cuad o
de ex o que apa ece. Las espues as se i án añadiendo una a una en el cuad o de ex o
in e io . Cada ez que con i memos una espues a es a apa ece á un la pa e in e io donde
pod emos ma ca la como co ec a o inco ec a y ambién pod emos elimina la.
Figu a A.2: C eación de una ase Quiz
A.1.2. Con igu a una ase QR
La ase de QR se con igu a esc ibiendo lo que que emos que con enga el código QR ( igu-
a A.3). Según lo ayamos esc ibiendo el código que apa ece en pan alla se i á ecalculando
pa a que de uel a lo que hemos esc i o cuando sea escaneado.
Una ez es emos con o mes podemos desca ga el código QR pa a pode imp imi lo y
escanea lo du an e la a en u a y gua da la ase.
91
Augmen ed eali y easu e hun s engine UCM
Figu a A.3: C eación de una ase con código QR
A.1.3. Con igu a una ase Image
Las ases de Image consis en en una imagen en la pa e supe io y debajo un ex o donde
podemos esc ibi una desc ipción de lo que se e o da in o mación al usua io.
Pa a con igu a la ase se equie e que se seleccione una imagen ( igu a A.4) que el usua io
enga en el o denado pa a luego mos a la en la a en u a. También podemos añadi
un ex o que se debe á de in oduci en el cuad o de ex o que apa ece debajo de la
p e isualización de la imagen.
Figu a A.4: Con igu ación de una ase Image
92
Augmen ed eali y easu e hun s engine UCM
A.1.4. Con igu a una ase de RA
Lo p ime o que debe emos hace pa a pode con igu a una ase de ealidad aumen ada
se á dispone de una cuen a en la página2de Vu o ia. Es o se debe a que se necesi a una
key3pa a pode u iliza las uncionalidades de RA. Ya eniendo nues a cuen a pod e-
mos c ea una de o ma g a ui a desde la pes aña De elop->LisenceManage . Cuando la
engamos end emos que pone la en el esumen de la a en u a.
Pa a con igu a las ases con ealidad aumen ada enemos dos opciones disponibles que
son supe pone un ex o ( igu a A.5a) o una imagen( igu a A.5b) al obje i o que amos
a escanea . Pa a selecciona un ipo u o o ecu imos a un desplegable. En ambos casos
debe emos de subi una imagen que ha á de a ge y luego adicionalmen e le pasa emos
un ex o u o a imagen según que que amos consegui con la ase.
(a) Supe pone ex o (b) Supe pone imagen
Figu a A.5: Din in as con igu aciones pa a ases con ealidad aumne ada
A.1.5. Con igu a una ase de GPS
Pa a con igu a es e ipo de ases el usua io pod á u iliza un ma cado en el mapa
( igu a A.6) pa a indica el luga a donde quie e que llegue el jugado . En el luga escogido
pod emos e las coo denadas de la i ud y longi ud. Además debe emos de indica el adio
de acción que iene el luga indicado (según que amos que se ace que más o menos al
luga el jugado ) y podemos in oduci un ex o que si a de pis a pa a da una idea al
usua io de donde iene que i .
2Página de Vu o ia pa a c ea una cuen a: h ps://de elope . u o ia.com/ ui/au h/ egis e
3Cla e de p oduc o que se u iliza pa a e i ica que una copia de un so wa e es o iginal.
93
Augmen ed eali y easu e hun s engine UCM
Figu a A.6: Con igu ado de una ase con geolocalización
A.1.6. Con igu a una ase de ex o
Las ases de in oduci ex o solo equie en de in oduci un pequeño ex o pa a explica
al jugado lo que debe ía de hace o busca y luego la ase o con aseña ( igu a A.7) que
debe de in oduci el jugado pa a pode pasa a la siguien e ase.
Figu a A.7: Con igu ado de una ase con in oducción de ex o
A.1.7. Con igu a una ase de sonido
Pa a con igu a ases que hacen uso de sonido debe emos de subi el audio que que amos
usa en o ma o mp3 o wa y pone un ex o pa a pode explica al jugado lo que que-
amos. Una ez hayamos subido el audio a la aplicación podemos escucha lo ( igu a A.8)
pa a e i ica que es el co ec o.
94
Augmen ed eali y easu e hun s engine UCM
[16] S e en Feine , Blai MacIn y e, and Do ée Seligmann. Knowledge-based augmen ed
eali y, olume 36. Communica ions o he ACM, 1993.
[17] Uni y-Technologies. Uni y Use Manual 2020.3 (LTS).
[18] Wayne Pieka ski and B uce Thomas. ARQuake: The Ou doo Augmen ed Reali y
Gaming Sys em, olume 1. Bubok Publishing S.L, 2002.
101

Au o es:
Lei e Osés Sánchez
Ad ián de Lucas Gómez
Da id Czepiel
William Molina Cumba
Lei e Osés Sánchez
Ad ián de Lucas Gómez
Da id Czepiel
William Molina Cumba
21 de diciemb e de 2022
Ul . ac ualización 28 de mayo de 2022
L
A
T
EX lic. LPPL & powe ed by TEFLONCC-BY-NC-SA
Es a ob a es á bajo una licencia C ea i e Commons
“Reconocimien o-NoComme cial-Compa i Igual 3.0 Espa-
ña”.