Ir al contenido principal

Back to work!

¡Hola! Estoy emocionado de anunciar que he retomado la actividad en mi blog "Jugando Haciendo Juegos" después de una pausa. En esta nueva etapa, el blog se centrará en proporcionar información valiosa desde dentro de la industria de los videojuegos, incluyendo trucos, curiosidades, herramientas, recursos y consejos sobre cómo crear videojuegos desde la comodidad de tu habitación utilizando Unity. El blog ya cuenta con varios artículos útiles que pueden servir como recursos iniciales. Por ejemplo, hay guías detalladas sobre cómo hacer copias de seguridad de tu código de Unity con GitHub, lo que es crucial para la gestión de versiones y el trabajo colaborativo. También encontrarás tutoriales sobre el diseño de interfaces de usuario, el desarrollo de controladores de personajes y cómo crear un PressKit para tu juego. Mi objetivo es compartir conocimientos prácticos y experiencias personales para ayudar tanto a principiantes como a desarrolladores más avanzados a mejorar sus hab

Diseñando niveles con Portal 2 (Parte 2)

Seguimos con el ejemplo de diseño de niveles a través del juego Portal 2. En este enlace podéis leer la teoría y ver la primera parte del artículo.


Nivel 2 – Cubos, botones y láseres 
Para desarrollar el nivel empecé a pensar en conceptos más complejos. Para el primer nivel no he buscado la complejidad arquitectónica de la sala, pero en este segundo nivel quería añadir más profundidad a la habitación y obligar al jugador a tener en cuenta estos elementos parar resolverlo. Además de seguir con la temática escogida quería potenciar las mecánicas ya utilizadas pero haciendo que la resolución no fuera tan obvia como en el primer nivel. Además aquí tendremos que reutilizar varias veces los cubos para conseguir el resultado deseado ya que el orden ya no es lineal.

Bajo este planteamiento nos encontramos con 2 zonas separadas por una zona acuática que no nos permite salir de la habitación libremente. Igual que en el primer nivel deberemos buscar la mejor manera de llegar a la zona elevada de la puerta de salida. 


El primer planteamiento consistía en crear un puzle independiente en la zona de entrada a la habitación para conseguir los cubos necesarios para llegar al elemento clave para cruzar el agua a través de un saltador. Para ello necesitaba controlar cuantos cubos necesitaba el jugador en cada momento para superar la prueba pero dando la sensación ofreciendo la sensación que no eran suficientes o no los adecuados para superar la prueba como motor intelectual del puzle.



Como podéis ver en el diagrama inicial todo la parte del puzle está situado en la primera zona de la habitación por donde se mueve el jugador teniendo siempre visible como referencia el punto objetivo final.

Por un lado ofrecemos la información al jugador para que tenga claro que los recursos necesarios para conseguir su objetivo están todos a su alcance y no hay objetos ocultos o información velada. El verdadero puzle es que hacer y en qué orden con todo lo que tiene a su disposición.

A priori, con la información disponible todo se reduce a acceder a la parte superior de la zona para acceder a algún mecanismo para cruzar el agua ya que en la zona baja no hay ningún método para cruzar, pero para acceder debemos encender el interruptor láser situado en la esquina superior derecha.

Veámoslo por orden:
  1. Coger el cubo 1 del pozo.
  2. Con el cubo 1 activar el sistema para coger el cubo 2 de la pared izquierda del mapa.
  3. Desactivar el campo láser que obstaculizan el cubo 3 y 4
  4. Reutilizar el cubo 2 para encender el láser
  5. Reutilizar los cubos 1, 3 y 4 para encender el interruptor láser
  6. Acceder a la parte superior con el ascensor
  7. Saltar a la zona de salida
  8. Salir de la habitación

Este planteamiento sigue siendo básicamente secuencial y necesitamos poner elementos limitantes para aumentar la dificultad de la habitación. El principal valor con el que podemos jugar es el número de cubos disponibles en cada momento, ya que para cerrar el puzle necesitamos de los 4 cubos disponibles.

Como planteamiento de diseño propongo algunas situaciones imposibles de resolver con los recursos actuales e buscare de añadir algún elemento indirecto que generen una solución posible a la situación. Este hecho ha provocado que el nivel final difiera del boceto inicial, pero sigue siendo el mismo añadiendo una capa de complejidad.



Una manera de plantear esta situación consiste en que se necesiten varios elementos parar activar un paso de la prueba. Si necesitamos 2 cubos para activar un elemento no podemos cerrar el puzle directamente ya que tenemos que mirar si podemos prescindir de algún elemento para añadir el recurso que necesitamos al paso que estamos realizando.



