scieee Science in your language
[es] (orig)

Olimpiada FDI: una suite de juegos educativos con ranking y medallero de la FDI

Abstract

El proyecto OlimpiadaFDI ha consistido en el desarrollo de una plataforma gamificada de juegos educativos,centrada en el ámbito de la Ingeniería Informática. La visión del proyecto es la creación de una plataforma inspirada en Steam o Xbox Live en la que distintos desarrolladores pueden contribuir distintos juegos, pero las puntuaciones, insignias y logros conseguidos dentro de cada juego se asocian al perfil de cada usuario. Además, la plataforma está concebida para soportar juegos de distintas plataformas (e.g. HTML5, Android, C++, Java) que podrían ser implementadas por distintos equipos de desarrollo. De cara a conseguir estos objetivos, el desarrollado ha consistido en la realización de la infraestructura de una plataforma de distribución de juegos educativos y servicios, tanto para los juegos como para los usuarios. Esta plataforma se basa en una página web que nos permite realizar la gestión de los usuarios, además de gestionar las puntuaciones y logros de cada usuario, la creación de grupos de usuario y la consulta de rankings de puntuación. Para completar se ha desarrollado un amplio conjunto de juegos a modo de implementaciones de referencia, mostrando como distintos juegos de distintas plataformas podrían coexistir dentro del ecosistema de juegos propuesto por OlimpiadaFDI. Tanto los juegos como el portal web se comunican con un backend de servicios REST que lleva la gestión de usuarios, insignias, grupos y puntuaciones, dando lugar a un sistema modular y extensible. Esto supone además que la plataforma quedará abierta para que otros desarrolladores puedan aprovecharse de ella e incluir sus propios juegos.

Read accessible full text

Olimpiada FDI: una suite de juegos educativos con ranking y medallero de la FDI

Author: Gárate Arana, Javier; González Pérez, Alejandro; Mejía Fernández, Miguel; Rodríguez Villalobos, Alberto
Year: 2015
Source: https://docta.ucm.es/bitstreams/83bb2caa-b388-4fc1-8772-60afaac69d7d/download
Página1|193

OlimpiadaFDI:

Unasui edejuegoseduca i os
con ankingymedalle odelaFDI



Ja ie Gá a eA ana
Alejand oGonzálezPé ez
MiguelMejíaFe nández
Albe oRod íguezVillalobos

GRADOENINGENIERÍAINFORMÁTICA
UNIVERSIDADCOMPLUTENSEDEMADRID



TRABAJODEFINDEGRADO

Mad id,Juniode2015

Di ec o :PabloMo enoGe 






Página2|193




Au o izacióndedi usiónyu ilización‐



Ja ie Gá a eA ana,Alejand oGonzálezPé ez,MiguelMejíaFe nándezyAlbe oRod íguezVillalobos,
au o esdelp esen edocumen oydelp oyec o“OlimpiadaFDI”au o izanalaUni e sidadComplu ense
adi undi yu iliza con inesacadémicos,nocome cialesymencionandoexp esamen easusau o es,
an olap opiamemo ia,comoelcódigo,ladocumen acióny/oelp o o ipodesa ollado.





Ja ie Gá a eA ana   Alejand oGonzálezPé ez




MiguelMejíaFe nández   Albe oRod íguezVillalobos





Mad id,Juniode2015

Página3|193

Ag adecimien os

Que emosda nues omássince oag adecimien oanues a amilia,po  odalapacienciayelapoyo
ecibidoalola godees osmesesydenues a idauni e si a ia.
Tambiénanues odi ec o dep oyec o,PabloMo enoGe ,po  odoel iempoin e idoennoso osy
supacienciaenlosmomen osdu os.
Sinningunode oso osnohab íasidoposiblellega has aaquí.
AMa apo pe de unpocodesu alioso iempopa aecha nosunamano.
MenciónaIgnacioyLuispo supequeñog ani odea enaapo ado.
Alospa icipan esenelcasodees udio,po su iempodedicadoysusconsejospa alamejo aenla
in e accióndelapla a o ma.
A odosellos,muchasg acias.
Página4|193

Índice
Ag adecimien os...................................................................................................................................................3
Índicedeab e ia u as........................................................................................................................................11
Resumen.............................................................................................................................................................12
Palab ascla e:................................................................................................................................................12
Summa y.............................................................................................................................................................13
Capí ulo1.In oducción...............................................................................................................................15
Sección1.1.Plan eamien odel abajo.....................................................................................................16
Sección1.2.Es uc u adel abajo............................................................................................................17
Chap e 2.In oduc ion...............................................................................................................................19
Sec ion2.1.Wo kapp oach......................................................................................................................20
Sec ion2.2.S uc u eo  hewo k............................................................................................................21
BloqueIEs udiosp e iosyes adodela e........................................................................................................23
Capí ulo3.Disposi i osMó iles..................................................................................................................25
Sección3.1.Pla a o masmó iles..............................................................................................................25
Sección3.2.A ondo:lapla a o maAnd oid.............................................................................................31
Sección3.3.He amien asdedesa ollopa aAnd oid.............................................................................35
Sección3.4.Conclusiones..........................................................................................................................35
Capí ulo4.HTML5........................................................................................................................................37
Sección4.1.In oducción...........................................................................................................................37
Sección4.2.E oluciónhas aHTML5.........................................................................................................38
Sección4.3.Elelemen ocan as................................................................................................................42
Sección4.4.Boo s ap...............................................................................................................................44
Sección4.5.Ven ajasquenoso eceHTML5............................................................................................45
Sección4.6.Conclusiones..........................................................................................................................45
Capí ulo5.Pla a o masdese iciosmul ijugado ......................................................................................47
Sección5.1.De inición...............................................................................................................................47
Sección5.2.Pla a o masexis en esyconsolidadas..................................................................................48
Sección5.3.Resumenyadap aciónalp oyec o.......................................................................................64
BloqueIIDesc ipcióndelsis ema.......................................................................................................................65
Capí ulo6.Elsis emaOlimpiadaFDI...........................................................................................................67
Sección6.1.Desc ipcióngene al...............................................................................................................68
Sección6.2.APIspa ages ióndeinsignias................................................................................................69
Página5|193

Sección6.3.Po aldeOlimpiadaFDI.........................................................................................................70
Capí ulo7.Juegosdesa ollados..................................................................................................................77
Sección7.1.Quick es ................................................................................................................................77
Sección7.2.T i ial.....................................................................................................................................85
Sección7.3.CodeChallenge.......................................................................................................................92
Sección7.4.Hacke boy.............................................................................................................................96
Sección7.5.Bad abbi sdieha d!...........................................................................................................103
Sección7.6.Ci cui s.................................................................................................................................107
BloqueIIIDe allesdeimplemen ación.............................................................................................................113
Capí ulo8.Implemen ación:In aes uc u adese iciosbackend..........................................................115
Sección8.1.Se ido web........................................................................................................................115
Sección8.2.Basededa os.......................................................................................................................116
Sección8.3.ResumendelaAPI...............................................................................................................121
Capí ulo9.Implemen acióndelapáginaweb...........................................................................................125
Sección9.1.Tecnologíasempleadas........................................................................................................125
Sección9.2.A qui ec u adelaweb........................................................................................................126
Sección9.3.In e azpa alasdi e en espla a o mas.............................................................................127
Capí ulo10.Implemen ación:Juegos..........................................................................................................129
Sección10.1.Ca ac e ís icas.................................................................................................................129
Sección10.2.Basesdeda ospa ajuegos.............................................................................................130
Sección10.3.Conclusiones....................................................................................................................141
BloqueIVCasodees udioyconclusiones.......................................................................................................143
Capí ulo11.Casodees udio........................................................................................................................145
Sección11.1.Mé odo............................................................................................................................145
Sección11.2.Desa ollo........................................................................................................................145
Capí ulo12.Conclusionesy abajo u u o..................................................................................................151
Sección12.1.T abajo u u o..................................................................................................................152
Chap e 13.Conclusionsand u u ewo k...................................................................................................153
Sec ion13.1.Fu u ewo k.....................................................................................................................154
Capí ulo14.Con ibuciónIndi idual............................................................................................................155
Ja ie Gá a eA ana......................................................................................................................................155
Alejand oGonzálezPé ez.............................................................................................................................157
MiguelAlejand oMejíaFe nández..............................................................................................................159

Página6|193

Albe oRod íguezVillalobos........................................................................................................................161
Chap e 15.Pe sonalcon ibu ion..............................................................................................................163
Ja ie Gá a eA ana......................................................................................................................................163
Alejand oGonzálezPé ez.............................................................................................................................165
MiguelAlejand oMejíaFe nández..............................................................................................................166
Albe oRod íguezVillalobos........................................................................................................................168
Bibliog a íay e e encias..................................................................................................................................171
Anexo................................................................................................................................................................177
AnexoA.Documen acióndelosRes Se icesexpues osenbackenddejuegos...................................177
AnexoB.Documen acióndelosRes Se icesexpues osenbackenddese icios................................181


Página7|193

ÍndicedeFigu as
Figu a1:S e eJobs,enlap esen acióndelIphone....................................................................................................27
Figu a2:Imágenesdelin e azg á icodeWindowsPhone8.1basadoenMe o.....................................................29
Figu a3:Imágenesdedisposi i osdeNokiaconSymbian..........................................................................................30
Figu a4:ImágenesdelTouchpadHP,conelsis emaWebOS.....................................................................................31
Figu a5:Cómose enlosusua iosdelasdis in aspla a o masmó iles...................................................................32
Figu a6:In e azdeusua iodelahe amien adedesa olloAnd oidS udio 1.2....................................................34
Figu a7:Balancede ecnologíasJa aSc ip ,HTMLyCSSenlaswebmode nas.(99poin s,2010)............................38
Figu a8:Can as2DHTML5.........................................................................................................................................42
Figu a9:Códigopa ala o macióndelcan as...........................................................................................................43
Figu a10:Ejemplodecan asbiencon igu ado..........................................................................................................43
Figu a11:Ejemplodecan asmalcon igu ado...........................................................................................................44
Figu a12:LogoS eam.................................................................................................................................................48
Figu a13:InsigniasS eam...........................................................................................................................................50
Figu a14:AmigosS eam.............................................................................................................................................50
Figu a15:G uposS eam.............................................................................................................................................51
Figu a16:Pan allap incipaldeS eam........................................................................................................................51
Figu a17:Ni elExpe ienciaS eam.............................................................................................................................52
Figu a18:Ni eldeusua ioS eam...............................................................................................................................52
Figu a19:LogoXboxLi e............................................................................................................................................53
Figu a20:Log osdeusua ioXboxLi e........................................................................................................................54
Figu a21:Repu acióndeunjugado XboxLi e...........................................................................................................55
Figu a22:AmigosXboxLi e........................................................................................................................................55
Figu a23:Accesoa ideojuegosycon enidoadicionaldeXboxGameS o e.............................................................56
Figu a24:Pe sonalizacióndepe ilpe sonalenXBOX...............................................................................................56
Figu a25:Imagendeljugado XboxLi e.....................................................................................................................57
Figu a26:LogoPlayS a ionNe wo k..........................................................................................................................57
Figu a27:T o eosPlayS a ionNe wo k......................................................................................................................58
Figu a28:Compa acióndejuegosy o eosenPlays a ionNe wo k.........................................................................59
Figu a29:AmigosPlayS a ionNe wo k......................................................................................................................59
Figu a30:Imagenoa a a PlayS a ionNe wo k.......................................................................................................60
Figu a31:LogoGoogleplay........................................................................................................................................60
Figu a32:Dis in osgéne osquedis ingueGooglePlayGames..................................................................................61
Figu a33:His o ialdeXPdeGooglePlayGames........................................................................................................62
Figu a34:Bandejadeen adadeGooglePlayGames...............................................................................................62
Figu a35:Log osdeGooglePlayGames....................................................................................................................63
Figu a36:Pun osdeXPdeGooglePlayGames..........................................................................................................64
Figu a37:Desc ipcióngene aldelsis emadeOlimpiadaFDI......................................................................................68
Figu a38:Regis oenlaaplicacióna a ésdelapáginaweb...................................................................................71
Figu a39:Logindelapáginaweb..............................................................................................................................71
Figu a40:Accesoajuegosdesdelapáginaweb.........................................................................................................72
Figu a41:C eacióndeg uposdesdelapáginaweb...................................................................................................72
Figu a42:Ba ala e aldelaweb...............................................................................................................................73
Figu a43:Sali deung upodesdelapáginaweb.......................................................................................................74
Figu a44:Busca g uposdesdelapáginaweb...........................................................................................................74
Figu a45:Ve insigniasob enidasdesdelapáginaweb.............................................................................................75
Figu a46:Ve  ankingsindi idualesdesdelapáginaweb..........................................................................................75
Página8|193

Figu a47:Ve  ankingsdeg upodesdelapáginaweb...............................................................................................76
Figu a48:Ven anainicialdeljuegoQuick es pa aaplicacióndeesc i o io..............................................................78
Figu a49:Ven anadeRegis odeljuegoQuick es pa aaplicacióndeesc i o io.....................................................79
Figu a50:E o delogindeljuegoQuick es pa aaplicacióndeesc i o io................................................................79
Figu a51:Ven anap incipaldeljuegoQuick es pa aaplicacióndeesc i o io..........................................................80
Figu a52:Feedbackdelasinsigniasob enidaseneljuegoQuick es pa aaplicacióndeesc i o io..........................81
Figu a53:InicioQuickTes enAnd oid........................................................................................................................81
Figu a54:MenúQuickTes enAnd oid.......................................................................................................................82
Figu a55:Pun uaciónúl imapa idaQuickTes enAnd oid.......................................................................................83
Figu a56:Pa idaQuickTes enAnd oid.....................................................................................................................83
Figu a57:Vis adelasp egun asenaplicaciónWeb..................................................................................................84
Figu a58:Resul adoQuickTes enaplicaciónweb......................................................................................................85
Figu a59:Ven anadeLogindeljuegoT i ialpa aaplicacióndeesc i o io...............................................................87
Figu a60:Ven anainicialdeljuegoT i ialpa aaplicacióndeesc i o io...................................................................87
Figu a61:Ven anap incipaldeljuegoT i ialpa aaplicacióndeesc i o ioI.............................................................88
Figu a62:Ven anap incipaldeljuegoT i ialpa aaplicacióndeesc i o ioII............................................................89
Figu a63:T i ialaplicaciónWeb.................................................................................................................................90
Figu a64:T i ialaplicaciónWeb.................................................................................................................................90
Figu a65:T i ialaplicaciónWeb.................................................................................................................................91
Figu a66:T i ialaplicaciónWeb.................................................................................................................................91
Figu a67:T i ialaplicaciónWeb.................................................................................................................................92
Figu a68:Pan alladelogindeCodeChallenge...........................................................................................................93
Figu a69:Menúp incipaldeCodeChallenge..............................................................................................................94
Figu a70:Pan alladepun uacionesdeCodeChallenge..............................................................................................95
Figu a71:Pan alladejuegodeCodeChallenge..........................................................................................................95
Figu a72:Hacke Boy(1)............................................................................................................................................98
Figu a73:Hacke Boy(2)............................................................................................................................................99
Figu a74:Hacke Boy(3)............................................................................................................................................99
Figu a75:Hacke Boy(4)..........................................................................................................................................100
Figu a76:Hacke Boy(5)..........................................................................................................................................101
Figu a77:Hacke Boy(6)..........................................................................................................................................101
Figu a78:Hacke Boy(7)..........................................................................................................................................102
Figu a79:Hacke Boy(8)..........................................................................................................................................102
Figu a80:BadRabbi sdieha d.................................................................................................................................104
Figu a81:BadRabbi sdieha d.................................................................................................................................105
Figu a82:BadRabbi sdieha d.................................................................................................................................105
Figu a83:BadRabbi sdieha d.................................................................................................................................106
Figu a84:BadRabbi sdieha d.................................................................................................................................106
Figu a85:BadRabbi sdieha d.................................................................................................................................107
Figu a86:Ven anadeLogindeljuegoCi cui spa aaplicacióndeesc i o io...........................................................108
Figu a87:Ven anainicialdeljuegoCi cui spa aaplicacióndeesc i o io...............................................................109
Figu a88:Ven anap incipaldeljuegoCi cui spa aaplicacióndeesc i o io...........................................................110
Figu a89:Ven anadeljuegoCi cui spa a aspulsa elbo ónResol e .................................................................111
Figu a90:Es uc u adelse ido ..............................................................................................................................115
Figu a91:Es uc u abásicadeJSON(Fuen e:h p://json.o g)................................................................................116
Figu a92:A qui ec u adeHibe na e(Fuen e:h p://www.online ech ision.com/hibe na e‐o e iew/)...............117
Figu a93:Esquemadebasededa osInsigniasFDI...................................................................................................118
Página9|193

Figu a94:Códigodec eaciónde ablausua ios.......................................................................................................119
Figu a95:Códigodec eaciónde ablag upos.........................................................................................................119
Figu a96:Códigodec eacióndela ablainsignias...................................................................................................120
Figu a97:Códigodec eacióndela ablausua io_has_insignia...............................................................................121
Figu a98:Códigodec eacióndela ablag upos_usua ios......................................................................................121
Figu a99:A qui ec u adelaweb.............................................................................................................................127
Figu a100:Dis ibucióndelaweb is adesdeunPC...............................................................................................128
Figu a101:Dis ibucióndelaweb isi adesdeundisposi i omó il........................................................................128
Figu a102:A qui ec u adelapla a o ma................................................................................................................130
Figu a103:Esquemadebasededa osOlimpiadaFDI..............................................................................................131
Figu a104:Códigodec eaciónde abla ipos...........................................................................................................132
Figu a105:Códigodec eaciónde ablap egun as..................................................................................................132
Figu a106:Códigoc eaciónde abla espues as......................................................................................................133
Figu a107:PluginWindowBuilde pa aEclipse(Fuen e:h p://www.eclipse.o g/windowbuilde /).......................139
Figu a108:Fo odelsis emapa aReady2Lea n.......................................................................................................147
Figu a109:Fo odelsis emapa aelg upoHijosdeTu ing......................................................................................148



Página16|193

Sección1.1. Plan eamien odel abajo

Deca aaconsegui elobje i op opues o,p oponemoseldesa ollodelapla a o maOlimpiadaFDI,donde
sepod ánenseña conocimien osp opiosdenues aca e a,Ingenie íaenIn o má ica,median ela
u ilizacióndeunasui edejuegoseduca i osimplemen adosendis in oslenguajesdep og amación(HTML5,
And oidyJa a)pa aasíanima a odosloses udian esahace seunpequeñohuecoennues acomunidad.
Laideade ásdees emodelose íaqueelconjun odejuegos o meunecosis emaenelquecoexis en
juegosdedis in aspla a o mas,queenseñandis in asma e iasyquepod íanse desa olladospo dis in as
ins i ucionesog uposde abajo.Nues a isiónincluyeque,po ejemplo,dis in asuni e sidadespudiesen
desa olla juegospa aaquellasá easdelaIngenie íaIn o má icaenlasquemásdes acan.
Pa ac ea es apla a o ma,el abajosedi ideen espila es undamen ales:
1)C eacióndeunain aes uc u acuyabaseesunse ido debackendqueo eceunaAPIdese iciosREST
pa ages iona yalmacena da osdejugado es,juegos,insignias,pun uacionesydemás.
2)Diseñoydesa ollodeunpo alwebenelquesepod á isualiza los esul ados u odelain e acciónde
losjugado esconlosjuegos,incluyendosuspe iles,insigniasob enidas,ges ióndeg upos, ankingsde
jugado es,e c.
3)C eacióndeunasui edejuegosdeejemplo,desa olladoscondis in as ecnologías,pe o odosellos
compa iblesconlaAPIdeusua ioseinsigniasyqueejempli icancómo u u osdesa ollado espod án
ale sepa ain eg a susdesa ollosennues osis ema.
Cabeseñala quehas aelcomienzodelp esen ecu so,desconocíamosalgunosdelosconcep os
mencionadosyo osquenoshemosidoencon andoalola godenues ocamino;asícomoalgunasdelas
ecnologíasquehemosusadoy inalmen eu ilizado.Po es emo i o,el abajo ambiénincluyeunes udioa
ondodelas ecnologíasempleadas,conespeciala enciónalos equisi ospa adesa olla juegosen
pla a o masmó ilesoenHTML5/Ja aSc ip ,asícomoalaspla a o masgami icadasdejuegosmásusadas
hoyendía.


