título: diseño de un videojuego para fomentar el
TRANSCRIPT
, Junio 2019
Departamento de
Ciencia de la
Computación
Título: Diseño de un videojuego para fomentar el
aprendizaje de la programación.
Autor: René Osvaldo Camacho Fernández.
Tutores: Dr.C. Ramiro Pérez Vázquez.
, June, 2019
Computer Science
Title: Design of a video game to promote the learning
of programming.
Author: René Osvaldo Camacho Fernández.
Thesis Director: Dr.C. Ramiro Pérez Vázquez.
Este documento es Propiedad Patrimonial de la Universidad Central “Marta
Abreu” de Las Villas, y se encuentra depositado en los fondos de la Biblioteca
Universitaria “Chiqui Gómez Lubian” subordinada a la Dirección de Información
Científico Técnica de la mencionada casa de altos estudios.
Se autoriza su utilización bajo la licencia siguiente:
Atribución- No Comercial- Compartir Igual
Para cualquier información contacte con:
Dirección de Información Científico Técnica. Universidad Central “Marta Abreu”
de Las Villas. Carretera a Camajuaní. Km 5½. Santa Clara. Villa Clara. Cuba. CP. 54
830
Teléfonos.: +53 01 42281503-1419
PENSAMIENTO
“It is said that your life flashes before your eyes just before you die. That
is true, it's called life.”
Terry Pratchett
AGRADECIMIENTOS
Santa Clara, Cuba, 2019
A mis padres, por cursar la carrera junto a mí.
Al resto de mis familiares, por ayudarme en todo durante esta carrera.
A todos mis compañeros, por los mejores 5 años de mi vida.
A mi tutor, por permitirme trabajar en una de mis paciones.
Y a todos los que de una manera u otra han trabajado en esta Tesis.
RESUMEN
El uso de los videojuegos como herramienta educativa es limitado pues es difícil
relacionar este medio de entretenimiento con el proceso de formación profesional de
un alumno universitario. Este desconocimiento, junto a la necesidad imperante de hacer
crecer la cantidad de interesados en cursar las carreras afines con Ciencia de la
Computación, plantean un problema que tiene que ser zanjado de manera efectiva. El
objetivo de este trabajo de diploma es definir de manera concisa el proceso de creación
de un videojuego serio, caracterizar los principales juegos existentes en el campo y
desarrollar el diseño de uno propio, que cumpla con los conocimientos que se desean
transmitir a los estudiantes que deseen cursar carreras con estudios de programación.
El diseño creado responde son su contenido, a las interrogantes que le pueden surgir a
los jugadores, y se formuló una estrategia básica a seguir después en el futuro del
proyecto.
Palabras clave: Mecánica, videojuego, programación, diseño, metodología.
ABSTRACT
The use of video games as an educational tool is limited since it is difficult to relate
this entertainment medium to the professional training process of a university student.
This lack of knowledge, along with the prevailing need to increase the number of
people interested in careers related to Computer Science, pose a problem that must be
resolved. The objective of this diploma work is to define in a concise manner, the
process of creating a serious videogame, characterize the main existing games in the
field and develop the design of one of our own, that fulfill the knowledge needed by
the students, who want to pursue careers with programming in the curriculum. The
design created responds to the content we aim and the questions players may have, and
finally a basic strategy was formulated to be followed later in the future of the project.
Keywords: Mechanics, videogame, programing, design, methodology.
TABLA DE CONTENIDOS
INTRODUCCIÓN ........................................................................................................ 1
CAPÍTULO 1. Videojuegos como método de enseñanza ............................................ 3
1.1 Juegos ............................................................................................................. 3
1.1.1 Elementos básicos de un juego ..................................................................... 4
1.1.2 Seleccionando el público objetivo .......................................................... 8
1.1.3 Videojuegos enfocados en la educación ................................................. 9
1.2 Análisis de juegos enfocados en la enseñanza de la programación ............. 10
1.2.1 Human Resorce Machine ...................................................................... 10
1.2.2 Light Bot Code Hour ............................................................................ 12
1.2.3 Scratch .................................................................................................. 13
1.2.4 Videojuegos para aprender a programar online. ......................................... 14
1.3 Metodología para la creación de un videojuego. .............................................. 15
1.4 Conclusiones parciales. ..................................................................................... 16
CAPÍTULO 2. Diseño de un videojuego. ................................................................... 17
2.1 Desarrollo de los elementos básicos del videojuego. ........................................ 17
2.1.1 La historia ............................................................................................. 17
2.1.2 Mecánicas ............................................................................................. 19
2.2 Tecnología utilizada para desarrollar el videojuego. ........................................ 24
2.3 Conclusiones parciales. ..................................................................................... 26
Capítulo 3: Concepción del archivo de diseño. .......................................................... 27
3.1 Metodología Hubble .......................................................................................... 27
3.2 Archivo de diseño. ............................................................................................ 28
3.3 Conclusiones parciales. ..................................................................................... 59
Conclusiones ............................................................................................................... 60
Bibliografía ................................................................................................................. 62
Lista de figura
Ilustración 1: Espacios en un juego ........................................................................................... 5
Ilustración 2: Human Resource Machine ................................................................................ 11
Ilustración 3: Light Bot Code Hour ........................................................................................ 12
Ilustración 4: Captura de Scratch ............................................................................................ 14
Ilustración 5: Ejemplo de un problema. .................................................................................. 20
Ilustración 6: Solución del problema ...................................................................................... 21
Ilustración 7: Ejemplo de un algoritmo con un procedimiento. .............................................. 22
Ilustración 8: Uso del comando Romper ................................................................................. 24
Ilustración 9: Leyenda de los símbolos. .................................................................................. 31
Ilustración 10: Diagrama del menú principal .......................................................................... 31
Ilustración 11: Selección de escenarios ................................................................................... 32
Ilustración 12: Interfaz de usuario en el juego. ....................................................................... 33
Ilustración 13: H.U.D. ............................................................................................................. 35
Ilustración 14: Símbolos de los niveles. .................................................................................. 36
Ilustración 15: Nivel01 ............................................................................................................ 38
Ilustración 16: NIvel02 ........................................................................................................... 38
Ilustración 17: Nivel03. ........................................................................................................... 39
Ilustración 18: Nivel04. ........................................................................................................... 40
Ilustración 19: Nivel05 ............................................................................................................ 41
Ilustración 20: Nivel06. ........................................................................................................... 42
Ilustración 21: Nivel07 ............................................................................................................ 44
Ilustración 22: Nivel08 ............................................................................................................ 45
Ilustración 23: Nivel09. ........................................................................................................... 46
Ilustración 24: Nivel10. ........................................................................................................... 47
Ilustración 25: Nivel11. ........................................................................................................... 48
Ilustración 26: Nivel12. ........................................................................................................... 50
Ilustración 27: Nivel14. ........................................................................................................... 52
Ilustración 28: Nivel 15. .......................................................................................................... 53
Ilustración 29: Nivel16. ........................................................................................................... 54
Ilustración 30: Diagrama de Flujo del Progreso del Videojuego. ........................................... 55
LISTA DE TABLAS
Tabla 1: Documento de diseño ................................................................................... 29
Tabla 2: Mecánicas del juego ..................................................................................... 30
Tabla 3: Estados del juego. ......................................................................................... 33
Tabla 4: Estados del juego. ......................................................................................... 35
Tabla 5: Niveles .......................................................................................................... 54
Tabla 6: Progreso del juego. ....................................................................................... 55
Tabla 7: Personajes. .................................................................................................... 56
Tabla 8: Enemigos. ..................................................................................................... 58
Tabla 9: Logros. .......................................................................................................... 59
Tabla 10: Miembros del equipo de diseño. ................................................................. 59
1
INTRODUCCIÓN
Es bien conocido por todos lo atractivo que pueden llegar a ser los videojuegos ante
los ojos de personas de cualquier edad, en particular de los jóvenes, dado que jugar es
una actividad inherente al ser humano.
Los juegos generalmente tienen un fin lúdico, y además permiten realizar actividades
físicas o mentales, que ayudan a desarrollar alguna capacidad o destreza.
Estos juegos serios permiten crear entornos de aprendizaje para experimentar con
problemas reales. El objetivo es que éstos sirvan para ensayar y explorar múltiples
soluciones a problemas planteados en situaciones reales, y descubrir la información y
los conocimientos que ayudarían a intervenir sin temor a equivocarse. Este tipo de
simulaciones facilita el tomar decisiones que no tienen consecuencias en la vida real,
pero que enseñan las opciones óptimas en esas situaciones (S. and D., 2006).
Los juegos serios tienen tres características fundamentales (López Raventós, 2016):
1. Están pensados para una función educativa: entrenamiento de determinadas
habilidades, comprensión de procesos complejos, etc.
2. Están relacionados, a partir de su simulación, con algún aspecto de la realidad,
lo que genera una identificación entre el jugador y la parte de la realidad
presentada en la simulación virtual.
3. La simulación virtual permite una experimentación sin riesgos.
4. Tienen intereses bien determinados en su contenido.
El reto es lograr que los estudiantes puedan adquirir las habilidades necesarias para
imaginar y comprender situaciones que impliquen soluciones informáticas y utilizar
los recursos y las herramientas disponibles para realizar las creaciones que se tienen en
la mente tomando la programación como una herramienta para divertirse y también
para aprender enseñándola de forma entretenida (Gómez Jaramillo and Villamizar
Jaimes, 2016).
Estas habilidades pueden ser desarrolladas a partir de videojuegos serios, en los cuales
confluyen características valoradas por lo jóvenes, como son la interactividad, la
diversión, que promueven una mayor tolerancia a la frustración, la facilidad para
relacionarse con otros, la alta motivación al logro, entre otras.
El presente trabajo de diploma se propone, entonces el siguiente
Objetivo Principal
Diseñar un videojuego interactivo que sirva de apoyo para el aprendizaje de la
asignatura de Programación de los alumnos que cursan carreras afines con Ciencia de
la Computación.
2
Objetivos específicos del trabajo son:
• Considerar supuestos teóricos sobre los videojuegos en sentido general y su
posible uso para el aprendizaje;
• Caracterizar videojuegos existentes de similar temática con el fin de realizar un
resumen de sus puntos fuertes, tanto a la hora de atraer al público objetivo,
como a la hora de transmitir los conocimientos deseados;
• Diseñar la estructura del videojuego, dejando un marco fuerte, que consista en
los conocimientos que se desea adquieran los jugadores una vez completen el
juego, entre otros puntos importantes;
Teniendo en cuenta, que en las instituciones de educación superior que tienen carreras
en las que se incluyen asignaturas de programación, el bajo rendimiento de los
estudiantes figura como un problema recurrente y que son muchos los factores que
pueden propiciar estos resultados, siendo la falta de motivación de los estudiantes el
factor más frecuente, y para conseguir incentivar el uso de la imaginación y que se
utilice la lógica para afrontar y dar solución a los problemas que se puedan encontrar,
se propone desarrollar un videojuego interactivo que sirva de apoyo para el aprendizaje
de la asignatura Programación.
El trabajo se ha estructurado en una introducción, tres capítulos, conclusiones y
recomendaciones.
En el primer capítulo se profundiza en los conocimientos más importantes a tener en
cuenta a la hora de abordar la creación de un videojuego, como son los conceptos de
juego y videojuego en sí, así como la descripción de los videojuegos de similar temática
que fueron elegidos como objeto de estudio.
En el segundo capítulo se presenta la concepción del diseño del videojuego, desde todos
los puntos de vista necesarios, para que cumpla con las características para el desarrollo
posterior de una aplicación completamente funcional.
En el tercer capítulo se describe la metodología a emplear en el actual trabajo de
diploma, y se construye el archivo de diseño, concepto que se explica en ese capítulo.
3
CAPÍTULO 1. Videojuegos como método de enseñanza
A través de los años se han utilizado un gran número de métodos de enseñanza para
llegar de una manera más directa y precisa a los alumnos, con el tiempo se hace más
difícil despertar el interés por asignaturas que se imparten de manera tradicional, pues
se vive en un mundo lleno de información digital que, para una persona en etapas
tempranas de su crecimiento, es extremadamente atractiva, y los estudios no son
precisamente una fuente de entretenimiento para todos los jóvenes. En este contexto
entran al escenario educativo los videojuegos, divertidos, llenos de experiencias
didácticas y que dejan al jugador con un sentimiento de haberse superado
constantemente. Con el fin de dejar claros los conceptos necesarios para la
comprensión de qué es un videojuego, el amplio recorrido que se necesita para su
creación y como ligarlos al estudio de una materia escolar, es que se dedica este
capítulo. En particular, se analizan algunos de los videojuegos existentes que tienen
como premisa ayudar a los alumnos a entender mejor el mundo de la programación.
1.1 Juegos
Dada la calidad de la información proporcionada en el libro “The art of game design:
A book of lenses” (Schell, 2008), los siguientes epígrafes del capítulo uno, utilizan
reiteradamente ideas y conceptos de este valioso recurso. Es necesario empezar
definiendo qué se entiende por juego, pues, aunque el juego está presente desde
pequeños, no es muy común pensar en conceptos de este tipo muy a menudo. Al
analizar el concepto de juego surgen varios problemas; pues se puede decir “Un juego
es algo con lo que se pude jugar”, parece correcto, pero esto hace que se piense en el
juego como un juguete, lo cual no es totalmente cierto, pues los juegos son mucho más
complejos. Para dar con un concepto completo de juego es necesario un análisis más
detallado, se puede comenzar enunciando algunas cualidades de notable importancia,
como que a un juego se entra por voluntad propia, los juegos tienen metas, conflictos,
reglas, jugando se puede perder o ganar, los juegos son interactivos, tienen desafíos,
pueden tener un valor interno propio, los juegos desafían a los jugadores y por último
son sistemas cerrados y formales. Pero estos son conceptos muy abiertos, así que se
utiliza el siguiente:
“Un juego es una actividad en la que se resuelven problemas, la cual es abordada con
aptitud de jugar” (Schell, 2008).
Este concepto puede ser aplicado a todo tipo de juegos como los de mesa, los de
actividades físicas, los electrónicos, los videojuegos y hasta los de apuestas, y con éste
concepto continua la investigación.
Ya que se tiene definido el concepto de juego, la mira se fija en las experiencias, que
representan desde los sentimientos hasta los conocimientos que se transmiten a los
4
jugadores, esta es la parte más difícil de conseguir, pues todas las personas captan la
información de maneras diferentes y es el trabajo del diseñador asegurar que la
experiencia que se busca transmitir, llegue a todos, o a casi todos por igual. Queda
establecido entonces, que son las experiencias las que definen que tan bueno es el
juego, y gran parte del proceso es consumido en definir cómo crear experiencias
enriquecedoras y al mismo tiempo entretenidas o de algún modo atrayentes desde el
punto de vista del jugador.
En particular el problema que se desea abordar es cómo transmitir conocimientos de
programación, a través de un videojuego para lo cual se tiene que elegir un ambiente
capaz de captar la atención del jugador, y que transmita de la manera más eficiente, la
información que se desea permanezca con los individuos incluso después de terminar
de jugar.
1.1.1 Elementos básicos de un juego
Son muchos los elementos que componen un juego, pero todos estos pueden ser
clasificados en cuatro categorías principales que interactúan entre sí para crear un
producto sólido y de calidad, estos son la historia, las mecánicas, la tecnología, y la
estética. Es necesario profundizar en cada una de ellas para discernir el nivel de impacto
que tienen en el diseño del juego y por lo tanto determinar el esfuerzo y tiempo que se
debe dedicar a cada una, este epígrafe se dedica a explorar como crear las mecánicas
correctas para un juego (Schell, 2008).
Las mecánicas en un juego son los procedimientos y reglas que puede utilizar el jugador
para cumplir los objetivos del juego; describen las maneras en que se pueden intentar
conseguir éstos, y qué sucede cuando un jugador lo intenta. Entonces, se tiene que las
mecánicas son el núcleo del juego, las relaciones e interacciones que quedan cuando se
quitan la estética visual, la historia y la tecnología para desarrollar el juego. Dado el
nivel de importancia que reside en este elemento, resulta extraño que no exista una
pauta general para crear mecánicas, esto se debe a que éstas necesariamente involucran
describir la estructura de los modelos mentales, la manera de manejarlos, y debido a
que éstos moran en el subconsciente, es complicado crear un catálogo analítico de cómo
funcionan estos modelos. Aun así, el autor de “El arte del diseño de juegos” (Schell,
2008), presenta un catálogo de mecánicas que resultan de ayuda a la hora del diseño de
un juego.
La primera mecánica es el espacio, pues todo juego se desarrolla en algún tipo de
espacio, y este es, según el autor citado, el “círculo mágico de juego”. Ahí se definen
los diferentes lugares que pueden existir en un juego, y cómo pueden interactuar entre
ellos. Al diseñar un videojuego nuevo, existen momentos en que es beneficioso pensar
5
en el espacio como un ambiente en 2D, y otras cómo un ambiente en 3D. El propósito
de pensar en un juego como un espacio funcional, es para poder analizarlo más fácil, y
sin la distracción del resto de elementos.
A menudo los juegos incluyen espacios dentro de otros espacios, los juegos de
computadora del género de fantasía de juego de rol, son un buen ejemplo de este
fenómeno. La mayoría de ellos presentan un modelo de espacio general del mundo,
que es continuo en 2D, un jugador viajando por este espacio encuentra pequeños íconos
que representan pueblos, o cuevas, o castillos. El jugador puede entrar en ellos como
si fueran espacios completamente separados, como si no estuvieran conectados con el
espacio general, y aunque esto no es geográficamente correcto, sí corresponde con los
modelos mentales preconcebidos del jugador de cómo funcionan los espacios. En la
ilustración uno se observa un ejemplo simple de este fenómeno.
Ilustración 1: Espacios en un juego
La segunda mecánica es el tiempo, y dado que en el mundo real esta es una dimensión
siempre interesante, se viaja a través de él, siempre adelante, sin ninguna forma de
parar, regresar, ralentizar o acelerar; en el mundo de los juegos, a menudo se intenta
solucionar esta falta de control, creando mundos de juguete con los que se puede jugar
como dioses. Al igual que con los espacios, el tiempo puede ser discreto o continuo, y
en este ámbito una unidad discreta de tiempo tiene una palabra característica, “turno”.
Generalmente en los juegos basados en turnos el tiempo importa poco, pues cada turno
cuenta como una unidad de tiempo discreta, y el tiempo entre turnos, en cuanto al juego
concierne, no existe. La mayoría de videojuegos de acción, por ejemplo, son en tiempo
real, y también existe la posibilidad de que un juego tenga mezcladas estas dos
mecánicas, como los torneos de ajedrez, estos son basados en turnos, pero existe un
reloj continuo para limitar el tiempo límite de cada jugador.
Como tercera mecánica se propone analizar los objetos, atributos y estados. Un espacio
sin nada en él, es pues solo eso, un espacio, los personajes, utilería, fichas, marcadores,
o cualquier otra cosa que se pueda manipular en el juego caen en la clasificación de
objetos, y estos objetos tienen atributos, por ejemplo, en un juego de carreras la
velocidad actual, y la velocidad máxima que puede ser alcanzada son atributos del
personaje. Entonces se pude definir a los objetos como los sustantivos de las mecánicas,
y a los atributos como los adjetivos, y estos adjetivos pueden ser estáticos, como el
color de las piezas en un tablero de ajedrez, o dinámicos, por ejemplo, el rey en el
ajedrez tiene tres modos de movimiento, “libre para moverse”, “en jaque”, y “en jaque
6
mate”. Algunos cambios de estado son mejor ocultarlos al jugador, y otros es crucial
que el jugador los conozca, si dos objetos se comportan igual, deben verse igual, en
caso contrario deberían verse diferente. A menudo los objetos en un videojuego tienen
tantos atributos, y estos a su vez tantos cambios de estado, que llega a ser confuso para
el diseñador, y una de las mejores formas de representarlos es con diagramas de estados,
en términos de programación, implementar los estados de un atributo como una
máquina de estados, lo que ayuda a mantener todo ordenado y fácil de depurar.
La siguiente mecánica importante es “Acción”. Las acciones son los verbos de las
mecánicas en los juegos, y existen dos tipos de acciones: el primer tipo de acción son
las básicas, que son aquellas acciones bases que un jugador puede hacer, por ejemplo,
en un juego de damas el jugador puede mover una ficha adelante, saltar una ficha del
oponente, o mover una ficha en reversa, aunque esto solo lo pueden hacer las fichas
coronadas. El segundo tipo de acción, son las acciones estratégicas, que solo tienen
sentido cuando se mira el juego de forma panorámica, y estas acciones son usualmente
más numerosas que las de primer tipo, en las damas, por ejemplo, se puede proteger
una pieza moviendo otra detrás de ella, se puede forzar a un oponente a realizar un salto
no deseado, sacrificar una ficha para engañar al oponente, construir un “puente” para
proteger una fila trasera, mover una ficha a una “fila del rey”, para “coronarla”.
Estas acciones estratégicas son a menudo la parte más atractiva de un juego, pues
permite al jugador, con tan solo un puñado de acciones básicas, desarrollar un enorme
número de estrategias, dándole un sentimiento de libertad y recompensándolo por su
visión del juego, por lo tanto, es necesario profundizar en las bases de cómo desarrollar
este tipo de acciones. Primero, añadir más verbos, las acciones estratégicas aparecen
cuando las básicas, interactúan entre sí, con los objetos, y con el espacio de juego, por
lo tanto, es beneficioso añadir tantas como el juego permita, teniendo en cuenta que es
mejor añadir una buena acción básica, que un puñado de acciones mediocres. En
segundo lugar, tener verbos que interactúen con muchos objetos, esta es posiblemente
la estrategia más conveniente para hacer un juego interesante y elegante, por ejemplo,
si el jugador tiene un arma que solo puede disparar a los “malos”, entonces el juego es
muy simple, en cambio, si con esa misma arma puede activar un mecanismo para abrir
una puerta, romper una ventana, cazar para conseguir comida, reventar una goma de
un carro, o incluso escribir mensajes en una pared, entonces está en un juego con
muchas posibilidades, sigue teniendo una solo acción básica, pero al incrementar el
número de objetos a los que puede disparar buscando un beneficio, la cantidad de
acciones estratégicas incrementa también. En tercer lugar, está crear objetivos que se
pueden conseguir de más de una forma, se puede tener un juego con muchos verbos, y
que estos interactúen con muchos objetos, pero si el objetivo solamente se puede
cumplir de una forma, pues el jugador solamente hará eso, ahora, si este objetivo puede
ser alcanzado de más de una manera, por ejemplo, y continuando con el juego de tiros,
si se puede disparar al “Monstruo Jefe” para derrotarlo, pero también puede disparar a
un objeto del escenario para infligirle más “daño a su salud”, o en cambio, no matarlo
en absoluto, y solamente detenerlo con algún tipo de “escombros”, pues entonces el
juego presenta una jugabilidad rica, dinámica y con un buen número de posibilidades.
El desafío con este acercamiento, es que el juego se vuelve difícil de balancear, pues si
7
el jugador tiene una opción clara y que es más fácil de conseguir que el resto, siempre
irá por ella, y es el trabajo del diseñador resolver este inconveniente. En cuarto lugar,
se encuentra añadir muchos sujetos al juego, pues al tener muchos objetos que
interactúan de manera diferente puede hacer que el juego destaque, y se sienta natural,
además de atrayente para el jugador, además que al añadir estos sujetos se incrementan
también la cantidad de acciones estratégicas. Por último, pero de las más importantes,
están los efectos secundarios que cambian las restricciones existentes en el juego. Si
cada vez que se toma una decisión, esta afecta a los enemigos, o en cambio, afecta al
jugador, pues puede que se genere una jugabilidad muy interesante, si se crea la
posibilidad de que los diferentes aspectos del juego cambien al interactuar con las
acciones más básicas, pues surgen un número importante de acciones estratégicas
interesantes, lo cual es el objetivo principal del diseñador al analizar esta mecánica.
La quinta mecánica son las “Reglas”, y constituyen la mecánica más importante, pues
ellas definen el espacio, el tiempo, los objetos, las consecuencias de las acciones y sus
restricciones, y las metas. En otras palabras, ellas hacen posible todas las mecánicas
anteriores, y añaden lo que hace a un juego un juego, las metas.
Primero las reglas operacionales, éstas representan lo que un jugador “hace para jugar
el juego”, cuando un jugador entiende estas reglas, es cuando puede jugar. En segundo
lugar, están las reglas fundacionales, éstas forman la estructura formal subyacente del
juego, y son una representación matemática de los estados del juego y cómo y cuándo
estos cambian, en el desarrollo del juego los diseñadores agregan estas reglas según se
requiera, pero raramente tienen que documentar todas estas reglas. A continuación,
están las reglas de comportamiento, estás a menudo se conocen como reglas no escritas,
pues representan un buen “espíritu deportivo”, y son reglas que raramente son definidas
explícitamente. En el cuarto lugar, están las reglas escritas, estas son las reglas que
“vienen con el juego”, y son las que el jugador “lee”, para entender las reglas
operacionales, aun así, es extraño que realmente ocurra, pues las personas tienden a
preferir que alguien más les explique cómo jugar, a leer por ellos mismos. Debido a
esto los diseñadores optan por crear tutoriales interactivos.
A la hora del diseño siempre se tiene que tener una respuesta clara a la pregunta
“¿Cómo los jugadores aprenderán a jugar este juego?”, porque si alguien no entiende
cómo jugar, pues entonces, no lo harán. En quinto lugar, están las “Leyes”, éstas solo
salen a la luz cuando un juego es serio, como en una competición, pues tienen que estar
claro todo lo que se tiene que hacer para conservar el “espíritu deportivo”, estas son
absolutas, y pueden cambiar en algunos casos el comportamiento de las reglas escritas.
Las reglas oficiales se encuentran en sexto lugar, y surgen cuando un juego es jugado
de manera seria, suficiente para que se precise de fusionar las leyes con las reglas
escritas, por ejemplo, en el ajedrez cuando un jugador pone al rey contrario en posición
de “jaque”, está obligado a decirlo a su adversario, en el pasado ésta era una ley, pero
hoy en día es parte de las reglas oficiales. En séptimo lugar están las reglas de aviso,
no son reglas en sí, sino “reglas de estrategia”, y se utilizan para enseñar al jugador
cómo jugar mejor. Por último, las “reglas de la casa”, estas son la interpretación de los
8
jugadores de las reglas operacionales al encontrar una deficiencia en éstas, tras haber
jugado unas pocas rondas.
Cuando a un jugador se le pone una meta, su motivación por completarla se incrementa,
por lo tanto, tener un buen conjunto de metas bien construidas es crucial para mantener
a los jugadores comprometidos y motivados, algunos métodos para lograr este
cometido son: tener metas concretas, así los jugadores entienden y pueden declarar
claramente lo que, se supone, deben lograr; las metas tienen que ser alcanzables, pues
si parecen imposibles, los jugadores enseguida se rendirán; y lo más importante, las
metas deben ser gratificantes de alcanzar. Una meta con el correcto nivel de dificultad,
solamente alcanzarla ya es una recompensa en sí, pero si a eso se le suma una
recompensa extra, que haga sentir a los jugadores realmente orgullosos de haberla
logrado, entonces se consigue estimularlos, y crear sentimiento de compromiso a través
de la alegría de haber conseguido triunfar sobre una tarea de elevada “complejidad”.
1.1.2 Seleccionando el público objetivo
Queda claro que cada persona piensa diferente, y algunos factores determinantes que
influye en cada punto de vista son la edad y el sexo de cada persona, pero lo que hace
diferente a cada jugador, también puede ser aprovechado en el proceso creativo,
específicamente cuando se quiere escoger el público al que se apunta con el diseño,
siendo así se procede a estudiar cada variable demográfica.
Todas las personas son únicas y diferentes, pero cuando se crea contenido para el
disfrute de un gran número de personas, es necesario pensar en ellas como grupos en
los que los individuos son iguales, y estos grupos son llamados “grupos demográficos”.
No hay manera de discernir una forma precisa para la confección de estos grupos, pues
en cada ambiente de desarrollo son diferentes, pero en el diseño de videojuegos los
grupos demográficos más significativos son edad y género. Todas las personas juegan
diferente mientras envejecen, y las mujeres juegan diferente a los hombres, lo siguiente
es un análisis a tener en cuenta en el diseño de un videojuego.
Aunque puede haber particularidades en determinadas regiones y países, se han
utilizado las ideas recogidas en “The art of game design: A book of lenses” (Schell,
2008) para referir el análisis de los videojugadores pues se consideran bastantes
generales y aplicables en buena medida a nuestro entorno. Primero se analiza el grupo
demográfico “edad”, este se divide en varios subgrupos, de los cuales se analizarán
solo los de interés para la confección de este trabajo de diploma, “Niños”, entre siete y
nueve años, a esta edad los niños empiezan a desarrollar habilidades para resolver
problemas y para jugar, también descubren que juegos les interesan y cuales no les
gusta, y no solo se dejan influenciar por sus padres. “Pre adolescentes”, entre 10 y 13
años, los niños que transitan por esta edad están pasando por cambios neurológicos
inmensos, y de repente son capaces de pensar en cosas más profundas y con más
repercusión, de lo que eran capaces antes. Esta edad es conocida como la edad de la
obsesión, pues los niños a esta edad empiezan a ponerse bastante apasionados por sus
9
intereses, los varones, a menudo, por los juegos. “Adolescentes”, entre 13 y 18 años, a
esta edad se aprecia una divergencia entre los intereses de las hembras y los varones,
los niños usualmente están más interesados en competir y en dominar algún tema,
mientras que las niñas se enfocan en cosas de la vida real, y en la comunicación, aun
así, los adolescentes de ambos géneros están muy interesados en experimentar con
nuevos tipos de experiencias, y estas pueden ser a través de los juegos. Los “jóvenes
adultos”, entre 18 y 24 años de edad, ésta es la primera etapa de la “adultez”, y marca
una importante transición, pues en general los adultos juegan menos que los niños.
Muchos adultos continúan jugando, pero sin los experimentos que hacían en la
adolescencia, pues tienen establecidos ciertos gustos con respecto a los juegos que
prefieren y las formas de entretenimiento que buscan, los jóvenes adultos representan
grandes consumidores de juegos. Es importante tener en cuenta a la hora de diseñar un
videojuego que todas las actividades relacionadas con jugar, en cualquier edad, están
conectadas a la niñez, dado que ésta está centrada en jugar.
1.1.3 Videojuegos enfocados en la educación
El aprendizaje basado en videojuegos consiste en transmitir conocimientos a niños,
adolescentes o adultos mediante el uso de videojuegos. Como se mencionó en la
introducción de este trabajo el concepto de juego serio aparece en la década de los
setenta del siglo pasado para englobar a aquellos videojuegos orientados a actividades
de enseñanza. Los juegos serios no han gozado de una buena acogida en la educación
superior debido a la connotación negativa que los juegos de video para adultos suponen
en la sociedad, se los relaciona con actos de violencia, soledad, adicciones, problemas
de comunicación y comportamiento agresivo (Kowert et al., 2015).
Es común que la educación superior básicamente se sustente en la exposición a los
estudiantes de una vasta cantidad de información, a la que él tendrá que acudir para
formar su propio criterio. El principal problema de esta metodología es que muchas
veces no se personaliza, el profesor prepara un solo contenido para todos los estudiantes
de una misma materia, sin embargo, los estudiantes aprenden a ritmos diferentes. El
aprendizaje debe ser visto como la entrega de herramientas y saberes que van a permitir
que una persona sepa tomar la mejor decisión para que pueda actuar frente a una
situación particular. Aquí es donde aparece la posibilidad de la utilización de los video
juegos, de manera de crear experiencias interactivas que motiven y enganchen a los
estudiantes en el proceso de aprendizaje.
Un estudio realizado por el “Entertainment Software Association” en el 2016 reveló
que la mayor cantidad de jugadores corresponde a jóvenes entre 18 y 35 años, un rango
de edad que incluye a estudiantes que asisten a universidad y otras instituciones de
educación superior. Detrás de un juego serio existe una serie de aprendizajes
específicos que se deben llegar a dominar y si a esto se suma la posibilidad de
monitorear el progreso individual, se motiva al jugador a que obtenga un mejor
resultado y se supere cada vez que lleva a cabo un nuevo intento.
10
Los juegos serios han sido utilizados en diferentes actividades del hombre: salud,
defensa, educación, mercado, información y comunicación etc. En el caso de la
educación existen una cantidad inmensa de juegos serios, que van desde aplicaciones
usadas dentro del aula de clases para reforzar algún tema particular, hasta juegos en
dispositivos móviles para realizar aprendizaje autónomo.
1.2 Análisis de juegos enfocados en la enseñanza de la programación
Ésta sección se dedica al análisis de juegos específicos de similar temática al diseño
objetivo, con el propósito de discernir cómo enfocan los diferentes puntos clave de la
creación de un juego, y más significativo cómo enfocan el problema más apremiante,
la enseñanza de la programación.
1.2.1 Human Resorce Machine
“Human Resource Machine” (Tomorrow Corporation : Human Resource Machine, no
date) es un videojuego creado por “Tomorrow Corporation”, con una simple premisa,
“Tu oficina funciona como una CPU, resuelve puzles a través de simples algoritmos
de programación y sé promovido”. Así se propone la tarea de automatizar el trabajo
para conseguir la mayor productividad posible. Con cada nivel, que vienen a ser en el
juego los problemas a resolver, se presenta un reto a enfrentar con las herramientas que
se tienen a mano, con el fin de que el jugador desarrolle un pensamiento algorítmico
lógico, que le sirva para enfrentar los siguientes niveles del juego, y a largo plazo, que
pueda aplicar éstos en la vida real u otros problemas de similar índole.
11
Ilustración 2: Human Resource Machine
Entre los elementos más importantes de la interfaz mostrados en la ilustración 2, se
tiene un inbox, o caja de entrada, que juega los papeles de la entrada del programa, esta
es la zona por donde entran los datos que el programa utiliza para dar una respuesta al
problema abordado. En el otro extremo se encuentra el outbox, o caja de salida, este
corresponde a la salida del problema, por aquí se obtiene la respuesta que el programa
genera. Igual relevancia tiene la zona del suelo donde se pueden guardar datos para ser
utilizados luego, esta zona simula lo que vendría a ser la memoria en una computadora.
El pequeño trabajador que se encarga de trasladar los bloques, solo puede sostener en
sus manos uno a la vez y funciona como un acumulador. Los bloques en sí, tienen letras
o números, y son los datos del programa.
En cada nivel se le encomienda al jugador la solución de un problema, y este tiene que
programar al pequeño trabajador para que cumpla con las especificaciones de cada
problema, para esto se cuenta con una serie de comandos, o instrucciones simples, con
los cuales se puede llevar a cabo la tarea. En total el juego solo cuenta con 11 comandos,
pero son suficientes para simular casi cualquier algoritmo computacional. El carácter
de este juego en cuanto al funcionamiento de sus acciones, las cuales son de las más
fáciles, como serían leer de una fuente en específico, almacenar un valor o utilizarlo
más tarde, e incluso escribir en la salida los resultados, hacen que se asemeje a un
lenguaje ensamblador, pues en cualquier lenguaje de alto nivel, el programador tiene a
su disposición funciones específicas que tienen comportamientos complejos, pero
fácilmente reconocible por la mayoría de programadores
Este videojuego termina siendo entretenido para aquel que lo juega, y no tiene
conocimientos previos de programación, así como para cualquier experto que quiera
12
medirse con sus avanzados problemas de optimización. Con una interfaz relativamente
intuitiva, alcanza a la mayor parte del público y su sistema Drag and Drop, simplifica
en gran medida el trabajo a la hora de construir el programa. Es un interesante
acercamiento al mundo de la computación, y más específico, al aprendizaje del mismo,
con una selección de problemas dirigidos a desarrollar conocimientos necesarios y un
punto de vista lógico, permitiendo al usuario entretenerse y aprender al mismo tiempo.
1.2.2 Light Bot Code Hour
“Light Bot” (LightBot, no date) es un juego que desarrolla las habilidades tanto de
programación como lógicas. El objetivo es programar el robot para que encienda las
casillas azules que aparecen en el tablero utilizando la menor cantidad de instrucciones
posibles. El juego posee un panel de control con comandos como “girar”, “saltar”,
“encender”, “apagar”, entre otros, que pondrán al robot en movimiento y de esa manera
superar los múltiplos niveles. El mayor problema se presenta cuando se agotan las
casillas en el panel de control principal, por lo que se deben comenzar a utilizar
funciones, por medio de los comandos “F1” y “F2” que permiten añadir hasta 8
movimientos más a cada función. Light Bot puede ser utilizado por los niños a partir
de los seis años si ya han sido alfabetizados, como se observa en la ilustración 3, el
juego tiene un diseño estético simple y único.
Ilustración 3: Light Bot Code Hour
Cuando un nivel no se resuelve correctamente, los jugadores deben buscar lo que puede
haber causado el problema. Esto se puede hacer recorriendo los comandos que se han
puesto e incluir, modificar o eliminar comandos para entender dónde está el problema.
Esto es lo mismo que lo que los programadores tienen que hacer cuando hay un error
en su código. Por lo general, tienen que volver a ejecutar el programa paso a paso,
prestando especial atención a lo que pudo haber salido mal, recorriendo las
13
instrucciones para poder encontrar donde se produce el error. Los jugadores de Light
Bot deben utilizar funciones cuando no tienen suficiente espacio en el bloque principal
para resolver un problema. Las funciones son útiles para la extracción de patrones y
para poder utilizar un conjunto de comandos varias veces. Los funciones también se
ejecutan de una manera que, cuando se ejecuta un ícono de P1, se ejecutan todos los
comandos en PROC1, y al final de PROC1, la ejecución vuelve al comando siguiente
del icono de P1.
Un jugador de Light Bot puede utilizar bucles para resolver algunos niveles. Los bucles
son útiles para tareas repetitivas, y son una extensión de la extracción de un patrón que
se produce una y otra vez. En Light Bot se explota al máximo el manejo de la
recursividad siendo ésta el recurso más poderoso con el que se cuenta, el
funcionamiento que provee el juego es el siguiente, se llama a un procedimiento desde
dentro el procedimiento en sí (es decir poner P1 en PROC1). Cuando el algoritmo
termina la ejecución del programa salta al principio, como lo hace en el juego.
El único problema es que Light Bot se queda muy corto en contenido, ya que los
jugadores pueden no tener intenciones de aprender a programar y completar el juego
de la misma manera. Lo que sí se puede destacar son los puzles que se tienen que
resolver para llevar al robot a la casilla azulada, idea que resulta muy interesante ya
que se puede utilizar puzles del mismo tipo para que los jugadores programen ciertos
aspectos que les permitan avanzar en el juego.
1.2.3 Scratch
Scratch (Scratch - Imagine, Program, Share, no date) es un entorno de aprendizaje de
programación de escritorio dirigido a que personas inexpertas en la programación
aprendan a programar de manera sencilla y sin necesidad de aprender la sintaxis de un
lenguaje de programación específico. Con Scratch se pueden programar historias
interactivas, juegos, animaciones e incluso simulaciones y compartirlas con todo el
mundo. Para crear proyectos se cuenta con un conjunto de instrucciones expresadas en
lenguaje natural, clasificadas en distintas categorías como son movimiento, apariencia,
eventos, control, operadores.
Como se puede ver en la Ilustración 4, estas instrucciones se representan con bloques
que pueden ser arrastrados y concatenados unos con otros a modo de puzle para crear
los programas. Esto es lo que se denomina “scratching”. Además de poder mover las
cajas para dar funcionamiento al programa, se pueden modificar valores para adaptarlo
al gusto del usuario, esto se puede hacer en las cajas que tienen huecos en blanco. La
manera en la que un usuario interactúa con Scratch es la siguiente:
• El usuario programa su código arrastrando las cajas para darle comportamiento.
• Cuando quiere ver visualmente qué es lo que hace el código, pulsará el botón
ejecutar.
14
• También puede parar lo que se está ejecutando pulsando sobre el botón para
Ilustración 4: Captura de Scratch
Los puntos más interesantes de Scratch son la diversidad que tiene, ya que permite
crear gran cantidad de proyectos diferentes, la capacidad de personalización que ofrece,
permitiendo realizar los proyectos con fotos, gráficos, música, grabaciones e incluso
creando nuevos gráficos. Se encuentra disponible para múltiples sistemas operativos.
Como se observa en la Ilustración 4, la interfaz es muy colorida, sencilla e intuitiva.
1.2.4 Videojuegos para aprender a programar online.
En esta categoría se encuentra un amplio número de videojuegos que, con la premisa
de enseñar a programar en un lenguaje en específico, gozan de cierta popularidad entre
programadores y aspirantes. Entre los más interesantes se encuentra CheckiO (Blog -
python coding challenges - Py.CheckiO, no date), el cual cuenta con una interfaz
realmente interesante y visual, en esta plataforma se plantean retos de
programación los usuarios que, a modo de puzle, tendrán que resolverlos. Además,
está planteado para fomentar que se trabaje en la mejor resolución posible, ya que se
premia a quien mejor resuelva el problema.
Otra propuesta interesante la hace CodinGame (CodinGame Blog - Tricks &
insights on programming for the developer community, no date), En esta página web
desarrollada por una compañía con base en Francia se encuentran multitud de juegos
para aprender programación. La gran ventaja de CodinGame es la posibilidad
de practicar más de 25 lenguajes diferentes, por ejemplo: Java, Python, JavaScript,
Swift, Ruby, Rust, C#, C++, C, Groovy entre muchos otros, muy solicitados por las
empresas. A todo esto, hay que sumarle la vocación de comunidad que tiene la
plataforma, en la que se puede ayudar a otros programadores y ser ayudado por ellos.
15
El más interesante de los videojuegos analizados fue Codecombat (Weblet Importer,
no date), gracias a él se puede aprender a programar Javascript y Python. Este juego es
una propuesta divertida y colorida, en el cual se inserta al jugador en una aventura
mágica llena de sorpresas. El punto importante, es que los hechizos son scripts de
programación y muchos rompecabezas están enfocados desde un punto de vista, con el
cual el jugador puede aprender a implementar algoritmos básicos de programación.
Aunque estos tipos de videojuego presentan un atractivo innegable, se decide no hacer
uso de sus mecánicas o puntos de vista, pues todos están enfocados desde un modo de
vista, en el cual el jugador termina aprendiendo un lenguaje de programación real, lo
cual puede que no sea la meta de todo el público al cual se desea llegar con este trabajo
de diploma, en cambio se desea crear un videojuego serio, pero que pueda ser jugado
por cualquier persona.
1.3 Metodología para la creación de un videojuego.
El videojuego como medio de entretenimiento ha evolucionado de manera increíble en
muy poco tiempo, se han convertido en una industria multimillonaria casi a la par con
la industria del cine. Los videojuegos eran considerados juguetes para niños y
desarrollados por uno o dos programadores novatos en los sótanos de sus casas.
Actualmente las empresas, editoriales y grupos de desarrolladores independientes
involucran a profesionales en campos como diseño, informática, música, marketing e
incluso leyes entre otros, para lograr publicar un solo producto. Los videojuegos, arte,
ciencia y tecnología; involucran una plétora de habilidades y conocimientos en distintas
disciplinas, desde ciencias formales hasta ciencias sociales que van más allá del típico
proyecto de software e implican al mismo tiempo la creatividad y la imaginación. Un
videojuego combina elementos de narración, música, animación y deporte. El código
es como una partitura musical la cual es tocada por una computadora y los juegos se
vuelven a veces tan competitivos que se juegan como deporte.
La competencia en las eras subsecuentes, la postura de la sociedad y el lugar en el que
se encuentra la industria actualmente, implica equipos de desarrollo de 25 o más
miembros para lograr publicar un solo videojuego comercial y los proyectos pueden
durar más de 3 años y un presupuesto de millones de dólares. Un videojuego no sólo
es un producto artístico, debe de pasar por varias fases desde que es concebido hasta
que es olvidado, es decir que, como todo software, tiene un ciclo de vida. El ciclo de
vida da la pauta a lo que hay que obtener a lo largo del desarrollo del juego más no el
cómo desarrollarlo, de eso se encarga el proceso. Dada la complejidad de un
videojuego, dicho proyecto debe de manejarse a través de un proceso, involucrando así
16
una serie de pasos organizados que guiarán cada actividad hasta el producto final
(Morales Urrutia et al., 2010).
Para la creación del diseño del videojuego propuesto en el presente trabajo se utiliza la
metodología Huddle (Morales Urrutia et al., 2010), en la cual se utiliza un modelo de
desarrollo completo, que empieza con el diseño más básico, y pasa por una serie de
fases enfocadas en maximizar la productividad de cada proceso por el que es necesario
transitar cuando se crea un juego. Se llama Huddle a la reunión que se realiza en el
juego antes de cada jugada en el fútbol americano; la filosofía es que, mediante breves
reuniones de planeación a corto plazo, se planee cada “jugada” que se inicie; con esto
se da un seguimiento más estrecho al avance del proyecto y es posible hacer
correcciones tempranas a posibles desviaciones. Huddle es un proceso específico para
desarrollo de videojuegos con las siguientes características: ágil, óptimo para equipos
multidisciplinarios de 5 a 10 personas, iterativo, incremental y evolutivo. Huddle, sin
embargo, puede utilizarse en equipos de menos de cinco elementos. Todo el proceso
se divide en 3 fases:
• Preproducción.
• Producción.
• Postmortem.
Adicionalmente a los roles propuestos en SCRUM, en Huddle existen dos roles
importantes a considerar: Game Designer y Project Manager (Morales Urrutia et al.,
2010). Mas adelante en este trabajo de diploma se utiliza esta metodología para diseñar
las primeras fases del videojuego.
1.4 Conclusiones parciales.
En el capitulo se procesaron algunos conceptos sobre los videojuegos, sus partes
principales, destacando las mecánicas dentro de ellas y la utilidad de las mismas en
los procesos de enseñanza-aprendizaje.
Por el papel que desempeñan en los videojuegos se estudian los diferentes tipos de
mecánicas que deben aparecer. Además, se describieron algunos videojuegos serios,
relacionados con el aprendizaje de la programación, procesando algunas ventajas y
limitaciones de los mismos.
17
CAPÍTULO 2. Diseño de un videojuego.
El desarrollo de videojuegos es un proceso llevado a cabo por un equipo
multidisciplinario donde coexisten personas de formación profesional diversa, y a pesar
de esto, deben ponerse de acuerdo. Con los años los productos son cada vez más
ambiciosos, lo que conlleva que su desarrollo sea una tarea complicada. Debido a esto,
la tecnología, técnicas y metodologías adoptadas han ido y van evolucionando con el
tiempo, tratando de minimizar los problemas, agilizar el desarrollo y conseguir el mejor
producto posible en el menor tiempo. Para el desarrollo de este videojuego se decidió
emplear la metodología planteada en el artículo Procesos de Desarrollo para
Videojuegos (Morales Urrutia et al., 2010), desarrollada por el Instituto de Ingeniería
y Tecnología de la Universidad Autónoma de Ciudad Juárez.
2.1 Desarrollo de los elementos básicos del videojuego.
En el presente epígrafe se pretende desarrollar a fondo todos los aspectos del
videojuego, como lo son la historia, las mecánicas principales, las cuales responden a
los objetivos, y las demás mecánicas que están diseñadas para enriquecer el videojuego
y convertirlo en una experiencia didáctica y entretenida, que el jugador pueda utilizar
para emplear su tiempo libre ejercitando la mente con ejercicios de varias
complejidades, los cuales están enfocados en desarrollar lo mejor posible el
pensamiento lógico y algorítmico. Se pretende enfatizar en la estética visual que debe
tener todo el apartado gráfico del juego, así como en la tecnología que se tiene en mente
como foco principal para el desarrollo de la aplicación.
2.1.1 La historia
Para la creación de la historia es necesario analizar aspectos importantes, pues, aunque
no es un elemento que a primera vista pueda parecer determinante para lograr los
objetivos propuestos, sí lo es a la hora de mantener a la audiencia con un cierto nivel
de interés por el desarrollo de los personajes, y lograr con ello que se mantengan más
tiempo jugando. Lo que se traduciría en más tiempo analizando los problemas
abordados y posiblemente desarrollando en la mente del jugador el pensamiento
algorítmico, que se plantea como objetivo principal y se desea crear o fomentar.
La historia principal del juego gira en torno a un guerrero que es enviado por su Rey a
rescatar a sus recién nacidos hijos mellizos, una pequeña princesa llamada Elloin, y el
príncipe Alvett. Estos fueron capturados por el malvado hechicero Frábdel, quien no
18
dudará en obstaculizar el camino del héroe con un sin número de puzles, e incluso
enviará a todo su ejército, con el objetivo de frenar al héroe.
Con una historia simple como esta se intenta llegar a la mayoría del público objetivo,
pues se plantea rápidamente un objetivo principal claro y fácil de identificar.
Para completar la historia, y enlazarla con las mecánicas, las cuales son el verdadero
corazón de un juego, es necesario tener claros todos los elementos con los que tiene
que interactuar el jugador. Para la representación de estos y demás elementos del juego,
así como el enlace del diseño con la programación se empleará la metodología Huddle,
la cual será abordada en el tercer capítulo. En dicho capítulo se construirá la estructura
adecuada para listar todos los elementos requeridos, por lo cual ahora solo se
nombrarán todos los elementos de manera rápida y concisa para poder emplearlos en
el futuro.
Entre los obstáculos que tiene que sortear el jugador se encuentran elevaciones en el
terreno, las cuales solo puede superar al saltar sobre ellas, es necesario tener en cuenta
que solo puede saltar una unidad de altura, de manera que para subir una elevación de
dos unidades tiene que encontrar la manera de acortar la distancia a una unidad. Los
árboles caídos y columnas derrumbadas, son otro tipo de obstáculos que visualmente
son diferentes pero que se superan con el mismo proceso, y diferente a los obstáculos
anteriores, están los vacíos que para poder superarlos es necesario una acción previa
con un elemento especial. Entre los objetos con los que puede interactuar se encuentran
los arcos, bastones mágicos y espadas encantadas, cada uno realizando una acción en
concreto al ser utilizados. Los arcos solo pueden ser utilizados en la casilla
correspondiente y una vez que se interactúa con ellos desaparecen, el efecto que
realizan es uno de los siguientes y solo varía según la configuración predeterminada
del escenario en el que se encuentran:
• Derrumbar un árbol o columna para completar la vía que estaba incompleta por
un vacío.
• Alcanzar las monedas especiales que se encuentran en el mapa.
El siguiente objeto es el bastón mágico, para utilizarlo se tiene que estar sobre una
casilla especial que permita activar el comando de interactuar, y al igual que el arco,
una vez que se utiliza, deja de existir en el juego. Su función es teletransportar al
jugador a una casilla destino específica. El próximo objeto especial son las espadas
encantadas, estas permiten al jugador eliminar a los enemigos con un solo movimiento,
lo cual elimina la cantidad de iteraciones que tiene que ejecutar el personaje, siendo
esta la clave para conseguir la mejor respuesta a un problema, y también permite
eliminar con menos pasos a todos los enemigos de cada escenario, lo cual ayuda a
conseguir el trofeo de cada nivel por “limpiar” la zona.
19
El próximo elemento con el cual se pude interactuar son los enemigos, y aunque todos
son conceptualmente el mismo tipo de unidad, a la hora del diseño se crean de manera
separada, pues estéticamente son diferentes, para derrotarlos hay que usar el comando
interactuar tantas veces como el número de su nivel lo indique, si un enemigo es nivel
3, pues es necesario utilizar el comando interactuar 3 veces para derrotarlo. Al mismo
tiempo existen los jefes de nivel, que son ligeramente diferentes, pues para derrotarlos
se necesita crear una rutina específica para cada uno. La enumeración se hará de manera
separada por nivel, pues cada uno presenta un ambiente diferente de la historia, la cual
pasa por tres zonas del mundo. El primer ecosistema es el bosque, y los enemigos son:
• Serpientes.
• Jabalíes.
• Puercoespines.
• Orcos.
• Jefe del nivel: Orco general.
La lista no necesita ser innecesariamente larga, pues el objetivo del juego no es
combatir contra estos enemigos. El segundo nivel se ambienta en un desierto, y es en
esta fase que se inserta el concepto de los procedimientos adicionales, por lo cual es
una zona muy importante. Los enemigos que se pueden encontrar en esta zona son:
• Armadillos.
• Escorpiones.
• Ogros.
• Jefe de nivel: Ogro jefe de guerra.
Para el final del juego el tercer nivel se desarrolla en los espacios interiores de un
castillo de estética medieval. Aquí se introduce el concepto de las sentencias
condicionales, y los algoritmos alcanzan un nuevo nivel de complejidad. Los enemigos
de esta zona son:
• Murciélagos.
• Hechiceros encapuchados.
• Esqueletos guerreros.
• Vampiros.
• Gran hechicero Frábdel.
El objetivo no es crear una historia enrevesada, por lo cual una vez que se derrota al
Gran hechicero se revela que él era el tío de los jóvenes príncipes y solo los estaba
cuidando mientras el rey y la reina estaban de vacaciones.
2.1.2 Mecánicas
El tipo de juego que se decidió crear es similar al Light Bot (LightBot, no date), con
un sistema de combate que emula la jugabilidad de éste y ambientado en el universo
que engloba la historia. En cada nivel del videojuego se deberá completar un problema
20
que corresponde a un tema específico ceñido a los conceptos que se consideran
necesario vencer, cuando el objetivo es aprender a programar. Para continuar es
necesario definir avatar, como aquellos personajes que el jugador puede controlar
dentro del juego.
Primero que todo, las mecánicas girarán en torno a las acciones que puede hacer el
jugador, pues el espacio es un área finita, con un determinado número de posiciones
posibles en las cuales se puede poner el avatar, por lo tanto, la única manera que tiene
el jugador de interactuar con la escena es con las acciones que se le brindan
específicamente en cada lugar. Entre las mecánicas básicas que tiene a su disposición
el jugador están:
• Avanzar: Avan.
• Girar a la derecha: GirDer.
• Girar a la izquierda: GirIzq.
Un ejemplo básico del problema planteado sería que el personaje se encuentre en un
punto A, y el objetivo se encuentre en Z, pero para llegar necesita sortear de alguna
manera un obstáculo en B (Ilustración 5). En cada nivel el avatar del jugador solo puede
avanzar por el camino que se encuentra predefinido, y estéticamente se garantiza que
se pueda reconocer la dirección en la que se encuentra “mirando” el personaje, pues al
utilizar Avan, es en esa dirección en la que se mueve.
Ilustración 5: Ejemplo de un problema.
Para poder dar solución a este simple problema, es necesario conocer que las zonas de
color rojo son inaccesibles, y la zona marcada en B, corresponde a una elevación del
terreno, entonces los movimientos que se conocen hasta este punto no son suficientes,
es necesario utilizar una acción diferente a las básicas, esta es Saltar: Salt, y puede ser
utilizada para superar el nuevo obstáculo, o para bajarse del mismo. Por lo tanto, la
solución de este problema sería la siguiente:
21
Movimientos:
• Avan.
• Avan.
• Avan.
• GirDer.
• Salt.
• Salt.
• GirIzq.
• Avan.
• Avan.
Ilustración 6: Solución del problema
Hasta el momento se tienen 4 acciones posibles a realizar, pero es necesario tener algo
más para enriquecer la jugabilidad, pues hasta el momento, aunque se pueden crear
problemas con solución algorítmica, es necesario entonces crear una mecánica
enfocada en diversificar las posibilidades a la hora de tomar decisiones. Para esto se
creó la acción Interactuar: Inter, al utilizarla el avatar del jugador ejecuta una acción
específica, estas son, utilizar un objeto especial, eliminar un enemigo e interactuar con
la meta, necesario para poder ganar el nivel. Esta acción se puede activar solo en las
casillas que correspondan con una de estas opciones. Al añadir los obstáculos y
enemigos, se logran generar problemas de mayor complejidad, pues el jugador tiene
que decidir si desea enfrentarse a un enemigo, el cual puede necesitar más de un ataque
para ser derrotado, también entra en juego la posibilidad de encontrar una ruta
alternativa que lo lleve a la meta sin necesidad de abatir a sus rivales.
Siguiendo con el tema de enriquecimiento de mecánicas, se pone la mira en crear un
sistema de puntaje para cada nivel. Estos premios se consiguen de diferentes maneras,
22
el primero es tras completar el nivel satisfactoriamente, el segundo, se obtiene al crear
el mejor algoritmo posible, para el tercero es necesario conseguir derrotar a todos los
enemigos, y por último la máxima puntuación se alcanza al recolectar todas las
monedas especiales. Cada escenario está compuesto por un número fijo de niveles, los
cuales corresponden a problemas de programación. Obtener la máxima puntuación en
cada nivel del escenario, permite al jugador desbloquear una ruta alternativa, que no se
encuentra en la historia principal, pero en la que figuran problemas más complejos, y
que requieren de un nivel de control total de los conocimientos adquiridos hasta el
momento.
Para dar solución a los problemas que se plantean, solo se pueden utilizar un máximo
de 12 acciones, esto implica que los algoritmos que se creen no pueden ser de una
complejidad mayor, para solucionar este inconveniente, se introducen una mecánica
muy interesante. Esta mecánica es el primer algoritmo de mediana complejidad y se
representa de la siguiente manera, Procedimiento: Pro1. Este funciona como una
subrutina la cual cuenta con un máximo de 8 instrucciones posibles. Cuando se utiliza
en el algoritmo principal, se ejecutan las acciones del procedimiento almacenado. Esta
mecánica se convierte en una herramienta poderosa para resolver los problemas, pues
permiten repetir un número elevado de pasos, sin tener que escribirlos más de una vez.
Específicamente esta mecánica se desea que funcione como un ciclo de cualquier
lenguaje de alto nivel, por lo tanto, existe la posibilidad de indicar cuántas veces se
desea correr la subrutina, de ésta manera se evita tener que utilizar llamadas repetidas
al Pro1, en la rutina principal del algoritmo.
Ilustración 7: Ejemplo de un algoritmo con un procedimiento.
Este movimiento encierra una mecánica mucho más compleja e interesante aun, pues,
si se coloca una llamada a Pro1 dentro sí mismo, se estaría invocando recursivamente
23
esta subrutina, convirtiéndose este movimiento en una poderosa herramienta a favor
del jugador. Salta la interrogante entonces de cómo lidiar con un posible ciclo infinito,
el cual no permitiría normalmente conseguir un resultado óptimo, pero es importante
recordar que el objetivo de cada pista es completar todas las zonas en verde, y si el
ciclo no termina, pero el avatar del personaje consiguió llegar a la meta, el proceso se
interrumpe, y la tarea queda completada satisfactoriamente.
La siguiente instrucción introduce el concepto de las sentencias condicionales, pero es
difícil conseguir una unión natural con el juego, por lo tanto, se crea una mecánica
interesante a continuación, para lograr que estén presentes y sean entretenidas de
utilizar.
El comando se nombra Chequear: Cheq, posee una nomenclatura específica para cada
acción que se desee comprobar y las condiciones para poder utilizarla son las
siguientes:
• El avatar del personaje tiene que estar posicionado sobre una casilla especial,
que le permita utilizar la acción Interactuar.
• Solo se activa la acción si el personaje está en el lugar correcto y está
interactuando con el objeto adecuado, en caso contrario el procedimiento se
salta esta acción y sigue con la siguiente.
Una vez que se verifique que se pude activar la acción, pues seguido se ejecuta el Pro2,
el cual puede tener un máximo de 8 acciones dentro, y el cual solo se puede utilizar al
activarse este tipo de mecánica.
Este movimiento abre las puertas a una gran cantidad de posibilidades, pues junto a los
Procedimientos, se pueden llegar a crear un algoritmo que ejecute una secuencia de
acciones específica n veces, y solo ejecutar otra acción cuando se cumpla una condición
en específico, y este es uno de los conceptos de programación más poderosos que se
pueden aprender a través de este juego.
24
Ilustración 8: Uso del comando Romper
En total se cuenta con un total de 7 acciones posibles para resolver los problemas que
se planteen en el videojuego, y estos son:
• Avanzar: Avan.
• Girar a la derecha: GirDer.
• Girar a la izquierda: GirIzq.
• Saltar: Salt.
• Interactuar: Inter.
• Procedimiento: Pro1.
• Cheq (Inter).
2.2 Tecnología utilizada para desarrollar el videojuego.
Para la etapa de producción se propone utilizar el motor gráfico de desarrollo
profesional de videojuegos Unity (Unity, no date) el cual es un motor de juego
multiplataforma e interfaz de desarrollo que facilita el desarrollo de videojuegos
proporcionando un editor de juego visual, subsistemas de gestión, lenguajes de script
para crear el contenido del juego y una gran cantidad de otras características. Tiene una
gestión de entidades bien diseñada y basada en componentes y trae integrada la
implementación de una biblioteca de componentes que resuelven los aspectos técnicos
del desarrollo de videojuegos como físicas realistas, colisiones, renderizado, sonido.
25
El Editor de Unity presenta herramientas múltiples que permiten una edición e iteración
rápidas en los ciclos de desarrollo, lo que incluye el modo Play para tener vistas previas
rápidas del trabajo en tiempo real. Las características principales de esta poderosa
herramienta incluyen:
• Editor todo en uno: Disponible en Windows, Mac, and Linux, incluye una
amplia gama de herramientas amigables para los artistas que permiten diseñar
experiencias inmersivas y mundos de juego, así como un conjunto de
herramientas de desarrollo para implementar lógica de juegos y jugabilidad de
alto rendimiento.
• 2D y 3D: Unity apoya tanto el desarrollo de la tecnología 2D como el de la 3D
con prestaciones y funcionalidades para las necesidades específicas en los
diversos géneros.
• Herramientas IA para la búsqueda de caminos: Unity incluye un sistema de
navegación que permite crear un PNJ (del inglés No Player Character) que
puede moverse con inteligencia por el mundo del juego. El sistema usa mallas
de navegación que se crean automáticamente a partir de la geometría de la
Escena, o incluso obstáculos dinámicos, para alterar la navegación de los
personajes en el tiempo de ejecución.
• Flujos de trabajo eficientes: Los Prefabs de Unity, que son Game Objects
preconfigurados, proporcionan flujos de trabajo eficientes y flexibles que te
permiten trabajar con confianza sin la preocupación de cometer errores que
consumen mucho tiempo.
• Interfaces de usuario: Nuestro sistema de Interfaz de Usuario incorporado,
permite crear interfaces de usuario de forma rápida e intuitiva.
• Herramientas personalizadas: Se puede expandir el Editor con las herramientas
que se necesite para estar a la par del flujo de trabajo del equipo de desarrollo.
Tambien se puede crear y agregar extensiones personalizadas o identificar lo
que se necesita en la Asset Store, que ofrece miles de recursos, herramientas y
extensiones para agilizar los proyectos.
• Mejor colaboración: Se puede monitorear en lo que otros están trabajando en el
Editor de Unity.
Se considera que el motor gráfico de desarrollo Unity es una opción sólida a utilizar,
por tener una interfaz amigable para el usuario, poseer una extensa red de información
disponible, utilizar tanto C# como JavaScript en sus scripts de programación, y ser una
herramienta completamente gratis.
Una alternativa puede ser eAdventure(eAdventure, no date). La plataforma eAdventure
es un proyecto de investigación que aspira a facilitar la integración de juegos
educativos y simulaciones basadas en juegos en procesos educativos en general y
Entornos Virtuales de Aprendizaje (EVA) en particular. Está siendo desarrollado bajo
los auspicios del grupo e-UCM en la Universidad Complutense de Madrid. Sus
objetivos son claros, el primero reducción de los costos de desarrollo para juegos
26
educativos, en segundo lugar, la incorporación de características educativas específicas
en herramientas de desarrollo de juegos y por último integración de los juegos
resultantes con material educativo en el contexto de los Entornos Virtuales de
Aprendizaje. Este motor es una opción muy interesante a tener en cuenta, pues es de
código libre y está escrito en Java.
Toda la información sobre estos dos motores gráficos fue recolectada desde sus
respectivas páginas web de ayuda a los usuarios que estén interesados en comenzar a
utilizar estos productos.
2.3 Conclusiones parciales.
En el capítulo se describieron las características principales del videojuego propuesto:
la historia en que se basa, las mecánicas fundamentales, incluyendo las operaciones en
las que se basa y se realiza una analogía con la lógica de la algoritmización que se
quiere lograr.
27
Capítulo 3: Concepción del archivo de diseño.
En el presente capítulo se crea el archivo de diseño correspondiente al videojuego
descrito anteriormente en este trabajo de diploma, para la construcción de éste se
emplea la metodología propuesta en el artículo Procesos de desarrollo para videojuegos
(Morales Urrutia et al., 2010). En este artículo se describe como organizar todo el
proceso de creación de tal manera que se aumente la productividad en el reducido
tiempo suministrado normalmente, en un proyecto de este tipo.
3.1 Metodología Hubble
La metodología Hubble se basa en la idea de que la planeación de un proyecto es la
clave para obtener un producto de calidad y que sea desarrollado dentro del costo y
tiempo estimados. El primer paso en esta metodología, y el que interesa en este caso,
es la construcción del documento de diseño, en el cual queda reflejada la idea principal
y detalles de las propuestas del videojuego. Con la participación de todos los
integrantes del proyecto se revisa constantemente este documento, hasta que su
contenido sea factible llevarlo a etapa de producción.
El estudio se centra entonces en el documento de diseño, en cómo es su estructura,
cómo crearlo, y por último, crear el correspondiente al videojuego propuesto. El
Documento de Diseño es el artefacto más importante del proceso, se acarrea a lo largo
del proyecto y deberá estar dispuesto a sufrir varios cambios desde la etapa de revisión.
Contiene todas las especificaciones necesarias para comenzar el proyecto, éstas van
desde el tema principal del videojuego hasta el número de niveles que tendrá. Es
Trabajo de los diseñadores consolidar las ideas que se crean, y conseguir un producto
con sentido, y principalmente con metas realistas y alcanzables. En este documento
quedan reflejados desde el título del juego, el género, una visión general y mecánicas,
hasta aspectos de jugabilidad, modos de juego, plataforma y los diferentes software que
se utilizarán.
A lo largo del proyecto, este documento sufrirá varios cambios, es importante que la
primera versión de este documento no contenga información tan específica del
videojuego, no se puede saber todo desde el principio, tal vez el juego requiera más
niveles o menos, la mecánica puede cambiar a algo más entretenido o se pueden agregar
otros modos de juego, conocimiento y experiencia. El Documento de Diseño es la guía
del proceso Huddle, es el que define si el proyecto merece entrar a una etapa de
Producción y dicta las características que se registran en el Feature Log (Morales
Urrutia et al., 2010).
28
3.2 Archivo de diseño.
Para la confección del archivo de diseño del videojuego se expondrán las diferentes
secciones en tablas separadas para un manejo más simple y claro a la hora de ver la
información. Este archivo contiene toda la información que se necesita del juego, y
puede estar sujeto a cambios, como bien se menciona anteriormente. Dado que la
metodología no está sujeta a una representación específica, sino que consideran la
creación propia de esquemas para el fácil manejo de la información entre los
integrantes del equipo de desarrollo como la mejor manera de actuar, cada vez que se
utilice un tipo específico de representación dentro del archivo de diseño, se describe
detalladamente su funcionamiento.
Documento de Diseño
Campo DESCRIPCIÓN
CONCEPTO
Título Un mundo mágico de algoritmos.
Estudio/Diseñadores René Osvaldo Camacho Fernández, Dr.C. Ramiro Pérez
Vázquez.
Género Videojuego de lógica
Plataforma Computadora Personal.
Versión 01
Sinopsis de
Jugabilidad y
Contenido
La historia del videojuego gira en torno a un guerrero enviado
a rescatar unos pequeños príncipes que fueron raptados por
un hechicero que le encantan los acertijos y los puzles, por lo
tanto, la jugabilidad está fuertemente vinculada a esta visión
de resolver problemas. El jugador se verá ante diferentes
desafíos que pondrán sus habilidades a prueba, pues solo
contarán con un número bien restringido de acciones
posibles, y tendrán que pensar en un algoritmo capaz de
responder a tal reto.
El objetivo de este diseño es moldear la mente de los
jugadores de tal forma que en el futuro puedan enfrentarse a
situaciones de esta índole, mientras cursan carreras relacionas
con el mundo de la programación, y sean capaces de entender
más fácilmente como resolver mediante algoritmos, los
problemas que se les planteen.
Licencia Original.
Mecánica El jugador tiene a su disposición una serie de comandos que
puede utilizar en todo momento, y otros, que solo puede
utilizar en situaciones específicas, estos son:
• Avanzar: Avan.
• Girar a la derecha: GirDer.
• Girar a la izquierda: GirIzq.
• Saltar: Salt.
29
• Interactuar: Inter.
• Procedimiento: Pro1 y Pro2.
• Cheq (Inter).
• Romper: Romp.
El personaje se encuentra en un escenario dividido en filas y
columnas, y el objetivo es llegar a una casilla específica, para
esto cuenta con las acciones mencionadas anteriormente.
Tecnología Para la creación del videojuego de necesita de la tecnología
ofrecida por los ordenadores personales. En cuanto a software
se quiere emplear el editor Unity(Unity, no date), en el cual
se utiliza el lenguaje de programación C# en los scripts.
Público El juego está dirigido a las personas interesadas en cursar
estudios relacionados al mundo de la programación, pero
también lo pueden jugar todo el resto de personas que deseen
disfrutar resolviendo puzles y acertijos.
HISTORIAL DE VERSIONES
01: Diseño original del videojuego.
Tabla 1: Documento de diseño
MECÁNICA DEL JUEGO
Las mecánicas fueron explicadas con detenimiento en el epígrafe 2.1.2
Cámara La perspectiva que se desea crear es la de una vista isométrica en
2D, de tal forma que se vea la totalidad del terreno en todo
momento para que sea fácil de entender la situación en que se
encuentra el jugador.
Periféricos Para completar el juego solo es necesario el teclado y el mouse.
Controles Cada botón tiene un diseño afín a la ambientación de la historia,
por lo tanto, es necesario describir cada uno. En la interfaz de
usuario estos están ubicados en la parte inferior y su orden coincide
con la siguiente lista:
• Avanzar: El ícono de esta acción es una flecha apuntando
en dirección derecha, sin muchos ornamentos, pues se
pretende crear una interfaz libre de distracciones.
• Girar a la derecha: El ícono de esta acción representa al
personaje, mientras una flecha en dirección de las
manecillas del reloj le superpone.
• Girar a la izquierda: El ícono de esta acción representa al
personaje, mientras una flecha en contra de la dirección de
las manecillas del reloj le superpone.
• Saltar: El ícono de esta acción es el personaje haciendo un
ligero salto en el aire.
• Interactuar: El ícono de esta acción pone al personaje
activando un mecanismo accionado por poleas y un
engranaje.
30
• Procedimiento: El procedimiento uno está representado
por una bombilla de color verde. En la parte superior se
encuentra una casilla con un número, el cual puede ser
cambiado y representa la cantidad de veces que se desea
correr la subrutina almacenada en Pro1.
• Cheq (Inter), Cheq (Giro): Para chequear una acción el
ícono es de pregunta, y cuando se pone en la sección de
comandos, se hace clic sobre él y cambia por una de las dos
acciones posibles a chequear, pero con un ícono de
interrogación en la esquina izquierda superior de color
negro.
Puntaje El juego consta de tres escenarios diferentes, en el primero se
presentan los comandos más simples y se pone a prueba la
capacidad del jugador para resolver problemas, en el segundo se
introducen los ciclos, un concepto interesante, y que supondrá un
reto adecuado, para el escenario final se reservaron las sentencias
condicionales. Cuando el jugador avanza a través de cada
escenario se le deja saber que ha alcanzado el dominio de un
concepto importante de programación, y se le brindan datos más
científicos al respecto.
Guardar/Cargar El juego tiene una pantalla de selección de nivel, dividida en tres
diferentes pantallas, cada una representa uno de los escenarios. A
cada nivel solo puede acceder si ha completado el anterior, y
mediante un sistema de tres estrellas sobre el nombre de cada
nivel, se le deja saber el progreso en los retos del nivel en el que
se encuentra. El jugador no tiene que preocuparse por guardar,
pues cada vez que complete un nivel se guarda la información de
su avance, y el algoritmo que desarrolla, queda guardado para
revisarlo si así lo desea, al acceder de nuevo al nivel en cuestión.
Tabla 2: Mecánicas del juego
A continuación, se desarrollan los estados del juego, que no son más que todas las
interfaces que el jugador puede presenciar, para la visualización se emplean diagramas
de estados que muestren de una manera simple la pantalla en la que se encuentra y que
sucede al interactuar con cada botón. Esta tabla se complementa con la siguiente,
llamada Interfaces, en la cual se describe detalladamente cada una de las pantallas.
31
ESTADOS DEL JUEGO
Ilustración 9: Leyenda de los símbolos.
En la ilustración nueve se muestra la leyenda de los símbolos que se utilizan en los
diagramas, los rectángulos representan las distintas ventanas con las que el jugador
puede interactuar, los botones, representados con círculos, son las acciones que se
pueden ejecutar, y las flechas indican la transición de un menú a otro, al accionar un
botón.
La ilustración 10 representa la pantalla principal, que se le muestra al jugador una
vez ejecute la aplicación.
Ilustración 10: Diagrama del menú principal
En la ilustración 11 se define la interfaz que presenta la pantalla de selección de
nivel, en un primer momento se puede seleccionar en un botón ir a la pantalla de los
niveles, en la cual aparecen los niveles posibles en el escenario seleccionado. Estos
niveles pueden estar bloqueados, y es trabajo del jugador resolver los problemas
anteriores para poder acceder a ellos. En cambio si se selecciona el botón adelante,
32
sigue estando en la pantalla de selección de escenarios, pero el jugador está ante una
pista diferente, el juego cuenta de tres pistas, donde cada una corresponde a las
habilidades a desarrollar.
Ilustración 11: Selección de escenarios
En cambio, si se presiona el botón seleccionar aparece la ventana emergente del
nivel, en ella se reflejan datos importantes del mismo, como la cantidad de estrellas
obtenidas, y aquí el jugador puede seleccionar jugar o cancelar, la primera opción
provoca que se cambie a la Pantalla del nivel, ilustración 12, y la segunda que vuelva
a la pantalla de selección de niveles. La pantalla representada por el gráfico de la
ilustración 12 es la más importante del juego, pues en ella es donde realmente juega
el usuario, en la siguiente sección de documento del archivo se explica con detalle
cómo funciona y cada detalle de la interfaz de esta pantalla. Aquí el jugador puede
presionar el botón Ejecutar para correr el algoritmo que ha creado en la Barra de
Proceso, la cual se explica en la siguiente parte, si el algoritmo es correcto pues se
activa la ventana emergente de completar el nivel, en esta solo se puede seleccionar
el botón completar, que nos lleva a la pantalla de selección de niveles, en otro caso,
si el algoritmo es incorrecto, se termina la ejecución del algoritmo, reiniciando el
nivel a sus valores iniciales, pero se mantiene el algoritmo intacto. También se puede
optar por seleccionar el botón salir, a lo cual el juego reacciona con una ventana
emergente, la cual posee los botones de Continuar para regresar a la pantalla de nivel
en la que se encontraba sin que ocurra ningún cambio, el botón Reiniciar devuelve
el nivel al estado original, o sea elimina todas la acciones que puedan estar en la
Barra de Proceso y las Subrutinas, de esta manera se puede empezar a resolver el
problema desde el principio. El botón de salir hace que la interfaz se cierre y el
usuario regresa a la pantalla de selección de niveles.
33
Tabla 3: Estados del juego.
INTERFACES
Las interfaces están estrechamente relacionadas a la tabla de Estados, pues aquí se
pretende extender la información brindada anteriormente sobre cada una de las
interfaces que corresponde con estados específicos del juego. También se profundiza
en la visualización frontal (del inglés Heads-up Display) que no es más que la
pantalla que muestra la información al jugador mientras está jugando, ilustración 13.
Interfaz del Menú Principal
Nombre de
la Pantalla
Menú Principal
Descripción
de la
Pantalla
En esta pantalla se presenta al jugador el título del juego, se dan
algunas opciones de configuración, como seleccionar el lenguaje del
videojuego, controlar el volumen de la música, y puede recibir
consejos que le ayuden a entender cómo funcionan las herramientas
que están a su mano para resolver los problemas, así como ejemplos
de respuestas a algunos planteamientos.
Estados del
Juego
Esta pantalla es invocada por los siguientes estados:
• Pantalla de selección de escenarios.
• Archivo ejecutable.
Desde esta pantalla se pueden invocar los siguientes estados:
Ilustración 12: Interfaz de usuario en el juego.
El número de interfaces es el menor posible, para mantener el juego simple y ligero,
teniendo en mente que no se haga extenuante y aburrido al jugador.
34
• Pantalla de Opciones.
• Pantalla de selección de Escenarios.
Interfaz de selección de Escenarios
Nombre de
la Pantalla
Menú secundario.
Descripción
de la
Pantalla
En esta pantalla se puede seleccionar el escenario, éste corresponde
con el momento en el que se desarrolla la historia, pero siempre se
puede seleccionar uno mientras ya haya sido desbloqueado
anteriormente.
Estados del
Juego
Esta pantalla la invocan los siguientes estados:
• Pantalla Principal.
• Pantalla de Selección de Niveles.
Desde esta Pantalla se pueden invocar los siguientes estados:
• Pantalla Principal.
• Pantalla de Selección de Niveles.
Pantalla de selección de Niveles
Nombre de
la Pantalla
Menú Secundario.
Descripción
de la
Pantalla
En esta interfaz se selecciona el nivel que se desee jugar, para esto se
invoca la Ventana emergente del nivel que se desea jugar, en la cual
se muestran datos de interés y se puede, finalmente, comenzar a jugar.
Estados del
Juego
Esta pantalla la invocan los siguientes estados:
• Interfaz de selección de escenarios.
• Pantalla de Nivel.
Desde esta Pantalla se pueden invocar los siguientes estados:
• Pantalla de Selección de Escenarios.
• Pantalla de Nivel.
Pantalla de Nivel
Nombre de
la Pantalla
H.U.D.
Descripción
de la
Pantalla
En esta interfaz se desarrolla toda la acción del juego, en ella se
interactúa directamente con el juego, se da a conocer el problema, se
introducen las acciones en las rutinas y subrutinas, y se ejecuta el
programa creado. La zona de color verde representa las acciones que
puede hacer el personaje, las zonas de azul son donde se crea el
algoritmo, la primera es la rutina principal, la segunda es el
Procedimiento uno, y la tercera es el Procedimiento dos. Por último.
el botón rojo con forma circular representa corresponde con el botón
de ejecutar el algoritmo, y el cuadrado con el botón de salir del nivel.
Estados del
Juego
Esta pantalla la invocan los siguientes estados:
• Pantalla de selección de Niveles.
Desde esta Pantalla se pueden invocar los siguientes estados:
• Pantalla de selección de Niveles.
35
Pantalla de Nivel.
Imagen
Ilustración 13: H.U.D.
La zona central corresponde a la visualización del escenario en el
que se encuentra el avatar del jugador, en la zona inferior están todas
las acciones que se pueden arrastrar hacia las zonas de la parte
derecha de la pantalla, esta está dividida en tres, la primera es la
rutina principal, la segunda es la subrutina del procedimiento uno y
la tercera es la subrutina que se ejecuta al verificar una acción con el
comando Cheq ().
El círculo rojo es el botón de “correr” el algoritmo, y el cuadrado
rojo es el botón de “Salir”.
Tabla 4: Estados del juego.
Representados en la tabla cinco, están todos los niveles principales que el jugador tiene
que completar para avanzar en la historia, estos están divididos por nivel de
complejidad en tres escenarios diferentes, en el primero el personaje solo tiene acceso
a los comandos más básicos, y el objetivo de esta sección es que el usuario se apropie
de los principios básicos que debe controlar para poder avanzar. Los conocimientos
que se ganan en estos niveles permiten resolver problemas simples y básicos que tan
solo exigen realizar una serie de acciones de forma algorítmica, desde el punto de vista
de una persona con estudios relacionados a la programación, estos niveles son
realmente fáciles, pero son necesarios a la hora de introducir a los jugadores, pues ellos
no tienen a su alcance un profesional que guie su camino, o un plan de clases por el
que se pueda guiar en cada momento, ni siquiera un material bibliográfico que sirva de
ayuda.
36
En el siguiente escenario se plantea el uso de procedimientos, y más adelante en el
mismo, el empleo de estos procedimientos recursivamente. Estos problemas tienen un
nivel de complejidad medio, y aquellas personas que pudieron completar la anterior
sección, de manera eficiente, no tendrán problema para entender el funcionamiento de
esta nueva mecánica.
Por último, se introducen las sentencias condicionales, con esta mecánica se alcanza el
pico de dificultad del juego, pero también es la mecánica más divertida de usar, pues
funciona relativamente parecido a como la mente de una persona resuelve un problema,
si una condición se cumple pues se ejecutan ciertas acciones, en caso contrario, pues el
proceso sigue su curso original sin mayores eventualidades.
Para la implementación de esta parte del documento de diseño se considera necesario,
dadas las características del videojuego en cuestión, agregar una sección en la cual se
describan las diferentes maneras de resolver cada nivel, la cual se llamará Algoritmo.
Para interpretar de manera correcta las ilustraciones de ejemplo de esta sección hay que
tener en cuenta la siguiente información:
Ilustración 14: Símbolos de los niveles.
1. Este símbolo representa la casilla en la que se encuentra el avatar del jugador
al inicio del problema.
2. Este símbolo representa las casillas válidas por las que se puede avanzar.
37
3. Este símbolo representa las casillas del camino principal que están en el
segundo nivel de altura, solo se puede acceder a ellas desde una casilla de nivel
uno o una de nivel 3, con el comando Saltar.
4. Este símbolo representa las casillas del camino principal que están en el tercer
nivel de altura, solo se puede acceder a ellas desde una casilla de nivel dos, con
el comando Saltar.
5. Este símbolo representa las casillas en las que se encuentra un enemigo,
visualmente en el juego además del enemigo correspondiente, se puede ver una
bandera a sus pies que indica el número de ataques necesarios para eliminarlo.
6. Este símbolo representa las casillas en las que se puede encontrar un objeto
especial, las espadas y arcos no tienen información extra, pero los bastones
tienen escrito la casilla a la que conducen: -> 2, o la casilla que representan: 2.
7. Este símbolo representa las casillas en las que es posible usar el comando Cheq
().
8. Este símbolo representa un obstáculo que no puede ser superado de ninguna
forma.
9. Este símbolo representa las monedas especiales, estas solo pueden ser
alcanzadas al utilizar un arco.
10. Este símbolo representa la casilla en la que se encuentra la meta del nivel, si se
ejecuta un comando Interactuar en esta casilla, se termina el nivel, no importa
cuánto quede del algoritmo por ejecutar.
11. Este tipo de símbolo, representado por un contorno que puede ser de varios
colores, alrededor de una casilla es leyendo utilizado para combinar diferentes
casillas, por ejemplo, si se utiliza éste con el número 4, significa que existe un
enemigo en una casilla nivel 3.
NIVELES
Título del Nivel Nivel01.
Encuentro Este es el primer nivel del juego, en él se plantea el desarrollo
de la historia y se anima al jugador a atravesar todos los niveles
para completar la aventura.
Descripción La ambientación es del primer escenario, no hay enemigos ni
obstáculos que interfieran.
El diseño es el siguiente:
38
Ilustración 15: Nivel01
Algoritmo Solución:
Rutina Principal:
1. Avan.
2. Avan.
3. Avan.
4. Avan.
5. Inter.
Objetivos El objetivo del jugador es hacer que el avatar atraviese el
camino de forma lineal y al alcanzar la casilla objetivo utilice
el comando Interactuar.
Progreso En este nivel se introducen los comandos más básicos del
juego: Avanzar e Interactuar.
Al terminar el nivel se obtienen los premios alcanzados, al no
tener que hacer nada en específico se logran alcanzar las cuatro
estrellas sin mayor complejidad.
Personajes En este nivel se introducen el Personaje principal y el
Antagonista.
Título del Nivel Nivel02.
Encuentro Este nivel introduce las acciones de girar hacia ambos lados, es
un comando simple que permite al jugador girar en el camino
para poder llegar a su objetivo
Descripción La ambientación es del primer escenario, no hay enemigos, un
obstáculo impide el avance del jugador por el camino principal.
El diseño es el siguiente:
Ilustración 16: NIvel02
Algoritmo Solución:
Rutina Principal:
39
1. Avan.
2. GirDer.
3. Avan.
4. Avan.
5. GirIzq.
6. Avan.
7. Avan.
8. Avan.
9. GirIzq.
10. Avan.
11. Avan.
12. Inter.
Objetivos El objetivo del jugador es hacer que su personaje atraviese el
camino, un árbol, el cual corresponde con la zona en rojo, se
interpone en el camino principal por lo que tiene que tomar una
ruta alterna, al final tiene que usar el comando interactuar en la
casilla objetivo.
Progreso Al terminar el nivel se obtienen los premios alcanzados, al no
tener que hacer nada en específico se logran alcanzar las cuatro
estrellas sin mayor complejidad.
Enemigos Se introduce el concepto de obstáculo infranqueable, estos no
permiten el paso y obligan al jugador a tomar otros caminos.
Título del Nivel Nivel03.
Encuentro En este nivel se introduce el comando saltar, con el dominio de
este comando el jugador puede resolver problemas que
anteriormente no tenían solución.
Descripción La ambientación es del primer escenario, no hay enemigos que
interfieran, el jugador se encuentra con el primer obstáculo que
puede superar. El diseño es el siguiente:
Ilustración 17: Nivel03.
Algoritmo Solución:
Rutina Principal:
1. Avan.
2. Avan.
40
3. Salt.
4. GirDer.
5. Salt.
6. Salt.
7. GirIzq.
8. Salt.
9. Inter.
Objetivos Para superar este nivel, el jugador tiene que utilizar el comando
saltar para escalar sobre las elevaciones del terreno, y para
poder bajarlas, tiene que proceder de igual forma, al final tiene
que utilizar el comando Interactuar en la casilla objetivo.
Progreso Al terminar el nivel se obtienen los premios alcanzados, al no
tener que hacer nada en específico se logran alcanzar las cuatro
estrellas sin mayor complejidad.
Enemigos En este nivel se introduce el comando saltar para poder superar
los obstáculos que hasta ahora no se podían saltar.
Título del Nivel Nivel04.
Encuentro En este nivel se introduce la posibilidad de usar la acción
interactuar en enemigos. Gracias a esta se agregan también los
objetos especiales más adelante.
Descripción La ambientación es del primer escenario, aparece el primer
enemigo, se trata de un Jabalí. El diseño es el siguiente:
Ilustración 18: Nivel04.
Algoritmo Solución:
Rutina Principal:
1. Avan.
2. GirIzq.
3. Avan.
4. Avan.
5. GirDer.
6. Avan.
7. Avan.
41
8. Inter.
9. GirIzq.
10. Avan.
11. Inter.
Objetivos Para completar el nivel, el jugador tiene que utilizar los
comandos aprendidos hasta este momento y eliminar el nuevo
obstáculo que representa el enemigo con el comando
Interactuar, por último, activa la casilla objetivo con el mismo
comando.
Progreso Al terminar el nivel se obtienen los premios alcanzados, al no
tener que hacer nada en específico se logran alcanzar las cuatro
estrellas sin mayor complejidad.
Enemigos En este nivel se introduce el concepto de enemigos, los cuales
representan un obstáculo que puede ser destruido.
Título del Nivel Nivel05.
Encuentro En este nivel se da a conocer el primer objeto especial, una
Espada. El enemigo es de nivel 7, y no alcanzan los
movimientos para poder completar el nivel, pues las acciones
necesarias exceden las 12, pero gracias a la espada los
movimientos necesarios para eliminar el enemigo se reducen a
uno.
Descripción La ambientación es del primer escenario, aparece un enemigo
de muy alto nivel. El diseño es el siguiente:
Ilustración 19: Nivel05
Algoritmo Solución:
Rutina Principal:
1. Salt.
2. Salt.
3. Inter.
4. GirIzq.
5. Salt.
6. Avan.
7. GirIzq.
8. Salt.
42
9. Inter.
10. GirDer.
11. Avan.
12. Inter.
Objetivos Para completar este nivel el jugador tiene que obligatoriamente
optar por el camino de coger el objeto especial, en este caso una
espada, para poder eliminar el obstáculo, pues en caso
contrario, para derrotar al enemigo se necesitan siete acciones,
y al sumar el resto de comandos necesarios, el número total
excede el máximo de pasos permitidos.
Progreso En este nivel se introducen los objetos especiales, y el jugador
se ve en la necesidad de escoger un camino que no parece
fructífero al principio, pero es la única solución posible. Al
terminar el nivel se obtienen los premios alcanzados, al no tener
que hacer nada en específico se logran alcanzar las cuatro
estrellas sin mayor complejidad.
Enemigos Aparece por primera vez un puercoespín de nivel siete.
Objetos Aparece el primer objeto especial, una espada.
Título del Nivel Nivel06.
Encuentro Este es el último nivel de este escenario, aparece el primer Jefe
Final, los cuales para derrotarlos es necesario utilizar las
subrutinas, como el jugador todavía no ha aprendido a utilizar
estos comandos, el nivel empieza con un algoritmo base, y el
objetivo es solamente completar el mismo.
Descripción La ambientación es del primer escenario. Aparece un enemigo
de nivel uno y el primer enemigo final. El diseño es el siguiente:
Ilustración 20: Nivel06.
Algoritmo Solución:
Rutina Principal:
43
1. Avan.
2. Avan.
3. GirIzq
4. Avan.
5. GirDer.
6. Avan.
7. Avan.
8. Cheq (Inter).
9. Avan.
10. Inter.
Subrutina Pro1:
1. Salt.
2. Salt.
3. Inter.
4. Salt.
5. Salt.
6. GirDer.
7. Avan.
8. Inter.
Objetivos Para completar este nivel, el jugador tiene que entender donde
poner el comando del Procedimiento uno, pues el algoritmo
dentro de él, ejecuta las acciones necesarias para interactuar
con el Arco, derrotando de esta manera al Jefe Final, a con el
fin de utilizar el comando Chequear(Interactuar) se ejecuta el
algoritmo almacenado en el Procedimiento dos, el cual tiene las
acciones necesarias para alcanzar el Bastón, finalmente el
Procedimiento uno deja al avatar delante del segundo enemigo
siendo necesario solo una acción para derrotarlo y
posteriormente completar el nivel al usar Interactuar en la
casilla de destino.
Progreso En este nivel se revelan los comandos que podrán ser utilizados
en los próximos escenarios. Al terminar el nivel se obtienen los
premios alcanzados, al no tener que hacer nada en específico se
logran alcanzar las cuatro estrellas sin mayor complejidad.
Enemigos El enemigo común de nivel uno es una serpiente y el Jefe Final
del nivel es el Orco General.
Objetos Aparecen dos objetos especiales: un arco y un bastón.
Título del Nivel Nivel07.
Encuentro Se introduce el comando Procedimiento uno, con él se pueden
crear algoritmos más complejos, pues no se necesitan un gran
número de acciones para completar un nivel que puede parecer
imposible si solo se cuenta con la zona de la Rutina Principal.
Descripción La ambientación es del segundo escenario, no hay enemigos ni
obstáculos que interfieran. El diseño es el siguiente:
44
Ilustración 21: Nivel07
Algoritmo Solución:
Rutina Principal:
1. Pro1(2).
2. Avan.
3. Avan.
4. GirIzq.
5. Avan.
6. GirDer.
7. Avan.
8. Avan.
9. Inter.
Subrutina Pro1:
1. Avan.
2. GirDer.
3. Avan.
4. GirIzq.
Objetivos Para completar el nivel, es necesario utilizar el Procedimiento
uno para crear una subrutina capaz de avanzar por el camino.
Posteriormente se finaliza el algoritmo con los comandos
clásicos.
Progreso En este nivel se introduce al jugador el concepto de los
procedimientos. Al terminar el nivel se obtienen los premios
alcanzados, sin embargo, aunque existe más de una forma de
lograr el objetivo, se siguen obteniendo las cuatro estrellas,
pues todos los algoritmos posibles ejecutan la misma cantidad
de comandos.
Título del Nivel Nivel08.
Encuentro En este nivel se siguen expandiendo los conocimientos sobre
las subrutinas.
Descripción La ambientación es del segundo escenario, no hay enemigos ni
obstáculos que interfieran, pero es necesario utilizar los objetos
45
especiales. El diseño es el siguiente:
Ilustración 22: Nivel08
Algoritmo Solución:
Rutina Principal:
1. Pro1(4).
Subrutina Pro1:
1. Avan.
2. GirDer.
3. Avan.
4. Inter.
5. GirIzq.
Objetivos Para este nivel se planea que el jugador explore todas las vías
posibles, pues se puede completar utilizando el procedimiento
uno de manera clásica, como un ciclo, o si se piensa de manera
más rebuscada, con un algoritmo recursivo.
Algoritmo Para completar este nivel basta con crear un algoritmo en el
Procedimiento uno que haga lo siguiente:
• Adelante.
• Girar Derecha.
• Adelante.
• Girar Izquierda.
• Interactuar.
• Procedimiento uno.
Esta alternativa se nutre de la posibilidad de utilizar
Procedimiento uno de manera recursiva, aun así, existen otras
soluciones posibles.
46
Progreso En este nivel se logra hacer que el jugador analice de diferentes
puntos de vista el problema si quiere alcanzar su objetivo. Al
terminar el nivel se obtienen los premios alcanzados, sin
embargo, aunque existe más de una forma de lograr el objetivo,
se siguen obteniendo las cuatro estrellas, pues todos los
algoritmos posibles ejecutan la misma cantidad de comandos.
Objetos Aparecen un tipo de objeto especial: los bastones.
Título del Nivel Nivel09.
Encuentro En este nivel se introduce por primera vez las monedas como
objetivo secundario y el vacío como obstáculo infranqueable.
Descripción La ambientación es del segundo escenario, El jugador tiene que
hacer uso de los bastones mágicos para poder llegar a la meta,
y si desea el objeto especial, del arco. El diseño es el siguiente:
Ilustración 23: Nivel09.
Algoritmo Solución:
Rutina Principal:
1. Pro1(2).
2. GirIzq.
3. Avan.
4. Inter.
Subrutina Pro1:
5. Avan.
6. Avan.
7. Avan.
8. GirDer.
9. Avan.
10. Inter.
Objetivos Para superar este nivel el jugador puede optar por varios
caminos, pero en todos tiene que hacer uso de la subrutina del
Procedimiento uno. En cambio, si desea obtener la mayor
puntuación tiene que utilizar todas las posibles acciones del
proceso principal, el obstáculo se supera al utilizar el arco, pues
en este caso cumple dos funciones, la primera, alcanzar la
47
moneda especial y la segunda es dejar caer una columna sobre
el vacío para conectar los dos caminos. Cuando se interactúa
con el bastón que lleva a la casilla de destino tres, el avatar
queda mirando hacia la derecha, al utilizar el arco queda
mirando hacia la izquierda, pues en caso contrario no son
suficientes las 12 acciones de la rutina principal.
Progreso Con este nivel se intenta hacer que el jugador tenga que usar su
ingenio para alcanzar la moneda especial, y que al mismo
tiempo tenga que crear otra rutina para poder alcanzar la
estrella de la mejor respuesta. Al terminar el nivel se obtienen
los premios alcanzados, sin embargo, aunque existe más de una
forma de lograr el objetivo, solo se obtienen las cuatro estrellas,
si el jugador alcanza la moneda con una rutina, y crea la rutina
de la menor cantidad de acciones ejecutadas en otro intento.
Enemigos En este nivel no existen enemigos, y el obstáculo especial:
Vacío, se supera gracias al objeto especial Arco.
Objetos Aparecen dos tipos de objeto especial: los bastones y el Arco.
Título del Nivel Nivel10.
Encuentro En este nivel se introducen los nuevos enemigos propios del
escenario 2.
Descripción La ambientación es del segundo escenario, en este nivel el
jugador tiene que crear dos soluciones si desea alcanzar las
cuatro estrellas, y aparecen los primeros enemigos.
El diseño del nivel se muestra en la siguiente ilustración:
Ilustración 24: Nivel10.
Algoritmo Solución:
Rutina Principal:
1. Pro1(4)
48
Subrutina Pro1:
2. Avan.
3. GirIzq.
4. Salt.
5. Inter.
6. GirIzq.
7. Salt.
8. Inter.
Objetivos Para superar el nivel el jugador puede seguir el camino natural
y alcanzar el premio por la menor cantidad de instrucciones,
pero para eliminar a todos los enemigos y alcanzar la estrella
por limpiar el nivel, tiene que utilizar de manera inteligente el
procedimiento uno, para este nivel se suministra una pista:
“Intenta solamente usar un comando en la rutina principal”.
Progreso Con este nivel se pretende que el jugador experimente las
ventajas de pensar en un algoritmo de manera recursiva. Al
terminar el nivel se obtienen los premios alcanzados, sin
embargo, solo se obtienen las cuatro estrellas, si el jugador
alcanza la meta creando una rutina en la que se ejecuten la
menor cantidad de comandos posible, y crea otra rutina con la
cual pueda eliminar de manera eficiente a todos los enemigos.
Enemigos En este nivel aparecen dos tipos de enemigos:
• Escorpiones.
• Armadillos.
Todos los enemigos que aparecen en este nivel tienen nivel uno.
Objetos En este nivel aparece el objeto especial: Bastón.
Título del Nivel Nivel11.
Encuentro En este nivel aparece el enemigo final del escenario dos: jefe
de nivel: Ogro jefe de guerra.
Descripción La ambientación es del segundo escenario, y solo hay un
enemigo. El diseño es el siguiente:
Ilustración 25: Nivel11.
Algoritmo Solución:
49
Rutina Principal:
1. Pro1(4).
2. GirIzq.
3. Pro1.
4. GirDer.
5. Avan.
6. Cheq (Inter).
Subrutina Pro1:
1. Inter.
2. Avan.
3. Avan.
4. Avan.
5. Avan.
6. Avan.
7. Inter.
Subrutina Cheq:
1. Inter.
2. Avan.
3. Avan.
4. Avan.
5. Inter.
Objetivos Para completar este nivel el jugador tiene que crear un
algoritmo utilizando el Procedimiento uno de tal manera que
interactúe con cada uno de los arcos de la zona izquierda del
mapa, pues estos dejan caer escombros sobre los lugares
vacíos, formando así un camino, y al mismo tiempo, hundir la
casilla del jefe final en las arenas movedizas, el jugador puede
hacer uso del comando Romper para detener la ejecución de la
subrutina y al final utilizar la acción Procedimiento dos, que se
suministrará ya creada, para completar el nivel.
Progreso Este nivel sirve como preámbulo del siguiente escenario. Al
terminar el nivel se obtienen los premios alcanzados.
Enemigos Aparece el jefe de nivel: Ogro jefe de guerra.
Objetos En este nivel se puede interactuar con los objetos especiales:
Bastón y Arco.
Título del Nivel Nivel12.
Encuentro Con este nivel quedan introducidas oficialmente todas las
mecánicas al juego.
Descripción La ambientación es del tercer escenario, los obstáculos que
interfieren son simples elevaciones, pero como reto especial no
se puede utilizar el Procedimiento uno. El diseño es el
siguiente:
50
Ilustración 26: Nivel12.
Algoritmo Solución:
Rutina Principal:
1. Avan.
2. GirDer.
3. Avan.
4. Salt.
5. Salt.
6. GirIzq.
7. Salt.
8. Salt.
9. Avan.
10. Cheq (Inter).
Subrutina Pro1: no se puede utilizar.
Subrutina Cheq:
1. GirIzq.
2. Salt.
3. GirDer.
4. Salt.
5. GirDer.
6. Salt.
7. Inter.
Objetivos El objetivo de este nivel es que el jugador aprenda como utilizar
las instrucciones Cheq (), con este propósito está inhabilitado
el comando Procedimiento uno, por lo cual el jugador se ve
forzado a crear un algoritmo con las nuevas instrucciones.
Progreso Se introduce el comando Cheq (). Al terminar el nivel se
obtienen los premios alcanzados.
Enemigos Hay un enemigo simple de solo nivel uno, los obstáculos son
simples elevaciones.
Título del Nivel Nivel13.
Encuentro Con este nivel se busca que el jugador utilice todos sus
conocimientos para alcanzar las tres monedas especiales, aun
así, no es necesario alcanzarlas para completar el nivel.
51
Descripción La ambientación es del tercer escenario, no hay enemigos ni
obstáculos que interfieran directamente con él jugador. El
diseño es el siguiente:
Algoritmo Solución:
Rutina Principal:
1. Avan.
2. Avan.
3. GirIzq.
4. Pro1(3).
Subrutina Pro1:
1. Avan.
2. GirDer.
3. Avan.
4. Inter.
5. GirIzq.
Subrutina Cheq:
Objetivos El objetivo del nivel es llegar a la meta, para lograrlo basta con
utilizar el Procedimiento uno, en cambio, si el jugador quiere
alcanzar la máxima puntuación, tiene que crear un algoritmo
capaz de entender cuando está sobre una casilla de bastón
especial, para poder utilizar el Procedimiento dos, de esta
manera puede utilizar el arco para alcanzar cada moneda, y
volver con el bastón hacia la misma posición en que empezó a
correr la tercera subrutina.
Progreso En este nivel se expanden las habilidades del jugador. Al
terminar el nivel se obtienen los premios alcanzados, sin
embargo, solo se obtienen las cuatro estrellas, si el jugador
logra obtener las tres monedas especiales.
Enemigos No existen enemigos ni obstáculos que impidan completar el
nivel.
52
Objetos En este nivel hay dos tipos de objetos especiales: Bastón y
Arco.
Título del Nivel Nivel14.
Encuentro Este nivel está diseñado para que el jugador utilice la subrutina
dos para regresar por el camino que ya recorrió.
Descripción La ambientación es del tercer escenario, no hay enemigo, los
obstáculos son espacios vacíos.
El diseño es el siguiente:
Ilustración 27: Nivel14.
Algoritmo Solución:
Rutina Principal:
1. Pro1(2).
Subrutina Pro1:
1. Avan.
2. GirDer.
3. Avan.
4. Avan.
5. Avan.
6. Cheq (Inter).
Subrutina Cheq:
1. GirIzq.
2. GirIzq.
3. Avan.
4. Avan.
5. GirDer.
6. Avan.
7. Avan.
8. Inter.
Objetivos El objetivo del nivel es utilizar el procedimiento uno para
alcanzar los arcos, y utilizando la subrutina dos, regresar por el
camino recorrido, y poner al personaje en la posición correcta
para poder continuar el algoritmo.
53
Progreso En este nivel se expanden los conocimientos generales del
jugador. Al terminar el nivel se obtienen los premios alcanzado.
Enemigos No existen enemigos, los obstáculos son vacíos.
Objetos En este nivel hay un tipo de objeto especial: Arco.
Título del Nivel Nivel15.
Encuentro Este nivel está diseñado para que el jugador utilice las dos
subrutinas de manera ingeniosa para poder recorrer todo el
camino.
Descripción La ambientación es del tercer escenario, no hay enemigos ni
obstáculos que interfieran.
El diseño es el siguiente:
Ilustración 28: Nivel 15.
Algoritmo Solución:
Rutina Principal:
1. Pro1 (48).
Subrutina Pro1:
1. Cheq (Inter).
2. Avan.
Subrutina Cheq:
1. GirDer.
Objetivos El objetivo del nivel es utilizar el procedimiento uno para
avanzar y cuando se encuentre un enemigo girar.
Progreso En este nivel se expanden los conocimientos generales del
jugador. Al terminar el nivel se obtienen los premios alcanzado.
Enemigos Aparecen enemigos simples de nivel uno y no hay obstáculos.
Objetos No aparecen objetos especiales.
Título del Nivel Nivel16.
54
Encuentro En este nivel aparece el enemigo final del escenario tres: Gran
hechicero Frábdel, el cual puede invocar cualquier tipo de
enemigos vistos hasta el momento.
Descripción La ambientación es del tercer escenario, el enemigo invoca
enemigos en cualquier casilla delante del jugador.
El diseño es el siguiente:
Ilustración 29: Nivel16.
Algoritmo Solución:
Rutina Principal:
1. Pro1 (32).
Subrutina Pro1:
1. Cheq (Inter).
2. Avan.
Subrutina Cheq:
1. Inter.
Objetivos El objetivo del nivel es utilizar el procedimiento uno para
avanzar por todas las casillas mientras se verifica por posibles
enemigos que pudieran aparecer hasta llegar al final.
Progreso En este nivel se expanden los conocimientos generales del
jugador. Al terminar el nivel se obtienen los premios alcanzado.
Enemigos El enemigo es el jefe final del escenario tres: Gran hechicero
Frábdel, y este puede invocar cualquiera de los enemigos que
han aparecido hasta el momento.
Objetos No aparecen objetos especiales.
Personajes Gran hechicero Frábdel.
Tabla 5: Niveles
La tabla seis representa los eventos principales que tiene que superar el jugador para
desbloquear nuevo contenido de los nuevos escenarios, y en caso de completar los
retos de cada uno de ellos, las pistas adicionales.
55
PROGRESO DEL JUEGO
Ilustración 30: Diagrama de Flujo del Progreso del Videojuego.
Tabla 6: Progreso del juego.
La siguiente tabla (7), está dedicada a los personajes que intervienen en la historia, sus
habilidades, razones de actuar e historia que respalda su comportamiento.
56
PERSONAJES
Personaje controlable por el jugador.
Nombre del
Personaje
Albedro.
Descripción De estatura promedio, viste una armadura plateada sobre todo
su cuerpo.
Imagen ..
Concepto Recién graduado de la academia de caballeros del reino,
salvar a los jóvenes príncipes es su primera tarea, y no dudará
en llegar al fin del mundo si es necesario para completarla y
ganarse el favor de los reyes.
Encuentro Este personaje es el avatar del jugador, por lo que está
presente desde la primera pantalla hasta la última.
Armas Las armas que utiliza son los objetos especiales del juego.
Antagonista.
Nombre del
Personaje
Frábdel.
Descripción Es un humano normal, sus vestimentas corresponden con las
de un mago de fantasía clásica.
Imagen ..
Concepto Este personaje es el enemigo final del juego. Es el hermano
del rey, por lo cual cuando este y la reina deciden tomarse
unas vacaciones, Frábdel decide llevar a sus sobrinos hacia
su castillo para poder cuidarlos de cerca, lo cual el
protagonista mal interpreta y decide rescatar a los pequeños.
Encuentro Aparece en el preámbulo de la historia, y físicamente en el
último nivel, en el cual es el Enemigo Final.
Personaje No-
Jugable
Este es un, personaje no jugable, y es el enemigo final del
juego.
Tabla 7: Personajes.
En la tabla ocho se describen todos los enemigos del juego, es interesante que en este
concepto entran también, todos los obstáculos que el jugador tiene que sortear. Las
acciones necesarias para derrotar cada tipo de enemigo dependen del diseño del nivel
en el que se sitúe, y está definido en la tabla de escenarios la cantidad especifica
necesaria para derrotarlos.
ENEMIGOS
Nombre Elevaciones, árboles caídos y columnas derribadas.
Descripción En el terreno las elevaciones son casillas en un nivel más alto
que las demás, y solo pueden ser escaladas utilizando el
comando Saltar.
Encuentro Este enemigo aparece durante todo el juego.
57
Nombre Vacíos
Descripción En el terreno los vacíos no pueden ser superados con ninguna
acción, por lo tanto, es necesario hacer algo antes, para
completar el camino hacia la meta.
Encuentro Este enemigo aparece desde el segundo escenario en
adelante.
Nombre Serpientes
Descripción Las serpientes en el ambiente del juego se espera que sean
diseñadas de tal manera que inspiren miedo, por lo tanto, su
tamaño es requerido que sea mayor de lo normal.
Encuentro Este enemigo puede aparecer en cualquier momento durante
el primer escenario.
Nombre Jabalíes
Descripción Estos animales representan un peligro para el jugador, su
apariencia normal el mundo real es apropiado, por lo tanto,
no es necesario un diseño muy excéntrico.
Encuentro Este enemigo puede aparecer en los niveles del primer
escenario.
Nombre Puercoespines
Descripción Los puercoespines son de los enemigos más difíciles, y para
representar esto, se propone que su diseño se base en los
animales reales, pero su cuerpo sea relativamente pequeño,
en relación a espinas realmente grandes, al menos del tamaño
del jugador sería una buena estimación.
Encuentro Este enemigo puede aparecer en los niveles del primer
escenario.
Nombre Jefe del nivel: General Orco
Descripción Este es el enemigo final del primer escenario, su aspecto es
semejante a cualquiera de las versiones comunes en los libros
de fantasía general, pero al ser el jefazo de la zona, su diseño
debe destacar.
Encuentro Este enemigo aparece en el último nivel del primer escenario
solamente.
Nombre Armadillos
Descripción El diseño de los armadillos los representa envueltos en sus
placas, preparados para aguantar el embate de cualquier
agresor.
Encuentro Este enemigo puede aparecer en los niveles del segundo
escenario.
58
Nombre Escorpiones
Descripción El diseño de los escorpiones los representa de un tamaño
cercano al jugador y con la cola en alto en señal de peligro.
Encuentro Este enemigo puede aparecer en los niveles del segundo
escenario.
Nombre Ogros
Descripción El diseño de los ogros es el clásico, incluso estos tienen dos
cabezas, portan una maza grande.
Encuentro Este enemigo puede aparecer en los niveles del segundo
escenario.
Nombre Jefe de nivel: Ogro jefe de guerra.
Descripción Su diseño es un poco diferente a los demás ogros, pues este
es pequeño, blande dagas gemelas y de la parte trasera de su
armadura sobresalen las banderas del mago Frábdel.
Encuentro Este enemigo es el jefe final del segundo escenario y aparece
en el último nivel de éste.
Nombre Murciélagos
Descripción El diseño de estos enemigos los representa como una multitud
de ellos entorpeciendo el camino.
Encuentro Este enemigo puede aparecer en los niveles del tercer
escenario.
Nombre Hechiceros encapuchados
Descripción Los hechiceros son humanos normales que visten túnicas que
cubren todo su cuerpo y enmascaran su rostro.
Encuentro Este enemigo puede aparecer en los niveles del tercer
escenario.
Nombre Esqueletos guerreros.
Descripción Estos enemigos son las carabelas normales vistiendo harapos
de armaduras.
Encuentro Este enemigo puede aparecer en los niveles del tercer
escenario.
Nombre Gran hechicero Frábdel
Descripción El diseño de Frábdel es similar a los hechiceros, pero este
tiene ropas de diferente color, la cabeza destapada y su pelo
es rubio.
Encuentro Frábdel es el enemigo final del juego, y solo aparece en el
último nivel del tercer escenario.
Tabla 8: Enemigos.
59
La metodología Hubble indica que se deben, además, hacer las tablas de habilidades,
armas, guion, objetos especiales, códigos secretos, banda sonora y efectos de sonifo.
Las habilidades no se describen pues ya se dedicó el epígrafe 2.1.2 a explicar como
funcionan cada una de ellas, pues corresponden a las acciones que el personaje puede
hacer. La sección de armas es obviada también, pues no hay ninguna en el juego, que
quepa en la descripción exacta. En cambio, los objetos especiales sí coinciden con la
sección de Items, pero ya fueron explicados en el epígrafe 2.1.1. El guion de la historia
también está descrito en el epígrafe 2.1.1, y no existen diálogos, pues los personajes no
interactúan entre sí. Cuando se cree el hilo conductor del juego, se utiliza la historia
creada para guiar al jugador a través de los sucesos que acontecen. En el juego no
existen códigos secretos, por lo cual esta tabla no se desarrolla. El personal
desarrollando este trabajo de tesis no tiene conocimiento alguno de creación de música
o bandas sonoras para videojuegos, por lo tanto, se ignora la creación de la tabla
correspondiente a esta sección en esta versión del archivo de diseño.
La tabla nueve recoge los logros que se pueden alcanzar en el juego.
LOGROS
En el juego existe un sistema de puntaje de 4 estrellas, las cuales se otorgan por
completar acciones específicas ya explicadas. Al conseguir la máxima evaluación en
todos los niveles de un escenario, se desbloquea una zona especial del mismo que
tiene más niveles, los cuales tienen problemas más difíciles que los vistos en la
historia principal.
Tabla 9: Logros.
En la tabla 11 se recoge la información de los integrantes actuales del equipo de diseño
del videojuego.
MIEMBROS DEL EQUIPO
René Osvaldo Camacho Fernández. Diseñador.
Dr.C. Ramiro Pérez Vázquez. Supervisor.
Tabla 10: Miembros del equipo de diseño.
3.3 Conclusiones parciales.
En el capítulo se utilizó la metodología Hubble, en particular su documento de diseño
para describir los diferentes escenarios y niveles del juego propuesto.
60
Conclusiones El empleo de videojuegos como método de enseñanza sigue siendo novedoso a día de
hoy pues no se han empleado a fondo aun todos los valiosos estudios que se han
hecho. En este trabajo de diploma se logró caracterizar convenientemente una lista de
videojuegos icónicos, así como se definieron los conceptos más importantes a la hora
de crear un videojuego de cualquier género.
La historia, así como las mecánicas que responden a los conocimientos de
programación que se desean transmitir, y el software más adecuado para el proceso
de desarrollo del videojuego están entre los logros alcanzados. Las mecánicas que se
diseñaron hacen que el jugador utilice las estructuras lógicas de programación más
importantes: secuencias lineales, saltos, ciclos y procedimientos. Con la creación del
archivo de diseño, en el cual queda reflejado el mayor por ciento del proceso de
diseño, quedan cumplidos los objetivos planteados.
61
Recomendaciones En el futuro es necesario completar el archivo de diseño completamente, para lo cual
es necesario la inclusión al equipo de desarrollo de especialistas de otros campos
relacionados al proyecto, para poder finalmente entrar en la etapa de desarrollo, la
cual emplea la mayor parte del tiempo estimado para completar el videojuego, así
como refinar el diseño existente, de manera que responda a los nuevos objetivos o
complicaciones que pueden surgir en el proceso de creación del producto terminado.
62
Bibliografía
Blog - python coding challenges - Py.CheckiO (no date). Available at:
https://py.checkio.org/blog/ (Accessed: 4 June 2019).
CodinGame Blog - Tricks & insights on programming for the developer
community (no date). Available at: https://www.codingame.com/blog/ (Accessed: 4
June 2019).
eAdventure (no date). Available at: http://e-adventure.e-ucm.es/ (Accessed: 3 June
2019).
Gómez Jaramillo, S. and Villamizar Jaimes, A. (2016) ‘Aprendizaje de fundamentos
de programación a través de la creación de videojuegos’, Encuentro Internacional de
Educación en Ingeniería - ACOFI.
Kowert, R. et al. (2015) ‘Psychosocial causes and consequences of online video game
play’, Computers in Human Behavior. Elsevier Ltd, 45, pp. 51–58. doi:
10.1016/j.chb.2014.11.074.
LightBot (no date). Available at: http://lightbot.com/index.html (Accessed: 18
February 2019).
López Raventós, C. (2016) ‘El videojuego como herramienta educativa. Posibilidades
y problemáticas acerca de los serious games’, Apertura, Revista de Innovación
Educativa.
Morales Urrutia, G. A. et al. (2010) ‘Procesos de desarrollo para videojuegos’,
CULCyT: Cultura Científica y Tecnológica, ISSN-e 2007-0411, No. 36-37, 2010,
págs. 25-39, (36), pp. 25–39. Available at:
https://dialnet.unirioja.es/servlet/articulo?codigo=3238114.
S., C. and D., M. (2006) ‘Serious Games: Games that Educate, Train and Inform’,
Thomson Course Technology PTR.
Schell, J. (2008) The art of game design: A book of lenses, The Art of Game Design:
A Book of Lenses. doi: 10.1201/9780080919171.
Scratch - Imagine, Program, Share (no date). Available at: https://scratch.mit.edu/
(Accessed: 2 April 2019).
Tomorrow Corporation : Human Resource Machine (no date). Available at:
https://tomorrowcorporation.com/humanresourcemachine (Accessed: 6 December
2018).
Unity (no date). Available at: https://unity.com/es (Accessed: 14 May 2019).
Weblet Importer (no date). Available at: https://blog.codecombat.com/ (Accessed: 4
June 2019).
Wilson, J. P. (2007) ‘Book Reviews : C. C. Abt, Serious Games: The Art and Science
of Games that Simulate Life. New York: Viking Press, 1970’, Simulation & Games.