Como ejemplo sólo hay que fijarse en el botón cubo que tenemos más al fondo a la derecha del mapa. Una vez situado en el sitio correcto simultáneamente activará el láser y reflejará la luz sobre el interruptor que tiene a 90º. Una pista para que el jugador entienda que deberá utilizar los cubos simultáneamente para hacer varias acciones.

Igual que en el ejemplo anterior deberemos activar el segundo laser a la vez que utilizamos varios cubos parar reflejar el haz de luz para encender el interruptor escondido en la pared. El grado de dificultad del primer nivel respecto el segundo radica en estos elementos duales que debemos combinar para superar las pruebas. Con lo que al conjunto de mecánicas presentadas en el primer nivel habrá que añadir las siguientes:
  • Elementos con temporizador que condicionan al jugador.
  • Combinar varios objetos con la misma función para activar un tercero.
  • Combinar elementos con funciones diferentes para activar un tercero.

Aunque parece que sólo hemos añadido 3 mecánicas al nivel, estas pueden aumentar substancialmente la complejidad del puzle.

Igual que en el primer nivel, hemos utilizado las luces para dar pistas de donde están situados los elementos importantes y en caso de Portal 2 las luces discontinuas que relacionan los activadores con sus elementos son de una gran ayuda para que el jugador tenga una visión de que elementos tienen una relación o una dependencia.

Comentarios

Entradas populares de este blog

El diseño de la interfaz de usuario

El estudio del diseño de interfaz de usuario en videojuegos es un tema que se ha estudiado en profundidad pero que muchos desarrolladores que empiezan no prestan mucha atención centrando su energía en las mecánicas del juego y especialmente el arte ya que muchas veces el éxito o el fracaso de un juego dependen de ello. Pero más lejos de la realidad la capacidad lúdica de un juego muchas veces también viene determinada por el diseño de la interfaz que hace de dialogo entre el jugador y el juego. Uno de los mejores análisis de las interfaces de usuario en videojuegos lo encontramos en los estudios realizados por Anthony Stonehouse y Marcus Andrews . El diseño de la interfaz de usuario en los juegos difiere de otro diseño de interfaz de usuario porque implica un elemento adicional: la ficción. La ficción involucra un avatar del usuario real, o jugador. El jugador se convierte en un elemento invisible, pero clave de la historia, como un narrador en una novela o película. Esta ficc

GitHub y Unity

Para el proyecto que estoy desarrollando voy a utilizar GitHub como repositorio de archivos y versiones. Aunque muchas veces uso el propio sistema de Unity, por el motivo que sea también vamos a utilizar un sistema general ampliamente utilizado por los desarrolladores de software. En primer lugar debemos tener una cuenta GitHub que nos podemos hacer gratuitamente. Una vez hecha vamos a utilizar un programa de gestión de versiones como es Sourcetree para gestionar el flujo de las versiones, ramas, etc. de nuestro juego. Una vez tenemos la cuenta de GitJub, si queremos utilizar SourcreTree necesitas una cuenta de Atlassian Bitbucket. Sin no disponemos de ella la podemos crear en el momento de la instalación o previamente a través de su página web. A partir de aquí solo tenemos que ejecutar Sourcetree y enlazar las cuentas. En el vídeo tenéis todo el proceso completo. Una vez tenemos en enlace hecho debemos enlazar con la cuenta de GitHub con la opción de Edit account

Como hacer copias de tu código de Unity con GitHub

Podriamos escribir un libro entero de las bondades de Git para el trabajo colaborativo y la gestión de versiones en un entorno como Unity. De hecho hay mucha literatura en internet para aprender a utilizar Git en todo tipo de entornos de programación. Así mismo para aquellos que empiezan seguramente lo primero que deberían aprender como hacer una copia de seguridad periódica de sus proyectos.. y ya habrá tiempo para, poco a poco aprender todo el potencial de una herramienta como esta. En su momento hice un tutorial para usar Git con una interfaz gráfica como SourceTree como punto de entrada al mundo de Git, pero en esta ocasión me gustaría explicar, paso a paso como utilizar GitHub para hacer copias de seguridad de tu proyecto en Unity. Para iniciar este proceso se deben hacer tres pasos: 1.- Crear una cuenta en GitHub En la pantalla principal de GitHub debemos crear una cuenta nueva (Sign up) y seguir el asistente para tener una cuenta gratuita con los parametros por defecto que nos