Página17|193

Sección1.2. Es uc u adel abajo

Enelsiguien eapa ado,pasa emosaenume a  odosloscapí ulosdelosquesecomponees amemo iay
da emosunab e eexplicaciónsob ecuálesla unciónyelp opósi opa acadaunodeellos.
T ases apequeñain oduccióninicialenlaqueanalizamoscuáles ue onlosmo i osquenoslle a ona
emba ca nosenes ep oyec oy,ag andes asgos,sualcanceyca ac e ís icasp incipales,comienzael
BloqueI:Es udiosp e iosyes adodela e.Es ebloqueaba caelCapí ulo3,elCapí ulo4yelCapí ulo5.
EnelCapí ulo3analizamoselimpac odelosdisposi i osmó ileshoyendíaysuimpo anciapa ael
desa ollode ideojuegos,es udiamoslasal e na i asmáspopula esani eldepla a o maycompa amoslas
he amien asmáscomunespa adesa olla enellas.
EnelCapí ulo4analizamoslae olucióndeldesa ollowebyenconc e ola ecnologíaHTMLensuúl ima
e siónpa aaplica  odoes oeneldesa ollode ideojuegosen o ma oweb.
EnelCapí ulo5 ealizamosunamplio epasodelaspla a o masmencionadasenlaIn oducción,que u imos
encuen ayenlasquenos ijamosalaho adees ablece laideadenues op oyec oasícomolaexis encia
debadges.
ElBloqueII:Desc ipcióndelsis emaes ácompues opo elCapí ulo6yelCapí ulo8.
EnelCapí ulo6,ysinen a  oda íaen é minosmuy écnicos,desc ibimoslospila esmásimpo an esque
con o mannues apla a o ma:else ido ylos ideojuegos.Hablamosdenues ain aes uc u acomo
ac o p incipal.
EnelCapí ulo8se ealizalaespeci icaciónde odoslosjuegosque o manlasui eylawebquehacede
on endin e media iaen eambas.
ElBloqueIII:De allesdeimplemen aciónes ácompues opo elCapí ulo8,elCapí ulo9yelCapí ulo10.
ElCapí ulo8esdondeelse ido  omaelp o agonismo,yseexplicacómohasidodiseñado,cómose
enca gadeges iona  odossusse iciosycómohemosdecididoin eg a  odosloscomponen esdel
p oyec oennues ain aes uc u a.
Acon inuación,elCapí ulo9yelCapí ulo10desc ibenabajoni elyenp o undidadcómosehadesa ollado
an olawebdeOlimpiadaFDIcomo odoelconjun odejuegosenlasdi e en espla a o masde
p og amación.Una alo aciónmás écnicayp ecisadesuimplemen ación,sus uncionalidadesycómo
hemoslog adosaca losadelan eapesa delasdi icul adesyhándicaps ecnológicosqueencon amos.
ElBloqueIV:Casodees udioyconclusioneses ácompues opo elCapí ulo11yelCapí ulo12.
ElCapí ulo11secen aensimula  odosloscomponen esdeloquese íaelp ocesocomple oque
anscu edesdequeunjugado sedisponeajuga has aquesusinsigniashansido egis adasenlabasede
da os,gua dadaspo  an oenelse ido y inalmen e e lejadasenlaweb.Es ecasodees udiocuen a
ademásconlapa icipacióndeusua iosex e nosalp oyec oquenoshandadosuopiniónyhanp es adosu
ayudapa aiden i ica nue asopo unidades.
Des inamoselCapí ulo12a ealiza la e lexióndelp oyec o:Ace cadesuelabo aciónyplan eamien o
inicial,la e isióndeobje i oscumplidos,yconclusiones inales.
Rese a emoselCapí ulo14pa aexpone lacon ibuciónindi idualde odoslosmiemb osdelg upo.
Po úl imo,loscapí ulos inalesdelamemo iai ándes inadosalaBibliog a íay e e enciasasícomoal
Anexo,quecomplemen aelcon enidodees edocumen o.

Página18|193


Página19|193

Chap e 2. In oduc ion

In heheydayo  he i uallea ning,s uden mo i a ionisanessen ialcomponen  o  hegood
pe o mance.Didac icgamesappea as u he imp o emen in hisaspec ,andb ingabou achangein he
con en ionalpa adigmso  eaching.
Cu en ly, heclassicalme hodo  o maleduca ionseems obeo e shadowedby hepossibili ies ha new
echnologiesb ing.The o malme hodiso ien ed oindi iduals udy,and he endis ha e e y hing
becomesmo eandmo esocial.
Bo hou cu iosi yabou  hewo ldo  eachingandeduca ion, oge he wi h heappeal ha in ol es heuse
o educa ionalgames o  hispu pose,whichwewouldse easachannelo communica ionbe ween he
con en and hes uden ,a ousedou in e es andmadeus odecideonb inging oge he  heknowledge
acqui ed h oughou ou ca ee ,and hemechanicso lea ning.
La gep ecu so s,mas e so  hisa andpeopleo g ea globalin luencein he ieldo lea ningbasedon
ideogames,whoseideaswe y o elywhenmakingou wo k,a eMa cP ensky,JamesPaulGeeandKu 
Squi e,amongo he s.
Theessenceo  hei ideologyisbasedonag adualeduca ional e o mconsis en  ocu en  imes.Theyo e 
adi e en pe spec i eon helea ningp ocess,de ending ha nowadays eachingmus bedi e en  om he
pas ,mo i a ingyoungpeopleandinc easing hei passion o  echnology.Th ough ideogames,in e ne o 
mobilede ices,ul ima ely,using echnologyasa ool o de elopmen .This ypeo educa ionisno only
good o con en ’s eachingbu alsoskillslea ning.In hiswayyoucanconnec wi hs uden s,make hem o
becomein e es edand ake heini ia i e os udyandlea n obecompe en in he u u e.
Weneed odisco e  hepassiono eachs uden .
Teache s odayshouldelimina e hemas e classes.
Ma cP ensky(JuneyNo embe 2014)

Finally, oemphasize heideao  ewa d; hes uden swin"Awa ds" o  hei achie emen sinplaying,which
we e e  oasbadges(“Insignias”).Theymigh becompa edwi ho he s omknownsys ems o o he 
pla o mssuchas heachie emen sinXbox, he ophiesinPlays a ion,o equallybadges ha allow o
inc ease hele elo you p o ileonS eam.
Thiswo k,insho ,hasbeen he esul o bo h,ou g owingin e es in heuseo gamesineduca ion, o
eachnews uden sdynamiceduca ionalanddidac icinwhichgamesa e hemainpilla o  hesel ‐s udy,
and heneed oc ea eapublishingpla o mcapable omanage hemandmake hema ailable oallo us.



Página20|193

Sec ion2.1. Wo kapp oach

Thepu poseo  hep ojec OlympiadFDIis eachingpa o  heknowledgeo ou ca ee ,Compu ing
Enginee ing,usingasui eo educa ionalgamesimplemen edindi e en p og amminglanguages(HTML5,
And oidandJa a) o husencou agealls uden s obepa o ou communi y.
Ino de  o hisp ojec  oma e ialisei wasnecessa y oc ea eanin as uc u ewhosebaseisase e  ha 
o e sRESTse icesandinwhichwewillkeepandwewillmanagebo hda abaseso playe s, hei badges
ob ainedin hegames,ando he c i icalin o ma ion.
On heo he hand,ou p ojec isbasedonapo alwebsi ewhe eyoucan iew he esul sasa esul o  he
in e ac iono  heplaye swi hgames:allac i i yandsco e ankingso bo h,po en ials uden saswellas
g oupswhichcanbe o med.
Addi ionally,wecanhighligh  heuseo anownAPI ha abs ac s he unc ionali yo ou pla o m,inwhich
u u epo en ialde elope scanuse oin eg a e hei de elopmen sinou sys em.Thesese iceswillbe
desc ibedinde ailla e anddu ing heAnnex.
All hisini ialapp oachshowedus o heconcep o gami ica iono p ocesses,whichwewan ed ocollec 
andadop asmainideaand he e o e ansla ei in oou wo k,especially hegami ica ionapplied o
educa ion.Weha e akenexamples omdi e en si es,bu  i s ly omou  i ualCampuso Moodle,
whichin oduces hepossibili yo use s’andg oups’badgesmanagemen (Moodle).
Ano he pla o m ollowing hisini ia i eisMozillaOpenBadges(OpenBadges),inwhichause is ecognised
byag oupo people o e e y hing ha hasbeenlea ningei he onlineo o line.Theuse willbecollec ing
badgesbasedonachie emen s,wha haslea n andabili ies.All heseini ia i es e lec  hegene a ional
change ha is akingplacenowadays;a ewyea sagonoonehadp oposedusinggameso  ideogames o 
educa ionalandacademicpu poses.
Un il hebeginningo  hisyea ,wewe eunawa eo some heconcep smen ionedo o he s ha weha e
comeac ossalongou way;aswellassomeo  he echnologies ha weha e oundand inallyused.
Wecouldde ineou p ojec as he"S eam o educa ionalgames".

Página21|193

Sec ion2.2. S uc u eo  hewo k

In henex sec ion,wewillenume a eall hechap e sincludedin hismemo yandwegi eyouab ie 
explana ionabou wha is heope a ionandpu pose o eachoneo  hem.
A e  hissmallini ialin oduc ioninwhichweanalysedwha we e he easons ha ledus oemba kon his
p ojec and,b oadlyspeaking,i sscopeandmain ea u es,wecon inuewi hCapí ulo3.In hischap e we
looka  heimpac o mobilede ices oday,s udy hemos popula al e na i esa pla o mle eland
compa e hemos common ools o de eloping hem.
InCapí ulo4,weanalyse hee olu iono webde elopmen andinpa icula  heHTML echnologyini s
la es  e sion.
Capí ulo5makesab oad e iewo  hepla o msmen ionedabo ein hein oduc ion, hosewhichwehad
inmind,andinwhichwe ocussed ose up heideao ou p ojec aswellas heconcep o badges.
InCapí ulo6,andwi hou s eppingin o e y echnical e ms,youwill indma e ialamoun o in o ma ion
e e ed ooneo  hemos impo an pilla so ou pla o m:se e and ideogames.Weexplainabou ou 
in as uc u easamajo  ac o ,ade ailedspeci ica iono eacho  hegames ha  o mpa o  hesui eand
heweb ha makes on endin e media ybe ween he wo.
Capí ulo8iswhe e hese e  akes hes age,andi explainshowi hasbeendesigned,howmanagesall he
se icesandhowweha edecided oin eg a eall hecomponen so  hep ojec inou in as uc u e.
Then,Capí ulo9andCapí ulo10desc ibea low‐le elandindep hhowbo h,OlimpiadaFDIwebsi eand
gamesha ebeende elopedindi e en p og ammingpla o ms.Amo e echnicalandp ecise alua iono 
heimplemen a ion,i s ea u esandhowha emanaged ob ing hem o wa ddespi edi icul iesand
echnologicalchallengesweencoun e .
Capí ulo11 ocusesonsimula ingallcomponen so  he ullp ocess ha  akesplacesinceaplaye p epa es
oplayun il hei badgesha ebeen egis e edin heB.D, he e o esa edon hese e ,and inallyshownon
heweb.Thiscases udyalsohas hepa icipa iono ex e naluse s o hep ojec  ha ga eus hei opinion
andhelped oiden i ynewoppo uni ies.
Wededica eCapí ulo12 omake he e lec iono  hep ojec :abou i sp epa a ionandini ialapp oach,
e iewo objec i es,and inalconclusions.
Capí ulo14isdedica ed oexpose heindi idualcon ibu iono all hemembe so  heg oup.
Finally, he inalchap e so  hememo ywillgo o heBibliog aphyandRe e encesaswellas oAnnex,
supplemen ing hecon en so  hisdocumen .


Página22|193


Página23|193

BloqueI
Es udiosp e ios
yes adodel
a e

Página24|193


Página25|193

Capí ulo3. Disposi i osMó iles

Enes ecapí ulo amosa e isa las ecnologías,concep osyhe amien asdisponiblespa aeldesa ollode
aplicacionesmó iles,p es andoespeciala enciónaldesa ollodejuegosengene alyjuegoseduca i osen
pa icula .
Pa aello,empeza emosconuna e isióndelasdis in aspla a o masmó iles(Sección3.1),en elasque
des acamosAnd oidpo se lamásaba cablepa aundesa ollodecódigolib e(Sección3.2).
Pos e io men e,noscen amosenlasdis in ashe amien asdedesa ollodejuegosdisponiblesla
pla a o maAnd oid(Sección3.3).
Finalmen e,enlaSección3.4p esen amoslasp incipalesconclusionesde i adasdees ees udio.
Ennues o,casohemosjus i icadoeldesa olloendisposi i osmó ileshaciendo e e enciaaconcep os
inno ado es,comoMobileLea ning,unaideayaincluidaenlaideamásgené icaUbiqui ousLea ning.Es os
é minoshacen e e enciaaunanue ame odologíadeap endizajebasadaeneldinamismoyaccesibilidad
quep opo cionanlasnue as ecnologías.Losalumnoscomienzana ene hoyendíalapo abilidadylibe ad
pa aap ende sob epo encialmen ecualquie  ema,encualquie momen oyluga ,po ejemplobuscando
in o maciónenIn e ne a a ésdeunbuscado ,accediendoalcampus i ualdesuUni e sidad,o
u ilizandounadelasaulas i ualesquep opo cionanalgunaswebsdeenseñanzaonline.
Laideade ásdeUbiqui ousLea ningenun u u oce canoese oluciona es asideashas aelex emo,
mejo a laspla a o masdeap endizaje,ein eg a lasenelen o nohabi ualdelusua iohas aconsegui que
es asseanin isiblesalalumno;yhagausodeellassinsiquie ase conscien e.Cuandoes oselog a,los
es udian esap endensiguiendoelhilodesusp opios azonamien os,casisa is aciendosup opiacu iosidad;
accedende o mainalámb ica,compa ensusconocimien osensucí culodeamis adesyu ilizan ecu sos
enlanube.

Sección3.1. Pla a o masmó iles

In ui i amen e, odosconocemoselg animpac oquehangene adohoyendíalap oli e aciónde
disposi i osmó ilesennues as idas.Té minoscomoconexiónyaccesibilidadnuncahanes ado anen
auge,yesquelapene acióndelosdisposi i osmó iles,encualquie adesus a ian es,sma phoneso
able s,hasidoindudable.
Laspla a o masmó ileso ecenin e esan es en ajas, an opa alosjugado escomopa alos
desa ollado es.
Alosusua iosleso ecelainmedia ezycomodidaddejuga consusaplicaciones a o i as,o,ennues o
caso,juegosdidác icos,cuandoquie a.Es acon enienciape mi eexplo a almáximolosconcep osque
es udia emosconmásp o undidadmásadelan e,comoMobileLea ning,unconcep oquede i adeo o,
Ubiqui ousLea ning,oelpa adigmasob eelap endizajequesos ienequecualquie usua iopuedeap ende 
sob ecualquie cosaen odomomen oyencualquie luga ,debido,p incipalmen e,aquelashe amien as
deenseñanzaes án anin eg adasenla idaco idiana,queelalumnono ienesiquie alape cepciónde
es a ap endiendo.Pa aqueexis aUbiqu ousLea ning,lashe amien asdeap endizajedebense accesibles
ein e ac i as,asícomoadap ableseinmedia as(Co eEduca ion,2013yEduca ion,2025).
Enelcasodelosdesa ollado es,losdisposi i osmó ileso ecenunaopo unidaddeda aconoce sus
c eacionesaunacomunidaddejugado esencons an ec ecimien o,ydeunpe ilmásamplioquelos
jugado esdeconsolas,comoelme cado emenino,oelme cadomásmadu o,conunamediade43añosen
elcasodejuegossociales,yconjugado esdeinclusomásde60.P ecisamen e,es ospe ilescon o manel
Página32|193


Figu a5:Cómose enlosusua iosdelasdis in aspla a o masmó iles

