2. Introduction

Sin valoraciones

2. Introduction

El contexto de creación del videojuego detallado en este proyecto se origina a raíz de pensar en algún tipo de mecánica jugable que involucrase, dentro del videojuego, la interacción con el propio código. Partiendo de esta premisa empecé a pensar ideas que le diesen herramientas al usuario, o jugador en este caso, para poder experimentar de alguna forma los cambios que el mismo efectuase dentro de los elementos del videojuego.

En base a una propuesta parecida de la tutora Marisa Gil, se ha desarrollado la idea de este videojuego que basa su jugabilidad en modificar partes del código de forma que se pongan en práctica los conocimientos que el usuario pueda tener sobre aspectos de la programación, a la vez que no pierde el espíritu lúdico propio de un videojuego. De esta forma, paralelamente, se permite al usuario ver de forma gráfica las modificaciones que realiza sobre el código, dándole una visión directa de los cambios provocados. Estos cambios se han diseñado para ser introducidos mediante una interfaz que permite modificar partes predefinidas del código que a su vez modifica el código real aprovechándose del ciclo de ejecución propio de un videojuego.

Respecto al diseño del videojuego, éste contiene un número definido de niveles, cuatro, en los que progresivamente se va aumentando la dificultad a la vez que se añade “temario” al código que se presenta. Estos son algunos ejemplos de interacciones que incorpora;

  • Modificación, asignación y operaciones con variables que modifiquen el comportamiento del entorno.
  • Uso de estructuras iterativas y métodos predefinidos.
  • Estructuración de código.
  • Concurrencia y paralelismo básico.

Solo se pueden modificar algunas partes del código bloqueando otras en función del puzle que se quiera plantear en esa fase. No es el objetivo, en ningún caso, crear un editor complejo que permita interpretar todo el lenguaje que se pueda introducir libremente.

Una de las cosas que se pretende es que el usuario experimente las consecuencias directas de la modificación del código de forma que pueda asimilar fácilmente y de forma entretenida los conocimientos que pone en práctica.

El público objetivo de esta aplicación serían jugadores con conocimientos básicos de programación que deseen probar un tipo diferente de videojuego donde los retos no vengan dados por agilidad visual o precisión, como muchos de los videojuegos tradicionales, si no por retar a poner a prueba sus nociones básicas de programación y entendimiento de código.

3. ESTADO DEL ARTE

El auge de los videojuegos ha hecho que, en un periodo de tiempo relativamente corto, éstos den el paso hacia nuevas formas de narrativa y mecánicas jugables. Se ha pasado de los simples juegos de plataformas y disparos con los que nació el mundo de los videojuegos, hace más de 30 años, a innovadoras formas de jugabilidad centradas en, por ejemplo, contar una historia o hacer llegar al jugador experiencias basadas en la sensibilidad y emoción de las imágenes generadas.

Una de las últimas vertientes viene asociada al concepto de “gamificadón”[2p], el cual hace referencia a usar metodologías o características propias del mundo lúdico en otros aspectos de nuestra vida. Normalmente se asocia con la educación, que es la parte que nos interesa para contextualizar este proyecto. Éste proyecto no está enfocado tanto a la vertiente de enseñanza y educación como podrían ser los programas educativos para niños y jóvenes como Scratch.

2. Introduction

Éste es el representante más significativo de una corriente de programas (no son del todo videojuegos) enfocados en el aprendizaje de la programación u otros conocimientos similares, normalmente de carácter infantil.

Por otra banda, hay unos pocos juegos que basan su jugabilidad en integrar principios de programación o informática que pongan a prueba los conocimientos ya adquiridos del jugador, dejando más de lado la vertiente puramente formativa. Este tipo de juegos son una auténtica minoría. Para la concepción de este proyecto se han tenido en cuenta dos de los que he encontrado más elaborados.

3.1. CODECOMBAT

2. Introduction

Una de las más elaboradas plataformas para la enseñanza de programación unida a unas mecánicas propias de los videojuegos clásicos de mazmorras. Se basa en mover a nuestros personajes por unos tableros con casillas hasta que encuentren la salida y acaben con los enemigos correspondientes. Absolutamente todos los movimientos se hacen modificando un editor de código que ocupa la parte derecha de la pantalla de juego.

Está orientado en el aprendizaje de Python y JavaScript. Empieza desde los principios más básicos de la programación hasta llegar a niveles muy profundos debido a su complejidad y profundidad. Está pensado para durar muchas horas.

2. Introduction
Aunque desconocía de su existencia antes de proponer este proyecto, CodeCombat comparte algunas cosas en común con mi proyecto. La finalidad de cada nivel es ligeramente parecida (acabar con todos los enemigos y llegar a la salida) así como la disposición fija de un editor de código como principal entrada de las órdenes del usuario. Su mayor diferenciación proviene de su énfasis en el aprendizaje y la complejidad del editor, que implementa un compilador de lenguaje real.

3.2 HACK’N’SLASH

2. Introduction

Este videojuego de PC de la productora Double Fine quizá es el más conocido de los aquí expuestos. Su jugabilidad se basa en mover a un personaje por escenarios amplios y eliminar a los enemigos “hackeando” el código que los genera. De esta forma se puede modificar la vida de los enemigos a cero, hacer que los ataques hagan menos daño al jugador o proporcionar más distancia de salto.

2. Introduction

Aunque no he tenido la oportunidad de probarlo, por lo que he podido ver mediante imágenes, éste juego está cerca de mi idea respecto a aplicar conocimientos sobre un ámbito (programación en este caso) a unas mecánicas jugables que predominan respecto al aprendizaje. Parece que ambos juegos comparten similitudes respecto a mecánica y situaciones planteadas.

3.3 CODEHUNT

Este último juego investigado proviene de Microsoft y está enfocado en resolver pequeños trozos de código que esperan una determinada salida. En su concepción no está muy alejado de éste proyecto pero lo distingue principalmente su interfaz basada puramente en editores de código, eliminando cualquier atisbo de los otros elementos que suelen identificar a un videojuego.

2. Introduction

Como puede verse, este proyecto presenta aspectos jugables existentes en unos pocos exponentes de estos casos de juegos que referencian al mundo de la programación y pretende darle un ligero componente educativo, intentando aunar el mundo de los videojuegos y la educación.

4. DESCRIPCIÓN DE LOS OBJETIVOS

Sabiendo el contexto en el que se ha ubicado la filosofía que hay detrás del videojuego se puede desgranar el objetivo del proyecto, crear un videojuego de carácter educativo relacionado con la informática, en otros objetivos más concretos.

  • Diseñar y desarrollar un videojuego en 3D que base su jugabilidad en permitir al usuario modificar partes del código del propio juego para poder avanzar.
  • Demostrar de forma visual e inmediata los efectos de cambios en el código de un programa.
  • Desplegar el videojuego como aplicación web para que pueda ser más fácilmente accesible.
  • Como objetivo secundario podríamos incluir el aprendizaje propio de un nuevo motor, Unity, para el cual tenía muchas ganas de desarrollar.

Compártelo en tus redes

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest

Valore este curso

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Utilizamos cookies para asegurar que damos la mejor experiencia al usuario en nuestra web. Si sigues utilizando este sitio asumimos que estás de acuerdo. VER