10. REGISTRO DE DESARROLLO 1. CARACTERIZACIÓN DEL JUEGO SERIO
10.4. DISEÑO Y PLANIFICACIÓN DEL MODELO DE JUEGO
Concepto: Juego tipo puzzle para la enseñanza de los fundamentos de programación. Dividido en tres componentes:
- Área de enseñanza, donde el jugador se familiariza con los componentes y las dinámicas así como sus símiles de la programación en base a las mecánicas del juego.
- Área de evaluación, dónde el jugador puede realizar retos para cumplir ciertos propósitos con las mecánicas que aprende durante el área de enseñanza, con un kit limitado de herramientas.
- Área de trabajo, mediante la cual el jugador tiene la posibilidad de experimentar con todos los componentes para crear cualquier diseño que le apetezca.
Basado en la metáfora visual de la programación “vista como una máquina interconectada”. El juego se juega usando teclado y mouse con distribuciones para Windows y Webgl.
Alcance: Para la definición del alcance necesario, así como de los contenidos temáticos cruciales para la enseñanza a través del videojuego se llevaron a cabo dos encuestas iniciales: una de ellas le fue aplicada a los estudiantes de un curso de “Fundamentos de Programación” en la UNAB y la otra fue aplicada a los docentes que actualmente dictan esta materia en la universidad.
(El formato de las encuestas iniciales se puede encontrar en los anexos) Figura 5:Dificultades según alumnos
Figura 6:Clasificación de perfiles de aprendizaje según estudiante
Figura 7:Contenidos cruciales según docentes
En base a los resultados de esta encuesta, se determinó que los contenidos temáticos a ser enseñados en el juego serio serían la declaración de variables, las operaciones matemáticas, los condicionales, el pensamiento algorítmico y el funcionamiento de ejecución.
De los resultados se obviaron algunas respuestas para limitar el alcance y poder enfocar las mecánicas en componentes más específicos. Es posible expandir estas mecánicas en futuras entregas o versiones del juego.
Diseño:Para proponer un diseño preliminar, se realizaron unos mockups gráficos en la plataforma Figma para orientar el diseño de las pantallas dentro del motor de videojuegos Unity.
Figura 8:Mockup Menú Principal
Figura 9:Mockup Sección Aprende I
Figura 10:Mockup Sección Aprende II
Figura 11:Mockup Sección Desafíos
Figura 12:Mockup Juego Principal (Experimenta y Desafíos)
Mecánicas de juego:
- Elementos de juego:
- Variable: Representación visual de una variable. Posee un identificador (nombre), un tipo de variable entre número entero, un número decimal y una cadena de caracteres y un valor. Según el tipo de variable cambia de color.
- Operador: Representación visual de una operación, en forma de un engranaje. Hace uso de las variables conectadas para llevar a cabo operaciones aritméticas entre los valores de las variables durante la ejecución. Para denotar que la ejecución está ocurriendo, el engranaje rota.
- Condicional: Representación visual de una expresión lógica, en forma de un rombo. Hace uso de las variables conectadas para evaluar una expresión lógica booleana, retornando algún resultado o valor de las variables, procesos o condicionales conectados si el valor de la expresión es verdadero o falso durante la ejecución.
- Pantalla:Representación visual de un método de impresión. Si está conectado a otro elemento durante la ejecución, imprime el contenido de ese elemento.
- Conexión:Representación visual de uso de un elemento en el contenido de otra. Si dos objetos están conectados, el contenido del objeto de donde sale la flecha se puede utilizar en el contenido del objeto al que llega.
- Arrastrar objetos:Todos los elementos insertables (a excepción de las conexiones) al mantenerse el clic presionado sobre ellos pueden arrastrarse a una nueva posición.
- Notificación de error:Cuando el jugador realiza una acción no soportada, o comete un error de duplicidad, o deja un componente incompleto, se genera una notificación de error según la naturaleza del error cometido.
- Ejecución: Al presionar el botón de ejecución, los elementos conectados comparten sus contenidos entre sí para resolver los operadores, condicionales e imprimir los resultados si hay pantallas conectadas.
- Borrado: Borra los elementos insertados, hay dos maneras de borrar elementos.
- Borrador:Borra el elemento al cuál el jugador le hace click.
- Caneca:Borra todos los elementos de juego insertados.
- Leaderboard: Tablero de posiciones para cada nivel basado y ordenado alrededor del tiempo de compleción para cada ejercicio. Al pasar el mouse por encima de un botón que envía a cada respectivo nivel, genera la tabla de posiciones de dicho nivel.
- Niveles:
- Nivel 1: En el primer nivel, el ejercicio consiste en imprimir el mensaje
“¡Hola Mundo!” como es tradición para los programadores en aprendizaje. Este ejercicio espera que el usuario utilice por lo menos una pantalla.
- Nivel 2: En el segundo nivel, el ejercicio consiste en sumar dos números e imprimir su resultado. Este ejercicio espera que el usuario utilice por lo menos un operador y una pantalla.
- Nivel 3: En el tercer nivel, el ejercicio consiste en encontrar e imprimir el área de un triángulo rectángulo dadas la base y la altura. Este ejercicio espera que el usuario utilice por lo menos dos operadores y una pantalla.
- Nivel 4: En el cuarto nivel, el ejercicio consiste en imprimir el mayor de dos números haciendo uso de un condicional. Este ejercicio espera que el usuario utilice por lo menos un condicional y una pantalla.
- Nivel 5: En el quinto nivel, el ejercicio consiste en imprimir el mayor de dos números y la suma de estos dos números. Este ejercicio espera que el usuario utilice por lo menos un condicional, un operador y dos pantallas.