Unadelasmejo esca ac e ís icasdees esis emaope a i oesqueescomple amen elib e.Esdeci ,nipa a
p og ama enes esis emanipa ainclui loenun elé onoesnecesa iopaga nada.Yes olohacemuy
popula en e ab ican esydesa ollado es,yaqueloscos espa alanza un elé onoounaaplicaciónson
muybajos.
Noshemosdecan adopo es a ecnologíadebidoasup oyecciónde u u oysueno mep esenciaenel
me cadoac ualenloqueadisposi i osmó ilesse e ie e:Inclusoapesa deleno mec ecimien ode
WindowsPhone,elcualsep e ésupe a aiOSes eaño2015(Tabla3),And oidalcanzaunaci asupe io al
58%depo cen ajedeme cadoglobal.O as i udesdelSOdeGooglesonsu e sa ilidad,su acilidadde
uso,ysude alladadocumen ación.


Página33|193

Tabla3:Po cen ajedeme cadodelosúl imosañosenSis emasOpe a i osmó ilesenEspaña(2015)


Nosóloesunsis emaope a i o obus oye icaz,sinoqueademás aeconsigounag ancan idadde
he amien asdeayudaalosdesa ollado es,comoun amewo kdedesa ollop opio,elAnd oidS udio,el
cualseencuen aensu e sión1.2a echadeJunio2015.
Dignodemencióneslapequeña e oluciónin e naquehuboalcomienzodela ealizacióndees ep oyec o,
en eSep iemb e2014‐Ene o2015.Has aan esdeSep iemb e,eldesa ollosob eAnd oidse ealizabade
dis in as o mas,en eellas,lamáspopula e aunase iedepluginsoex ensionespa alahe amien ade
desa olloenJa aEclipse.Fueen o noaesa echacuandoGoogledecidiódeja deda sopo eaesas
ex ensionespa a omen a lamig acióndelosdesa ollosAnd oidaAnd oidS udio,lanue ahe amien ade
desa olloespecí icapa aAnd oidimpues apo Google.
Una ezseleccionadoelSis emaOpe a i oobje i o,And oid,hayaúnunacues iónimpo an ealaho ade
desa olla pa aes apla a o ma,yeselni eldelaAPIoSDKdes inodelaaplicación.Ennues ocaso, odos
nues osjuegos ienen ijadaunni elAPImínimode15,equi alen eauna e siónand oid4.0.3, ambién
conocidacomoIceC eamSandwich;yunni eldeAPIdeseado21,o5.0Lollipop(Tabla4,documen ación
And oidS udio).

Página34|193

Tabla4:Lis adoyg á icadelasdis in as e sionesdeAnd oidexis en es(And oidDe elope s,2015)


Pa ae i a e o es,siemp ees ecomendablecompila lasaplicacionesenla e siónmásac ualizadaposible.
Noso oscompilamos odasnues asaplicacionesconunni el21.
Cones acon igu ación,asegu amosquenues asaplicacionesseanplenamen e uncionalesconel90,4%de
losdisposi i osAnd oidqueexis enenlaac ualidad;oloqueeslomismo,el52,52%dela o alidadde
disposi i osmó ilesdelmundo,a echadema zo2015.
And oidS udioesunen o nodedesa olloin eg adopa alapla a o maAnd oidbasadoenIn elliJIDEAde
Je B ain.Sup ime a e siónbe a0.1 uelanzadoenMayode2013,yha ecibidoac ualizacionesdeuna
mane amásomenospe iódicadesdeen onces,has ala e siónac ual,1.2,a echadeMayo2015.


Figu a6:In e azdeusua iodelahe amien adedesa olloAnd oidS udio 1.2.
Página35|193

Sección3.3. He amien asdedesa ollopa aAnd oid

Pa aayuda noseneldesa olloAnd oid,podemos ale nosdealgunadelashe amien asdedesa ollo
exis en es.Acon inuaciónmos amoslasmásp ome edo as:
U ilizamosla ecnologíaAdobeAIR,unlenguajesencilloyo ien adoaobje osqueseu ilizaa a ésdela
he amien aAdobeFlashCC;lacuales ádisponiblepa aWindows.Unodelos ac o esmása ac i osesla
acilidadpa ac ea in e acesadap a i as( esponsi e),ysu acilidaddeexpo aciónaweb,asícomoa
aplicaciónpesadaomó il.Además,ex endíasusposibilidadesencuan oaanimaciónydiseñog á icoyaque
sein eg abacono ashe amien asdeAdobe,comoPho oshopoIllus a o .
Mo o esdejuego.En eellosGameMake (GameMake ,2015),Cons uc 2(Cons uc 2,2015),Uni y(Uni y,
2015),oGameSalad(GameSalad,2015).Losmo o esdejuegosonhe amien asespecí icaspa alac eación
de ideojuegos.No malmen eabs aenunase iede uncionalidadesquepe mi enalosdesa ollado es
cen a seenlalógicadesujuego,sin ene queen en a seal e oquesuponelac eaciónde ísicas,o
implemen acióndelose en osque ienenluga .Facili anel abajohaciendoes e ipodecosasin isiblesa
losp og amado es,loscualessólo ienenquepa ame iza lalógicaycen a seeneldiseño isualyjugable
desusdesa ollos.


Sección3.4. Conclusiones

Enes ecapí ulohemos is olaspla a o masmáscomunesen elaciónadisposi i osmó iles,yalgunas
he amien asquepe mi enalosdesa ollado esc ea juegosoaplicacionesin e ac i aspa aes as
pla a o mas.
Noshemoscen adoeneldesa ollopa aAnd oid,debidoaqueeslapla a o mamáscon enien edadas
nues asci cuns ancias.
Tambiénhemos is omo o esdejuegoysuusoeneldesa ollodejuegosmó iles,ynoscen amosenel
GameMake ,aunquecon esul adosnega i os,como e emosmásadelan e.
Lae olucióndelas ecnologíasesimpo an epa alle a acaboes epaso,po esohemoses udiadolas
pla a o masmásimpo an esylashe amien asmáscomunespa adesa olla enellas.Comopa edees e
es udio,hemosobse ado ambiénel ápidoc ecimien oquees án eniendolosjuegoscons uidoscon
HTML5yJa aSc ip .Enelsiguien ecapí ulo,explo a emosenmayo p o undidadlas ecnologíasy
pla a o masexis en espa aeldesa ollodejuegosenHTML5.


Página36|193


Página37|193

Capí ulo4. HTML5

Enes ecapí ulose e isa ánconcep ualmen elasca ac e ís icasdelaúl imano ma igen edeHTML,
u ilizada an opa alaimplemen acióndejuegoscomopa ael on enddelapla a o ma,p es andoespecial
a enciónalnue oelemen opa adibujodeg á icos,can as,incluidoenes a e sión.
Pa aello,secomenza áconunain oducciónconsis en eenlae olucióndeHTMLdesdesuscomienzos
has aeldíadehoy(37Sección4.1),incluyendolasca ac e ís icasqueapo anJa aSc ip yCSSensu
combinaciónconelmismo.Seguidamen e,seinclui áunhis ó icodecambioslanue a e siónconelúl imo
es ánda obsole oadíadehoy,HTML4(Sección4.2),seguidodeunasecciónqueexplica áelnue o
elemen o,can as,incluidoenlanue a e sión(Sección4.3).Tambiénes udia emosel amewo kBoo s ap,
u ilizadapa aayuda ade ini eles iloenlapáginaweb.Finalmen eenlaSección4.5sep esen a ánlas
p incipales en ajasqueo eceHTML5pa aeldesa ollode ideojuegosyse e mina áelcapí uloconun
apa adodeconclusiones.

Sección4.1. In oducción

HTML(Lenguajedema cacióndeHipe ex o,Hype Tex Ma kupLanguageeninglés)esellenguajede
ma casde ex odemayo u ilizaciónenIn e ne .Noesp opiamen eunlenguajedep og amación,sinoun
sis emadee ique as.Así,nop esen aningúncompilado ,po lo an o en eae o esdesin axis a ade
mos a  esul adoenla isualizaciónenluga dema ca ele o co espondien e.
Esc eadoen1986po el ísicoBe ne s‐Lee,basado an oenelconcep odehipe ex oolink,elcualpe mi e
conec a doselemen osen esíyelLenguajeEs ánda deMa caciónGene al(SGML)basadoene ique as
quepe mi ecoloca e ique assob eun ex opa aindica cómose ásu isualización.T as inaliza el
desa ollodesusis emaydespuésdeuni sus ue zasconelingenie odesis emasRobe Cailliau,lo
p esen aaunacon oca o iao ganizadapa adesa olla unsis emadehipe ex opa aIn e ne , esul ando
inalmen elap opues aganado a,llamadaWo ldWideWeb(W3)(Lib osWeb,2015).
Alola godelosañossees anda izaellenguajeHTML espec oaunasno masde inidaspo elWWW
Conso ium(W3C)desde1996,despuésdequeelp ime es ánda o icial(HTML2.0,debidoaqueniHTMLni
su e siónHTML+sondebidamen ees anda izadas)selle eacabopo pa edelo ganismoIETF(In e ne 
Enginee ingTaskFo ce)
La e siónde ini i adeles ánda ac ual,HTML5,sepublicaenoc ub ede2014.
Laslimi acionesinicialesdeHTMLp opicianque a iascompañías enganquedesa olla nue oslenguajesy
p og amaspa aag ega nue asca ac e ís icasalawebnosonimplemen adasconan e io idad.Así,algunos
dees osdesa ollossecon ie enenacceso iospopula esypode osos,demane aquesuusoseex iende
en elosdesa ollado esweb.Ja ayFlashsondoscla osejemplos.
Conelpasodelosañosylamasi icacióndeusua iosenla ed,Ja ayFlashempiezanamos a cie as
ca enciasdadasuconcepcióncomocomplemen os(plug‐ins),quep o ocalanoexis enciadecomunicación
oin eg aciónen eaplicacionesydocumen os.
Exis eJa aSc ip ,lenguajein e p e adoincluidoenlosna egado es,quemejo aexpe ienciadelosusua iosy
o o ga uncionalidadalaspáginas.Sinemba go,dadoquenopuede eemplaza  uncionalidaddeFlashy/o
Ja a,supopula idadnoesal a,dadoqueJa ayFlashsiguensiendolosúnicoscapacesdeo o ga algunas
uncionesesencialesenlawebcomola ep oducciónde ideo.Así,du an ecie ope iodode iempo,eluso
deJa aSc ip noes ecuen e.

Página38|193

Lamejo adelosna egado esconelpasodel iempop o ocaunamejo in e p e acióndeJa aSc ip .T asun
aumen odeusua iosdela ed,pa ecequeniJa ani ampocoFlash anapode p o ee he amien asque
demandanlasaplicaciones.Toma ue zaJa aSc ip ,siendodeg animpo anciaeneldesa ollodelaweb.
Jun oaHTMLyCSSsecon ie en ápidamen eenlamejo combinaciónpa alae olucióndelaweb( e 
Figu a7).
LallegadadeHTML5suponelaes anda ización ealdecadaaspec odelaweb.Cada ecnologíaob ieneun
p opósi ocla o.Así,HTMLp o eeelemen oses uc u ales,CSSseenca gadehace laes uc u au ilizable,
asícomoa ac i aala is ayJa aSc ip dadinamismoype mi econs uccióndeaplicacionesweb
o almen e uncionales.(Gaucha ,2012)


Figu a7:Balancede ecnologíasJa aSc ip ,HTMLyCSSenlaswebmode nas.(99poin s,2010)
Sección4.2. E oluciónhas aHTML5


Lis adee ique asag egadasyu ilidad:

EnHTML5seag egannue ase ique ascon espec oala e siónan e io deles ánda ,HTML4.Lap incipal
no edadeslainse cióndelelemen ocan as,alquededica emosunasubsecciónenes emismocapí uloy
pe mi ec eaciónymodi icacióndeimágenesdinámicamen e,aunquenoeslaúnica.Enla ablaa
con inuaciónselis a án odaslasnue ase ique asag egadas:

Página39|193

Tabla5:E ique asnue asHTML
E ique aU ilidad
<a icle>Decla acon enidocomouna ículoque ienesigni icadopo símismo.
<aside>Decla acon enidoqueno ienemucha elaciónencuan oasigni icadoconel
es odelapágina.
<audio>E ique aes ánda pa ainse a elemen osdeaudio.
<can as>U ilizadopa aimplemen aciónydibujodeg á icoseimágenesden odeuna
página.
<da alis >De ineunalis adeen adas(inpu s)p ede inidas.
<de ails>Especi icade allesqueelusua iopuedeescoge  isualiza oesconde .
<dialog>U ilizadopa a ep esen a con e saciones.
<embed>De inelinkaunaaplicaciónex e naoplug‐in.
< igu e>Asociaconuncap ionuncon enidoinc us ado.
< oo e >Con ienein o maciónsob eau o ysusde echos.
<heade >Con ienelacabece adelp og ama.
<ma k>De ine ex o ema cado.
<me e >Rep esen amedidasen angosconocidos.
<na >Rep esen aseccióndelapáginao ien adaana egación.
<ou pu >Indicael ipodesalidaquesep oduci áconlasaccionesdelapágina.
<p og ess>Indicaelp og esoquelle acomple adode e minada a ea.
< uby>No ación uby.
< p>Decidequémos a cuandoelna egado noacep ano ación uby.
Página40|193

< >Explicaelca ac e osup onunciación( e e en eano ación uby).
<sec ion>Indicaseccionesgené icas.
<sou ce>Especi ica a ios ecu sosmul imedia.
< ime>Mues a echaso iempos.
< ideo>E ique aes ánda pa ainse a elemen osdeaudio.

Lis adee ique asobsole asdeHTML4yu ilidad

Algunasdelase ique asacep ablesenHTML4hanpasadoaes a obsole as.Elp incipalmo i oesque
muchasdeellase anu ilizadaspa aes ilosconc e os,pe oelc ecimien oencuan oau ilizaciónyeléxi o
quees á eniendoCSSenlawebhap o ocadoquemuchosnosean ealmen enecesa iosyaqueCSS end á
lamisma uncionalidadquelosmismos.La ablasiguien e e leja odaslase ique asquequeda onobsole as
enlaan igua e sióndeles ánda :

Tabla6:E ique asobsole as espec oala e siónan e io 
E ique aU ilidad
<ac onym>De ineunac ónimo.
<apple >De ineunapple .Sus i uidapo embed.
<base on >Especi icacie as uncionespa aeles ilode ex o.Obsole a en ealusodeCSS.
<big>Tex odemayo  amaño.P e e ibleelusodeCSS.
<cen e >Cen ael ex o.P e e ibleelusodeCSS.
<di >Lis a í ulosdeundi ec o io.
< on >De inela uen edel ex o.P e e ibleelusodeCSS.
< ame>De ineuna en anapa icula den odel amese .
< amese >De ineunconjun odema cos.
Página41|193

<hg oup>SeañadióaHTML5pe opasóaes a obsole adi ec amen edebidoalusode
heade .
<no ames>U ilizadapa aaquellosna egado esquenosopo abanelusodema cos.
<s>U ilizadapa a ex oi ele an e.
<s ike>Pa a ex o achado.P e e ibleCSS.
< >Da o ma oal ex o.P e e ibleusodeCSS.
<u>Fo ma ode ex osub ayado.P e e ibleCSS.
<xmp>Pa a o ma ode ex op e o ma eado.P e e ibleCSS.

Lis adee ique asmodi icadas

Algunase ique ashancambiadosuu ilizacióndeuna e siónao a,algunamínimamen eman eniendosu
uncionalidad(inpu ),o aspo eléxi odeCSShan is olimi adasu uncionalidad.La ablade odaslas
e ique asmodi icadasseadjun aacon inuación:

Tabla7:E ique aseliminadas
E ique aU ilidad
<a>Aho asolosepe mi esuusocomohype link.
<ci e>Seusacomo í ulodeun abajo, espec oasuan e io usocomoci ación.
<h >Seledaunain e p e aciónsemán icaalsal odelínea.
<i>An añodaba o ma ode ex oencu si a,enlaac ualidadsepuededa  o ma o
aunpá a oipo CSS.Seu ilizacomolae ique ap,pe opa apá a osconc e os
quenecesi andi e en eses ilos.
<inpu >Seañadennue osa ibu osenHTML5
<b>An añodaba o ma ode ex oenneg i a,enlaac ualidadsepuededa  o ma o
aunpá a oipo CSS.Suu ilizaciónac ualessimila alae ique ai.

Página48|193

Sección5.2. Pla a o masexis en esyconsolidadas.

Acon inuación, amosa ealiza unes udiosob elaspla a o masdemayo  epe cusiónsocialqueincluyen
an ojuegoscomo ecompensas/log osenlosmismos.
Empeza emospo lapla a o maS eam,cuyosjuegoses áno ien adosadi e en es o ma osencuan oa
pla a o mas.Pos e io men eanaliza emosdospla a o maso ien adasadi e en es ideoconsolas,comoson
XboxLi e,o ien adaaXboxOneyXbox360,ademásdejuegosdesis emasope a i osMic oso y
Plays a ionNe wo k,o ien adoalasdi e en esconsolasdesa olladaspo Sony, an o adicionales
(PlayS a ion3yPlays a ion4)comopo á iles(Plays a ionPo ableyPlays a ionVi a),pe enecien esalas
úl imasgene acionesde ideoconsolas.Pa aacaba ,sees udia áGooglePlay,o ien adoajuegospa a
pla a o maand oid.
Sees udianés asynoo as,comopuedese lanin endoeShop,po queademásdeo ece losse iciosde
dis ibucióndejuegosdisponen odasellasdeunsis emadelog osenelquenosinspi amosyadap amosa
nues op oyec o,como e emosencapí ulospos e io es.Des aca queen elasquees udiamos,casi odas,
soloaexcepcióndeGooglePlay,es áno ien adasajuegosmul ipla a o ma.

Sección5.2.1. S eam


Figu a12:LogoS eam

S eamesunapla a o madesa olladapo Val eCo po a ionquepe mi ecomunica sealosjugado esde
odoelmundoyo ecese iciosalosusua ios,asícomoadesa ollado es an omayo i a ioscomo
mino i a ios.Elnúme odecuen asac i assees imaen125millones,ydisponedeunamplioca álogode
juegos,cuyonúme oasciendeap oximadamen ea4500(Anand ech,2015).Losp ime osjuegosse
encuen andisponiblesenexclusi apa aelsis emaope a i oWindows.Conelpasodel iempoS eamse
adap aalme cadoydisponeademásde ideojuegosenpla a o masLinux,Mac,iOSyAnd oid.Además,se
c eaunsis emaope a i o,S eamOS,ac ualmen een asebe a,basadoenladis ibuciónDebiandeLinux,y
quese áelsis emaope a i op incipaldelalíneade ideoconsolasS eamMachines,aunquepod áse 
ins aladosob ecualquie PC.Elsis emap e endemaximiza el endimien odelosjuegos.


