Desa ollo de gami icación pa a apoyo
de ap endizaje online
F ancisco Ja ie Pacheco He anz
Ja ie Rome o Pé ez
GRADO EN INGENIERÍA INFORMÁTICA, FACULTAD DE INFORMÁTICA,
UNIVERSIDAD COMPLUTENSE DE MADRID
T abajo Fin de G ado en Ingenie ía In o má ica
Mad id, sep iemb e de 2018
Di ec o : Jo ge Gómez Sanz
II
Índice
Índice de ilus aciones .................................................................................................. IV
Índice de ab e ia u as .................................................................................................. VI
Resumen ...................................................................................................................... VII
Abs ac ...................................................................................................................... VIII
1. In oducción ............................................................................................................. 1
1.1. Mo i ación ........................................................................................................ 1
1.2. Obje i os ........................................................................................................... 1
1.3. Mé odo de abajo ............................................................................................ 2
1.4. O ganización del documen o .......................................................................... 3
2. Es ado del a e ......................................................................................................... 5
2.1. In oducción a la gami icación ....................................................................... 5
2.2. Gami icación en la educación ......................................................................... 8
2.3. La ac ualidad de Robocode y Bolo wee ....................................................... 13
2.4. C í ica al es ado del a e................................................................................ 15
2.5. Conclusiones ................................................................................................... 17
3. Requisi os de in eg ación de Bolo wee y Robocode ........................................... 18
3.1. Di ec ices gene ales ...................................................................................... 21
3.2. Di ec ices pa a p o eso es ........................................................................... 22
3.3. Di ec ices pa a alumnos .............................................................................. 22
3.4. Desc ipción de un escena io de uso .............................................................. 22
4. Desa ollo de la solución ....................................................................................... 28
4.1. A qui ec u a de la solución ........................................................................... 31
4.1.1. Diseño del plugin Robocode ................................................................... 32
4.1.2. Diseño de sc ip s de sopo e pa a adminis ación ............................... 33
4.1.3. Sc ip s pa a la ba alla ............................................................................ 35
4.2. Diag amas de secuencia ................................................................................. 36
4.3. Robocode ......................................................................................................... 46
4.3.1. Ba alla ...................................................................................................... 46
4.3.2. Robo s ...................................................................................................... 47
5. E aluación del abajo .......................................................................................... 51
III
5.1. Valo ación del uncionamien o del sis ema ................................................. 51
5.1.1. P ime caso .............................................................................................. 51
5.1.2. Segundo caso ........................................................................................... 56
5.2. Valo ación del es ue zo ealizado................................................................. 70
5.3. Pa icipación de cada es udian e .................................................................. 73
6. Conclusiones .......................................................................................................... 77
7. Conclusions ............................................................................................................ 79
8. Apéndices ............................................................................................................... 81
9. Bibliog a ía .......................................................................................................... 100
IV
Índice de ilus aciones
Ilus ación 1- Ejemplo de in e acción en Bolo wee en e alumno y p o eso ............... 14
Ilus ación 2 – Resul ados de una ba alla ....................................................................... 15
Ilus ación 3 – In e az de una ba alla ejecu ada en Robocode ...................................... 18
Ilus ación 4 – Vis a de la clasi icación de a ios g upos .............................................. 19
Ilus ación 5 – Pa es de un obo a las que se les puede aplica un colo ...................... 21
Ilus ación 6 – Fo mula io pa a el p o eso pa a lanza una a ea .................................. 23
Ilus ación 7 – Fo mula io pa a comple a una a ea ...................................................... 23
Ilus ación 8 – Timeline del g upo donde el p o eso puede co egi las a eas ............ 24
Ilus ación 9 – Diálogo pa a modi ica el pe iodo de días pa a el cálculo de las medias24
Ilus ación 10 – Inicio del sis ema y ac ualización de medias de los es udian es .......... 25
Ilus ación 11 – Ejecución de un obo umble ................................................................. 26
Ilus ación 12 – Resul ados acumulados en Bolo wee .................................................. 26
Ilus ación 13 – Opciones pa a pa ame iza las ba allas ............................................... 27
Ilus ación 14 – Diálogo pa a cambia los colo es de un obo ...................................... 27
Ilus ación 15 – Casos de uso del sis ema pa a p o eso es y alumnos ........................... 29
Ilus ación 16 – Casos de uso pa a el adminis ado ...................................................... 30
Ilus ación 17 – Diag ama de despliegue del sis ema..................................................... 31
Ilus ación 18 – Diag ama de clases del plugin Robocode ............................................. 32
Ilus ación 19 – Diag ama de los sc ip s de adminis ación c eados .............................. 33
Ilus ación 20 – Diag ama de los sc ip s de adminis ación modi icados ...................... 35
Ilus ación 21 – Diag ama de clases del sc ip gene ado de una ba alla ....................... 35
Ilus ación 22 – Diag ama de secuencia que mues a el uncionamien o gene al del
sis ema ............................................................................................................................ 36
Ilus ación 23 – Diag ama de secuencia pa a el caso de uso Ve Clasi icación ............. 37
Ilus ación 24 – Diag ama de secuencia pa a el caso de uso Elegi nue o pe iodo de días
........................................................................................................................................ 38
Ilus ación 25 – Diag ama de secuencia pa a el caso de uso Cambia núme o de ondas
........................................................................................................................................ 39
Ilus ación 26 – Diag ama de secuencia pa a el caso de uso Cambia amaño del able o
........................................................................................................................................ 40
Ilus ación 27 – Diag ama de secuencia pa a el caso de uso Gua da con igu ación .... 41
Ilus ación 28 – Diag ama de secuencia pa a el caso de uso C ea obo ...................... 42
Ilus ación 29 – Diag ama de secuencia pa a el caso de uso Modi ica colo es de un
obo ................................................................................................................................ 43
Ilus ación 30 – Diag ama de secuencia pa a el caso de uso Lis a obo s .................... 44
Ilus ación 31 – Diag ama de secuencia pa a el caso de uso Ejecu a una ba alla
eligiendo los obo s ......................................................................................................... 44
Ilus ación 32 – Diag ama de secuencia pa a el caso de uso Ejecu a un Robo umble . 45
Ilus ación 33 – Diag ama de clases de la clase Ba leRunne ....................................... 46
Ilus ación 34 – Coo denadas del campo de ba alla y di ección del obo ..................... 47
Ilus ación 35 – Diag ama de es ados que ep esen a el uncionamien o de un obo ... 49
V
Ilus ación 36 – Diag ama de clases pa a un obo ......................................................... 50
Ilus ación 37 – Resul ados en po cen aje de 20 obo umbles ....................................... 55
Ilus ación 38 – Resul ados del p ime obo umble ....................................................... 57
Ilus ación 39 – Resul ados del p ime obo umble en Bolo wee ................................. 58
Ilus ación 40 – Ejemplo de mensajes ya cali icados po el g ade F an ....................... 59
Ilus ación 41 – Ac ualización de los obo s al comienzo del p og ama ........................ 59
Ilus ación 42 – Robo umble de 30 obo s en un able o de 800x600 ............................ 61
Ilus ación 43 – Ejemplo de un o neo de 16 obo s ....................................................... 61
Ilus ación 44 – Resul ados acumulados as dos obo umbles y un o neo ................... 62
Ilus ación 45 – Ejemplo de un o neo de 16 obo s ....................................................... 64
Ilus ación 46 – Resul ados acumulados as 12 obo umbles y 2 o neos ..................... 64
Ilus ación 47 – Ejemplo de un o neo de 16 obo s ....................................................... 67
Ilus ación 48 – Resul ados acumulados as 27 obo umbles y es o neos ................. 68
Ilus ación 49 – E olución de los pues os de los 16 mejo es es udian es ...................... 69
Ilus ación 50 – Ejemplo de a chi o .cs con los colo es de los obo s ......................... 85
Ilus ación 51 – Ejemplo de ejecución del sc ip bolocode.sh ....................................... 86
Ilus ación 52 – Selección de la opción 1 en el menú p incipal de bolocode.sh ............ 87
Ilus ación 53 – Cambio de g upo de abajo ................................................................. 87
Ilus ación 54 – Modi icación del núme o de días pa a el cálculo de la media ............. 88
Ilus ación 55 – Selección de la opción 2 en el menú p incipal de bolocode.sh ............ 89
Ilus ación 56 – Lis ado de los obo s pe enecien es al g upo ...................................... 89
Ilus ación 57 – C eación de un nue o obo .................................................................. 90
Ilus ación 58 – Modi icación de los colo es de un obo .............................................. 90
Ilus ación 59 – Selección de la opción 3 en el menú p incipal de bolocode.sh ............ 91
Ilus ación 60 – In oducción del nue o amaño del campo de ba alla .......................... 91
Ilus ación 61 – In oducción del nue o núme o de ondas ........................................... 91
Ilus ación 62 - Selección de la opción 4 en el menú p incipal de bolocode.sh ............ 92
Ilus ación 63 – Selección manual de los obo s pa icipan es ....................................... 93
Ilus ación 64 – Ejecución de un obo umble ................................................................. 93
Ilus ación 65 – Ejemplo de ejecución del sc ip se obocodeg oup .............................. 97
Ilus ación 66 – Ejemplo de ejecución del sc ip c ea obo s .......................................... 98
Ilus ación 67 – Ejemplo de ejecución del sc ip upda eg ades ileandshow .................. 99
Ilus ación 68 – Ejemplo de ejecución del sc ip upda eall obocodesco es ................... 99
VI
Índice de ab e ia u as
API Applica ion P og amming In e ace
Bash Bou ne again Shell
CLOC Coun Lines O Code
CSV Comma-sepa a ed Values
MOOC Masi e Online Open Cou se
PHP Hype ex P ep ocesso
SQL S uc u ed Que y Language
VII
Resumen
La inclusión de la gami icación en la educación es una opción en auge. Se p esen a
como una he amien a educa i a con impac o posi i o en el desempeño académico de
los es udian es. En es e p oyec o se p opone un so wa e pa a Bolo wee , desa ollado
po docen es de la acul ad y basado en el se ido de mic oblogueo S a usne . El nue o
so wa e se cons uye sob e el juego de o denado de código abie o Robocode. La
gami icación consis e en la ejecución de ba allas en e anques obo . El abajo de los
alumnos en Bolo wee , donde end án que comple a a eas que pos e io men e se án
e aluadas po su p o eso , se e á ecompensado con un obo cuya in eligencia se
ajus a á a los esul ados ob enidos en es os eje cicios. Dichos obo s se en en a án
pos e io men e en ba allas, de las que se egis a án los esul ados pa a man ene un
anking in e no e incen i a así a los es udian es a segui comple ando las a eas de la
pla a o ma. Cuan as más a eas comple adas, más pode oso se á el obo . El abajo
apo a ambién unos expe imen os pa a ajus a la po encia de los obo s de al o ma que
no desincen i e el segui abajando en Bolo wee po que sea imposible gana a cie os
compañe os.
Palab as cla e: Me odología docen e, Mic oano aciones, Gami icación, Educación,
Mic oblogueo, E aluación con inua, Videojuegos, e-lea ning
VIII
Abs ac
Gami ica ion in educa ion is an educa ional me hodology which is a ac ing lo s o
a en ion. I is expec ed o b ing a posi i e impac on he s uden s’ academic
pe o mance. In his p ojec , a gami ica ion ex ension is going o be de eloped o a
mic oblogging eaching suppo ool named Bolo wee . The ex ension is based on he
open sou ce compu e game Robocode, whe e obo anks p og ammed by s uden s
igh each o he . The in eg a ion o bo h elemen s will be guided by he s uden
pe o mance in Bolo wee . S uden s will be assigned obo anks in Robocode whose
beha iou will be mo e capable as hei owne s imp o e hei g ades in Bolo wee .
These obo s will ace each o he in ba les, and he esul s will be eco ded in a anking.
This anking will se e o engage s uden s o keep comple ing he pla o m’s asks.
De e mining some deg ee o ai ness in he ba les has been challenge oo. The e is
always a chance ha s uden s will lowe g ades win o e highe g ades. The P ojec
includes a case s udy ha illus a es expec ed e olu ion o he gaming pe o mance wi h
espec o he p og ess in Bolo wee .
Keywo ds: Teaching me hod, Mic o-anno a ions, Gami ica ion, Educa ion, Mic o-
blogging, Con inuous e alu a ion, Videogames, e-lea ning
1
1. In oducción
1.1. Mo i ación
La pla a o ma Bolo wee ha sido u ilizada du an e a ios años en algunas asigna u as de
la acul ad. Se basa en un sis ema de mic oblogueo: los alumnos han de esc ibi ex os
b e es, sin e izando en es os algo ap endido de la asigna u a. Pos e io men e, es os
mensajes son e aluados po el p o eso y los alumnos eciben un eedback en el que se
les indican los e o es con enidos en sus mensajes [22].
El uso de la pla a o ma esul a posi i o po que equie e hace un eje cicio de sín esis de
la in o mación que p o oca que el alumno e enga con más acilidad los conocimien os
impa idos en la clase.
Ese eje cicio de edacción obliga al alumno a epasa odo lo que ha sido explicado,
analiza dicha in o mación y selecciona qué conside a más impo an e. Se espe a que la
consecuencia de ealiza es e es ue zo sea un e ue zo del ap endizaje y una o ma de
indica al p o eso cómo p og esa la clase. Po an o, de ca a al examen, si el alumno ha
ealizado un buen abajo en la pla a o ma, necesi a ía hace un es ue zo meno al de
o os que hayan enido di icul ades pa a exp esa se.
Aunque el impac o de es e abajo es posi i o, se quie e alo a el e ec o de la
gami icación y consegui una mayo pa icipación.
1.2. Obje i os
El p oyec o busca aumen a el po cen aje de alumnos que comple en con asiduidad las
a eas que les son mandadas en Bolo wee , además de en iquece y ameniza dicha
labo . Pa a ello, se quie e o ece una expe iencia que sea su icien emen e a ac i a pa a
los es udian es. Se conside a que el uso de un juego puede mo i a a los alumnos a
pa icipa en la he amien a, pues puede p oduci un “cambio en la ac i ud del usua io
sin la necesidad de usa la coe ción o el engaño” [3]. Así, se pe sigue aumen a su
mo i ación in ínseca, que les a aiga a pa icipa en ac i idades de Bolo wee .
El juego conside ado pa a es e abajo es Robocode [28], que es un ba le oyale donde
anques obo , p og amados en Ja a, luchan en e sí. Se p e ende combina las
uncionalidades de las pla a o mas Bolo wee y Robocode, donde los anques
ep esen en a los es udian es y su desempeño en Bolo wee . La combinación de ambos
elemen os se llama á Bolocode.
El juego, como se ha enido diciendo, ha de es a bien diseñado. K. Kapp de ine un
juego bien diseñado como “un sis ema en el que los jugado es se ocupan en un desa ío
abs ac o, de inido median e eglas, in e ac i idad y e oalimen ación que esul an en
un esul ado cuan i icable p o ocando a menudo una eacción emocional” [7].
Es a eacción emocional ha de es imula se midiendo la in eligencia de los a a a es de
los alumnos, ajus ando sus compo amien os pa a que las pa idas esul en en e enidas
8
Po an o, como a i ma G oh [6], el uso de ecompensas es p escindible si el juego
o ece al usua io una mo i ación pa a in e ac ua . Dicha mo i ación se consigue a
a és de una conexión en e lo que el juego o ece y los in e eses del usua io. Y
además, no solo es necesa io que se a ape a un jugado po sus in e eses sino que es os
han de se comunes con los del es o de usua ios que con o man la comunidad con la
que a a in e ac ua . Así pueden p oduci se si uaciones en las que un usua io compa e
un log o y dicho hecho es ele an e pa a el es o de la comunidad, mien as que en una
comunidad he e ogénea dicho log o no signi ica ía nada [6].
O o hecho es udiado po a ios au o es apun a a que, con la edad, la mo i ación
in ínseca se educe mien as que la ex ínseca aumen a. Sin emba go, no exis e un
consenso ace ca de en qué medida e oluciona cada una; una pa e de los au o es a i ma
que, con la edad, los es udian es dejan de di e i se du an e el p oceso de ap endizaje y,
además, los incen i os pa a man ene a es os es udian es concen ados en sus es udios
no compensan es a al a de mo i ación. O os au o es opinan que la mo i ación
ex ínseca disminuye pues los es udian es oman conciencia de su esponsabilidad y no
equie en de una igu a au o i a ia que los man enga cen ados [10].
2.2. Gami icación en la educación
En es a sección se apo an a ios ejemplos de gami icación ce canos a lo p opues o en
el abajo.
Jus P ess Play
Uno de los ejemplos de mayo magni ud es el p oyec o Jus P ess Play [2, 6, 13, 16]. A
400 alumnos del campus del Ins i u o de Tecnología de Roches e (RIT) se les o eció
pa icipa en un juego que consis ía en adqui i insignias i uales a a és de e os
comple ados en la ida eal. Es os e os omen aban la ida uni e si a ia y el
compañe ismo, pues e an de la índole de “man én una eunión con alguno de us
p o eso es” o “asis e a una de las con e encias ealizadas en el campus”.
No odos los e os es aban o ien ados a acome e acciones ín imamen e elacionadas con
ac i idades académicas, sino que ambién buscaban que los alumnos del campus
es echasen sus elaciones. Po ejemplo, o o de los e os p oponía que ece alumnos se
euniesen en un es au an e pa a come , y se sacasen una o o pa a después compa i la
en la pla a o ma. Y no solo e an las elaciones en e alumnos las que se buscaba
po encia ; o o e o, “Fo he Lawls” consis ía en hace eí a Elizabe h Lawley,
p o eso a de la uni e sidad y una de las p opulso as del p oyec o [16].
Cie os e os p oduje on una mejo a no o ia en las cali icaciones de los alumnos. Uno
en conc e o, “Undying: The e u n”, p emiaba a odos los alumnos de un g upo si
ap obaba una asigna u a el 90% de la clase. Es o gene ó una ola de compañe ismo
e lejada en sesiones de es udio g upales ue a del ho a io lec i o y más implicación po
pa e de los alumnos más a en ajados con aquellos que lle aban peo la ma e ia.
Finalmen e, el 92% de los alumnos ap oba on la asigna u a. Y ese hecho no ue la única
9
consecuencia posi i a de i ada del e o; los alumnos pidie on con inua haciendo
sesiones de es udio pa a el es o de las asigna u as del cu so [2].
Po úl imo, menciona un hecho que hay que ene en cuen a a la ho a de diseña el
sis ema, y es que la na u aleza del juego es olun a ia. Es o conduce a o a de las
ase ciones de Lawley: “Uno de los iesgos de pone lo en uncionamien o es hace que
pa ezca más abajo, y si pa ece más abajo los es udian es no an a hace lo. La
mayo ía de ellos no ienen apenas iempo su icien e pa a comple a los […] se a a más
de econoce las ac i idades han ealizado que de in en a que hagan un puñado de cosas
nue as”.
The Mul iplaye Class oom
Lee Sheldon es ableció pa a su asigna u a Theo y and P ac ice o Game Design, en la
Uni e sidad de Indiana, un sis ema que llamó Mul iplaye Class oom y que consis ía en
ans o ma el sis ema de cali icaciones y de exámenes adicional po un sis ema
ambien ado en un ideojuego de ol mul ijugado masi o.
Su me odología ha sido u ilizada po a ios docen es y en el lib o The Mul iplaye
Class oom: Designing Cou sewo k as a Game [13] ha ecogido la expe iencia de dichas
gami icaciones, exponiendo los esul ados y analizando la me odología aplicada.
La p ime a écnica que aplicó ue gami ica el plan de es udios. Sus i uyó las
compe encias y los esul ados de ap endizaje po a eas a comple a a lo la go del cu so,
u ilizando un lenguaje basado en los ideojuegos. Po ejemplo, en ez de u iliza el
e bo edac a pa a e e i se a la composición de un abajo, u ilizaba el e bo c a
(c ea , masi amen e u ilizado en los ideojuegos). Además, a cada a ea le o o gaba una
pun uación basada en pun os de expe iencia.
Sus i uyó el adicional sis ema de pun uación basado en no as (en EEUU las
cali icaciones son le as que an desde la F has a la A) po un sis ema de ni eles.
Sheldon es ableció doce ni eles que iban siendo alcanzados según los alumnos
comple aban las a eas expues as en la guía docen e y ecibían po ello pun os de
expe iencia. Po an o, el sis ema no se en ocaba en las cali icaciones sino en el
p og eso de los es udian es. Pa a adap a lo aún más al sis ema de un ideojuego, los
pun os de expe iencia necesa ios pa a alcanza el siguien e ni el aumen aban con o me
lo hacían los p opios ni eles. Sin emba go, Sheldon ad i ió que, de alguna mane a,
enía que compensa el acusado inc emen o de la di icul ad que gene aba es a
implemen ación de ni eles; decidió po an o o o ga can idades de pun os de
expe iencia mayo es con o me la a ea a comple a e a más di ícil.
Un úl imo apun e in e esan e es la mane a con la que p oponía ac i idades ex as. El
é mino a mea es un anglicismo que se puede aduci , en palab as de Sheldon, como
“ma a al mismo enemigo, usualmen e de un ni el muy in e io al del jugado , una y
o a ez como la mane a más e icien e de gana expe iencia y bo ín”. Basándonos en la
je ga ins anciada po el au o , ma a a un enemigo es comple a una a ea. Po an o,
10
cie as ac i idades ex as ealizadas de mane a con inua suponían un aumen o de los
pun os de expe iencia de los alumnos y, po ende, en subidas de ni el. Una de las
ac i idades ex a consis ía en encon a allos en los lib os de ex o que p oponía [13].
Fan asy Geopoli ics
En el año 2009, en la No h Lakes Academy Cha e School de Fo es Lake, Minneso a,
ue desa ollada una he amien a llamada Fan asy Geopoli ics.
Es a he amien a es aba di igida a los alumnos de no eno g ado de la escuela, pa a la
asigna u a de ciencias sociales. Se les p opuso o ma g upos y, median e un d a , cada
g upo escogía es países. Su a ea consis ía en mos a en clase odas las no icias que
encon asen en las que sus países e an mencionados, y po cada una ecibían un pun o.
Además, ambién podían come cia con dichos países, in e cambiándolos con o os
g upos.
La idea e a acos umb a a los es udian es a que leyesen no icias, es u iesen al día de
cuan o acaecía en el mundo y además mo i a los a es udia la asigna u a.
La he amien a gozó de un éxi o al que pos e io men e ue u ilizada en un cu so cí ico
de polí ica ex e io , y en o os cu sos de la p opia escuela. En 2014, ecaudó $12,706 a
a és de Kicks a e , pla a o ma de inanciamien os pa a p oyec os c ea i os [18].
Ac ualmen e cuen a con es juegos: el o iginal Geopoli ics; Poli ics, que es igual que el
an e io pe o con los es ados de Es ados Unidos; y Olympic Challenge, que es á
inspi ado en los juegos olímpicos y ayuda a ap ende la cul u a de los países
pa icipan es a a és de una mecánica de p edeci cuán as medallas gana á cada uno
[23].
Passpo
La Uni e sidad de Pu due desa olló una pla a o ma online de insignias, c eadas y
diseñadas po p o eso es pa a se en egadas a los alumnos [18, 27]. El alo de las
insignias es explicado po Kyle Bowen, di ec o de in o má ica de la In o ma ic
Technology a Pu due: “Las insignias se han con e ido en una mane a de econoce el
ap endizaje en odas sus o mas. Passpo p o ee una pla a o ma pa a cualquie a que
quie a en ega c edenciales de ap endizaje.” La p opia pla a o ma es á cons uida pa a
pe mi i a los educado es cons ui desde ce o la insignia que p e enden emi i , “desde
la c eación del e o has a la c eación de la p opia imagen de la insignia, y después una
mane a de mos a las insignias ganadas.”
Po o o lado, Ge y McCa ney, icep esiden e de Tecnologías de la In o mación de
Pu due, p esen a o a en aja en elación con el uso de las insignias: “además de las
clases eó icas y de los debe es, los es udian es pasan iempo en labo a o ios y haciendo
abajo de campo; iempo in e ido en p oyec o de se icio e in e nados; y expe iencia
que ecogen de las asociaciones es udian iles. La aplicación Passpo p opo ciona á o a
11
mane a de econoce y alida las habilidades de los es udian es a las acul ades
in e esadas y a los aseso es”.
Un ejemplo ilus a i o es habe pa icipado en una o ganización es udian il,
p opo cionando ayuda y se icio a los es udian es. Dicha labo no es econocida de
mane a o icial en las cali icaciones de la acul ad y, sin emba go, es una labo que
b inda de g an expe iencia a aquellos que la ealizan. Es e sis ema de insignias sí
econoce á angiblemen e el abajo e ec uado [19].
Nació en 2012, pa a en ega insignias a los es udian es que comple asen un MOOC en
nano ecnología, apa e de o os log os elacionados con o as ma e ias y depa amen os,
odo den o del ma co de ac i idades de la Uni e sidad de Pu due. Uno de los
p o eso es cuya pa icipación ue cla e a la ho a de desa olla la he amien a, Bill
Wa son, a i ma que “las insignias ayudan a los p o eso es a alen a a los es udian es a
demos a cómo han alcanzado obje i os de ap endizaje muy especí icos a a és de un
endimien o eal”.
El sis ema se in eg a con Mozilla Open Badges In aes uc u e [26], un sis ema que
pe mi e inclui a las insignias me ada os ales como quién emi ió la insignia, cómo y
cuándo se consiguió.
Ac ualmen e si e como po olio online, pe mi iendo a los usua ios demos a sus
capacidades y compe encias. Además, es as insignias pueden se expo adas a edes
sociales como Facebook y LinkedIn. Es u ilizada po ins i uciones ales como el MIT, la
Uni e sidad de Cali o nia y la NASA.
Specula i e Design
El Doc o Ca man Neus aed e , p o eso ayudan e en la School o In e ac i e A s &
Technology de la Uni e sidad Simon F ase , implan ó un mecanismo de gami icación a
su asigna u a, Specula i e Design [14].
C eó una página web pa a su cu so, donde colocó una abla de esul ados. En dicha
abla apa ecían los 70 alumnos de la asigna u a, o denados po las cali icaciones que
iban ob eniendo a lo la go del cu so. Pa a inc emen a la mo i ación de los es udian es,
es ableció un sis ema de ni eles que se iban alcanzando según la suma o al de sus
pun uaciones aumen aba. Además, ambién asignaba a cada alumno un ango de inido
median e un í ulo que desc ibía las ap i udes de los mismos; po ejemplo, algunos
í ulos ezaban “Junio A is ”, “A is ic In e n” y “G and Mas e Specula i e
Designe ”. Es a mecánica esponde a la p emisa llamada S o y elling. En palab as de
Kapp, “la gen e puede ap ende hechos mejo cuando los hechos es án embebidos en
una his o ia y no en un lis ado” [7].
Semanalmen e p oponía ace ijos, una mecánica simila a la p opues a en Bolo wee .
Neus aed e aplicó un concep o conocido como Jus in Time Teaching [4, 13]. Dicho
concep o se de ine como ecopila aspec os de la asigna u a al comienzo de la clase, si
el p o eso conside a opo uno abo da los. Es a mecánica pe mi e a ia la plani icación
12
de la clase si se conside a necesa io hace más hincapié en algún concep o eó ico.
Neus aed e mos aba en sus clases espues as a los ace ijos que c eía ep esen a i as
de un allo gene alizado en los es udian es, pa a co egi lo y acla a ideas a sus
alumnos.
En la web mencionada ambién se mos aban los hi os a alcanza a lo la go del cu so,
jun o a unos pun os de expe iencia. Se mos aban los pun os máximos alcanzables po
hi o, y los que el alumno había ob enido po su desempeño en dicha ac i idad. La abla
es simila a la que puede encon a se en el Campus Vi ual, donde apa ecen las a eas y
exámenes ealizados jun o a la no a ob enida y la pun uación máxima alcanzable.
Neus aed e eliminó una mecánica que incluía in e acción con el mundo eal. In en ó la
his o ia de un secues o y, po cada ni el de expe iencia alcanzado po un alumno, le
en egaba una palab a cla e que, in oducida en la web del cu so, e elaba una pa e de
una o og a ía. Dicha o og a ía mos aba un luga del campus de la acul ad; y en dicho
luga , se escondía la úl ima palab a cla e. Es a úl ima palab a e elaba la iden idad del
secues ado . Sin emba go, la mecánica ue eliminada po que Neus aed e no
encon aba elación alguna en e la a ea de busca el luga del campus y e ela la
iden idad del secues ado con un ap endizaje eal de los concep os eó icos de su
asigna u a. Decidió, po an o, ans o ma los pun os de expe iencia en cali icaciones
eales.
Uso de Kahoo ! en asigna u as de la acul ad
Kahoo ! es uno de los ejemplos de gami icación implemen ados en la acul ad [25].
Se a a de una he amien a online que pe mi e a los educado es c ea es (o u iliza los
que se encuen an disponibles en el eposi o io) que los alumnos pueden con es a
in e ac i amen e, pudiendo e en iempo eal las espues as a las p egun as y la
clasi icación de los pa icipan es, que eciben pun os po con es a co ec amen e a las
p egun as y po hace lo en más o menos iempo.
Es a pla a o ma ue u ilizada en alguna asigna u a, de al mane a que el p o eso , al
inicio de la clase, p oponía ealiza un es en el que las p egun as co espondían a la
pa e del ema io de la asigna u a que había sido impa ido has a el momen o. Los
alumnos que quedaban en las es p ime as posiciones ecibie on pun uación ex a en
sus cali icaciones inales.
Cibe gue a en Redes y Segu idad e insignias
La asigna u a de Redes y Segu idad iene un impo an e componen e p ác ico.
Semanalmen e, los alumnos han de comple a a eas y eje cicios du an e las dos ho as
de labo a o io, además de o os e os que son lanzados a a és del campus i ual y que
ienen que e con el desci ado de mensajes, in es igación y esolución de ace ijos.
Pa a mo i a a los alumnos a pa icipa ac i amen e en los e os y a comple a las
p ác icas de labo a o io, en el cu so 2016/2017 se ins au ó una compe ición llamada
13
“Cibe gue a”. Consis ía en una compe ición po pun os que e an asignados a cada uno
de los dos g upos de la asigna u a, y había dos mane as de consegui los.
La p ime a ía pa a que la clase ob u iese un pun o e a comple a un e o. Los e os
e an comple ados cuando se hallaba la solución al ace ijo que se p oponía. En el o o
del campus i ual había una sección des inada a es os e os, con ando con un hilo pa a
cada uno. En dicho hilo podían pa icipa odos los es udian es de los dos g upos, y el
que que ía apo a su g ani o de a ena pos eaba un mensaje con la in o mación que
había ecabado o lo que pensaba que podía se la solución. Cuando inalmen e un
alumno daba con la espues a co ec a, se asignaba un pun o al g upo al que pe enecía.
La segunda ía e a esol e en menos iempo la p ác ica semanal. Los p o eso es del
labo a o io ano aban el iempo que había a dado la p ime a pa eja de cada g upo en
comple a la p ác ica. El pun o e a asignado al g upo cuya pa eja había sido más ápida.
La Cibe gue a con aba con a ios mecanismos inspi ados en los juegos. Po ejemplo,
se conseguía que la inme sión uese un an o mayo pudiendo la clase elegi bajo qué
nomb e que ían pa icipa en la gue a. También se p opuso que alguien diseñase un
logo que podía se a is ado en la clasi icación que e a mos ada en la página p incipal
del campus de la asigna u a.
Una abla de clasi icación es una mecánica que sus en a un p incipio de inido po Kapp
como Rapid eedback. A i ma que los es udian es han de se conscien es en odo
momen o de cuál es su es ado den o del juego; median e una e oalimen ación
cons an e y di igida, su p og eso es mayo . Una de las mejo es mane as pa a acome e
es a a ea es median e un ma cado , donde un es udian e puede obse a si su
endimien o es á siendo el adecuado o no [7, 8, 14].
O o elemen o cla e en la gami icación es el uso de insignias, que mani ies an que un
alumno ha comple ado o pa icipado en un e o. En el ya mencionado Jus P ess Play,
los alumnos que comple aban los e os ecibían al momen o una insignia i ual, que e a
dispues a en su pe il jun o a las o as insignias que el alumno hubie a ecibido con
an e io idad [16]. Las insignias ambién se es ablecie on en el ma co de la asigna u a de
Redes y Segu idad. Todo alumno que pa icipaba en alguno de los e os lanzados, uese
él o no quien diese con la espues a co ec a, ecibía una insignia que demos aba que
había pa icipado en el e o. Dichas insignias se mos aban en los pe iles de los
alumnos en el Campus Vi ual.
2.3. La ac ualidad de Robocode y Bolo wee
Bolo wee
Bolo wee se sus en a en la pla a o ma de mic oblogueo de código abie o S a usne .
Es a pla a o ma o ece un sis ema de plugins que pe mi e do a de uncionalidad ex a a
la he amien a. Bolo wee ha sido desa ollado po p o eso es de la Facul ad de
In o má ica de la Uni e sidad Complu ense de Mad id, que median e el desa ollo de
14
plugins han en ocado la pla a o ma al mé odo docen e p opues o en su abajo de
in es igación [17].
Ac ualmen e, Bolo wee se basa en mensajes en iados po los es udian es y que son
co egidos po el p o eso , que puede o o ga una no a del 0 al 3. Adicionalmen e, los
mensajes pueden se espondidos an o po el p o eso como po o o alumno. Es a
mecánica pe mi e, po ejemplo, que el p o eso indique al alumno en qué pun o su
mensaje no es co ec o.
Ilus ación 1- Ejemplo de in e acción en Bolo wee en e alumno y p o eso
El p o eso de un g upo posee el ol g ade . Dicho ol le pe mi e pode pun ua los
mensajes que son en iados al g upo po pa e de los es udian es. Un p o eso puede se
g ade de aquellos g upos de los que es p o eso .
Además, Bolo wee o ece la posibilidad de desca ga , en o ma de apun es, los
mensajes del si io. Puede il a se dicha desca ga po asigna u a y, den o de ella,
desca ga los au omá icamen e o il ando po hash ag.
Robocode
Se ha escogido el juego de código abie o Robocode [28] como he amien a de
gami icación. Es e juego ejecu a ba allas en e obo s con olados po una in eligencia
a i icial o almen e p og amable po el usua io. Tan o la ba alla como los obo s es án
codi icados en lenguaje Ja a.
A con inuación an a se explicadas las ca ac e ís icas más impo an es y ele an es de
Robocode, en elación al uncionamien o de las ba allas.
15
Una pa ida es ejecu ada en un campo de ba alla de dimensiones de inidas a la ho a del
lanzamien o de la misma. El ipo de ba alla más común, y el que se p opo ciona á en el
sis ema, es una ba alla de “ odos con a odos”. Una ba alla puede ene el núme o de
ondas que se desee, y cada onda inaliza cuando solo queda un obo con ida.
Un obo puede a aca a o o de dos mane as: dispa ándolo o a ollándolo. En el
capí ulo 4 se especi ica á cuán o daño p oduce un a aque. Po o a pa e, un obo puede
pe de ida al se a acado po o o obo , o al choca con los mu os que delimi an el
campo de ba alla.
Una ez la ba alla inaliza, se ecogen los esul ados:
Ilus ación 2 – Resul ados de una ba alla
To al sco e: La suma de odas las pun uaciones que a con inuación an a
explica se.
Su i al: Un obo ecibe 50 pun os po cada ez que o o obo mue e y él
sigue con ida.
Su i al Bonus: Un obo ecibe 10 pun os po cada obo eliminado du an e
una onda si consigue se el úl imo en pie.
Bulle damage: Un obo ecibe un pun o po cada pun o de daño que hace a los
enemigos dispa ándolos.
Bulle bonus: Un obo ecibe un 20% adicional del daño p oducido a un
enemigo al que ha eliminado dispa ándolo.
Ram damage: Un obo ecibe dos pun os po cada pun o de daño que hace a los
enemigos a ollándolos.
Ram bonus: Un obo ecibe un 30% adicional del daño p oducido a un enemigo
que ha eliminado a ollándolo.
1s s, 2nds, 3 ds: Núme o de eces que el obo ha quedado en p ime , segundo y
e ce luga .
Robocode o dena a los pa icipan es según su pun uación o al, asignando el p ime
pues o al que mayo pun uación ha ob enido.
2.4. C í ica al es ado del a e
El obje i o común de las p opues as desc i as e a alen a a los alumnos a man ene una
pa icipación ac i a en las ac i idades de clase, algunas de ellas especí icamen e
diseñadas pa a aumen a la mo i ación de es os alumnos.
En algunos casos, sin emba go, las ac i idades p opues as diluían la e dade a
di icul ad que en aña domina un concep o eó ico. La gami icación ha de es a
16
o almen e sepa ada de las e aluaciones o males, y además ampoco ha de e se de
o ma aislada a o as he amien as y mé odos [5]. Po an o, nunca debe sus i ui a la
me odología ya ins au ada.
En el caso de Fan asy Geopoli ics, oda ac i idad elacionada con la asigna u a en la
que ue aplicado se sus i uyó po el juego desc i o. ¿Es dicho juego su icien e pa a que
los alumnos ap endan odo lo que se espe a que ap endan sob e geopolí ica? No es
posible conoce has a qué pun os los alumnos ap endie on los concep os que la
asigna u a p oponía, pe o el hecho de u iliza únicamen e la gami icación es una
p ác ica echazada po alguno de los au o es [5].
Po o o lado, a la ho a de gami ica una asigna u a, el juego es ablecido no ha de
simpli ica se en exceso, pues puede p o oca que los es udian es dejen de mos a
in e és en la asigna u a [2]. Los ejemplos mencionados a lo la go de la memo ia, sin
emba go, sí abo dan co ec amen e es e pun o, pues en odos los juegos no solo se
aplicaban mecánicas ex aídas de los juegos sino que, además, odo se en ol ía en un
con ex o desa ollado con la in ención de a ae a los alumnos. Solo en el caso del uso
de Kahoo ! se simpli ica la u ilización de un juego; las pa idas e an ejecu adas de
mane a espo ádica y no o maban pa e de la me odología con inua de la asigna u a. Sí
se en iende la simpli icación de la gami icación en es e caso, pues su uso es aba
en ocado al epaso de los concep os es udiados y no en el ap endizaje de nue os.
O os ejemplos, como Jus P ess Play, p e endían aba ca muchos más aspec os más
allá del ap endizaje; omen aban la ida en el campus uni e si a io, el compañe ismo,
e c. En es e caso, e a necesa ia una colabo ación en e odos las acul ades,
depa amen os y en idades de la uni e sidad; una complejidad logís ica no aba cable en
es e p oyec o.
En elación con la complejidad de los p oyec os, an o es e úl imo ejemplo mencionado
como o os no han sido lle ados a cabo odos los años. Es o se debe a que es necesa io
ealiza un despliegue de medios que no siemp e es posible e ec ua . Sin emba go, es e
p oyec o no equie e una logís ica complicada, pues se basa en un código ejecu able y
en una ac ualización de da os au oma izada, amén de es a sus en ando en una
pla a o ma como Bolo wee , que lle a a ios años ac i a y su iabilidad es á más que
p obada.
De es os ejemplos es udiados se ob ienen una se ie de p incipios aplicables a la
p opues a p esen ada:
Se ha á uso de un sis ema de pun uaciones que o dene a los es udian es según su
desempeño en la pla a o ma.
Los mensajes en iados a Bolo wee y su pos e io cali icación no sus i ui án a
los mé odos comunes de e aluación: p ác icas y exámenes.
La pa icipación en el sis ema no eque i á iempo ex a pa a su uso, pues o que
las ba allas se án ejecu adas du an e las clases eó icas y ambién se dedica á
iempo de las mismas pa a la esolución de las a eas.
17
La au oma ización de la ac ualización de esul ados simpli ica la pues a en
uncionamien o del sis ema, educiendo la complejidad de su uso.
En gene al, se busca un aumen o de la mo i ación in ínseca de los es udian es –
que pa icipen en la pla a o ma po que sien en in e és en las ba allas y les esul a
mo i ado ene un obo compe i i o-, mien as que la ex ínseca se ea
de aluada –pa icipa po el simple hecho de e mejo ada su no a inal-.
2.5. Conclusiones
Los au o es que han desa ollado ideas pa a gami ica sus asigna u as, y pos e io men e
las han implemen ado, han obse ado esul ados posi i os en el desempeño de sus
alumnos.
Los abajos e isados ambién concue dan en que no solo bas a con implemen a
me odologías que incluyan elemen os de los ideojuegos; es necesa io medi cómo
implemen a es as mecánicas, qué peso inal end án en la cali icación de la asigna u a y
qué ecompensas ecibi án los alumnos po comple a sa is ac o iamen e los desa íos
p opues os.
Muchos de los ejemplos mencionados son p oyec os u o de un la go p oceso de
desa ollo, cuya pa e más impo an e es decidi los aspec os que se acaban de
menciona . Muchos de los au o es han pensado, la go y endido, cómo implemen a las
mecánicas de mane a que los alumnos no ean su mo i ación in ínseca de aluada en
i ud de ecompensas áciles de ob ene , desa íos epe i i os y con ex os que no casen
con sus gus os e in e eses [1, 5, 6, 7, 8, 12].
24
Ilus ación 8 – Timeline del g upo donde el p o eso puede co egi las a eas
Cuando acaba la segunda clase, de nue o se p opone una segunda a ea y, además, se
ejecu an a ios obo umbles.
Como puede ap ecia se en la ilus ación 10, el sis ema, al inicia se, ac ualiza la media
de los alumnos de los mensajes en iados úl imos n días. Es e núme o de días es
con igu able en el a chi o de con igu ación obocon ig.c g o den o de la p opia
aplicación, como se ap ecia en la ilus ación 9.
Ilus ación 9 – Diálogo pa a modi ica el pe iodo de días pa a el cálculo de las medias
25
Ilus ación 10 – Inicio del sis ema y ac ualización de medias de los es udian es
Es in e esan e pode modi ica el pe iodo de medias po que así el p o eso puede ajus a
con más exac i ud el c i e io que aplica: puede ene en cuen a el endimien o a lo la go
de odo el cu so o el de los úl imos días –p omo iendo así un uso con inuo de la
pla a o ma, sin deja de comple a a eas-.
El p o eso ejecu a los obo umbles, cuyos esul ados acumulados pueden ap ecia se en
la pes aña Robocode de Bolo wee .
26
Ilus ación 11 – Ejecución de un obo umble
Ilus ación 12 – Resul ados acumulados en Bolo wee
27
Además, el p o eso puede cambia los pa áme os de una ba alla desde la aplicación, si
lo conside a necesa io:
Ilus ación 13 – Opciones pa a pa ame iza las ba allas
Adicionalmen e, un alumno puede solici a cambia los colo es de su obo , a ea que
puede lle a se a cabo desde el sis ema.
Ilus ación 14 – Diálogo pa a cambia los colo es de un obo
El es o de uncionalidades que el sis ema iene implemen adas se de allan en el
apéndice A de la memo ia.
Lo que se espe a que suceda a lo la go del cu so es analizado en p o undidad en la
sección 5 de la memo ia.
28
4. Desa ollo de la solución
Toda la uncionalidad p o is a po el sis ema a a se ep esen ada y explicada median e
casos de uso. A con inuación se an a lis a y de alla los casos de uso pa a dos de los
ac o es de la pla a o ma: p o eso es y es udian es.
Ve clasi icación: Es a acción la puede lle a a un usua io gené ico, an o p o eso
como es udian e. Pueden consul a se los esul ados acumulados de odas las ba allas
dispu adas en e usua ios de un mismo g upo. Un es udian e solo puede consul a los
esul ados de los g upos a los que pe enece y ienen el plugin ac i ado, y un p o eso
aquellos g upos en los que iene el ol g ade .
Ejecu a juego: Acción que solamen e un p o eso puede ealiza consis en e en el
lanzamien o del sc ip que inicia la lógica pa a desplega una ba alla, cambia los
pa áme os de la misma y ges iona obo s.
Ges ión de g upos: El p o eso puede ges iona los g upos en los que iene el ol de
g ade . Puede pasa de uno a o o simplemen e indicando el ID o el nickname del g upo
en cues ión, o modi ica el núme o de días a ene en cuen a pa a el cálculo de las
medias.
Cambia g upo de clase: Si el p o eso iene a ios g upos egis ados en el sis ema,
puede cambia de g upo sob e el que abaja , simplemen e indicando el nue o g upo al
que cambia se.
Elegi nue o pe iodo de días: El p o eso puede elegi el pe iodo de iempo du an e el
cual se an a ecoge las cali icaciones ob enidas po un es udian e, desde el día ac ual
hacia a ás. Es o es, si po ejemplo se indica que el pe íodo de no as es de es días, se
calcula á pa a cada es udian e la media de las no as ecibidas en los mensajes en iados
en los úl imos es días.
Ges iona pa áme os de ba alla: In e az que o ece á al p o eso la opción de elegi
qué pa áme os de la ba alla quie e cambia . Es os pa áme os son las dimensiones del
able o y el núme o de ondas que lucha án los obo s.
Cambia núme o de ondas: Relacionado con el caso de uso an e io , se pedi á al
p o eso que in oduzca el núme o de ondas que end á la ba alla.
Cambia amaño del able o: Relacionado con el caso de uso an e io , se pedi á al
p o eso que in oduzca el ancho y el al o del able o.
29
Ilus ación 15 – Casos de uso del sis ema pa a p o eso es y alumnos
30
C ea obo : Relacionado con el caso de uso an e io , un p o eso pod á c ea un obo
pa a un alumno, en caso de no habe lo egis ado has a el momen o. Pod á indica el
nomb e y los colo es del mismo, de en e una se ie de opciones a elegi , siendo es os
aplicables a es pa es del mismo: cue po, ada y cañón.
Modi ica colo es de un obo : Relacionado con el caso de uso an e io , pa a un obo
exis en e, el p o eso pod á selecciona sus nue os colo es.
Lis a obo s: Se mos a án po pan alla odos los usua ios del g upo que engan su
obo egis ado.
Ejecu a ba alla: Lanza á el sc ip que pe mi e ejecu a una ba alla. Las condiciones de
la ba alla se án o bien las que con enga el iche o de con igu ación o las empo ales
indicadas po el p o eso , en caso de que haya decidido modi ica alguna de es as sin
gua da la con igu ación.
Elegi obo s: Relacionado con el caso de uso an e io , el p o eso end á que egis a
los obo s que ayan a pa icipa en la ba alla. No pod á egis a un obo dos eces,
pa a que un usua io no pueda lucha con a sí mismo, y mínimo ienen que pa icipa
dos obo s.
Robo umble: Relacionado con el caso de uso an e io , el p o eso puede op a po
selecciona odos los obo s del g upo pa a que luchen en una misma ba alla.
A con inuación se mues an los casos de uso p opo cionados po los sc ip s de
adminis ación. Se á el usua io adminis ado el enca gado de la ges ión del sis ema.
Ilus ación 16 – Casos de uso pa a el adminis ado
Ac i a o desac i a Robocode: El p o eso de un g upo puede op a po hace uso del
juego o no. Pa a hace la ges ión del sis ema más e icien e, e i ando hace consul as
sob e g upos que no ienen el plugin ac i ado, se ha ins anciado una abla en la base de
da os que indica pa a cada g upo si el plugin es á ac i ado o no. El adminis ado puede
ac i a o desac i a el plugin pa a un g upo, a pe ición del p o eso . Es e es el único
sc ip cuyos pe misos de ejecución ecaen exclusi amen e en el adminis ado .
Ac ualiza esul ados de ba allas: Es e sc ip p opo ciona la uncionalidad necesa ia
pa a ac ualiza las pun uaciones de los es udian es. Reco e á el di ec o io donde se
almacenan los esul ados de odas las ba allas, lee á los iche os y ac ualiza á los
esul ados que pos e io men e son mos ados en la página p incipal del plugin.
31
Ac ualiza iche os de medias: El adminis ado puede, manualmen e, modi ica los
a chi os de las medias de los alumnos de un g upo. Pa a ello, ha de in oduci como
pa áme o al sc ip PHP el g upo a ac ualiza y el núme o de días a ene en cuen a.
C ea obo s: El adminis ado ecibe del p o eso un a chi o .cs en el que apa ecen
los nicknames de los alumnos pe enecien es a su asigna u a jun o a los colo es
co espondien es a sus obo s. Hace uso de un sc ip , c ea obo s.sh, que lee dicho
iche o y c ea en el sis ema los obo s que apa ecen en él.
4.1. A qui ec u a de la solución
La solución consis e en la in eg ación de la pla a o ma Bolo wee con las ba allas
lanzadas po Robocode.
El sis ema se a icula en o no a los siguien es elemen os:
Un plugin pa a Bolo wee . Enlaza con Robocode y mues a los esul ados
acumulados de las ba allas ejecu adas en es a pla a o ma, o denando pa a cada
g upo a los es udian es en unción de los pun os o ales ob enidos a lo la go de
odas las ba allas.
Sc ip s de adminis ación. Es os sc ip s se enca gan de enlaza las dos
he amien as, de mane a que el ecuen o de pun os y la ac ualización de medias
sea au omá ico.
Sc ip s pa a ejecu a una ba alla. Ejecu an Robocode ex e namen e pa a pode
pa ame iza las ba allas de mane a más cómoda y pa a pode ecoge los
esul ados de es as au omá icamen e.
P ime amen e se a a de alla un diag ama de despliegue pa a pode obse a dónde se
aloja cada componen e del sis ema.
Ilus ación 17 – Diag ama de despliegue del sis ema
32
En el se ido se aloja á an o Bolo wee como Robocode, donde se ealiza án odas las
a eas de man enimien o necesa ias.
Tan o el p o eso como los es udian es pod án accede a Bolo wee desde sus
disposi i os. En el caso de los alumnos, pa a comple a las a eas; los p o eso es, pa a
co egi las y, en caso de se necesa io, con es a dichos mensajes con las co ecciones
que c ean opo uno indica .
Adicionalmen e, solo el p o eso pod á accede a Robocode, pa a ejecu a las ba allas
pe inen es.
4.1.1. Diseño del plugin Robocode
El p ime paso ue c ea un plugin pa a el sis ema S a usNe . Es e plugin se enca ga de
ecoge los da os de las ba allas ejecu adas y ac ualiza los esul ados mos ados en
Bolo wee , así como expo a las medias ac ualizadas de los alumnos de un g upo.
Ilus ación 18 – Diag ama de clases del plugin Robocode
Clase RobocodePlugin: Se a a de la clase p incipal que ex iende la clase plugin. Se
enca ga de ca ga los iche os necesa ios pa a el co ec o uncionamien o del plugin, y
de elaciona sus unciones con el co e a a és de e en os. G acias a la clase Schema se
asegu a la es uc u a de las ablas de la base de da os p opias del plugin, y hace uso de
las unciones de las clases Robocode y Robocodeg oups pa a la de inición las ablas.
Clase Ge sco esAc ion: Es a clase ex iende a la clase Ac ion y se enca ga de mos a los
esul ados acumulados de las ba allas que han lib ado odos los usua ios que pe enecen
al mismo g upo que el usua io que es á isualizando la página y ambién ac ualiza la
media de sus no as. Pa a la p ime a a ea, hace uso de la clase Robocode pa a ob ene la
pun uación o al y el núme o de ondas ganadas de odos los usua ios del g upo pa a
después mos a los en o ma o abla. También hace uso de es a misma clase pa a
33
ac ualiza dichos alo es cuando el sis ema egis a el esul ado de una ba alla. Pa a la
segunda a ea, se hace uso de la clase G ades pa a olca en un iche o .cs las medias
de las no as de los usua ios del g upo. La clase G adesg oup pe mi e comp oba si el
usua io que es á isualizando la página p incipal del plugin es un g ade . En caso de
se lo y de ene su o sus g upos el plugin ac i ado, mos a á sus clasi icaciones.
Clase Robocode: Ex iende la clase Managed_Da aObjec y ep esen a la abla
obocode_sco es. Es a abla con iene las pun uaciones de odos los usua ios que
pe enecen a uno o a ios g upos con el plugin ac i ado. Regis a su pun uación o al y
núme o de ondas ganadas pa a cada g upo al que pe enece. P opo ciona odas las
unciones necesa ias pa a comunica se con la abla de la base de da os.
Clase Robocodeg oups: Ex iende la clase Managed_Da aObjec y ep esen a la abla
obocode_g oups. Es a abla con iene in o mación ace ca de qué g upos ienen ac i ado
el plugin, in o mación necesa ia a la ho a de la ges ión de ac ualizaciones de
pun uaciones, egis o de nue os g upos, e c. P opo ciona odas las unciones necesa ias
pa a comunica se con la abla de la base de da os.
4.1.2. Diseño de sc ip s de sopo e pa a adminis ación
Pa a la in eg ación de ambas pla a o mas se equie en sc ip s que se enca guen de la
comunicación de los da os en e es as. Po ejemplo, cuando una ba alla ejecu ada po
Robocode inaliza, el esul ado de la misma ha de se almacenado en la base de da os de
Bolo wee . De mane a in e sa, an es de lanza una ba alla, han de cons ui se los obo s
en unción de su ni el, que iene indicado po su desempeño en Bolo wee , po lo que
hay que accede a es a pa a ecupe a las medias de las cali icaciones de los es udian es.
Es os sc ip s son usados an o po el adminis ado pa a ac ualiza las ablas de la base
de da os manualmen e como po la lógica del sis ema, que ambién ha de abaja sob e
es as ablas.
Ilus ación 19 – Diag ama de los sc ip s de adminis ación c eados
Check obocode obo : Es e sc ip PHP se enca ga de comp oba si un usua io pe enece
a un g upo conc e o. Hace uso de las clases Use _g oup y Local_g oup pa a alida que
el g upo in oducido exis e, pa a acep a su iden i icación median e an o ID como alias
y pa a hace la p opia comp obación.
C ea obo : Es e sc ip Bash ecibe un ID de un g upo y un a chi o .cs que con iene
los usua ios de ese g upo seguido de sus co espondien es colo es e in oduce en el
40
Cambia amaño del able o
Ilus ación 26 – Diag ama de secuencia pa a el caso de uso Cambia amaño del able o
T as ejecu a el sc ip e inicia sesión con un g upo co ec amen e, le pide al p o eso
qué acción ealiza . Al indica que quie e cambia los pa áme os de una ba alla, se le
o ece el pode cambia el núme o de ondas o el amaño del able o. T as indica que
desea cambia el amaño del able o, p ime amen e el sis ema le pide in oduci el
ancho. T as la pe inen e comp obación y ac ualización, se le pide in oduci el al o,
pa a pos e io men e epe i el p oceso.
41
Gua da con igu ación
Ilus ación 27 – Diag ama de secuencia pa a el caso de uso Gua da con igu ación
Una ez se ha cambiado algún pa áme o y se ha egis ado de o ma empo al, se inicia
el p oceso de gua dado. P ime amen e se comp ueba que exis e un iche o y, si no
exis e, se c ea uno con una con igu ación p ede e minada. Se le p egun a al usua io si
desea gua da los cambios y, en caso posi i o, se ac ualiza el iche o con el alo
ecien emen e in oducido.
No a que, si el usua io indica que no quie e gua da la con igu ación, el p oceso
e mina.
42
C ea nue o obo
Ilus ación 28 – Diag ama de secuencia pa a el caso de uso C ea obo
El sis ema solici a á al usua io in oduci el nomb e del obo . Al ecibi lo, comp oba á
p ime amen e que la en ada es una cadena de ca ac e es co ec a, pa a después
comp oba que el nomb e in oducido pe enece al de un usua io del g upo sob e el que
se es á abajando. Después de es as comp obaciones, se comp oba á ambién si el obo
ya es á c eado o no. En caso de es a lo, se p egun a á al p o eso si desea sob esc ibi lo.
En caso posi i o, se con inua á con la ejecución y se segui án pidiendo da os. Si no
desea sob esc ibi lo, se le pedi á o o nomb e. Cuando el obo a c ea (o modi ica ) es á
decidido, comienza el p oceso de aplica colo es al obo . Es e p oceso se explica á en
el siguien e pun o. T as es o, se comp oba á qué ni el iene el obo . Pa a ello se ecu e
al iche o que con iene la media de los g ades ecibidos en Bolo wee . Si esul a que no
ha pa icipado en la pla a o ma, no apa ece á en el iche o, po lo que se le asigna á el
meno ni el posible.
Pa a c ea el código de un obo , se ha ecu ido al uso de plan illas. Es as plan illas
ienen esc i o el compo amien o de un obo . Exis e una plan illa po cada ni el de
obo exis en e. Se olca á dicha plan illa en el a chi o .ja a del obo (que con iene su
compo amien o) y se cambia á el nomb e de la clase po el del nomb e del obo .
Finalmen e, compila á el código.
43
Modi ica colo es de un obo
Ilus ación 29 – Diag ama de secuencia pa a el caso de uso Modi ica colo es de un obo
Los colo es de un obo pueden se modi icados bien si el p o eso así lo indica desde el
menú del sc ip , o bien si al selecciona la opción c ea obo , in oduce un obo ya
exis en e y señala que desea sob esc ibi lo. En onces, se le p egun a al p o eso si desea
selecciona sus p opios colo es o aplica los colo es po de ec o. Si quie e elegi los, se
le pide in oduci dichos colo es. El p o eso puede elegi de en e una gama de colo es
p ede e minada:
Colo es aplicables a un obo
Si los colo es in oducidos no son co ec os, el sis ema aplica á el colo po de ec o
asignado a la pa e del cue po mal in oducida. Pos e io men e, aplica á los colo es al
obo plasmándolos en su código, pa a después egis a esos colo es en un iche o que
mapea los colo es de odos los obo s del sis ema.
44
Lis a obo s
Ilus ación 30 – Diag ama de secuencia pa a el caso de uso Lis a obo s
De nue o en el menú pa a c ea , modi ica o lis a los obo s, el p o eso indica es a
úl ima opción. Se le de ol e á la lis a comple a de los usua ios del g upo que engan un
obo c eado en el sis ema.
Ejecu a una ba alla eligiendo los obo s
Ilus ación 31 – Diag ama de secuencia pa a el caso de uso Ejecu a una ba alla eligiendo los obo s
45
El p o eso selecciona la opción de gene a una ba alla. El sc ip gene aBa alla.sh
ecibe la lis a de obo s del g upo y la con igu ación de la misma, consis en e en el
amaño del able o y el núme o de ondas. Pide al p o eso que indica si quie e elegi los
obo s manualmen e o ejecu a un obo umble. Al elegi los obo s manualmen e, le
pide in oduci un nomb e. Comp ueba que dicho obo es á en la lis a del g upo y, si lo
es á, lo añade a la lis a de obo s pa icipan es en la ba alla. Dicho p oceso uel e a
epe i se has a que el p o eso no desea añadi más obo s. Mínimo ha de in oduci dos
obo s y ninguno puede epe i se.
T as elegi los obo s, ejecu a la ba alla. Pa a ello, el sc ip ecu e a la clase
Ba leRunne que, como se e á más adelan e, es la clase enca gada de ejecu a una
ba alla. Es a clase de uel e los esul ados de la ba alla pa a se mos ados po consola y,
además, ambién c ea un iche o .cs empo al que los almacena. El sc ip
gene aBa alla.sh es el enca gado de gua da el con enido del iche o empo al en un
iche o que el sis ema econoce pa a pode almacena lo en la base de da os de
Bolo wee . El sis ema lo econoce pues se codi ica el nomb e del iche o pa a que
indique el g upo, los pa icipan es y la echa y ho a de la ba alla.
Finalmen e, el con ol uel e al p o eso sob e el sc ip bolocode.sh.
Ejecu a un obo umble
Ilus ación 32 – Diag ama de secuencia pa a el caso de uso Ejecu a un Robo umble
La única di e encia espec o al caso de uso an e io adica en que el sis ema uelca
odos los usua ios del g upo con obo a la lis a de pa icipan es, en ez de se el
p o eso quien in oduce manualmen e los nomb es de los obo s que an a ba alla .
46
4.3. Robocode
En es a sección se p esen an las modi icaciones necesa ias en la pa e de Robocode.
4.3.1. Ba alla
Robocode es un juego de código abie o, po lo que se pod ía habe hecho uso de odo el
po encial que ello supone. Sin emba go, ambién o ece una API que b inda la
posibilidad de ejecu a una ba alla desde una aplicación ex e na. Se ha op ado po
ap o echa es a uncionalidad pa a simpli ica y acili a la cons ucción de la clase que
ejecu e una ba alla, así como su in eg ación con la he amien a Bolo wee .
Ilus ación 33 – Diag ama de clases de la clase Ba leRunne
Clase Ba leRunne : Clase p incipal que se enca ga de la c eación y ejecución de una
ba alla as la lec u a y pa seo de los a gumen os que eciba, que se án los pa áme os de
la ba alla. Hace uso de la clase RobocodeEngine pa a pode ins ancia una ba alla. Las
clases Ba le ieldSpeci ica ion, Robo Speci ica ion y Ba leSpeci ica ion son las
enca gadas de, espec i amen e, c ea un campo de ba alla con las dimensiones
indicadas, una lis a con los nomb es de los obo s pa icipan es y un obje o que
con enga la in o mación mencionada jun o con el núme o de ondas. Con las clases
Ba leMessageE en y Ba leE o E en ges iona los mensajes que se án siendo
mos ados po la consola.
Clase RobocodeEngine: P opo cionada po la API de Robocode, es la in e az que
pe mi e ejecu a una ba alla en Robocode desde una aplicación ex e na. Cuen a con
unciones que pe mi en c ea una ba alla con las especi icaciones indicadas, ejecu a la y
ecoge los esul ados.
Clase Ba le ieldSpeci ica ion: Clase que de ine el amaño de un campo de ba alla.
Clase Robo Speci ica ion: Clase que de ine las p opiedades de un obo , que son
ob enidas desde el eposi o io local. Pa a la c eación de una ba alla, se p opo ciona una
lis a con obje os de es a clase, ep esen ando cada obje o a un obo pa icipan e en la
ba alla.
47
Clase Ba leSpeci ica ion: Clase que de ine la con igu ación de una ba alla. En e o os,
de ine el amaño del campo de ba alla, los obo s pa icipan es y el núme o de ondas,
que son los pa áme os que se necesi an maneja en el ma co de es e p oyec o.
Clase Ba leMessageE en : Clase que ecoge el e en o accionado cuando el juego
en ía un mensaje. Mues a dicho mensaje po consola.
Clase Ba leE o E en : Clase que ecoge el e en o accionado cuando el juego en ía
un mensaje de e o . Mues a dicho mensaje po consola.
Clase Ba leObse e : Clase que ex iende la clase abs ac a Ba leAdap o y que ecibe
los e en os del juego. In e esa el e en o accionado cuando una ba alla inaliza, pa a
pode así egis a los esul ados de la misma.
4.3.2. Robo s
Sis ema de ni eles
An es de explica cómo han sido diseñados los dis in os ni eles asignables a un obo ,
es necesa io de alla cómo unciona el sis ema de pun os de una ba alla y cómo
uncionan los p opios obo s.
La posición de un obo se de ine median e coo denadas ca esianas, donde el pun o (0,
0) es la esquina in e io izquie da del campo de ba alla. A su ez, la di ección que oma
se mide en g ados cen íg ados o adianes, se o ecen ope aciones pa a ambos sis emas
de medida. Se u iliza una con ención de di ección a la de echa, en el sen ido de las
agujas del eloj, donde el no e es el ángulo 0:
Ilus ación 34 – Coo denadas del campo de ba alla y di ección del obo
Respec o a la acele ación y elocidad que puede oma un obo , es as medidas no han
sido omadas en cuen a a la ho a de p og ama su compo amien o.
Un obo pie de ida al dispa a . En conc e o, pie de los mismos pun os de ida que la
po encia imp imida al dispa o, que es codi icable. Es o es, si el obo dispa a con
po encia igual a uno, pe de á un pun o de ida. Sin emba go, si acie a al enemigo, es e
pe de á 4 eces la po encia del dispa o ecibido y, además, el que dispa a ecibe es
48
eces la po encia imp imida. En el caso an e io , de ace a , el que dispa a ecupe a ía
es pun os de ida y el que ecibe el dispa o pe de ía cua o.
Es a conside ación ha de ene se en cuen a pues no es una es a egia in eligen e dispa a
sin asegu a se una mínima posibilidad de ace a al enemigo. Los p ime os obo s
desa ollados en el p oyec o dispa aban sin segu idad de ace a , po lo que muchas
ondas quedaban eliminados al habe pe dido oda su ene gía dispa ando.
En cuan o a a olla a los enemigos, los dos obo s que colisionan pie de 0.6 pun os de
ida. Po lo an o, solo es una buena idea a olla a un i al si el ni el de ene gía del
mismo es su icien emen e in e io al del p opio obo .
En caso de choca con un mu o, pie de elocidad*0.5 – 1, donde elocidad es la
elocidad que lle aba en ese momen o.
Como se ha explicado con an e io idad, los obo s c eados en es e p oyec o es án
diseñados pa a e i a los mu os en odo momen o. Se ha desa ollado un código que
calcula a qué dis ancia se encuen a el mu o más p óximo que es é en la di ección que
oma el obo en odo momen o y, si dicha dis ancia es meno que un mínimo de inido,
gi a pa a e i a el choque.
Las unciones que do an a los obo s de uncionalidad pueden di idi se en es g upos:
De mo imien o: Pe mi en al obo desplaza se a lo la go de odo el campo de
ba alla. Pe mi en al obo mo e se hacia adelan e, hacia a ás, gi a su cue po un
núme o de g ados hacia la de echa o izquie da, y ambién gi a el cañón o el
ada indi idualmen e. Además, son las que pe mi en dispa a una bala
imp imiéndole la po encia que se desee.
De e en os: Pe mi en al obo de ini su compo amien o según qué suceda
du an e la pa ida. Puede sabe cuándo ha chocado con a un mu o, con a o o
enemigo, cuándo ha escaneado a un i al, cuándo ha sido impac ado po un misil
enemigo, e c.
De econocimien o del campo: Pe mi en al obo conoce las ci cuns ancias de
la pa ida. Pueden sabe el amaño del able o, su posición en es e, su p opio
amaño, en qué di ección se mue e él u o o enemigo, la ene gía que le queda, el
núme o de enemigos con ida, e c.
Es uc u a de un obo
Un obo iene de inido su compo amien o en un iche o .ja a, que con o ma una clase
cuyo nomb e co esponde al nomb e del obo .
Los obo s uncionan po e en os; a cada e en o sucedido du an e el desa ollo de la
ba alla, el obo eacciona según es é p og amado. Robocode p o ee la clase abs ac a
_Robo Base, que a su ez es ex endida po una se ie de subclases que amplían sus
unciones. Es as unciones do an al obo de he amien as que le pe mi en mo e se y
es udia el campo de ba alla y sus ci cuns ancias. Todas es as clases ya ienen
49
desa olladas, po lo que a la ho a de c ea un obo , solo es necesa io c ea su p opia
clase y hace uso de la uncionalidad ya p opo cionada po el sis ema.
Ilus ación 35 – Diag ama de es ados que ep esen a el uncionamien o de un obo
En el diag ama de es ados de la ilus ación 35 se en ep esen ados los e en os que han
sido enidos en cuen a a la ho a de desa olla el uncionamien o de los obo s. Pa a
cada e en o, se codi ica una acción a ealiza po pa e del anque obo .
El es ado inal, po su pa e, ep esen a el inal de la ac i idad del obo . A es e
momen o, el obo puede llega i o –signi ica que ha ganado-, o mue o.
El bucle p incipal es el que se ejecu a mien as no suceda ninguno de los e en os que
ac i en las di e en es acciones que ealiza el obo .
La es uc u a de las clases que de inen odo el compo amien o de un obo es la
siguien e:
56
En obo umbles con obo s de ni eles dispa es es más posible que el obo de
mayo ni el no gane. Es as si uaciones no son las más comunes. Sin emba go, es
un hecho acep ado y que do a a la compe ición de una imp e isibilidad que
aumen a el in e és de los alumnos en la mecánica.
5.1.2. Segundo caso
Se a a simula el uso con inuado del sis ema po pa e de 30 alumnos pe enecien es al
g upo imagina io llamado EDA. Es os alumnos i án espondiendo a las a eas que el
p o eso aya p oponiendo, se án pun uadas y, en base a las cali icaciones ob enidas, la
in eligencia de sus obo s a ia á.
Se ejecu a án ba allas cada dos a eas espondidas y se comp oba á que los esul ados
de es as se ajus an al endimien o de los alumnos den o de la he amien a Bolo wee ;
los alumnos con mejo es medias ob end án mejo es esul ados en dichas ba allas.
P ime obo umble
Pa a empeza , eniendo odos los obo s ni el 1, se ealiza un obo umble de 3 ondas
con un able o de dimensiones 800x600.
57
Ilus ación 38 – Resul ados del p ime obo umble
Los esul ados isibles en la ilus ación 38, que al se odos los obo s de ni el 1 son un
an o alea o ios, son a ojados po el p opio sis ema. Pos e io men e son olcados a la
página de Bolo wee . Es e p oceso se ealiza de mane a au omá ica g acias al sis ema
C on ab, o bien el p opio adminis ado puede acome e es a a ea manualmen e.
En la ilus ación 39 puede ap ecia se que los esul ados es án a la is a pa a odos los
usua ios pe enecien es al g upo, en la pes aña Robocode.
58
Ilus ación 39 – Resul ados del p ime obo umble en Bolo wee
Segundo obo umble y o neo
Los es udian es han con es ado a su p ime a a ea, po lo que las medias de sus
cali icaciones han a iado. Como solo se ha espondido a una a ea, la media es igual a
la pun uación ob enida en es a p ime a a ea.
Han espondido 23 de los 30 alumnos. Po an o, los 7 alumnos que no han con es ado
man ienen el ni el 1 de sus obo s, mien as que los siguien es ob ienen mejo es obo s
en caso de que las cali icaciones ob enidas supe en el 1.
59
Ilus ación 40 – Ejemplo de mensajes ya cali icados po el g ade F an
Ejecu ando de nue o el sis ema, las medias a ían en el caso de los alumnos que hayan
ob enido más de un 1 en la cali icación de su p ime a a ea.
Po ejemplo, en las ilus aciones 40 y 41 emos que Mi iam ha ob enido un 3 en su
a ea, po lo que le co esponde un obo de ni el 3.
Ilus ación 41 – Ac ualización de los obo s al comienzo del p og ama
El p o eso decide ealiza o o obo umble. Pos e io men e, los 16 mejo es obo s
pa icipa án en un o neo basado en en en amien os 1 1, en el que un obo i á
a anzando ondas con o me gane sus ba allas, y queda á eliminado al pe de .
T as ejecu a el obo umble elimina o io, se comp ueba si los obo s de mayo ni el han
quedado clasi icados pa a la onda inal o si, po el con a io, alguno ha caído an es de
lo p e is o.
En la abla 7 pueden obse a se los esul ados de es e segundo obo umble.
60
Tabla 7 - Clasi icación del segundo obo umble
Solo dos obo s de ni el 3 –de diez obo s o ales- han quedado ue a: Raquel y E a.
A endiendo a sus pun uaciones, no han es ado lejos de clasi ica se. En un obo umble
de 30 obo s en un able o un an o pequeño, es más ac ible que se den cie os
esul ados inespe ados.
En la ilus ación 42 puede comp oba se cómo ocupan los espacios los 30 obo s
pa icipan es:
Posición Nomb e Ni el Pun os
1 Ma io 3 3934
2 Ca los 3 3886
3 Julia 3 3784
4 Alexa 3 3738
5 Jesús 1 3406
6 Bea iz 3 3371
7 Sil ia 3 3321
8 Mi iam 3 3305
9 Fe nando 1 3293
10 Albe o 1 2905
11 Cin ia 1 2851
12 Sand a 1 2745
13 Da id 1 2693
14 Elena 1 2684
15 Ai o 1 2683
16 Ana 3 2631
21 Raquel 3 2380
22 E a 3 2353
Eliminados
61
Ilus ación 42 – Robo umble de 30 obo s en un able o de 800x600
Como se ha enido señalando a lo la go de la memo ia, los escena ios en los que se
p oducen esul ados so p enden es ambién ayudan a man ene el in e és de los
es udian es en la pa ida.
Aho a se lle a a cabo el o neo. Se empa eja al p ime obo con el úl imo, al segundo
con el penúl imo y así sucesi amen e. Las ba allas son de es ondas sal o la inal, que
se juega a cinco ondas.
El esul ado inal es el siguien e:
Ilus ación 43 – Ejemplo de un o neo de 16 obo s
De es e esul ado pueden ob ene se dos conclusiones:
La di e encia en e un obo de ni el 3 y o o de ni el 1 es eno me. Gana con
mucha sol encia el obo de mayo ni el. Es o p emia á a los es udian es que
Ma io (3) 328 134 Jesús (1)
Ana (3) 292 211 Sand a (1)
Ma io (3) 232 68 Sand a (1)
Ca los (3) 222 554 Bea iz (3)
Ca los (3) 500 547 Bea iz (3)
Ai o (1) 20 12 Cin ia (1)
Ma io (3) 366 420 Bea iz (3)
Julia (3) 84 275 Mi iam (3)
Julia (3) 523 499 Sil ia (3)
Elena (1) 25 21 Albe o (1)
Julia (3) 546 256 Sil ia (3)
Alexa (3) 136 297 Mi iam (3)
Alexa (3) 492 507 Mi iam (3)
Da id (1) 10 21 Fe nando (1)
Ganado : Bea iz (3)
Ma io (3)
Bea iz
(3)
591
402
62
abajen en la pla a o ma sob e aquellos que no mues en in e és en es a
he amien a.
Los en en amien os en e obo s de ni el 3 son más imp e isibles. Algunos son
muy ajus ados –como el en en amien o en e Ma io y Ca los, donde la
di e encia ha sido de 10 pun os-, y en o os uno de los obo s machaca al
enemigo –como en el en en amien o en e Julia y Alexa, donde la di e encia ha
sido de 410 pun os-. Es o cumple el p opósi o de ejecu a ba allas cuyo
esul ado, a p io i, no es p esumible.
Finalmen e, se ac ualizan las pun uaciones de los obo s, y es os esul ados ac ualizados
apa ecen en la página p incipal del plugin en Bolo wee .
Ilus ación 44 – Resul ados acumulados as dos obo umbles y un o neo
Como puede ap ecia se en la ilus ación 44, los obo s que más lejos han llegado en el
o neo acumulan más pun os y ondas ganadas.
Ma io y Bea iz, los inalis as, des acan po su núme o de ondas ganadas. Al habe
llegado an lejos, han acumulado más pun os y se han colocado, espec i amen e, en
segunda y e ce a posición.
Sin emba go, Sil ia man iene la p ime a posición po que en el o neo alcanzó los
cua os de inal y aumen ó su pun ación, que p e iamen e al segundo obo umble e a la
más al a debido a que ue la ganado a del p ime o.
63
Po o o lado Da id se man iene cua o, pese a habe caído en oc a os de inal en el
o neo y habiendo ob enido solo 10 pun os. Su al a posición se debe a que en el p ime
obo umble quedó segundo y en el siguien e clasi icó en e los 16 p ime os.
P ime as a eas y ba allas
A lo la go del cu so, el p o eso inicia sucesi as a eas que son comple adas po los
es udian es, y pos e io men e cali icadas. Las medias de los alumnos siguen una
endencia: los alumnos que comple an con asiduidad las a eas ienen medias supe io es
a los que no u ilizan Bolo wee .
El p o eso ha ejecu ado 10 obo umbles sin pos e io o neo, as habe p opues o es
a eas. En la abla 8 se p esen a la clasi icación de los 16 p ime os obo s as habe
pa icipado en es as ba allas, jun o con la media del usua io, el ni el del obo y el
núme o de a eas comple adas.
Tabla 8- Clasi icación as 12 obo umbles y un o neo
El p ime aspec o a des aca es que odos los usua ios con obo de ni el 3 han quedado
en e los 16 p ime os. Es la ecompensa que eciben los es udian es po comple a las
a eas p opues as en Bolo wee .
Las dos plazas es an es en es e op 16 son ocupadas po dos obo s de ni el 1. Es una
de las so p esas que puede depa a un obo umble. Cabe des aca ambién que los
obo s ienen el mismo ni el, pe o po dis in os mo i os: en el caso de Daniel, no ha
comple ado ninguna a ea; sin emba go, Ósca sí ha comple ado las es p opues as,
Posición Nomb e
Media del
usua io
Ni el
Ta eas
comple adas
(sob e 3)
Pun os
1 Alexa 2,33 3 3 42789
2 Ma io 2,66 3 3 41619
3 Bea iz 2,66 3 3 41532
4 Pablo 2,33 3 3 38773
5 Raquel 2,33 3 3 38651
6 Mi iam 3 3 3 38150
7 Julia 2,66 3 3 37477
8 Manuel 2,33 3 3 37437
9 Sil ia 2,66 3 3 36978
10 Blanca 2,66 3 3 36002
11 E a 2,33 3 3 35781
12 Sand a 2,33 3 3 35742
13 Ósca 1 1 3 32394
14 Ana 2,33 3 3 32116
15 Daniel 0 1 0 30252
16 Ca los 2,66 3 3 30025
64
pe o sus espues as no han supe ado los c i e ios de e aluación del p o eso y, po an o,
la media de es as es de 1.
En e es os 16 obo s se ealiza o o o neo con las mismas ca ac e ís icas que el
an e io .
Ilus ación 45 – Ejemplo de un o neo de 16 obo s
Los esul ados son simila es espec o al o neo ealizado con an e io idad.
Los obo s de ni el 3 han uel o a machaca a los de ni el 1. En cuan o a
en en amien os de obo s de mismo ni el, se han is o ba allas muy igualadas –Julia ha
supe ado a Manuel po 4 pun os-, y o as muy desigualadas –Bea iz ha supe ado a Ana
po 254 pun os-.
Ilus ación 46 – Resul ados acumulados as 12 obo umbles y 2 o neos
Alexa (3) 338 276 Raquel (3)
Ca los (3) 131 93 Sand a (3)
Alexa (3) 448 290 Raquel (3)
Ma io (3) 128 355 Mi iam (3)
Ma io (3) 508 16 Mi iam (3)
Daniel (1) 24 218 E a (3)
Alexa (3) 152 215 Mi iam (3)
Pablo (3) 296 348 Julia (3)
Bea iz (3) 294 479 Julia (3)
Ana (3) 40 136 Blanca (3)
Bea iz (3) 227 243 Julia (3)
Pablo (3) 298 239 Manuel (3)
Pablo (3) 533 279 Manuel (3)
Ósca (1) 24 112 Sil ia (3)
Julia (3)
Ganado : Pablo (3)
Pablo (3)
663
226
65
Ac ualizando los esul ados en Bolo wee , comp obamos que cada ez des acan más los
es udian es con mejo desempeño en la pla a o ma –sal o las ya mencionadas
excepciones-. Po an o, los es udian es con peo es no as quedan elegados a la pa e
baja de la abla. Sin emba go, como se mos a á a con inuación, el sis ema pe mi e a los
es udian es ol e a ene obo s compe i i os si e oman el abajo.
Se en iende que es a endencia se man end á si los es udian es que más des acan
con inúan comple ando las a eas. Como la media se calcula en unción de las
cali icaciones ob enidas en un pe iodo de días indicado po el p o eso , si un alumno
deja de pa icipa en la pla a o ma, su media se e á de aluada y, po an o, su obo
empeo a á.
Así, se mo i a al es udian e a segui comple ando a eas. En el momen o en el que es e
deja de comple a a eas, pe de á posiciones en la clasi icación.
Sucesi as a eas y ba allas
Con o me a anza el cu so, se siguen comple ando a eas y ba allas.
Puede da se el caso de que el desempeño de cie os alumnos sea i egula : algunos
pueden deja de comple a a eas y, po el con a io, o os pueden comenza a pa icipa
en la he amien a pese a habe dejado sin comple a las p ime as.
En es os casos, Bolocode es á diseñado pa a p emia a es e segundo g upo de alumnos.
Sus obo s mejo a án y, po an o, pod án compe i po las p ime as plazas de los
obo umbles pa a accede a u u os o neos. Po o o lado, los alumnos que han dejado
de abaja deja án de pa icipa en los o neos pues end án más di ícil clasi ica se pa a
es os.
Po ejemplo, las es udian es Cin ia y Vi ginia, cuyo desempeño ha sido in e io al de la
mayo ía de los alumnos, comienzan a comple a a eas y ecibi mejo es cali icaciones.
Po o o lado, Raquel y Pablo, que es aban en el op 5, dejan de abaja .
Las es adís icas iniciales de es os cua o alumnos e an las siguien es:
Tabla 9 - Pun uaciones de a ios alumnos cuyo endimien o a a se con olado
T as habe sido p opues as cua o a eas más –sin habe ejecu ado ningún obo umble-,
es as son las nue as es adís icas de es os cua o alumnos:
Posición Nomb e Ni el Media
Ta eas
comple adas
(sob e 3)
Pun os
4 Pablo 3 2,3 3 40563
5 Raquel 3 2,3 3 39034
20 Vi ginia 1 0 0 28248
21 Cin ia 1 1 2 27721
72
independien es de la pla a o ma, dado que en la página o icial de PHP no apa ecían pa a
la e sión 5.6. Los paque es ins alados ue on los siguien es:
Cu l.
XMLW i e .
MySQL.
GD.
Mbs ing.
La ins alación de PHP 5.6 eque ía cie as dependencias que se solucionaban ins alando
más paque es que, como ocu ió con los an e io men e mencionados, no se encon aban
en la página o icial. Es os paque es ue on:
Libapache2-mod.
Fpm.
Cgi.
Common.
Libssl1.1.
Es os dos úl imos paque es no apa ecían en el eposi o io del cual se ob u ie on el es o,
pe o sí apa ecie on en el eposi o io o icial de Ubun u.
Además, la ins alación de es os paque es eque ía una ac i ación manual en el a chi o
de con igu ación de PHP.
Respec o a MySQL, la ins alación manual equi ió modi ica el código uen e de
Bolo wee , más conc e amen e el de la lib e ía ex e na mysqli, pues e a necesa io indica
explíci amen e el pue o y el socke al que se conec a el sis ema.
Además, cabe des aca que an es de con igu a co ec amen e las he amien as con las
e siones mencionadas, se in en a on ins ala las e siones ac uales de MySQL y PHP.
Exis ió un p oceso pa alelo en el que se in en ó hace unciona el sis ema con es as
e siones, pe o inalmen e se desca ó en cuan o se consiguió ins ala el sis ema con las
e siones adecuadas pa a su uncionamien o.
También se p obó a ins ala la e sión 14.04 de Ubun u, con el in de obse a si las
e siones an iguas de MySQL y PHP enían mejo compa ibilidad que con la e sión
16.04 del sis ema ope a i o, pe o igualmen e su uso quedó desca ado.
Po úl imo, como se ha mencionado, la ex in a pla a o ma S a usne se con i ió en
GNU Social. También se p obó a u iliza es a nue a pla a o ma, aunque hubiese sido
una e sión incompa ible con Bolo wee y el p oblema ue solucionado an es de a anza
más en es a al e na i a.
73
5.3. Pa icipación de cada es udian e
F ancisco Ja ie Pacheco He anz
Ha ealizado conjun amen e la ins alación del sis ema jun o con Ja ie Rome o: odo el
p oceso de es udio de la he amien a Bolo wee , ob ención de ecu sos y con igu ación
de los mismos.
Pa a la con igu ación de es a pla a o ma se es udia on a ias al e na i as, como se ha
mencionado en el apa ado an e io . F ancisco Ja ie se cen ó en la con igu ación que
inalmen e ha sido u ilizada.
Fue el enca gado de in es iga eposi o ios has a encon a las lib e ías PHP que
eque ía Bolo wee y que no se podían encon a en su página o icial, ins ala las y
comp oba qué dependencias exis ían espec o a o as lib e ías. También modi icó el
código uen e de Bolo wee pa a compa ibiliza lo con la e sión de MySQL. Pa a ello,
depu ó la ejecución de la ins alación del sis ema, es udió los mensajes que es e p oceso
lanzaba, localizó desde dónde se lanzaban y así pudo obse a dónde se encon aba el
allo.
Una ez ue ins alado Bolo wee en una e sión local, jun o con Ja ie es udió su
uncionamien o. Realiza on conjun amen e una se ie de p uebas con el in de ene un
plugin uncional.
El p ime plugin se basaba en un o mula io que con enía un bo ón; dicho bo ón, al se
pulsado, aumen aba en uno un con ado cuyo alo se alojaba en la base de da os del
sis ema, en una abla c eada especí icamen e pa a esa a ea. Tan o la codi icación del
plugin como las p ime as consul as SQL ue on ealizadas conjun amen e.
Codi icó es e plugin pa a adap a lo a los esul ados de las ba allas ejecu adas en
Robocode. O iginalmen e, la abla con enía un usua io, sus pun os acumulados y el
núme o de ondas que había ganado. Pos e io men e, cada usua io con aba con una
en ada en la abla po cada g upo al que pe enecía, pa a di e encias sus pun uaciones
según a qué g upo pe enecía la ba alla.
También se enca gó de desa olla el código pa a mos a los ankings en la página del
plugin, o denándolo po pun os acumulados. Se enca gó, además, de codi ica odas las
consul as SQL necesa ias pa a el co ec o uncionamien o del sis ema.
Tu o que modi ica pa e del código de o os plugins, más conc e amen e del plugin
G ades, pa a adap a lo a las necesidades del nue o. Hubo que añadi más consul as a la
abla G ades pa a ob ene in o mación pe inen e pa a el cálculo del ni el asignado a
los obo s de los alumnos.
Gene ó un p ime sc ip pa a ejecu a ba allas en Robocode de mane a ex e na a la
aplicación, pudiendo selecciona qué obo s pa icipaban. E a un sc ip p imi i o que,
po ejemplo, no pe mi ía modi ica el amaño del campo de ba alla, ni el núme o de
74
ondas. Se u ilizó pa a almacena los p ime os esul ados de las ba allas y comp oba
que se ac ualizaban co ec amen e en la base de da os de Bolo wee .
Es e sc ip ue ac ualizado po Ja ie , que le do ó de mayo uncionalidad, como se
explica á en su co espondien e apa ado. Cuando el sc ip es u o más a anzado,
F ancisco Ja ie se enca gó de depu a lo y co egi odos los e o es exis en es,
do ándole de obus ez pa a e i a caídas del sis ema en caso de da se e o es ales como
al a de a chi os de con igu ación, in oducción de en adas e óneas po pa e del
usua io, e c.
También ealizó la in es igación pe enecien e al Es ado del A e. Buscó ejemplos de
gami icación, es udió su pues a en uncionamien o, qué aspec os e an mejo ables,
cuáles e an inaba cables, e c. Es udió a los au o es que han sido yendo mencionados a lo
la go de la memo ia, ano ando di ec ices pa a ealiza una buena gami icación y
apun ado qué e o es han de e i a se. De odo ello ob u o una se ie de conclusiones que
han se ido pa a es ipula las bases del p oyec o.
Ha desa ollado g an pa e de los sc ip s de adminis ación, necesa ios pa a in eg a los
uncionamien os de ambas pla a o mas. También modi icó los sc ip s ya p esen es pa a
adap a los a las necesidades del p oyec o.
Po úl imo, ha edac ado g an pa e de la memo ia, cen ándose en la in oducción, el
Es ado del A e, el desa ollo de la solución, las conclusiones y g an pa e del e ce y
quin o apa ado, apa e de habe pa icipado en la edacción de los manuales de uso,
pe enecien es a los apéndices de es a memo ia.
Conjun amen e desa olla on el caso de uso disponible en el apa ado 5. Ambos podían
obse a e o es, an o pe enecien es al compo amien o de los obo s como al
uncionamien o global del sis ema. Si el e o es aba elacionado con el p ime caso,
Ja ie se enca gaba de soluciona lo. En cambio, si es aba elacionado con el segundo
caso, e a F ancisco Ja ie .
De la memo ia ambién se ha enca gado de man ene la bibliog a ía, enume a los
abajos ci ados y menciona los cuando e a pe inen e, además de man ene la co ec a
enume ación de ilus aciones y ablas.
Ja ie Rome o Pé ez
Ha ealizado conjun amen e la ins alación del sis ema jun o con F ancisco Ja ie
Pacheco: odo el p oceso de es udio de la he amien a Bolo wee , ob ención de ecu sos
y con igu ación de los mismos.
Pa a la con igu ación de es a pla a o ma se es udia on a ias al e na i as, como se ha
mencionado en el apa ado an e io . Ja ie in es igó y desa olló e siones al e na i as
que pod ían habe sido u ilizadas en caso de no habe uncionado la e sión inalmen e
p esen ada, no sin an es habe pa icipado en la con igu ación inicial p obada que,
inalmen e, ue la e sión u ilizada a lo la go de odo el p oyec o.
75
P obó a ins ala el sis ema en una máquina i ual con Ubun u 14.04, comp obando la
compa ibilidad an o de las e siones más an iguas de MySQL y PHP como de las
e siones ac uales. También encon ó o os eposi o ios que o ecían a ias de las
lib e ías eque idas, y p obó los códigos p opo cionados.
También hizo uso de un con enedo so wa e Docke que con enía una e sión ya
ope a i a de GNU Social. Sin emba go, al no pode accede al código uen e de la
pla a o ma y, po an o, siendo imposible su modi icación pa a añadi los plugins
necesa ios, se desca ó su uso.
El abajo de Ja ie se cen ó más en la codi icación de los obo s. Fue el enca gado de
es udia más a ondo el uncionamien o del sis ema, cómo los obo s se mo ían a lo
la go y ancho del mapa, cómo se o ien aban, cómo calculaban desde qué di ección e an
a acados, e c.
Realizó g an can idad de p uebas pa a es a su compo amien o: desde unos códigos
p imi i os en los que el obo daba uel as al ededo del mapa y dispa aba cuando su
ada de ec aba un enemigo has a los ac uales compo amien os en los que el obo
eacciona a lo que sucede en su en o no: esqui a los mu os que delimi an el campo de
ba alla, in en a aleja se de la ayec o ia de las balas que le impac an, e c.
Documen ó odo es e p oceso de análisis, ajus ando los compo amien os has a ob ene
unos esul ados que se ajus aban a los obje i os del p oyec o. Cabe eco da que uno de
los obje i os p opues os e a ni ela las ba allas de al mane a que no es aban
comple amen e ce adas an es de se ejecu adas, pe mi iendo a los obo s más débiles
pode gana alguna onda, siendo es e hecho algo espo ádico.
Las p uebas que ealizó e an a iadas, desde en en amien os 1 1 en e obo s de
iguales y dis in os ni eles has a obo umbles con una g an can idad de pa icipan es,
es udiando así qué amaño de able o e a adecuado pa a sopo a es as ba allas. Pa a
cada p ueba ealizada modi icaba el compo amien o de los obo s si e a necesa io.
Pa a acili a la a ea de codi icación y pos e io p ueba del obo , adap ó el sc ip
o iginal c eado pa a pode selecciona de o ma más accesible qué obo s pa icipaban
en una ba alla y en qué condiciones. Codi icó, po an o, el sis ema de menús exis en e
en la e sión inal de dicho sc ip , que pe mi ía cambia el amaño del campo de ba alla,
el núme o de ondas y el núme o de días a ene en cuen a pa a el cálculo de las medias
de los alumnos. Además, ambién se enca gó de codi ica lo de al mane a que podía
elegi se qué g upo es aba ac i o, pa a pode selecciona los obo s pe enecien es al
mismo.
Au oma izó la ejecución de dicho sc ip median e el so wa e Expec , que pe mi e
pa ame iza la en ada po consola que ecibe un sc ip Bash según qué salida p oduce
es e. Así op imizó los p ocesos de p ueba de compo amien o de obo s.
Ha desa ollado g an pa e de los apéndices –ambos manuales de uso-, y el caso de uso
desc i o en el apa ado 3 de la memo ia. Ello ambién le si ió pa a comp oba de
76
mane a más global el uncionamien o de los obo s, iendo cómo e olucionaba el
anking a la go plazo. De ec ó e o es en los sc ip s de adminis ación que él mismo se
enca gó de subsana .
El abajo de desa olla y documen a un caso de uso cumple con los dos p opósi os:
es udia el sis ema e ilus a su uncionamien o.
Conjun amen e desa olla on el caso de uso disponible en el apa ado 5. Ambos podían
obse a e o es, an o pe enecien es al compo amien o de los obo s como al
uncionamien o global del sis ema. Si el e o es aba elacionado con el p ime caso,
Ja ie se enca gaba de soluciona lo. En cambio, si es aba elacionado con el segundo
caso, e a F ancisco Ja ie .
77
6. Conclusiones
Bolocode nace con la idea de p o ee a los alumnos de un incen i o pa a man ene una
pa icipación ac i a en Bolo wee .
Según los es udios y au o es consul ados, aplica mé odos y he amien as ca ac e ís icas
de los ideojuegos aumen a la mo i ación de los usua ios. El uso de un juego como
Robocode, jun o con elemen os ales como ablas de clasi icación, ma e ializa la
gami icación de la asigna u a, que e a el obje i o p incipal del p oyec o.
O o obje i o p opues o e a p emia a los alumnos con mejo es cali icaciones en
Bolo wee con mayo es en ajas den o del juego, sin pe de el in e és de los es udian es
que engan un mal endimien o. Es as en ajas debían ma e ializa se en ba allas cuyo
esul ado uese posi i o pa a el obo de mayo ni el. Se ha conseguido, como se ha
podido obse a en el apa ado an e io , que un buen desempeño en Bolo wee de i a en
un pues o al o en la clasi icación gene al, y que si un alumno no ob iene buenos
esul ados pe o comienza a mejo a su endimien o en el sis ema puede escala
posiciones y eengancha se en la lucha po alcanza un buen pues o.
Como aspec o nega i o, cabe esal a que el sis ema no ha podido se p obado con
usua ios eales. Un p oblema en el desa ollo del sis ema e asó su pues a en
uncionamien o y odas las p uebas han sido ealizadas con usua ios ic icios. Po an o,
no han podido ob ene se opiniones de usua ios eales, aunque sí ha podido es udia se el
uncionamien o del sis ema a la go plazo.
En gene al, la expe imen ación mues a que las ba allas es án equilib adas, sin se
o almen e p e isibles: el obo de mayo ni el ob end á mejo es esul ados, pe o es
posible que de ez en cuando se ea supe ado po un i al in e io . Es o acili a el
cumplimien o del segundo obje i o mencionado.
Es a expe imen ación se ha lle ado a cabo an o con ba allas sacadas de con ex o, con el
in de es udia qué endencia en los esul ados se p oduce -núme o de ic o ias del obo
de mayo ni el y di e encia de pun os espec o al es o de enemigos-, como con un
es udio con inuado del uso de la pla a o ma, eniendo en cuen a la acumulación de
pun os y el uso de un anking de usua ios.
Po úl imo, pa a casos u u os, dos aspec os de la ac ual e sión del abajo son
in e esan es de abo da .
Po un lado, hab ía de ejecu a se la au oma ización de la he amien a pa a se
lanzada desde un se ido .
Po o o lado, se ía in e esan e añadi complejidad al sis ema de ni eles. En
u u as e siones hab ía más pa áme os a ene en cuen a a la ho a de asigna
habilidades a los obo s. Po ejemplo, no solo calcula la media de n días sino la
p og esión de los alumnos–cuán o han mejo ado sus medias, núme o de a eas
o ales que han comple ado-. Hab ía que ene en cuen a el núme o de a eas que
78
han sido lanzadas en el pe íodo de n días y cuán as de esas a eas ha comple ado
el alumno. Si en el pe iodo de días es ipulado han sido p opues as es a eas y
un alumno ha comple ado solo una ob eniendo un 3, se alo a ía de mane a
di e en e a o o alumno que haya comple ado las es a eas con una media de
2,5.
Po an o, hay que conclui que:
Exis e una elación p opo cional en e las cali icaciones en Bolo wee y los
esul ados en Bolocode: Un alumno con buen desempeño en Bolo wee a a
ene un obo más compe i i o y gana á más ba allas, mien as que un abandono
de las a eas supone ene un obo poco compe i i o.
Las ba allas pueden depa a esul ados inespe ados: Como a ios au o es
han señalado, es necesa io man ene el in e és de los usua ios. Po an o,
pe mi i que en una ba alla pueda sal a la so p esa p o oca que es os alumnos
sien an in e és en el sis ema.
La ca ga de abajo pa a el p o eso no aumen a en exceso: O iginalmen e,
el p o eso se limi aba a lanza a eas y pos e io men e co egi las. Aho a, ha de
ejecu a las ba allas. Sin emba go, se desen iende de la a ea de ac ualiza las
pun uaciones en Bolo wee y las medias de los usua ios, pues odo es ealizado
de mane a au omá ica po el sis ema.
El p o eso iene libe ad a la ho a de ejecu a las ba allas: No hay
es ipulada ninguna mane a de uso del sis ema. El p o eso puede elegi qué ipo
de ba allas ejecu a , quiénes pa icipan, las ca ac e ís icas del en o no, e c. Puede
u iliza el c i e io que desee a la ho a de elegi pa icipan es.
79
7. Conclusions
Bolocode was bo n wi h he idea o gi ing s uden s an incen i e o keep an ac i e
pa icipa ion in Bolo wee .
Following he esea chs and au ho s consul ed, aplying me hods and ools om
ideogames inc eases use s’ mo i a ion. Using a game like Robocode, oge he wi h
elemen s like ankings, builds he gami ica ion o a subjec , which was he main
pu pose o he p ojec .
Ano he objec i e was o ewa d s uden s wi h highe g ades in Bolo wee wi h be e
ad an ages in he game, wi hou losing in e es om hose s uden s whose g ades we e
lowe . These ad an ages should ma e ialize in ba les whose esul s we e posi i e o
he s onge obo . I has been eached ha a good pe o mance in Bolo wee means a
op posi ion in he anking, and also ha s uden s whose g ades a e low can each op
posi ions i hey imp o e hei pe o mance.
As a nega i e aspec , i has no been possible o es he sys em wi h eal use s. The e
was a p oblem du ing i s de elopmen and all he es s ha e been pe o med wi h
ic ional use s. The e o e, he e is no eedback om eal use s, bu i has been possible
o s udy he sys em’s long- e m pe o mance.
In gene al, expe imen a ion shows ha ba les a e balanced, and he e is a chance ha an
unexpec ed esul comes along: s onge obo will ge be e esul s, bu i is possible
ha his obo can be de ea ed by a weake one. This supplies he second objec i e
in oduced.
This expe imen a ion has been pe o med wi h ba les aken ou o con ex –jus o
analyze wha kind o esul s hese ba les epo -, and also i has been es ed he
sys em’s long- e m pe o mance, conside ing he poin s ea ned by obo s and he
gene al anking.
Finally, o u u e cases, he e a e wo aspec s om he cu en e sion o he wo k ha
a e in e es ing o app oach:
On he one hand, he ool should be au oma ized and launched om a se e .
On he o he hand, i migh be in e es ing o add mo e complexi y o he le el
sys em. In u u e e sions, he e migh be mo e pa ame e s o be aken in o
accoun when choosing obo s’ skills. Fo example, no only calcula ing he
a e age poin s ea ned in Bolo wee in he las n days, bu he s uden s’
p og ession –how much ha e hei g ades imp o ed, o al numbe o asks
comple ed-. I should be aken in o accoun he o al numbe o asks p oposed in
he las n days and how many o hose asks ha e been comple ed by he s uden .
I in he las n days h ee ask ka e been p oposed and a s uden has comple ed
jus one o hem, ea ning a 3, i should be ewa ded di e en ly han o he
s uden who has comple ed he h ee ask, ea ning a 2,5.
80
The e o e, i can be concluded ha :
The e is a p opo ional ela ionship be ween g ades in Bolo wee and
pe o mance in Bolocode: The s uden s’ obo s will be mo e capable as hei
pe o mance imp o es in Bolo wee , whils abandoning he ool means a less
compe i i e obo .
Ba les migh o e unexpec ed esul s: As se e al au ho s ha e poin ed, i is
necessa y o keep s uden s’ in e es . In o de o achie e his objec i e, ba les’
esul s a e no always p edic able.
The e o o un he ba les is minimal: O iginally, eache ’s wo k was o
p opose asks and e alua e hem. Now, he eache ha e o un he ba les.
Howe e , he main enance o he anking and he upda e o esul s is ca ied ou
au oma ically by he sys em.
The eache is ee o se he ba les’ pa ame e s: The e is no s ipula ed way
o un a ba le. The eache can choose wha kind o ba le o un, compe i o s,
he en i onmen ’s p ope ies, e c.
81
8. Apéndices
88
Modi ica núme o de días
En caso de selecciona la segunda opción, el p o eso puede modi ica el núme o de
días a ene en cuen a pa a calcula la media de las cali icaciones.
En caso de in oduci un núme o nega i o, el sis ema echaza á dicha en ada. Si es
posi i o y, además, supe a el núme o de días desde el p ime mensaje en iado, se
calcula á la media en base a odos los mensajes en iados po el usua io.
Ilus ación 54 – Modi icación del núme o de días pa a el cálculo de la media
El sis ema pe mi e gua da pe manen emen e la con igu ación es ablecida o, po el
con a io, aplica la únicamen e a la ac ual ejecución del sis ema.
89
5. Ges ión de los obo s
Como se ap ecia en la ilus ación 55, desde el menú p incipal, seleccionando la opción
2, el p o eso puede ges iona los obo s de un g upo.
Se le o ecen es acciones: lis a los obo s pe enecien es al g upo, c ea un nue o
obo o modi ica los colo es de es os.
Ilus ación 55 – Selección de la opción 2 en el menú p incipal de bolocode.sh
Lis a obo s pe enecien es al gupo
En caso de selecciona la p ime a opción, el p og ama lis a á odos los obo s que es án
lis os pa a pa icipa en una ba alla.
Ilus ación 56 – Lis ado de los obo s pe enecien es al g upo
C ea nue o obo
En caso de selecciona la segunda opción, el p og ama pe mi i á al p o eso in oduci
un nue o obo .
Es a ci cuns ancia no se espe a que sea ecuen e pe o, en caso de da se, el p o eso
puede da de al a a un alumno en el sis ema. Sin emba go, solo pod á hace lo si el
alumno es á dado de al a en Bolo wee , y pa a ello ha de delega dicha a ea en el
adminis ado .
90
Ilus ación 57 – C eación de un nue o obo
Cuando el p o eso in oduce el nomb e del usua io, se le p egun a po los colo es.
Puede elegi aplica los colo es po de ec o o in oduci los manualmen e de en e una
se ie de colo es disponibles. En es e segundo caso, ha de in oduci los es colo es que
se aplica án, co espondien emen e, al cue po, cañón y ada .
En úl imo luga , consul a la media del usua io y le asigna un ni el a la in eligencia del
obo .
Modi ica colo es de un obo
En caso de selecciona la e ce a opción, el p og ama pe mi i á al p o eso modi ica los
colo es de un obo de su g upo.
Ilus ación 58 – Modi icación de los colo es de un obo
El usua io que in oduce el p o eso ha de exis i y pe enece al g upo sob e el que se
es á abajando. Una ez se ha in oducido un usua io co ec o, el sis ema es igual que
en el p oceso de c eación de un obo : puede asigna los colo es po de ec o o
in oduci los manualmen e.
91
6. Modi icación de los pa áme os de una ba alla
Como se ap ecia en la ilus ación 59, desde el menú p incipal, seleccionando la opción
3, el p o eso puede modi ica los pa áme os de una ba alla.
Se le o ece en onces dos pa áme os a modi ica : el amaño del campo de ba alla y el
núme o de ondas a ejecu a .
Ilus ación 59 – Selección de la opción 3 en el menú p incipal de bolocode.sh
Modi icación del amaño del campo de ba alla
En caso de selecciona la p ime a opción, el p o eso indica el nue o ancho y al o del
campo de ba alla. Pos e io men e, se le p egun a si desea gua da la con igu ación o no,
an o pa a el ancho como pa a el al o.
Ilus ación 60 – In oducción del nue o amaño del campo de ba alla
Modi icación del núme o de ondas
En caso de selecciona la segunda opción, el p o eso indica el nue o núme o de ondas
a ba alla . De nue o, se le p egun a si desea gua da la con igu ación o no.
Ilus ación 61 – In oducción del nue o núme o de ondas
92
7. Ejecución de una ba alla
Como se ap ecia en la ilus ación 62, desde el menú p incipal, seleccionando la opción
4, el p o eso puede ejecu a una ba alla.
El sis ema p o ee dos ipos de ba alla: un en en amien o en el que el p o eso puede
in oduci manualmen e los i ales, o un obo umble, una ba alla en la que pa icipan
odos los usua ios del g upo.
Ilus ación 62 - Selección de la opción 4 en el menú p incipal de bolocode.sh
Escoge obo s
En caso de escoge los obo s, el p o eso end á que in oduci los nomb es de los
usua ios que an a pa icipa en la ba alla.
En una ba alla han de pa icipa mínimo dos alumnos, y solo puede habe un obo po
es udian e.
93
Ilus ación 63 – Selección manual de los obo s pa icipan es
Una ez el p o eso indica que no quie e más usua ios, y habiendo sido escogidos al
mínimo dos, comienza la ejecución de la ba alla.
Robo umble
En caso de escoge es e ipo de ba alla, es a se ejecu a au omá icamen e seleccionando
odos los obo s pe enecien es al g upo.
Ilus ación 64 – Ejecución de un obo umble
94
T abajo de Fin de G ado en Ingenie ía In o má ica
Cu so 2017-2018
BOLOCODE
B. Manual de uso – Adminis ado
Au o es: F ancisco Ja ie
Pacheco He anz, Ja ie Rome o
Pé ez
95
Índice
1. In oducción. Qué es Bolocode ................................................................ 96
2. C eación de g upos y ac i ación de la he amien a .................. 97
3. C eación de los obo s de los alumnos................................................ 98
4. Adminis a g upos ........................................................................................ 99
96
1. In oducción. Qué es Bolocode
Bolocode es un plugin pa a Bolo wee que gami ica el uso de es a he amien a,
p oponiendo ba allas en e obo s con olados po una in eligencia a i icial que se á
cons uida en base al desempeño de los es udian es den o de la pla a o ma Bolo wee .
Cuan o mejo sea la cali icación media ob enida en los mensajes en iados, el alumno
end á un obo más compe i i o.
Los esul ados acumulados de las ba allas se án mos ados en la página del plugin,
man eniendo un anking cons an emen e ac ualizado.
97
2. C eación de g upos y ac i ación de la he amien a
El p oceso de c eación de un g upo y solici ud de se p o eso del mismo ya es
explicada en el manual de uso de Bolo wee [17].
Adicionalmen e, pa a es e nue o plugin, el p o eso ha de indica que quie e la
ac i ación del mismo.
Ac i a plugin
Se ha á uso de un sc ip PHP que pe mi e an o ac i a como desac i a el plugin a un
g upo ya c eado.
se obocode og oup.php [op ions]
-G –g oup-id ID del g upo
-g –g oup Nickname del g upo
-a --ac i a ed Ac i ación (1) o desac i ación (0) del g upo
Como se ha mencionado, necesa iamen e el g upo ha de exis i , de lo con a io la
ejecución inaliza ía con un mensaje de e o . No es necesa io p opo ciona an o el ID
como el nickname, con uno de los dos iden i icado es es su icien e.
La ejecución del mismo se ía:
Ilus ación 65 – Ejemplo de ejecución del sc ip se obocodeg oup