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 1)

Portal 2 es un juego excelente para practicar con los conceptos de diseño de niveles. A través de su editor podemos recrear los puzles del juego y compartirlos con la comunidad. A partir de aquí me propongo crear 3 niveles que tengan un cierto grado de continuidad, con dificultad creciente y con elementos teóricos sobre creación de niveles ya que crear un nivel puede ser mucho más desafiante que simplemente entender las ideas y aplicarlas. 



Así que en este artículo explicaré con más detalle cómo he desarrollado los niveles, con una descripción concreta para seguir de principio a fin y comprender qué problemas me he enfrentado parar crearlos.


Nombre del juego: Portal 2 (2011)

Plataformas: Windows, Mac OS X

Género: Según el portal de juegos Steam podríamos definir Portal 2 como: “continuación con esa fórmula ganadora consistente en una innovadora mecánica de juego, historia y música que condujeron al Portal original a ganar más de 70 galardones y lo convirtieron en un nuevo mito de la industria. En el modo de un jugador de Portal 2 conoceremos a un nuevo elenco de personajes, gran cantidad de innovadores puzles y un número mucho mayor de enrevesadas salas de pruebas. Los jugadores podrán explorar zonas de Aperture Science Labs nunca vistas anteriormente y volverán a encontrarse a GLaDOS, ese compañero computerizado, y en ocasiones con tendencias asesinas, que los guió a lo largo el juego original.”

Sumario: Tras los eventos del primer Portal, Chell (nuestra protagonista) despierta 9 años después de haber sido criogenizada en lo que parece ser una habitación de hotel, donde una máquina alternativa le da una serie de indicaciones para moverse y finalmente volver a dormir. Posteriormente Chell es despertada de nuevo, pero esta vez la habitación donde se encuentra está seriamente deteriorada, con el contador de tiempo fallando. De fondo suena una voz al otro lado de la puerta, tras abrirla aparece Wheatley, el módulo de personalidad que despertó a Chell de su letargo. Puzles y más puzles parar superar esta apasionante aventura.


Consideraciones de desarrollo


Utilizando el Editor de Niveles o “Community Test Chambers” incluido en Portal 2, debemos diseñar 3 niveles. Cada nivel se compondría idealmente de una o dos “habitaciones”, y debería poder ser completado en menos de 5 minutos con la solución en mano. Aplicaremos conceptos teóricos de teoría de diseño de niveles, como el uso de color e iluminación, guías indirectas al jugador, y una progresión de dificultad coherente, que se definiría mediante la introducción y uso progresivo de nuevas mecánicas a lo largo de los 3 niveles, los cuales deberá tener una dificultad creciente.



En concreto como elemente de unión entre los tres niveles serán los cubos ya que la resolución de los niveles consistirá en el desplazamiento y la interacción de los cubos con su entorno parar poder salir de la habitación. Algunas mecánicas estarán repetidas en los diferentes niveles como pista indirecta de una acción que ya has hecho anteriormente y las luces, zonas no portables y dispensadores deberían ser pista suficiente parar salir del rompecabezas airosamente. 

Además no he querido utilizar mecánicas de más allá de la primera hora de juego como auto imposición sobre los niveles ya que la dificultad no quería que se basase en mecánicas complejas sino en el uso de la lógica.

Nivel 1 – Jugando con cubos 
Para desarrollar el nivel empecé a pensar en conceptos simples. Para el primer nivel no he buscado la complejidad arquitectónica de la sala, sino en mecánicas simples parar resolver puzles más o menos complejos.

La sala está dividida en 2 zonas separadas por una masa de agua inicialmente insalvable.


La idea básica del nivel consiste en encontrar una manera de cruzar la zona inundada parar llegar a la salida teniendo en cuenta que la pared y suelo de la zona de salida no son portables y no podemos llegar en un salto.



Una vez clara la idea principal me planteo la creación del nivel por desconstrucción. Tenía claro que para cruzar el agua querría que el jugador usase un elemento porteable indirecto a través de un portal y que debería llevar unos cubos para abrir la puerta principal a través de un interruptor. En este caso el elemento elegido ha sido un puente de energía que deberemos activar para poder cruzar.