Página49|193

Ca ac e ís icasyse icios

‐ Sedisponedeunsis emadecomunicaciónen eusua ios,disponible an odemane a ex ualcomo
po  oz.
‐ Sepe mi eiden i ica losjuegosalosque usamigosomiemb osdeg upoes ánjugando,asícomo
in i a apa idasmul ijugado alosmismosenelcasodequees édisponibledichose iciopa alos
usua ios(algunosjuegoses ánen ocadosalusoindi idualynope mi enelmodomul ijugado )
‐ Val edisponede o osdondelosusua iospuedenopina ohace comen a ios e e en esala
comunidadylosjuegos.
‐ Sedisponedeunse ido pa alabúsquedadepa idasmul ijugado ,demane aqueusua iossin
amigosden odelapla a o maousua iosconamigosdesconec adospuedenjuga con ausua ios
de odoelmundoen odomomen o.Además,sepe mi esob ees osse ido eslac eaciónde
lobbiesconamigosomiemb osdeg upos.
‐ Sedisponedeunse iciodenominadoVal eAn i‐Chea oVACquepe mi e e quéusua ioses án
haciendo ampassob elosjuegospa a epo a losysepuedeimpone sancionesalosmismos.
‐ Losjugado espuedenañadi asubiblio ecajuegosnoincluidosenelca álogodeS eamdemane a
quepuedenaccede aellosdesdelapla a o ma.
‐ Losjuegosnopueden ende seuna ezcomp ados,pe osípuedense  egaladosao osusua ios.

Usua iosyLog os

‐ Pa apode accede alosjuegosdisponiblesenelca álogodeS eam,losusua iosdebenes a 
egis adosenlapágina.Es ope mi enosóloelaccesoalosjuegos,sino ambiéna odala
comunidadysusse icios.
‐ Sec eapa acadausua iounapáginap opiaquemues asusg upos,susamigos,subiblio ecade
juegosob enidos,susjuegosdeseadosyo asopciones e e en esalapa esocial.Todases as
opcionespuedense con igu adaspa anose  isiblespo el es odeusua iossiseconside a
opo uno.
‐ Sepuedenob ene c omospa alosjuegos.Es asdependendeljuegoencues iónyes án
de e minadospo elmismo.Una ezconseguidos odoslosc omospa aunjuego,seconsegui áuna
Insignia(iconoen upe ildeS eam,asociadoa ucuen a,que ep esen acuán osse scomple os
dec omoshasconseguido)(S eamC omosFAQ,2015).Además,sepod ánconsegui Insignias
aco deacie osobje i osdelacomunidadcumpliendoobje i osden odelamisma.Sepod á
isualiza losc omosylasInsigniasdesdeelapa adoconelmismonomb euna eznoshayamos
iden i icadoenlapla a o ma.
‐ Sepe mi ealosusua ioslaiden i icacióndeamigosen eloso osusua ios.Además,sepuede
bloquea ao osusua iosy e aquellosconlosquehasjugado ecien emen e.Todoes oes
accesibledesdelapan alladeamigos.
‐ Esposible o ma g uposque o menpa edelaComunidadS eamdemane aque a iosusua ios
pe enecenadichosg upos.Unusua iopuedepe enece adi e en esg upos.Unusua iopuede
c ea g upososimplemen euni seaung upo,asícomodeja ung upoalquees ása iliado.Es as
ac i idadeses a ándisponiblesdesdelapan alladeg upos.

Página50|193



Figu a13:InsigniasS eam

Figu a14:AmigosS eam
Página51|193


Figu a15:G uposS eam

‐ Sedisponedeuna iendaenlaquelosusua iospuedencomp a juegosoca ac e ís icasque
mejo anlajugabilidad.Den odelamismasepuede ealiza elpagocondi e en esdi isassegúnla
geolocalizacióndelusua io.


Figu a16:Pan allap incipaldeS eam

Página52|193


‐ Elusua ioa anzadeni elaco dealospun osqueconsiguea a ésdelasInsignias.Apa eceelni el
de alladoenlasecciónInsignias,demodoqueseindica áelnúme odepun osquedebeconsegui 
elusua iopa allega alsiguien eni el.


Figu a17:Ni elExpe ienciaS eam

‐ Elpe ildeunusua iope mi e e cie asca ac e ís icasdelosusua ios espec oalosjuegos.
Tambiénpe mi e e elni eldelusua ioconmenosde allequelasecciónInsignias.


Figu a18:Ni eldeusua ioS eam








Página53|193


Sección5.2.2. XboxLi e

Figu a19:LogoXboxLi e
XboxLi e(ab e iadamen e,XBL)eselse iciode ideojuegosenlíneadeMic oso .Dasopo ea
ideojuegosenXboxOne,Xbox360yXbox,asícomoa ideojuegosdesussis emasope a i os,Mic oso 
WindowsyMic oso Phone.Es ádisponibleen a iosidiomasypaíses.
Losusua iospueden egis a seg a ui amen e,demane aqueob ienenunse iciodenominado“Sil e ”po 
Mic oso .Else icio“Gold”o ececie as en ajasalosusua iosacambiodepagodeunasusc ipción
mensualoanual.
Game ageselnomb equeiden i icaalosusua ios.Debedese únicopa acadausua ioy ienehas a15
ca ac e espo nomb e.Además,sep ohíbeelusodepalab asin e nasquepuedan esul a o ensi aspa a
o osusua ios.Ela a a esunaca ac e ización i ual idimensionalyca ica u izadadelosusua ios,
asociadaalagame ag.Game ca deselpaneldein o maciónpa aanaliza elpe ildeusua iodelaXbox
Li edeMic oso .Lagame ca dpe mi een eo ascosasaccede alGame sco e,sis emadeseguimien oy
acumulacióndeachie emen s(log osdelusua io)

Ca ac e ís icasyse icios

‐ Else icioGoldpe mi ejuga ajuegosenmodomul ijugado ,mien asqueelse icioSil e pe mi e
la isualizacióndelasca ac e ís icasdelosusua ios.
‐ Exis echa de ozyde ideoen eusua ios.
‐ Sedisponedeunsis emadeg upos empo alesdehas aochojugado espa a e películasojuga 
onlineaunjuego.
‐ Sedisponedeunsis emade ele isiónpa alosusua ios,independien emen edel ipodese icio
asociadoalacuen a.Sinemba go,es á es ingidopo zonasdemane aquees a iableen unción
delageolocalización

Página54|193

‐ (Exclusi oXBOXOne)Capacidaddeg aba “gameplay”(secuenciadejuego)u ilizandolaaplicación
deUploadysuca ac e ís icaDVR(Digi alVideoReco de ).Pa au iliza es aca ac e ís icaes
necesa io ene se icioGold.
‐ (Exclusi oXBOXOne)Reconocimien opo Kinec dela ozpa aaccede alasdis in asaplicaciones
‐ (Exclusi oXBOXOne)Reconocimien o acialpo Kinec pa aaccesoalsis ema.
‐ (Exclusi oXBOXOne)Sis emadeedicióndelosgameplaysp e iamen eg abados.Pa aes oes
necesa iodispone delse icioGold.

Usua iosylog os

‐ El Game sco e es un sis ema de acumulación de pun os que e leja el núme o de
achie emen s que ha acumulado un usua io de Xbox Li e mos ando el núme o de pun os
acumulados. Es os pun os dependen de los achie emen s conseguidos, que ienen
asociados pun os. El Game sco e leja la suma de los pun os o als.
‐ Pa apode accede alapa adosocial,losusua iosdebenes a  egis adosenXBoxLi e.Pa aello
deben ene asociadoungame ag.Elgame ageseliden i icado decadausua io,ycon o meaél
seaccedeasugame ca d,lacualincluyea a a ,game sco e, epu acióndeusua ioojuegosalos
queelusua iohajugado ecien emen e.
‐ Losachie emen ses ánasociadosalosjuegosysonlimi adospo losmismos.Sede inenpo los
desa ollado es.Tienenasociadospun osdejuego.


Figu a20:Log osdeusua ioXboxLi e
‐ Elsis emaT ueSkillpe mi ealosusua iosse  ecolocadospa aunacompe i i idadsimila en elos
dis in osequiposenjuegosonline,demane aquecadajuegosea ancompe i i ocomoseaposible.
La epu acióndeunusua iodependedelos o osqueo osusua ios ealizansob eellosal
in e ac ua enjuegos,yes isibledesdesugame ca d,jun oasuspun osdejuego o ales.

Página55|193


Figu a21:Repu acióndeunjugado XboxLi e

‐ Sepuedenalmacena amigosdemane aquesepuedehace in e cambiodemensajesconelloso
e suslog os.

Figu a22:AmigosXboxLi e


‐ DesdeXboxGameS o e,la iendadeMic oso ,sepuedeaccede a ideojuegosocon enido
adicionaldelosmismos.

Página56|193


Figu a23:Accesoa ideojuegosycon enidoadicionaldeXboxGameS o e

‐ Losa a a espuedense modi icados.Pe mi encus omizaciónde opa,peinado,géne o, o madel
cue poo asgos aciales.Sepuedecomp a  opapa aela a a enla iendadeMic oso .


Figu a24:Pe sonalizacióndepe ilpe sonalenXBOX

‐ Exis eelconcep odeimagendeljugado , ambiénmodi icable,quesedis inguedelconcep ode
a a a enqueesen2dimensiones.Enlaimagenin e io ,queeselgame ca ddeunusua io,se
mues aunejemplodeA a a (elchicoconcascoen3dimensiones)y a iosejemplosdeimagende
jugado enlosamigos.

Página57|193


Figu a25:Imagendeljugado XboxLi e


Sección5.2.3. Plays a ionNe wo k


Figu a26:LogoPlayS a ionNe wo k
Eslapla a o madese iciosmul ijugado queponeSonyCompu e En e ainmen alse iciodelosusua ios
desussis emasPlays a ion3,Plays a ion4,PsVi ayPlayS a ionPo able.Su geen2006pa adesca gade
juegosenPlays a ion3yPSP.

Ca ac e ís icasyse icios

‐ C eacióndepa idasmul ijugado .Pa aello,adi e enciadeXBOXLi e,nosenecesi adispone de
unse icioespecial,sinoque odousua iopuedec ea la.
‐ Cha sde ozyde ex oen elosusua ios.Pe mi elain e acciónen elosusua iosdelsis ema
Página64|193


Figu a36:Pun osdeXPdeGooglePlayGames

Sección5.3. Resumenyadap aciónalp oyec o

T aseles udio ealizadodelasdi e en espla a o mas,seobse aque odas ienenencomúnuna
implan acióndelog os.Es opuedese debidoalimpac oque ienensob elamo i aciónqueob ieneun
usua ioalaho adejuga ,yaqueamedidaqueseconsiguenlasinsignias,seconsiguenlog ospe sonales
pa acadausua io.Conside amos i allamo i aciónpa aunes udian e,conloquealamo i aciónales udio
queseconsiguemien assejuega,seleañadeunamo i aciónex adeob ene log ospe sonales.Es os
log ospe sonalesasu ez,implicanqueunusua ioob ieneconocimien o.Pa aunjuegoeduca i o,las
insigniassonunaliadodoblepa aelusua ioyaqueconsiguealapa es osdoselemen osesencialespa ael
p og esodeles udian e,yanomb ados,quesonelconocimien oylamo i ación.
Ningúnsis emadelog osesigualpa adospla a o massepa adas.Despuésdeles udiodelasdi e en es
implemen aciones,adop amosunamane asimila alaimplemen acióndeMic oso (XboxLi e)basadaen
asocia pun osasusachie emen s.Además,decidimosimplemen a algunasdelasca ac e ís icasdeés as
enunanue apla a o macompues anosólopo los ideojuegos,sinoasu ezpo unapáginawebdeacceso
alosmismosyunse ido quealmacenebasededa osdeinsigniasob enibles,usua iosyse icios.Enel
capí ulosiguien esehabla ádelasdi e en espa esdelapla a o mayde odoslosse iciosysis emasde
ges ióndeusua ios,g uposeinsignias.


Página65|193

BloqueII
Desc ipcióndel
sis ema

Página66|193



Página67|193

Capí ulo6. Elsis emaOlimpiadaFDI
Una ezseha isualizadoelp oblemayhemosanalizadolasca ac e ís icasdelossis emasimplemen ados
enlosquenos amosainspi a ,dedica emoses ecapí uloaladesc ipcióngene aldelasoluciónp opues a.
Laes uc u adees ecapí uloes a á o madapo unadesc ipciónglobaldelsis emaamododein oducción,
pa apos e io men eanaliza concep ualmen esuspa espo sepa ado,en elasqueseencuen anla
in aes uc u adese iciosbackend,lapáginawebo ien adaausua iosylosjuegos.
An esdeen a enma e ia,ypa aen ende las elacionesen elasdi e en espa esdelsis ema,amodode
in oducción, amosaexplica inicialmen eloquenues apla a o maen iendepo insignia.
Unainsigniaesunlog oob enidopo unjugado pa aunjuegoconc e o,de inidapo eljuego,aco deala
consecucióndeunobje i ouobje i osde e minados.Enlaimplemen acióndeunainsigniaennues o
sis ema,unainsignia ieneasociadosunospun os,queseasignanalusua iodemane aqueamayo 
pun uaciónob enidamásal oseencon a áenlosdis in os ankings.
Elnomb ees áinspi adoenelcampus i ualdelaUni e sidadComplu ensedeMad id,quepe mi easigna 
alasasigna u asinsigniasqueunalumnopuedeob ene en uncióndeloslog osob enidosenuna
asigna u a.
Sehaninco po adoinsigniasanues osis ema,siguiendolosmodelosdelaspla a o masmul ijugado más
conocidas,conlossiguien esobje i os:
‐ Añadi  uncióndemul ijugado alapla a o ma,implemen andounsis emade ankingsyap obado
po o aspla a o masdeéxi ocon as ado.
‐ Apo edejugabilidadyen e enimien oal ene obje i oscla os.
‐ Nexodeuniónconelcampus i ualdelaUni e sidadComplu ensedeMad id,demane aquela
ob encióndeinsigniaspod íasupone ob encióndeinsigniadelcampus(es osecomen a áen
abajo u u o)

Página68|193

Sección6.1. Desc ipcióngene al


Figu a37:Desc ipcióngene aldelsis emadeOlimpiadaFDI

OlimpiadaFDIsecomponede espa es undamen ales:
‐ Unpo alpa aencon a losjuegosdeOlimpiadaFDI, e laspun uacionesyhace unseguimien ode
lasinsigniasdelosusua ios.
‐ Unbackenddese iciosRESTpa alages ióndeusua ioseinsignias.
‐ Unasui edejuegosamododeimplemen acionesde e e encia, ealizadoscondis in as ecnologías
ycen adosendis in asma e ias.
Todoses oselemen os o manunanue apla a o mamul ijugado pa ajuegoseduca i osdi e sos,con
se iciossimila esalosdelaspla a o masdesc i asenelCapí ulo5.Aligualqueendichaspla a o mas,el
obje i oesquedis in osdesa ollado espuedanhace susp opiosjuegoscompa iblesconlapla a o ma
OlimpiadaFDI.
Así,elp oyec o ienecomonúcleoelbackenddese iciosREST.Es ebackendeselqueges ionalaslis asde
usua ios,lle alacuen adelasinsigniasdisponiblesencadajuego,ges ionalaasignacióndeinsigniasacada
usua io,almacenalosg uposypun uacionesdecadausua ioy,engene al,ges ionalalógicadelas
compe icioneseinsignias.
Página69|193

Es ebackendo ecese iciosquees ándiseñadospa ase usados an opo losjuegoscomopo elpo alde
OlimpiadaFDI.Elpo alpe mi ealosusua ios egis a se,encon a losjuegos, o ma losg uposy e los
pe ilesdecadausua ioconsuspun uaciones,ni eldeexpe ienciaeinsignias ecibidas.Elpo alesla o ma
más isibledein e acción,pe o odaslasope aciones ealizadasenelpo alse egis anenelbackenda
a ésdelosse iciosweb.Enlap ác ica,es ope mi i íaunmodelosimila aldelse icioS eam(Sección
5.2),quepe mi ein e ac ua indis in amen ea a ésdelawebdeS eamodeaplicacionesdesa olladas
pa alasdis in aspla a o mas(Windows,OSX,Linux,iOSyAnd oid).
Asu ez,elbackendo ien adoase icios ambiénpe mi equelosjuegossecomuniquenconelse ido 
pa ain e cambia in o macióndeusua ios(e.g.login)ypa ano i ica cuándounjugado consigueuna
insigniaconc e a.Alse unaAPIdese iciosRESTabie a,losdesa ollado essimplemen e end íanque
hace susjuegoscompa iblescones aAPIpa apode  egis a badgesennues osis ema.
Pa aejempli ica es emodelo,hemosdesa ollado ambiénunconjun odejuegos,implemen adoscon
dis in as ecnologíasyen oques,pa aejempli ica comonues ain aes uc u apod íada sopo eaun
ecosis emadejuegosmuy a iadosendis in aspla a o mas.
Enlasp óximasseccionessedesc ibenmása ondoes os escomponen esp incipalesdelp oyec o
OlimpiadaFDI(elbackend,elpo aldejuegosyelconjun odejuegosdesa olladoscomoimplemen aciónde
e e encia).

Sección6.2. APIspa ages ióndeinsignias

Pa alapa edeinsigniashemosc eadounaAPIquenosayudaages iona las, a a lasymos a las.
Comopa edeges ión enemos6mé odosquenospe mi en:
Tabla8:Mé odosdelaAPIdeges ióndeInsignias
Mé odoB e edesc ipción
Inse a usua ioInse aunusua ioenbasededa os(c ea usua io)
Inse a insigniaInse aunainsigniaenbasededa os(c ea insignia)
Inse a g upoInse aung upoenbasededa os(c ea ung upo)
Asigna insigniaausua ioAsignaunainsigniayac eadaaunusua ioyac eado
Asigna usua ioag upoAsignaunusua ioyac eadoaung upoyac eado
Bo a usua iodeg upoBo aunusua iope enecien eaung upo

