Título: Diseño de un videojuego para fomentar el ...

74
, 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.

Transcript of Título: Diseño de un videojuego para fomentar el ...

, 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

DEDICATORIA

A mis padres

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.

63

SAGE Publications, 1(4), pp. 435–437. doi: 10.1177/104687817000100406.