Si nos fijamos en el diagrama veremos que la idea principal es que necesitemos 3 cubos parar a través del re direccionamiento del láser poder activar el interruptor de salida. Por lo tanto necesitaremos 4 cubos (uno para activar el camino y tres parar dirigir el láser) para salir.

Como estamos en el primer nivel de la serie aprovechare parar hacer practicar al jugador mecánicas para conseguir cada uno de los 4 cubos necesarios, pero sin la necesidad de reutilizar los cubos ni rehacer el camino hecho parar conseguir el objetivo. Así mismo el nivel no es parar principiantes. Como ya he comentado anteriormente es bueno al menos haber jugado la primera hora en el modo historia de Portal 2 para conocer las mecánicas básicas de los elementos interactuarles ya que sin ser difícil, la solución no es trivial.  

Aun así me parezca un nivel simple. El problema es que no hay ningún desafío real para completar este nivel, ya que cada paso es obvio y requiere poca previsión por parte del jugador más que la realización de los pasos de manera secuencial.

Este no es un problema poco común de encontrar al principio del proceso de diseño de niveles para un mapa Portal. Para resolverlo, voy a enumerara las acciones que el jugador debe realizar para completar el rompecabezas y luego buscar maneras donde pueda hacer las cosas más difíciles.

Estos son los pasos que debe seguir el jugador para completar el rompecabezas:
  1. Recoger cubo 1 que está en el pozo con un portal.
  2. Recoger el cubo 2 con un portal y el foso al pulsar el botón
  3. Activar el camino con un cubo
  4. Propagar el puente parar cruzar el agua con un portal
  5. Recoger cubos 3 y 4
  6. Utilizar cubos 2, 3 y 4 para desviar el rayo láser y activar el interruptor de salida.
  7. Salir de la habitación
Para resolver el puzle utilizamos la mecánica de portales, ya sea para hacer caer un cubo creando un portal debajo de él o aprovechando la inercia para saltar dentro de un pozo y así poder saltar hasta poder pulsar el botón. Después utilizando portales portaremos el puente allí donde necesitemos parar cruzar. Una vez cruzado sólo disponemos de un láser y un interruptor láser para abrir la puerta, la solución parece sencilla. Claramente el rompecabezas debe ser más complejo. 


Queda claro que el desafío se debe obtener en cómo conseguir los cubos necesarios y como los combinamos ya que no tienen por qué ser del mismo tipo. 

El primer reto que diseñé consistía en cómo utilizar el primer cubo para acceder a la zona del segundo cubo. Una opción que encontré interesante fue la de poner los robots guardianes protegiendo el acceso al botón del segundo cubo. Un ataque frontal hace que el 90% de las veces el jugador muera y no pueda acceder al segundo cubo ya que hay guardianes en los flancos y frontalmente. El reto consiste en a través de un portal situarse en la retaguardia del último robot y destruirlo, a partir de aquí y utilizando el primer cubo a modo de escudo podemos destruir el resto de robots. 



El segundo reto que planteé fue el acceso al cubo 3 y 4. Al estar detrás de una pared de energía no podemos sacarlos del habitáculo sin apagar la pared. Para ello debemos utilizar uno de los cubos con espejo para desactivarla con un interruptor laser. 

Al ser el primer nivel del reto, y habiendo introducido 5 mecánicas diferentes me ha parecido que era suficiente como entrenamiento para los siguientes niveles. Además a modo de sutil guía para el jugador, las luces del nivel están situadas de tal manera que nos dan una pista indirecta de que debemos hacer ya que a modo de flecha (dos luces verticales en paralelo).


Mecánicas propuestas:
  • Obtención de objetos inaccesibles a través de portales.
  • Uso de la inercia y pozos para acceder a sitios inaccesibles
  • Propagación de elementos a través de portales (puente)
  • Sortear barreras de energía para obtener cubos
  • Uso de cubos para reflejar un haz láser

Enlaces

Comentarios

  1. interesante y no tienes q programar o si??

    ResponderEliminar
  2. Todo sin programar pudiéndote concentrar sólo en los conceptos de diseño de niveles.

    ResponderEliminar

Publicar un comentario

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