Conellospodemos a a  odolo elacionadoconlac eacióndeusua ios,insigniasyg uposylasposibles
elacionesen eellos.

Página70|193

Pa alaimplemen acióndelawebylasu ilidadesqueo eceexis en7mé odosquenoso ecenlas
siguien es uncionalidades:

Tabla9:Mé odospa alaAPIdelasu ilidadesdelapáginaweb
Mé odoB e edesc ipción
Loginusua ioPe mi econunusua ioysucon aseñahace login
Ob ene insigniasdeusua ioRecibeunnomb edeusua ioyde uel eunalis aconsus
insignias
Ob ene pun osdeinsigniasdeusua ioRecibeunnomb edeusua ioyde uel elasumadelospun os
desusinsignias
Ob ene g upopo nomb edeusua ioRecibeunnomb edeusua ioyde uel eeliddelg upoalque
pe enece
Ob ene usua iospe enecien esaun
g upo
Recibeeliddeung upoyde uel elosnomb esdelosusua ios
pe enecien esael
Ob ene  odoslosg uposNo ecibepa áme osyde uel e odoslosg uposexis en esen
basededa os
Ob ene  odoslosusua iosNo ecibepa áme osyde uel e odoslosusua ios
pe enecien esenbasededa os

Es onospe mi edeja accede aunusua ioalaweb,yuna ezden omos a le odalain o maciónque
solici e elacionadaconlasinsigniasylosg upos.
Con odoses osmé odosconseguimosla uncionalidadbuscadaenlain aes uc u ayenlapáginaweb.
Todosellosseencuen andisponiblesa a ésdelasu lsde alladasenelanexo.

Sección6.3. Po aldeOlimpiadaFDI

Sienelapa adoan e io hemosenume adoalgunosdelosse iciosqueo ecelapla a o mamedian esu
back‐end,elusua iodebese capazdeaccede alosmismos.Pa aello,sedesa ollaun on ‐endconelque
elusua ioin e ac úa.Elusua iosepuedecomunica demane adi ec aconunpo alqueasu ezse
elacionadi ec amen econlosjuegos,lanzándolos;yconelback‐endpo mediodese iciosREST.
Noescondiciónnecesa iapa aelaccesoalosjuegosqueelusua ioaccedaalpo al.Sinemba go,síloes
pa aaccede alag anmayo íadesusse icios.Pa aelaccesoalpo al,esnecesa ioqueelusua iose
egis e.
Página71|193

Den odelpo al,sepuedeaccede ala isualizacióndelasinsignias,ala isualizacióndeg uposdeusua ios
y ankings an odeusua ioscomodeg upos.Ademásdees o,exis elaposibilidaddeaccede aalgunos
juegosdisponiblespa alapla a o maenlaquenosencon emos.Pa aés as,see ec úaunadi e enciación
demane aqueaco dealapla a o maenlaquenosencon emos,la isualizacióndelpo alse ádi e en e,
en uncióndel amañodelapan allaquesees éu ilizando.

Funcionalidadde allada

Enes asecciónseenume anlasposibilidadesqueo eceelpo al
‐ Regis oenlaaplicación:Esnecesa iopa aelaccesoal es odelosse icioseles a  egis ado
den odelaaplicación.

Figu a38:Regis oenlaaplicacióna a ésdelapáginaweb

Seincluyeel egis oenlapo adadelpo al,pa a acili a alosusua ioselmismo.
‐ Iden i icacióndeusua io:Losusua iosseco espondenaunid.Cadausua io ieneasignadauna
con aseñaquepe mi esuiden i icación.És asepidejun oasunomb edeusua iodesdelapo ada
delpo al.Pa aeliniciodelasesión,quepe mi eelaccesoalosse iciosgene alesdelsis ema,se
debeninse a ambosenlaba asupe io .


Figu a39:Logindelapáginaweb

‐ Accesoajuegos:Alinicia lasesión,enlapáginadeinicio,selis anlosjuegosalosqueesposible
juga (quepod íanse dependien esdelapla a o maenlaquenosencon emos).

Página72|193


Figu a40:Accesoajuegosdesdelapáginaweb

‐ C eacióndeg upos:Sielusua ionope eneceaung upo,selepe mi elaopcióndec ea sup opio
g upo,enelquequedainse adopo de ec oalins an edesuc eación.

Figu a41:C eacióndeg uposdesdelapáginaweb

Página73|193

Ales a enung upo,semodi icalaba ala e al,demane aquepe mi aalusua iosali delg upo
enqueseencuen aynope mi ac ea o og upo(unusua iosolopuedepe enece aung upo)


Figu a42:Ba ala e aldelaweb

‐ Sali delg upo:Pa aes ese iciosepidelacon i macióndelusua io

Página80|193

Acon inuación,nosapa ece ála en anap incipalenlaquesedesa olla á odoeljuego(Figu a51).Cons a
de espa es:
∙

Leyenda(pa eizquie da),dondenosapa ece ácuálessonlosseisdis in os iposdep egun as
posibles.
∙

Time (pa esupe io de echa)conunacuen aa ásquecomienzaconun alo iguala60segundos.
∙

Panel(pa ein e io de echa)dondeapa ece ánlassucesi asp egun asconsusco espondien es
espues as.


Figu a51:Ven anap incipaldeljuegoQuick es pa aaplicacióndeesc i o io

Elusua iopulsa ála espues aquec eaco ec aencadacaso.Noapa ece áunanue ap egun ahas aque
se espondaco ec amen ealap egun aac ual.Sielusua ioconsigueace a ensup ime in en ose
con abiliza áunacie onosiendoasísise equie edemásin en os.Eljuegocon inua ásucu sohas aquela
cuen aa ásllegueasu inohayanapa ecidoysehayancon es adounmáximode10p egun as.
Finalmen e,como emosenlaFigu a52,elusua iopod á isualiza unpequeño esumendelas
insigniasquehaob enidoenlapa ida.


Página81|193


Figu a52:Feedbackdelasinsigniasob enidaseneljuegoQuick es pa aaplicacióndeesc i o io

And oid:
Alcomenza laaplicación,elusua io isualiza álapan alla(enAnd oidsellamanAc i i ies)delogin,donde
pod áinse a sunomb edecuen aycon aseña.


Figu a53:InicioQuickTes enAnd oid

Página82|193

Enesamismapan alla,siseac i ael ecuad ode“Reco da losde allesdemicuen a”,segua da ánlos
da osdelacuen a(nickycon aseña)enlamemo iain e nadel elé ono;delocon a io,sebo a án.
T ases o,semos a áalusua ioelmenúp incipal,desdedondepod ácomenza unanue apa ida, e isa 
lapun uación,osali delaaplicación.

Figu a54:MenúQuickTes enAnd oid

Laúl imaopciónes i ial,laaplicaciónsecie a asunb e emensajededespedida.Lasegundaopción,la
depun uación,mos a álain o macióndelaúl imapa ida,yca ga álasinsigniasque engadesbloqueadas
enesemomen oeljugado .
Página83|193


Figu a55:Pun uaciónúl imapa idaQuickTes enAnd oid

Laopcióndecomenza pa idainicia áunnue ojuego.


Figu a56:Pa idaQuickTes enAnd oid

Página84|193

Elp ocesoasegui essimple,lasp egun assei ánsucediendouna aso a,has aunmáximode10ohas a
queel iempollegueasulími e.T ascada espues a,secomunica áalusua iosiseha espondido
co ec amen eono.Sisecumplenlascondiciones,ysedesbloqueaunainsignia, ambiénsecomunica áal
usua ioeneseins an e.T as inaliza lapa idasemues aalusua iolapan alladepun uaciones.

AplicaciónWeb:
Alclica enlawebsob equick es ,comienzaelcon ado abaja desdelos60segundosylasp egun asa
apa ece .Cabe esal a quenonecesi adeunlogindadoqueseman ienelasesióniniciadaenelpo al.En
odomomen osepuedeobse a lapun uaciónob enida,asícomoel iempo es an e.Cadap egun a iene
cua o espues asposibles.Lap egun asedi e enciadelas espues aspo elcolo de ondoazul,po el
ama illodelas espues as.

Figu a57:Vis adelasp egun asenaplicaciónWeb

T as inaliza unapa ida,ob enemosun esumenqueincluye,ademásdeliddelusua io,las espues as
ace adasdecadaca ego ía,el iempo es an e,lapun uaciónob enidaylasinsigniasob enidasenla
i e ación.Además, ieneenlacespa a ol e ajuga unapa idao ol e alapáginap incipal.

Página85|193


Figu a58:Resul adoQuickTes enaplicaciónweb

Sección7.2. T i ial

Disponibilidad:Aplicacióndeesc i o ioyaplicaciónweb.
De inición:Eljuego a ade esponde unmayo núme odep egun asposiblesden odeunde e minado
cuan ode iempo.Enes ecasonose ácomoenun i ialcon encionalenelquecompi escon ao o
jugado sinoqueaho aconsis eenen en a seunomismoaunase iedep egun asacon a eloj.
Desa ollodeljuego:
In en a emossimula un able ocondis in ascasillasdeseis iposdep egun asdi e en es,o ascasillasde
epe icióndelanzamien odeldadoyunaespecial,lacasillacen al.Lossal osen ecasillasdepende ándel
lanzamien odeundado.Elmo imien odeldadodesencadena áun ipodep egun auo a elacionadacon
asigna u asdenues aca e adeseisca ego íasdi e en es,queenp incipiose án:
‐ P og amación(ma ón)
‐ Ingenie íadelso wa e(ama illo)
‐ Basesdeda os(azul)
‐ Redes(na anja)
‐ Sis emasope a i os( osa)
‐ Compu ado es( e de)
Una ezeljuegonoshaa isadosob equéasigna u aes á elacionadalap egun a,és aapa ece áyno
desapa ece áhas aquehayamoscon es ado.Independien emen edesila espues ahasidoco ec ao
e ónea,elp ocesoquesesegui áse ásiemp eelmismo.
Selle a áelcuan odeun elojqueinicialmen e end ácomo iempomáximo180segundos,dec emen ando
con inuamen e.Noseha ánbonuseneljuegodemane aqueaumen eodisminuyalacan idadde
segundos.
Alcon es a alasp egun as.sea isa áaljugado desihaace adoonopo la espues ama cada, ol iendo
alanza eldadoindependien emen edelacie oo allodelamisma.


Página86|193

Encasodeace a ,selle a áunapun uación(lacualob iamen ealiniciodelapa idase á0)que
aumen a ásiguiendolassiguien escondiciones:
 P egun ano mal:suma1pun o
 P egun adequeso:suma2pun os
 P egun acen al:suma3pun os(es oesdebidoaquelap egun acen alno ieneca ego íaypuedese 
decualquie  ipodeasigna u a)
Al inaliza ,semos a áunapan allaconlasinsigniasquehalog adoeljugado du an esupa ida.Es as
insigniasse án ambiénalmacenadasenlabasededa osenelcasodequeeljugado nolas u ie a.

Insigniasob enibles
Elnúme odecadainsignia ep esen aasuidenlabasededa osdeinsignias(de inidaenelcapí ulodel
se ido )

Tabla11:InsigniasT i ial
IDNOMBREDESCRIPCIONPUNTOS
101PREMIO!Gana unqueso 50
102VAYARACHA5p egun asseguidas200
103AMOYSEÑOR10p egun asseguidas 500
104ALAZARacie alacasilladelcen o 50
105RATÓNConsigue odoslosquesos300
106PUNTOSConsegui másde30pun os 100

Ejemplosdepa ida:
Aplicacióndeesc i o io:
EljuegodelT i ial ueelsegundojuegoqueimplemen amosenes a ecnología.Lapa equese e ie e an o
allogincomoala edi ecciónalapáginawebpa a egis a unnue ousua io, uncionadeigualmane aque
enlosdemásjuegosimplemen adosenJa ape o ieneunaspec odi e en e( éaseFigu a59).

Página87|193


Figu a59:Ven anadeLogindeljuegoT i ialpa aaplicacióndeesc i o io

An esdecomenza eljuego,hayuna en anainicialenlaque end emosunapequeñap esen ación isual
deljuegoyenlaquedecidi emossisali oempeza de ini i amen elapa ida.


Figu a60:Ven anainicialdeljuegoT i ialpa aaplicacióndeesc i o io
Página88|193


La en anap incipaldejuego,aligualqueenelQuickTes ,secomponede essubpaneles(Figu a61).Cada
unodeellos ienelasiguien e inalidad:
∙

Leyenda(pa eizquie da),queenes ecasoademásdeapa ece noscuálessonlosseisdis in os
iposdep egun asyelcolo delacasillaconelquees án elacionados, end emosunaimagen
es á icadel able oconcadaunadesuscasillasma cadas, an osisoncasillasno males(consu
espec i anume ación)comosisoncasillasconp emio.
∙

Time (pa esupe io de echa)conunacuen aa ásquecomienzaconun alo de180segundosy
quecomenza áenelmomen oenelque i emoslosdadospo p ime a ez.Inicialmen e,pod emos
isualiza  odala en anadejuegoyés enocomenza áhas aqueasíloindiquemos(Ven ana
eme gen epa apode  i a losdados).
∙

Paneldep egun as(pa ein e io de echa)dondeapa ece ánlassucesi asp egun asconsus
co espondien es espues as.Inclusi e, end emosen odomomen oun eedbackdecuáles
nues apun uaciónac ualyelnúme o an odep egun ascomode espues asace adas.
Au omá icamen edespuésde i a losdados,eljuegocomenza áyseac ualiza án odoslosda os
pe inen es.Lacon inuacióndeljuegoqueda áalaespe adequeelusua ioelijaunaposible u u acasilla
des inog aciasaunpequeñocomboBoxeme gen e.


Figu a61:Ven anap incipaldeljuegoT i ialpa aaplicacióndeesc i o ioI

Una ez ealizadadichaelección,apa ece áenelpanelin e io unap egun adel ipoqueseco espondecon
lacasillaalaquenoshemosmo ido.Encasodeace a lap egun aseac ualiza án ambiénlosma cado es
opo unos(silap egun a eníap emio, e emosquenues ocasille odequesosseinc emen a)yal
Página89|193

con a ioqueeneljuegoan e io ,sila espues aelegidahasidoe óneasecon inua áconelbucledeljuego
sincon abiliza nidec emen a lospun os(Figu a62).

Figu a62:Ven anap incipaldeljuegoT i ialpa aaplicacióndeesc i o ioII

Po úl imo,cuandoel iempo inalice end emoslaopcióndecon es a únicamen eaunap egun amás.
Inmedia amen edespués,eljuego inaliza áysemos a áuna en anaconelpequeño esumendeInsignias
ob enidasdu an elapa ida.

AplicaciónWeb:
Secomenza áenel able oconuncuan ode iempode200segundos.Pa aa anza ,debeclica seenel
dado.
Página96|193

Elp ocesoasegui eselsiguien e:Semues aalusua ioun agmen odecódigoenunpseudolenguaje
pa ecidoalqueseenseñaenlaasigna u aEs uc u adeDa osyAlgo i mos;yelusua iodebe áencon a 
los allosdelmismo,seleccionandolaslíneasquec eae óneas.Cuandoc eahabe  e minado(lose o es
o alessemues anenelenunciado),pulsaelbo óncomp oba .Sisecumplenlascondiciones,yse
desbloqueaunainsignia, ambiénsecomunica áalusua ioenesemismoins an e.
T as inaliza lapa idasemues aalusua iolapan alladepun uaciones.

Sección7.4. Hacke boy

Disponibilidad:aplicaciónweb
De inición:Eljuego a adeap ende aman ene lasegu idaddesis emasin o má icosde o ma eó ica,y
ap ende adi e encia en elasdis in asamenazas.Elusua ioa a ésdeni elescondi e en edi icul adi á
eco iendouna ed.Sei ánob eniendopun osamedidaquea anzalai e acióndeljuego,ycon espec oa
losmismosyadi e en esobje i ossei ánob eniendoinsignias.
Desa ollodeljuego:Eljugado comenza áenuna edque,inicialmen e,no ieneamenazaalgunacolocada.
Toda ezquecomienzalai e aciónal ededo delascasillas,lasamenazaspuedenapa ece alaza en u nos
de e minados.Enes epe iodosepe mi i ácomp a obje osycoloca losendis in osapa adosdela ed.Se
pod áa anza en epan allaspa acoloca losdis in osobje oscomp adosenlasdi e en escasillasdel
juego.Losobje oscomp adoses a ánlimi adospo elp esupues oinicial.
Elmapaes a ácompues opo Ncasillas,siendoNelnúme odesub edesque end emosquep o ege .Se
pod ásal a en esub edes,median e lechas(c i e ioescogidodebidoaloin ui i oquepuedese ypo se 
unclásicomé ododemo imien oen ideojuegosdepla a o mas).En odomomen osepod áaccede aun
mapaquemos a á odaslassub edesyencualnosencon amos.
Den odecadaunadelassub edespod emosllega a e laexis enciaoausenciadeamenazasdelasub ed
indi idualenquenosencon amos.Es asamenazaspuedenapa ece alaza .
Dependiendodelasmismas,see ec ua ánmedidaspa aelimina las.Lalocalizacióndeamenazaspe mi i áal
usua ioap ende elconcep odelogdeunsis ema.
Amedidaqueseeliminenamenazas,nues oje edeemp esanosen ega ádine oquepod emosu iliza 
pa acomp a nue oselemen osdede ensa.
Lospun ossepod ánconsegui :
‐ Comp andoelemen osdede ensamedian edine o(és esólose áob eniblemedian e e ibución
delje e)
‐ Eliminandoamenazas.

Segúnse ayanconsiguiendodi e en esobje i os,seob end áninsignias,quese ánlasquepos e io men e
pe mi ansuma pun osyaumen a el anking.

Lasamenazasapa ece ánenmayo omeno medidaen uncióndelni elenelquenosencon emos.
Selle a áuncon ado demane aquecuandoés ellegueace oacaba álapa ida.
Ca ac e ís icasespecí icasdelni el ácil:

Página97|193

‐ Nosedis ingueen e iposdeamenazas.Sepuedenencon a gusanoso oyanospe onose
di e encian.
‐ Sedisponedeuna iendaquepe mi ecomp a  i ewalloan i i usdedis in osni eles.
‐ Los i ewallpod ánbloquea elmalwa een an e.
‐ Losan i i uspod ánde ec a gusanosy/o oyanos.
‐ Segene amalwa ecada5mo imien os.
‐ Logs ensiexis emalwa eaunquenosehayain o madodesdeelan i i us
‐ Las edesse ánde3x3,ydisponibleunmapaenelqueseobse adóndees ásen odomomen o.




Ca ac e ís icasespecí icasdelni elmedio:
‐ Sedis ingueen e iposdeamenazas.Sepuedenencon a gusanoso oyanosysedi e encianen
quelosgusanospuedenau o eplica seeno asmáquinas.
‐ Sedisponedeuna iendaquepe mi ecomp a  i ewalloan i i usdedis in osni eles.
‐ Los i ewallpod ánbloquea elmalwa een an e.
‐ Losan i i uspod ánde ec a gusanosy/o oyanos.
‐ Logssoloin o mandemalwa esisehagene adolain o maciónpo mediodean i i us.
‐ Sepod áhace unamoni o izaciónmanualdemane aquesemues enlosgusanosy oyanos.
‐ Segene amalwa ecada4mo imien os.
‐ Las edesse ánde4x4,ydisponibleunmapaenelqueseobse adóndees ásen odomomen o.

Ca ac e ís icasespecí icasdelni eldi ícil:
‐ Sedis ingueen e iposdeamenazas.Sepuedenencon a gusanoso oyanosysedi e encianen
quelosgusanospuedenau o eplica seeno asmáquinas.Además,mayo núme odeamenazas.
A aquessmu ,DoSalmenos,escaneodepue os?.(po  e implemen ación inal)
‐ Segene a ánin o mesdeincidenciasamedidaquesea anzaeneljuego.
‐ Sedisponedeuna iendaquepe mi ecomp a  i ewalloan i i usdedis in osni eles.
‐ Los i ewallpod ánbloquea elmalwa een an e.
‐ Losan i i uspod ánde ec a gusanosy/o oyanos,conmuchameno e icienciaqueeno os
ni eles.
‐ Segene amalwa ecada3mo imien os.
‐ Las edesse ánde5x5,ydisponibleunmapaenelqueseobse adondees asen odomomen o.

Insigniasob enibles:

Tabla13:Insigniaspa aHacke Boy
IDNOMBREDESCRIPCIONPUNTOS
201NOOBHACKER Consiguemásde300pun osenni el
ácil
50
202EMPEZANDOAHACKEARConsiguemásde500pun osenni el
medio
100
Página98|193

203NEOConsigue1000pun osenni eldi ícil200
204CAZAALPITUFO Consiguede ene aunpi u oenun
a aquesmu 
50
205PISAGUSANOSDesac i aun i usqueya ehan
me ido
100
206THEWALLConsigueque usco a uegosbloquee
á iconodeseado
100
207INFILTRADODesac i aalgún oyano 150
208TUSPRIMEROSPASOSMi aenlogs,ins au aco a uegos100


Ejemplodepa ida:


Figu a72:Hacke Boy(1)

Página99|193

Secomienzaenlacasilla1‐1 espec oaldi e en enúme odecasillas.Amedidaqueeljugado clicasob elas
lechas e des,a anzapo lasdis in ascasillas.Soloapa ece ánlas lechasdelascasillasaccesibles.


Figu a73:Hacke Boy(2)

Sielusua ionecesi alocaliza seden odeljuego,puedeconsul a en odomomen olaposiciónenlaquese
encuen apulsandoenelmapa(imagensi uadaenlaesquinasupe io de echa)

Figu a74:Hacke Boy(3)

Página100|193

Clicandosob eelbo óndela ienda(esquinain e io izquie da)elusua iopuedeaccede alapan allade
iendaycomp a ins umen osdede ensa en eaposiblesamenazas.Elusua iodebepaga po ellasconel
dine oque ieneaco dealosp ecioses ablecidosenla ienda.

Figu a75:Hacke Boy(4)


Lacomp aseasociaalacasillaenlaqueseencuen e.

Pulsandoelbo ónlog(bo ónin e io de echa)sepuedenobse a lasamenazasden odelacasilla
localizada.
Página101|193


Figu a76:Hacke Boy(5)


Figu a77:Hacke Boy(6)

Enelcasodepulsa elbo óna egla amenazas,si uadoalade echadelaimagendelin es igado cen alde
lapan alla,exis endosopciones:Casodequeexis aunaamenazaelusua ioeliminalaamenaza,conun
mensajeindica i odelasi uación.

Página102|193


Figu a78:Hacke Boy(7)

Encasodenoexis i dichasamenazas,po nohabe mi adoellogdondedebíain o ma sedebidamen e,el
usua iopie depun os,aloquesea isaconelco espondien emensajeindica i o.



Figu a79:Hacke Boy(8)
Página103|193


Finalmen ecuandoseacabael iempo,se ecibein o maciónsob elasinsigniasob enidasdu an elapa ida.

Sección7.5. Bad abbi sdieha d!

De iniciónJuegoo ien adoalaenseñanzadelap og amaciónconpa alelismoen elaaplicaciónylas
p opiedadesdelap og amación.Po mediodedis in aspan allasse a a ándeenseña algunosconcep os
básicosdelap og amación,po ejemplo:
‐ Va iablesy ipos
‐ Reco ds
‐ Funcionesconysinpa áme os
‐ A ays,ma ices
‐ Sen enciasi ,bucles

Encadaunadelaspan allassedebeconsegui e i a lamue edelosconejosmedian eusodehe amien as
inhe en esalapan allaquesimulanelemen osca ac e ís icosdelap og amación.See i aelusodecódigo
dadoquees áo ien adonoaap ende unlenguajedep og amaciónsinolosconcep osbásicosdelamisma.
Desa ollo:Inicialmen e,elusua ioelegi áelni elquequie ejuga .
Cadapan alla/ni el ienenencomún:
1) Somosunconejoconcapacidadlimi adadehace magia.
2) Posibilidaddemo i po pa edelconejo.
Elobje i odecadapan allaese i a lamue edelconejo.En odomomen ohayunbo óndeabandonode
mane aqueelconejosesuicida.Elobje i odees ebo óneseldeda pun ode e o noenelmomen oenel
quelamagiasehaago adopo pa edelosconejos.
Exis enexplicacionesencadapan allademane aquecuandounjugado nosepaunconcep opueda
isualiza las,oap endalos iposdeconju osquesabeelconejoalquein en a emossal a ,po loquese á
necesa iodocumen a seencadani el.Es adocumen aciónnose áenningúncasoex ensaenningunode
losni eles.
Laposibilidaddehace magiaan esdequeseago esimulaunac odep og amación,comosisees u iese
implemen andouna unciónalaqueelusua io ijalos alo esdelospa áme os,demane aquesepuedan
ob ene  esul ados an oposi i oscomonega i ospa aelconejodelaaccióndehace magia.

Insignias
Tabla14:InsigniasBadRabbi sdieha d
IDNOMBREDESCRIPCIÓN PUNTOS
301DOMINAVARIABLESgene a usp ime as a iables 100
302DOMINAFUNCIONESgene a usp ime as unciones100
Página104|193

303SUICIDApe de a ecesnoes anmalo50
304IFdominasen enciasi 100
305LOOPYLOOPgene a usbucles150
306ARRAYdominaa ays 100
307MAGICIANacabaunni el50
3081BY1acabaelmodohis o ia 450
309MENDELdominahe encia200



Ejemplodepa ida:

Elusua ioseencuen ainicialmen eenunasi uaciónenlaquecabelaposibilidaddequeunoo a ios
conejosdispe sospo lapan allapuedenmo i .Elobje i oessal a los.En odomomen o iene esbo ones
condi e en esopciones,ins ucciones, endi seohace magia.

Figu a80:BadRabbi sdieha d

Página105|193

Amenosqueelusua iohayajugadoalni elenelqueseencuen a,se ecomiendaqueinicialmen esepulse
elbo óndeIns uccionespa alocaliza obje i osdelni el.

Figu a81:BadRabbi sdieha d
Enelmomen oenquelosusua iosse inden,losconejosnosob e i en.

Figu a82:BadRabbi sdieha d
Enelcasodeusa lamagiapuedenda se esdi e en essi uaciones.Lap ime adeellas,quelamagiaes é
malejecu ada.Endichocaso,losusua iosnosob e i en.
Página112|193




Página113|193

BloqueIII
De allesde
implemen ación

Página114|193






Página115|193

Capí ulo8. Implemen ación:In aes uc u ade
se iciosbackend
Enes ecapí ulo a a emoslaimplemen acióndelse ido y odoslo elacionadoconelmismo.
Comenza emoshablandodelse ido ylacon igu ación ealizadapa aeldesa ollodelp oyec o.A
con inuaciónpasa emosahabla delas ecnologíasu ilizadas,ylosmo i osdelasdecisiones omadas.
Finalmen ehabla emosdelabasededa osu ilizadapa alape sis enciadelse ido , e minandopo da 
unab e eexplicacióndelaes uc u au ilizadaconlasimágenesdelabasededa osylas ablasc eadas.
Laa qui ec u au ilizadaesclien e‐se ido .Enes aa qui ec u apodemosdi e encia po unladolos
clien es,quese ánlosconsumido esdelosse iciosypo o oladoelse ido quese áelexposi o delos
se icios.
Es uc u almen e,es ecapí ulocons ade a iosapa ados.Enp ime luga habla emosdelse ido que
amosau iliza ,loquenecesi a emospa apone loenma chaylasdecisionesdeimplemen ación omadas
conexplicacionesdecadauna.Acon inuaciónpasa emosahabla delabasededa os,comenza emos
explicandolabasededa osu ilizadaylahe amien ausadapa amaneja la.Acon inuaciónexplica emosla
implemen acióndelabasededa osdesa ollada,mos andolas ablasylac eacióndelasmismas.
Finalmen ehabla emosdelosse iciosexpues osenlaAPI.


Figu a90:Es uc u adelse ido 

Sección8.1. Se ido web

Else ido queu iliza emospe enecealaUni e sidadComplu ense.Lap opia acul adnos acili a áun
sis emaope a i oLinux,Ubun uSe e ,elcualnosse ábas an eú ilyaqueapesa deno ene in e az
g á ica ieneunmanejonodemasiadocomplicado.
Sob ees esis emaope a i o,en egadolimpio,ins ala emos odolonecesa iopa apode pone enma cha
losse iciosquenecesi amos.Losse icioswebquedecidimosimplemen a , ases udia queseadap amás
anues asnecesidades, ue onse iciosREST(Rep esen a ionalS a eT ans e oT ans e enciadeEs ado
Página116|193

Rep esen acional).Conlosse iciosRESTdesa olladosenJa aconseguimosunabuenain e azpa aXMLy
HTTPman eniendocie asimplicidadquenospe mi een ende  odoco ec amen e.Es osse icioscumplen
a ias eglasdediseñoquesoncla es:
 Unp o ocoloclien e/se ido sines ado:cadamensajeHTTPcon iene odalain o maciónnecesa ia
pa acomp ende lape ición.Como esul ado,nielclien enielse ido necesi an eco da ningún
es adodelascomunicacionesen emensajes.
 Unconjun odeope acionesbiende inidasqueseaplicana odoslos ecu sosdein o mación.
Siendoenes ecasoJSONdelquehabla emosmásadelan e.
 Unasin axisuni e salpa aiden i ica los ecu sos.Enunsis emaREST,cada ecu soesdi eccionable
únicamen ea a ésdesuURI.
Todoes onospe mi equelosse iciosseancomunespa alasdis in aspla a o masimplemen adas,quese
puedallama desdeja a,h mloand oid,únicamen ein ocandolaURIexpues a.Es onosse ámuyú ilpa a
pode implemen a juegossimila esendis in aspla a o masyaqueg anpa edelalógicasindepende dela
pla a o mala ealizaelse ido .
Lasope acionessehan ealiza ánconJSON(Ja aSc ip Objec No a ion),un o ma oqueapo alige ezapa a
elin e cambiodeda osyqueasu ezno equie eelusodeXML.Lamo i acióndeu iliza JSON
p incipalmen eeslasimplicidadque ienesupa seopa aob ene losda osquecon iene, eniendoen
algunaspla a o masmé odosyadiseñadospa aello.
Es uc u abásicadelJSON:


Figu a91:Es uc u abásicadeJSON(Fuen e:h p://json.o g)

Una ezde inidoel ipodese iciosqueque íamosu iliza pensamosen a iosse ido esdeaplicaciones
quenospodíanayuda pa adesplega los.Po losconocimien osque eníamosdesca amosalgunosynos
quedamosconApacheTomca yJBossApplica ionSe e .Como a iosmiemb osdelg upoyahabían
abajadoconJbossdecidimos inalmen eu iliza elJBossApplica ionSe e yaqueconocíamosmás
uncionalidadesyademáses ábamosmás amilia izadosconelen o nog á icodecon igu aciónqueo ece.
Cones oya eníamoselcomienzopa apode desplega nues osse icios.Comoé amosconscien esque
odalalógicaque ealizábamosenlosse iciosnecesi a íaunacapadepe sis encia,decidimosin oduci 
unabasededa osquedie ase icioanues odesa ollo.

Sección8.2. Basededa os

Labasededa osin oducida uePos g esSQL,basededa oso ien adaaobje os, elacionalylib e,publicada
bajolalicenciaBSD.Pa apode accede aelladesdeelcódigoJa au ilizamosunahe amien ademapeo
Página117|193

Obje o‐Relacional,Hibe na e.Es ahe amien a,decódigolib e ambiénbajounalicenciaGNULGPL,es
lexibleencuan oalesquemade ablasu ilizado,locualnosayudababas an eyaquelade iniciónde
nues abasededa ossu ió a ioscambiosalola godelp oyec o.Lamane aenlaqueu ilizamosHibe na e
uec eandobeanspa acada ablaalaquenecesi ábamosaccede yañadiendoleslasano aciones
co espondien es.


Figu a92:A qui ec u adeHibe na e(Fuen e:h p://www.online ech ision.com/hibe na e‐o e iew/)

Pa alages ión/accesodesdesis emaope a i ohemosu ilizadodosmane asdis in as:
 DesdeUbun u(p opiose ido ),accesoa a ésdelaconsolao ecidapo Pos g eSQL,psql,desdela
cualpodíamos ealiza cualquie accióna a ésdecomandos
 DesdeWindows(unamáquinaex e na),PgAdmin,unen o nog á icoquenospe mi e ealiza 
cualquie accióndeunamane amásamigablesy eniendouna isiónmásampliadelabasede
da os.
Finalmen econ igu amoselse ido pa aque ue aaccesibledesdeo osequipos,ya ue adesdeo o
equipoLinuxconuncomandosshodesdeunequipoWindowsa a ésdelúl imoso wa edelque
habla emosenes eapa ado,elPu y.

Página118|193

Pu yesunclien esshpa aWindowslib e.Conelconseguimosaccede alse ido ani elconsolapa a
ealiza cualquie acciónyala eznospe mi ía ealiza  unnelingpa apode accede alpue odelabasede
da osconelPgAdmin.Es eso wa enos acili ómucholages ióndelabasededa os,yaqueseexplicaba
an e io men e,podíamos ene unen o nog á icoquenosdabauna isiónmásampliadelamisma.

Sección8.2.1. Implemen acióndelabasededa os

Pa alasnecesidadesde odalain aes uc u ahemosc eadounabasededa osenlacualpe sis imos odos
losda osnecesa ios.
Labasededa oses ádi igidaagua da losusua ios,losg uposalosquepe enececadausua ioylas
insigniaslog adas.Es abasededa oscon iene odonecesa iopa alain aes uc u a,lawebylapa emás
social.Acon inuaciónmos a emoslabasededa os,di ec amen e elacionadaconelcapí uloenelque
es amos.Delabasededa osdejuegoshabla emosenelcapí ulo elacionadoconlosjuegos(Capí ulo8).



Figu a93:Esquemadebasededa osInsigniasFDI

Página119|193

TablaUsua ios

De inelosusua iosqueexis en, ieneuniden i icado únicopa acadausua ioquese áu ilizadopa a
elaciona loconelg upoalquepe enecesyconlasinsigniasqueconsiga.Tambiéncon ieneda osbásicos
delusua io,comoelnomb e,elco eoylacon aseñadeacceso.


Tabla16:Ejemplousua iosenbasededa os
 


TablaG upos

De inelosg uposqueexis en, ieneuniden i icado únicopa acadag upoquese áu ilizadopa a
elaciona loconlosusua iosquepe enezcanalg upo.Tambiéncon ieneunnomb edeg upo.

Tabla17:Ejemplodeg uposenbasededa os
 


CREATETABLEusua ios(

id_usua iobigin NOTNULL,

nomb echa ac e  a ying(40)NOTNULL,

co eocha ac e  a ying(40)NOTNULL,

passcha ac e  a ying(50)

CONSTRAINTusua ios_pkeyPRIMARYKEY(id_usua io)

)

CREATETABLE
di.g upos

(

id_g upoin ege NOTNULL,

desc ipcioncha ac e  a ying(40)NOTNULL,

CONSTRAINTg upos_pkeyPRIMARYKEY(id_g upo)

)

Figu a94:Códigodec eaciónde ablausua ios
Figu a95:Códigodec eaciónde ablag upos
Página120|193

TablaInsignias

De inelasinsigniasqueexis en, ieneuniden i icado únicopa acadainsigniaquese áu ilizadopa a
elaciona loconlosusua iosqueconsiganlainsignia.Tambiéncon ieneunadesc ipciónco a,quemos a á
unab e ein o mación,unadesc ipciónla gaylapun uaciónqueob end áelusua iopo lainsignia.


Tabla18:Ejemplosinsigniasenbasededa os



TablaUsua io_has_Insignia

Relacionaunusua ioconunainsignia,dees amane aconocemosqueinsigniashansidoconseguidaspo 
cadausua io.Tieneuniden i icado únicopa acada egis o,yenel egis osegua daquénúme ode
insigniasehaconseguido(únicocomoexplicamosenla ablaan e io )yqueusua iolahaconseguidoconsu
idúnico ambién.

Tabla19:Ejeplosusua io_has_insigniaenbasededa os


CREATETABLE
di.insignias
(

id_insigniain ege NOTNULL,

desc_co acha ac e  a ying(40)NOTNULL,

desc_la gacha ac e  a ying(400)NOTNULL,

pun uacionin ege NOTNULL,

CONSTRAINTinsignias_pkeyPRIMARYKEY(id_insignia)

)

Figu a96:Códigodec eacióndela ablainsignias
Página121|193


Figu a97:Códigodec eacióndela ablausua io_has_insignia

TablaG upos_Usua ios

Relacionaunusua ioconung upo,dees amane aconocemosqueusua iospe enecenaung upo.Tiene
uniden i icado únicopa acada egis o,yenel egis osegua daquénúme odeg upoyqueusua io
pe eneceaeseg upo.

Tabla20:Ejemplodeg upos_usua iosenbasededa os


Figu a98:Códigodec eacióndela ablag upos_usua ios

Sección8.3. ResumendelaAPI

Enes ecapí ulosehaexplicado odolo elacionadoconelse ido  a andodeapo a losde alles
necesa iospa acomp ende laa qui ec u aylosmo i ospo losquesehaelegidoes aa qui ec u a.Seha
CREATETABLE di.usua io_has_insignia
(

id_usua io_has_insigniacha ac e  a ying(40)NOTNULL,

insignias_id_insigniain ege NOTNULL,

usua ios_id_usua iobigin NOTNULL,

CONSTRAINTusua io_has_insignia_pkeyPRIMARYKEY(id_usua io_has_insignia),

CONSTRAINTinsignias_id_insignia_ keyFOREIGNKEY(insignias_id_insignia)

REFERENCES di.insignias(id_insignia)MATCHSIMPLE

ONUPDATENOACTIONONDELETENOACTION,

CONSTRAINTusua ios_id_usua io_ keyFOREIGNKEY(usua ios_id_usua io)

REFERENCES di.usua ios(id_usua io)MATCHSIMPLE

ONUPDATENOACTIONONDELETENOACTION

)

CREATETABLE di.g upos_usua ios
(

id_g upos_usua ioscha ac e  a ying(40)NOTNULL,

g upos_id_g upoin ege NOTNULL,

usua ios_id_usua iobigin NOTNULL,

CONSTRAINTg upos_usua ios_pkeyPRIMARYKEY(id_g upos_usua ios),

CONSTRAINTg upos_id_g upo_ keyFOREIGNKEY(g upos_id_g upo)

REFERENCES di.g upos(id_g upo)MATCHSIMPLE

ONUPDATENOACTIONONDELETENOACTION,

CONSTRAINTusua ios_id_usua ioFOREIGNKEY(usua ios_id_usua io)

REFERENCES di.usua ios(id_usua io)MATCHSIMPLE

ONUPDATENOACTIONONDELETENOACTION

)

Página128|193


Figu a100:Dis ibucióndelaweb is adesdeunPC


Figu a101:Dis ibucióndelaweb isi adesdeundisposi i omó il

Página129|193

Capí ulo10. Implemen ación:Juegos

Despuésdedesc ibi laimplemen acióndelapáginaweb,in e azdesdelaqueaccedemosala uncionalidad
in e nadelapla a o ma,enes ecapí ulodesc ibi emosla uncionalidadmás isibledelsis ema:losjuegos
implemen ados.És os,sehandesa olladoendi e en espla a o mas,ysonunmodelodelapo enciaque
pudie allega a ene elsis ema.Es ánen odocasoo ien adosalaenseñanzadelaingenie íain o má ica,
alycomose e lejaenelcapí ulodein oducción.
Es ecapí uloes áes uc u adodemane aqueinicialmen eseiden i ica ánlasca ac e ís icascomunesa
odoslosjuegos.Pa acon inua ,incluimosunapa adodedicadoalosse iciosRESTexpues osenel
backenddejuegos.Aes apa esigueunadecla acióndelaimplemen acióndelosjuegosdesa olladosen
odoslosen o no.Pa aconclui ,seesc ibi áun esumen inaldelcapí uloincluyendolaspa esmás
impo an esdelosjuegos.
Sección10.1. Ca ac e ís icas
Cadajuegoimplemen adosehac eadopa ase i comomodelodejuego eal,demane aquenoexis en
e sionesdep uebadelosjuegos,es án odoscomple adosencuan oaimplemen ación.
Laca ac e ís icap incipalquecumplen odoslosjuegosdelen o noeslao ien aciónalaenseñanzadela
in o má ica,demane aquelosusua iosap endanjugandoy,asu ez,losusua iosmásexpe imen ados
puedanob ene insigniasdemane amássencillaausua iosinexpe osdebidoasusconocimien os.
 Unaca ac e ís icamuy eseñableesque,siguiendoelmodelodelaspla a o masdese icios
mul ijugado ,seincluyeninsigniasdemane aobliga o iaen odoslosjuegos.Enelsiguien e
apa adosedecla a ánenp o undidadlasinsignias.
Página130|193

Sección10.2. Basesdeda ospa ajuegos


Figu a102:A qui ec u adelapla a o ma

Ademásdelbackenddese iciosexis eunbackendo ien adoenexclusi aalusodelosjuegos.Sede ini án
losse icioso ecidospo elmismoenlasecciónacon inuación.

Sección10.2.1. Basededa osBDOlimpiadaFDI(Juegos)

Pa alasnecesidadesdelosjuegoshemosc eadounabasededa osqueseenca gademaneja  odoslos
da osquesonnecesa iospa aelco ec o uncionamien odelosjuegos.
Labasededa oses ádi igidaagua da lasp egun as, espues asy odalain o maciónnecesa iapa alos
juegosimplemen ados.Es abasededa oses ác eadaenPos g eSQLypa aelmanejodesdelaAPIdejuegos
u ilizamosHibe na e.Acon inuaciónmos a emoslabasededa os.

Página131|193


Figu a103:Esquemadebasededa osOlimpiadaFDI


TablaTipos

De inelos iposdep egun asqueexis en, ieneuniden i icado únicopa acada ipoyunadesc ipción.



Tabla22:Ejemplode iposenbasededa os
Página132|193


TablaP egun as

Con ienelasp egun asqueseusanenlosjuegos.Tieneuniden i icado únicopa acadap egun a,uncampo
dondesein oducelap egun a,acon inuacióno ocampodondeseponeeliden i icado únicodela
espues aquehace e e enciaala ablaexplicadaacon inuacióny inalmen euncampo ipoquehace
e e enciaala ablaexplicadaan e io men e

Tabla23:Ejemplosdep egun asenbasesdeda os



TablaRespues as

CREATETABLE di. ipos

(

id_ ipoin ege NOTNULL,

desc ipcioncha ac e  a ying(100)NOTNULL,

CONSTRAINT ipos_pkeyPRIMARYKEY(id_ ipo)

)

CREATETABLE di.p egun as
(

id_p egun ain ege NOTNULL,

p egun acha ac e  a ying(100)NOTNULL,

 espues a_co ec ain ege NOTNULL,

 ipoin ege ,CREATETABLE di.p egun as

(

CONSTRAINTp egun as_pkeyPRIMARYKEY(id_p egun a),
CONSTRAINT ipo_ keyFOREIGNKEY( ipo)

REFERENCES di. ipos(id_ ipo)MATCHSIMPLE

ONUPDATENOACTIONONDELETENOACTION

)

Figu a104:Códigodec eaciónde abla ipos
Figu a105:Códigodec eaciónde ablap egun as
Página133|193

Con ienelas espues asu ilizadasenlosjuegos.Tieneuniden i icado únicopa acada espues a,uncampo
dondesein oducela espues a,y inalmen euncampo ipoquehace e e enciaalap egun aalaque
pe enece.Podemosobse a que a ias espues aspe enecenaunap egun aycomoexplicamosenla
ablaan e io cadap egun aconocesu espues aco ec a.

Tabla24:Ejemplosde espues asenbasededa os




Sección10.2.2. Se iciosRESTexpues ospa alosJuegos

Acon inuaciónexponemos odoslosse iciosquesehanimplemen adopa ael uncionamien odelos
juegos,es osse iciossehanc eadopa a acili a laimplemen aciónenlasdis in aspla a o masyque odas
puedanaccede aunosmismosse iciospa apode accede alain o maciónnecesa ia.Sonse icios
implemen adosenRESTyJSONcomolosimplemen adospa alain aes uc u a.Seencuen ande allados
enelANEXOB.

Tabla25:Se iciosexpues ospa alosjuegos
Se icio

Desc ipción

CREATETABLE di. espues as
(

id_ espues ain ege NOTNULL,

 espues acha ac e  a ying(100)NOTNULL,

id_p egun ain ege NOTNULL,

CONSTRAINT espues as_pkeyPRIMARYKEY(id_ espues a),

CONSTRAINTid_p egun a_ keyFOREIGNKEY(id_p egun a)

REFERENCES di.p egun as(id_p egun a)MATCHSIMPLE

ONUPDATENOACTIONONDELETENOACTION

)

Figu a106:Códigoc eaciónde abla espues as

Página134|193

Ge p egun aalea o iacon
espues as
No ecibepa áme osyde uel eunap egun aescogida
alea o iamen edelabasededa oscon odassus espues asindicando
cualeslaco ec a
Ge p egun apo  ipocon
espues as
Recibecomopa áme oeliddel ipodep egun ayde uel euna
p egun adel iposeleccionadoconsus espues asindicandocualesla
co ec a
Ge  iposdep egun asNo ecibepa áme osyde uel eunalis aconlos iposdep egun as
pe sis idosenbasesdeda os


Sección10.2.3. Quick es 

Obje i osdeljuego espec oadesa ollo:Esunjuego ealizadoamododep ime modelosencillo,de
mane aquesepudie acomp oba laconexióndeljuegoalosse ido esenlas esdi e en espla a o mas.
Implemen ación(pa alasdi e en espla a o mas)
Aplicaciónweb:Acon inuaciónsedesc ibeelmododeimplemen a lospun osbásicosdeljuego:
 Conexiónconbackenddejuegosyconexiónconbackenddese icios:sees ableceunaconexión
inicialconelse ido ,yuna ezes ablecidasesolici aelse icioco espondien eaco dealas
necesidadesdelmomen o.Lasp egun assesolici anenbloquealen a eneljuego,demane aque
e i amosun e a dodeiniciodeconexiónenlaca gadecadap egun a,siemp e eniendoencuen a
quealse quick es elnúme odep egun as o aleses10,muypocasp egun aspa ael e a dode
iempoquemos a áelp incipiodelapa ida.Pa aelcasodelasinsignias,se ealizanal e mina el
juego.
 Sal oen ep egun as:Conlap egun ayaalmacenadaenla a iabledeljuego,e i amosunconsumo
de iempoenlaca gadeunapáginapos e io simplemen e eesc ibiendolapáginaenlaquenos
encon amos,sus i uyendolos alo esac ualespo losdelap egun aacon inuación.
Pa a oda espues asegua dasiel alo esonoco ec o,ysedebe ene encuen aalaho adela
eesc i u apa amodi ica ese alo alaho adeclica sob ela espues a,e i andoquealescoge la
espues aenlamismaposicióndela espues aco ec aan e io lade ec ecomoco ec aen a o 
delanue aposición( eniendoencuen aquelaposiciónpuedeconse a se)
 Finalizacióndeunapa ida:Al inaliza unapa ida(obienel iempo es an ellegaace oobiense
espondenlas10p egun asden odellími edel iempo)sehaimplemen adounapáginaque
de ec alasi uación,demane aqueenlamismase ealizaun esumendelapa ida.
Enelcasodequeseconsiganinsignias,sees ableceunanue aconexiónconelse ido pa aasigna 
lasmismasalabasededa os.
 Tiempo es an e:el iempo es an eden odellími edelos60segundoses ablecidos,es a á
disponibleencuan oa isualizacióndu an e odalapa ida.Es oeslle adoacabomedian e
Ja aSc ip .

Página135|193

Leccionesap endidas:( e lexiónsob elosp oblemasencon ados)
P oblemadecomunicaciónAJAXcondominiosex e nos:Enlosp o o iposqueelabo amosalcomienzode
cu sopa acomp oba laco ec acomunicaciónen elain aes uc u ap incipalylasaplicacionesnos
encon amosconunp oblemaalaho adees ablece laconexiónconelse ido po pa edenues a
aplicaciónweb.
Realizábamospe icionesAJAXdesdenues apáginawebalojadaennues ose ido localpa asolici a un
ecu soqueseencon abaenelse ido delauni e sidaddondees áalojada odanues ain aes uc u a.
Recibíamosun allo,pe o inalmen e,descub imosquees oe adebidoaquenosepuedein oca conAJAX
undominioex e nodis in oquenoseaelquelanceelcódigo,enes ecasoelse ido delaComplu ense.
Pudimoscon inua conlasp uebasuna ezquelapáginaconlaquees ábamos abajandoes u iese
ambiénalojadaenelse ido ex e no,o abajandodesdeunen o nolocal.

AplicaciónAnd oid:
Tu imosqueplan ea lai e aciónno maldelaaplicación,ydecidi la o maenquesesucede íanlas
p egun as.Po sos enibilidad,decidimosnoca ga  odaslasp egun asinicialmen e,sinoi solici ándolasuna
aunaalaBasedeDa os.
Pa acalcula elpasodel iempousamoscon ado es,y i mamoscada espues adelusua ioconun
imes ampqueluegop ocesamospa acalcula lasinsignias.
Leccionesap endidas:( e lexiónsob elosp oblemasencon ados)
ConelQuickTes demos amosla iabilidaddelp oyec o,conec amoseldisposi i oanues osis ema,yal
se ido /se iciodep egun as,ype mi imosalusua ioin e ac ua ,ygana insignias.
En elaciónadesa olloenAnd oidap endimoslaa qui ec u adelapla a o mayelciclode idadelas
aplicaciones.Descub imoselmodoenque uncionanlosAc i i ies,ausa F agmen s,yaasegu a una
comunicaciónen eambos.
También u imosqueap ende ausa con ado esde iempoyamaneja e en os.
Comenzamosadesa olla QuickTes pa aAnd oiddesdeEclipse;pe ola endenciae aquees ocambia a,y
losdesa ollosselle a anacabodesdeel amewo kAnd oidS udio.
Elhechodequenoexis ie aenesemomen ouna e sión inaldel amewo kAnd oidS udiono uemuy
con enien e.Seencon abapo en oncesenuna e siónBe a0.8.Aunquees able, oda íanoexis íauna
g andocumen aciónal espec o,lacuales aba oda oda íao ien adaaldesa olloenEclipse.Es odi icul ó
eldesa olloinicialdebidoaqueno odalain o macióne aex apolableaAnd oidS udio,yademás,la
he amien a aíanue as uncionalidades,comoeselcasodelG adle;unmecanismoqueayudaalos
desa ollado esahace  en ealaeno medi e sidaddedisposi i os,yespecí icamen e, amañosde
pan alla;que aíandecabezaalosdiseñado esg á icos,quienes eníanquecon igu a di e en es
disposicionesdeelemen os,yu iliza componen esdedis in o amañopa alog a quesusaplicacionesse
isualiza anco ec amen eenelmayo núme odemáquinasposible.

AplicaciónPesada:Elen o no(IDE)escogidoyu ilizado inalmen epa alle a acabolaimplemen aciónyel
desa ollodelosjuegosenJa ahasidoEclipse.Esunen o nodedesa olloin eg adomul ipla a o mayde
códigoabie oqueseca ac e izaen eo osmo i ospo se unen o nolige o(Slidesha e,2013).Es oes
debidoaqueenunp incipiocons aúnicamen edela uncionalidadbásica,pudiendoex ende launomismo
Página136|193

siesnecesa iomedian elains alacióndedi e sospluginsomódulos(es ehasidoelcasodelmódulo
WindowBuilde queluegoexplica emos).
Elobje i op incipaldelQuick es  uepone enp ác icael o ma oJSONqueíbamosau iliza enel
in e cambiodeda osdelosjuegosycomp oba mása ondoel uncionamien ode odoslosse icios.
Pun osimpo an esdelaimplemen ación:
 Cabedes aca queenés eyenlosdemásjuegosJa ahemosimplemen adoelpa ónsingle on,de
es amane apodemosasegu a nosdequeúnicamen eexis aunains anciaac i adelusua ioqueha
comenzadolapa ida.Tambiénpodemos ealiza unaccesoadichousua iodesdecualquie clasede
laaplicacióncuandoseanecesa io.
 Sehaceunallamadaalse iciop egun aAlea o ia,quenosde uel eunap egun aalea o iacada ez
queelusua io espondealap egun aco ec amen e.En o alseha áunnúme omáximode10
llamadassiel iempodejuegonohallegadoan esasu in.
 Implemen acióndeunacuen aa ásenele en olanzadoalcomienzodeljuego(pe enecien eala
claseTime delabiblio ecag á icaJa ax.Swing).
 Eljuego inaliza ácuandoes acuen a eg esi allegueace ooeljugado hayacon es adoa odas
lasp egun as.Únicamen esemos a ánlasinsigniasob enidasydesbloqueadasenlapa idaac ual.

Leccionesap endidas:( e lexiónsob elosp oblemasencon ados)
1. Realiza llamadasalse ido co ec amen eyapa edeu iliza losse iciospe enecien esal
backendOlimpiadaFDI,comosonelse iciodelogindeusua ioy egis odeinsignias, ambién
maneja elconjun odese iciosdep egun as ela i oalbackenddejuegos.

2. Pa aquehayasidoposible an oelco ec o uncionamien odelosse icioscomodelac eaciónde
es uc u asJSON ue on inalmen enecesa iaslassiguien eslib e ías:
 H pclien ‐4.3.6.ja 
Necesa iapa alacons uccióndeaplicacionesenlasquesenecesi ehace unaconexióna a ésdel
p o ocoloHTTP.Enes ecaso,lasaplicacionessonelclien eque equie enunosse iciosweb.
Pa ahace usodees alib e íanecesi amos ambiénlaslib e íasH pmime‐4.3.6.ja ,Fluen ‐hc‐
4.3.6.ja yH pco e‐4.3.3.ja en eo as.
 O g.json‐20120521.ja 
Lib e íaquenospe mi i ápa sea yc ea JSON.
(Enp ime luga yamododep uebaenlasp ime as e sionesdees ejuego,seimpo a onlas
clases:ja a.ne .H pURLConnec ion,Ja a.ne .Mal o medURLExcep ionyja a.ne .URL,asícomoel
paque eja a.io.La uncionalidadconseguidae alamismape oenes ecaso ecibíamosy
a ábamoslosda osob enidoscomosi ue anunS ing(cadenadeca ac e es)ynoen o ma o
JSONcomo inalmen eacabamosu ilizando).


3. ManejodelaclaseTime (Biblio ecag á icaJa ax.Swing).

Página137|193

Sección10.2.4. T i ial

Obje i osdeljuego espec oadesa ollo:Elobje i oaldesa olla es ejuegoe aeldedesa olla unp ime 
juegoquemos asecie asca ac e ís icas ealesencuan oajugabilidad,demane aqueelsis emase
ace quealaspla a o mascon encionalesendichoaspec o.Encuan oadesa ollodep og amación,unode
losobje i ose alain e accióndeimágenes an odemane aes á icacomodinámica( espec oa
uncionalidad,lasimágenesquesemues annogene a ánmo imien o).
Además,suponeunain e accióncon inuaconelse ido al ealiza secon inuasllamadasasusse iciospa a
ob ene lasp egun as.Así,sehapodidocomp oba queelse ido sopo aalgomásdeca gaynosolo
llamadasaisladasalosse icios.
Implemen ación(pa alasdi e en espla a o mas)
Aplicaciónweb:
 Imágenes:Pa alaimplemen acióndees ejuego,esnecesa ioinclui imágenes.Pa ala ealización
dees as, asdocumen ación,sedecideabo da suimplemen aciónconelusodecan as.Amodode
p ime osmodelosyaundesconociendo odaslas uncionalidadeso ecidaspo elcan as,seu iliza
pa adibuja lasp ime asimágenesdeljuego(eldado).
 Imágenesdinámicas:Dondesíob u imosuna en ajaenelusodecan as espec oaimg,quenos
pe mi íaeldibujodelasimágenesdemane aes á ica,esalañadi dinamismosob elasimágenes.El
usodecan assehacenecesa iopa amos a el esul adodellanzamien odeldado,asícomolas
casillasquese ánaccesibles.
 Casillas:Alnose lasposicionescon inuas,dadoqueseencuen anbi u cacionesenloscaminosque
puedesegui la ichaallanza eldado,nosen en amosaunadecisióndediseñoenlaquepodemos
decidi en eman ene dis in osa aysaccesiblesdecasillasounsoloa aycon odaslascasillas,
man eniendolalógicadelp og amaaco dealossal os.Sedecide oma laúl imaimplemen ación
po e i a una aydeunacasillaúnica(casillacen al)oque a iosa ayscompa ie anlacasilla
cen al.
 Sal osdepan alla:Con inuamen esesal aen elapan alladep egun asyel able o,pa alocuales
necesa iomos a lapun uaciónque enemosasícomoman ene losquesosquehemosob enido.
Lamane adesoluciona elpasodepa áme osqueda e lejadaenelapa adodelecciones
ap endidas.
Leccionesap endidas:( e lexiónsob elosp oblemasencon ados)
Pasode a iablesen eJa aSc ip yphp:Esnecesa iomos a en odomomen olapun uaciónob enida,así
comolosquesosquehemosob enido.Pa apasa pa áme osen elaspan allassein e cambianconunpos 
enphp.Pe onecesi amosob ene dichospa áme os an oenJa aSc ip comophp.Pa alalec u aen
Ja aSc ip deunda ophpessimple,conunechoala a iablesepuedeob ene .Sinemba go,enelcaso
con a ionoes ansencillo.Comoyasehade inido,Ja aSc ip  ienecomoobje i oman ene la
uncionalidadin e nadelaweb.Así,pa a ecoge lospa áme osenphpquehansidomodi icadosen
Ja aSc ip ,nosepuedehace unallamadadi ec amen ealpa áme oJa aSc ip .
Unodelasmane asdeconsegui lospa áme osenphpeslee losdelpos quehahechoun o mula io.
A o unadamen e,po Ja aSc ip sepuedenosolomodi ica los alo esdeun o mula iosinoademáshace 
submi sob eelmismo,locualpe mi eque,enlasiguien epan alla,sepuedanalmacena es os alo esen
las a iablesphp.
E iden emen e,es osuponelainse cióndeun o mula io,queen eo íaes isibledesdelapáginaenlaque
seencuen e,sinemba go,po css,sepuedee i a quesemues eel o mula io.
Página144|193



Página145|193

Capí ulo11. Casodees udio

Hemoshabladoan e io men edelcon ex oenelquesehadesa olladoelp oyec oasícomodelas
uncionalidadesqueo eceycómosehaimplemen ado.Pe oconsoloes o,suu ilidady iabilidadnoqueda
demos ada,po loquedecidimospa aes ecapí ulo ealiza unasimulaciónenlaquesehanin oluc ado
usua ios ealesin e esadoseneles udiodelain o má icapa ada unmayo empaqueysolidezalp oyec o.

Sección11.1. Mé odo

Losobje i osdees ees udiosonlossiguien es:
 Desa olla unacompe icióncomple aen edosequipos.
 Realiza  es eodelapla a o maani eldeP uebaIn eg ada
 P oba accesoa on enddelosusua ios
 Comp oba quepuedenaccede albackendsinnecesidaddeaccede ala uncionalidaddel on end
 Con i ma conexiónen ebackendy on end
 Re isa conexiónen ejuegosyambosbackend, an oeldejuegoscomoeldese icios.
 Cons a a  uncionalidaddelosjuegosenlas espla a o mas
 Ve i ica quese ealizaco ec amen elasinse cióndeinsigniasenelsis ema
 Desa olla unacompa a i acomple aen edosequipos
 Comp oba quelosusua iosque ienenconocimien osp e iossob elain o má ica ienenmayo 
acilidaddeascende enel anking.
 Ve i ica quelosusua iospueden inaliza laspa idasdelosjuegossinnecesidaddein e ención
po pa edelosdesa ollado es.
 Ob ene  eedbackdeapa adosamejo a po pa edelosusua ios.
Engene al,elcasodees udiose ealiza ápa a e i ica elco ec o uncionamien odelapla a o macomo
conjun o(elp oyec o uncionademane aglobal),asumiendoelco ec o uncionamien odecada
componen eindi idual(P uebaUni a ia).
Eldesa olloasegui se áelsiguien e:
Sees udia áymoni o iza áunsupues o,basadoendosg uposcompues ospo pe sonas ealesque
compe i ánen eellosdu an edosho as.T asesepe iodode iempose e isa ánlaspun uacionesdelos
g uposenlabasededa osysedecidi áel encedo .

Sección11.2. Desa ollo

Sec ea án2g uposdees udio.Cadaunodeelloses a ácompues opo 5jugado es,loscualesha ánusode
lapla a o mapa ap oba el endimien oyelbuen uncionamien odelamisma.


Página146|193

Sección11.2.1. G upos

Enp ime luga se ealiza áel egis odelosusua iosdelp ime g upo.Cadausua ioseenca góde
egis a seindi idualmen e.

G upoReady2Lea n

T aslainse cióndeusua ios,aco damoscomonomb edelp ime casodees udioReady2Lea n.Finalmen e
elg upoquedódelasiguien emane a:

Tabla26:G upoReady2Lea n
Ready2Lea n Pun uación o al
Sand a 0
Lau a 0
Julio 0
Pablo 0
Municio 0


G upoHijosdeTu ing

Conlamo i acióndesupe a alequipo i alenel anking,dejamosquese egis enlosnue osusua ios,
quienesademássones udian esdelaUni e sidadComplu ensedeMad id.

Tabla27:G upoHijosdeTu ing
Hijos de Tu ing Pun uación o al
Nu ia 0
Luis 0
Claudia 0
Je e 0
E ik 0



Página147|193

Sección11.2.2. Resumendelas ases

Elg upoReady2Lea nempiezaajuga alosdi e en esjuegosdu an eel anscu sodelap ueba.Como
hemosmencionadoan e io men e,es eg upoes ácompues opo in eg an esajenosala acul adde
In o má ica.Realizamoslasiguien ecap u adelsis ema anscu idaslasdosho asdejuegolib epa ael
p ime g upo:


Figu a108:Fo odelsis emapa aReady2Lea n

HijosdeTu ing,elsegundog upo,es ácompues opo es udian esdein o má icaycuen ancon en ajaala
ho adecomple a losjuegos,loquese aduceenunamayo pun uación,en asgosgene ales.T aslasdos
ho asdejuegolib e, ealizamoslasiguien ecap u adelsis ema:

Página148|193


Figu a109:Fo odelsis emapa aelg upoHijosdeTu ing

Es ableciéndoseasíelg upoHijosdeTu ingcomocla os encedo esdelacompe ición,conunadi e encia
mayo amilpun os.

Sección11.2.4. Discusión

Engene allosjuegosmásin e ac i os esul a on ene mayo éxi oqueaquellosquee aluabanlos
conocimien os écnicosenelá eadelaIn o má ica.
Asumimos azonablecie o ac o sue epa aalgunadelasinsigniasdesbloqueadas.
Elcasodees udiohasidounéxi opo lossiguien esmo i os:
 Elsis emaha ealizadocambiosensues ado
 Haman enidolacohe enciadelosda osylaconsis encia
 Algunosdelosjuegospa ecie ondespe a elin e ésdelosjugado esená eascomolaci cui e íay
lógica,asícomoenelá eadep og amación.
Deles udioolasp uebas,aunqueconunma gendee o g andedadoquelasmues assonpequeñas,se
puedeob ene comoconclusiónquelosusua iosconconocimien osenin o má ica ienenmayo  acilidada
laho adelog a losobje i osdelosjuegosy,aco deaello,aumen a sumedalle odeinsigniasypun os
pa alasclasi icacionesindi idualesyg upales.
Losusua iosnosdie onsusimp esiones aslasp uebas,ydecidimosclasi ica lasen eopo unidades
écnicasy uncionales.Lasenunciamosconmásde alleenelCapí ulo12,Conclusionesy abajo u u o.
Ob enemosel eedbackdelosusua iosdeambosg uposyloanalizamos:
 Nos ecomiendanmejo asg á icasengene al.
Página149|193

 Valo anla luidezdelosjuegos.
 Augu anung anéxi oanues apla a o ma.
 Sein e esa onpo lamecánicadelosjuegos.
Re e en eaopo unidades écnicasydiseñog á ico,lamayo íadenues ossuje oses ándeacue doenque
esposible ealiza unamejo a g á icadelosjuegos,asícomodelaweb.
Tambiénnoscomunica onlaca enciadeuna uncionalidadenlaweb:unbo ónquepe mi a ol e ala
páginap incipal.Tambiénnos ecomenda onamplia elnúme ode ecnologíassopo adaspo nues os
juegos( e siónpa aiOS)yco egi o ose o es uncionales,comolaopciónde e losin eg an esdeun
g upo.



Página150|193




























Página151|193

Capí ulo12. Conclusionesy abajo u u o

Hemos e isadoalola godees edocumen olamo i acióndelp oyec o,ylaclasi icacióndelosdis in os
obje i osquehemosconside ado azonables.
Hemoses udiadolapsicologíadelosjuegosysuaplicaciónenuncon ex odidác ico.
Hemos ealizadounoses udiosp e ios e e idosa ecnologíasmó iles;laspla a o masmáscomunes,sus
en ajassob elasdemásyelpe ildesususua ios.Tambiénhemosanalizadolashe amien asquepodemos
u iliza pa aeldesa ollodejuegosenelsis emaope a i oAnd oid.
Relacionadoconeldesa ollomó il,hemoses udiado ambiénla ecnologíaHTML5,yloslenguajesde
p og amaciónqueconélsecomplemen an,comoCSS,Ja aSc ip oPHP,yespecí icamen epa alac eación
dejuegos,lanue a uncionalidadenes a e sióndeHTML,elcan as.
Tambiénhemoses udiadouna ecnologíaadicionalqueman u ie alapo abilidady ue amul ipla a o ma,
Ja a.
Po úl imo,hemosc eadolos espila esbásicosquecon o mannues op oyec o.Comohemos is o
an e io men e,es os3pila esson:
1)C eacióndeunain aes uc u acuyabaseesunse ido debackendqueo eceunaAPIdese iciosREST
pa ages iona yalmacena da osdejugado es,juegos,insignias,pun uacionesydemás.
2)Diseñoydesa ollodeunpo alwebenelquesepod á isualiza los esul ados u odelain e acciónde
losjugado esconlosjuegos,incluyendosuspe iles,insigniasob enidas,ges ióndeg upos, ankingsde
jugado es,e c.
3)C eacióndeunasui edejuegosdeejemplo,desa olladoscondis in as ecnologías,pe o odosellos
compa iblesconlaAPIdeusua ioseinsigniasyqueejempli icancómo u u osdesa ollado espod án
ale sepa ain eg a susdesa ollosennues osis ema.

Conside amoshabe cumplido odosnues osobje i os:
 Realizacióndeunes udiop e ioace cadenue as o masdeap endizaje.
 Realizacióndeunes udiop e ioace cadelaspla a o masde ideojuegosexis en esmásexi osas
hoyendía,eiden i ica lanecesidaddeunapla a o madejuegosenuncon ex odidác ico.
 Realizacióndeunes udiop e ioace cadelas ecnologíasac uales:mó iles,webyaplicaciones
pesadas.
 Realizaciónunapla a o mabasadaenRESTdondeexpone unosse iciosalosqueusua iosy
desa ollado espudie anconec a sebasadaenlaspla a o masdejuegosmásexi osashoyendía.
 Realizacióndelpo alweb.
 Realizacióndedosjuegospa aAnd oid, espa aJa aycua opa aelpo alwebdidác icos.
 Demos acióne ec i adela iabilidaddelsis emapa alaspla a o masAnd oid,WebyJa a.
Alma gendees oque emoshace hincapiéenlaexis enciadeunmedalle oqueu ilizalapsicologíabásica
delos ideojuegos:es o za sealmáximopa aconsegui una ecompensa(ennues ocaso,insignias),yque
enunen o nodidác ico,incen i eela ándemejo adelosjugado es.
Página152|193

Tambiéndes aca la e sa ilidaddenues apla a o ma,quepe mi ealosp og amado esde ideojuegos
publica susdesa ollos,haciendousodenues acomunidaddeusua iosyap o echa el es ode en ajas
delsis ema,comolosse iciosdeinsigniasa a ésdelaAPIpública.

Sección12.1. T abajo u u o

Enp ime luga , as ecibi yanaliza el eedbackdelosusua iosdep ueba,necesi amos esol e unase ie
deincon enien esquesehanencon ado.Algunossone o es eales,pe oo ossonunmal uncionamien o
debidoaunamalain e p e acióndelasnecesidadesdelosusua ios.
Relacionadoconelpo alweb:
 Mejo a ellook& eeldelapágina.
 Añadi unmecanismopa a ol e alapáginap incipal,yaqueenalgunasseccionesnohaysalida.
 Añadi la uncionalidaddebo adodeg uposcuandoes ossequedansinmiemb os,oelimina un
g upode o mamanual.
 Añadi la uncionalidadde e losin eg an esdeung upo.
 Pe ecciona elsis emadepublicacióndenue osdesa ollosysuin eg aciónenlaweb.
 Mejo a elcomponen esocialenlapla a o maweb:inclusióndeun o o,cha ,ymayo 
pe sonalización.
 Pe mi i subi documen ación ela i aalosjuegos.
Relacionadoconlosjuegosdelasui e:
 Inc emen a elnúme odelosjuegosdisponibles
 Mejo a elapa adog á icodelosjuegosengene al.
 C eacióndejuegosenunadi e sidaddepla a o masy ecnologíasmayo .
Es assonsóloalgunasdelasex ensiones uncionalesquesepod ían ealiza .
Dejamosenmanosde u u osdesa ollado eslaposibilidaddeamplia connue asideasnues op oyec oy
quesuc ecimien odemues ela iabilidadcome cialdenues apla a o ma.

Página153|193

Chap e 13. Conclusionsand u u ewo k

Along hisdocumen weha e e iewed heinne mo i a iono  hep ojec ,and heclassi ica iono  he
di e en objec i esweha econside ed.
Weha ealsos udied hepsychologyo  hegamesandi sapplica ioninadidac iccon ex .
Weha edeli e edp e iouss udies ela ed omobile echnologies;mos commonpla o ms,i sad an ages
o e o he s,and hep o ileo i suse s.Weha ealsoanalyzed hea ailable ools o  hede elopingo 
games o And oidope a ingsys ems.
Rela ed omobilede elopmen ,weha esos udied heHTML5 echnology,andall hep og amming
languages ha comeinwi hi ,suchasCSS,Ja aSc ip o PHP,andspeci ically hec ea iono  ideogames
using his echnology, hecan as,a ea u eimplemen edin hismos  ecen  e sion.
Weha ealsos udiedanaddi ional echnologycapableo main aining hepo abili yandbeing
mul ipla o m,Ja a.
Finally,weha ec ea ed he h eemainpilla s ha con o mou p ojec .Asweexplainedbe o e, hosea e:
1)C ea iono anin as uc u ebasedonabackendse e  ha o e sanAPIo RESTse ices omanageand
s o eou playe s’da a,games’badges,sco eandsoon.
2)Designingandde elopmen o awebsi einwhich he esul so  hein e ac iono  heplaye swouldbe
shown,including hei p o iles,unlockedbadges,managingg oups, ankingo playe s,e c.
3)C ea iono sui eo games ha wouldshowo  he unc ionali y.Theyha ebeende elopedusing
di e en  echnologies,allo  hemcompa iblewi h heAPIo use sandbadges ha willse easanexample
o  u u ede elope s oin eg a e hei p ojec sinou sys ems.
Weconside ha esucceededinallou objec i es:
• Realiza iono ap e iouss udy ela ed onewlea ningme hodologies.
• Realiza iono ap e iouss udy ela ed oexis ingmos success ulgames’pla o ms.
• Realiza iono ap e iouss udy ela ed ocu en  echnologies:mobile,web,andhea yapplica ions.
• Realiza iono apla o mbasedonRESTonwhich oexposese ices owhichuse sandde elope s
couldconnec  o,basedon hemos success ulpla o mso  hesedays.
• Realiza iono  hewebsi e.
• Realiza iono  woAnd oidgames, h ee o Ja a,and ou  o  hewebsi e.
• Demons a iono  hee ec i e iabili yo  hesys em o all h eepla o ms:And oid,WebandJa a.
Apa  om his,wewouldlike oemphasize heexis enceo  he ewa d’smechanic, ha makesuseo  he
basic ideogame’spsychology:in es ingsomee o ino de  oob ainsomegain(inou case,badges),and
which,inou lea ningen i onmen ,migh encou age hedesi e o imp o emen inou playe s.