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

Usabilidad: Control y respuesta (Parte 1)

Leyendo Game Interface Design de Kevin Saunders y Jeannie Novak podemos extraer algunas conclusiones interesantes sobre la usabilidad en el diseño de videojuegos.


Las 6 guías de usabilidad para el control

1.- Proporcionar Feedback para los controles
Cualquier acción en un juego debe tener una respuesta para el usuario. Si al producirse un acción el usuario no recibe respuesta se sentirá frustrado y se preguntará que debe hacer o que ha hecho mal en el mundo del juego.

2.- Minimizar la confusión
Los nuevos jugadores no tienen por qué conocer como jugar. Sin una guía suficiente clara el jugador puede sentirse confuso. A veces un juego sabe que quiere comunicar pero no sabe como comunicarlo en el juego. El diseñador busca que el jugador aprenda tan rápido como sea posible el uso de los controles hasta que sean intuitivos. Para minimizar la confusión hay que plantearse reducir el número de controles.  

Reducir el número de controles
La complejidad es un valor subjetivo que depende del gameplay, la plataforma, el diseño y del mismo jugador. Así mismo más controles significa más complejidad y una oportunidad más grande de añadir confusión. Una manera de minimizar el control es el uso de controles genéricos que en función del momento permitan hacer una acción o otra. También se pueden atomatizar acciones que son siempre favorables al jugador como, por ejemplo, la recogida de objetos en ciertos juegos. Nos ahorraremos el control y la necesidad de hacer una acción que siempre es favorable al jugador.


Identificar los controles innecesarios
Hay que hacer obvio al jugador aquellos controles que no estan disponibles para él. Así mismo puede generar frustación mostrar controles de acciones que no puede realizar y que mejorarían las características del juego. Mostrar que podemos recargar el arma o cambiarla cuando no tenemos munición o sólo una arma puede ser frustrante para el jugador. 

Una posible solución sería no mostrar el control al jugador, especialmente en el inicio del juego para no generar confusión al jugador que se inicia. Otra alternativa es mantener el botón deshabilitado visualmente a partir de la primera vez que se pueda usar esa opción para que el jugador intefiere en su estrategia la posibilidad de esa acción dentro de su estrategia general del juego y pueda ir interiorizando ese control en el espacio de juego. Y finalmente tenemos la opción de mostrar siempre el control y que el jugador lo entienda como una recompensa dentro del juego.


Usar convenciones consistentes
La consistencia es un aspecto clave en la interfaz de usuario. Los controles similares deben funcionar de una forma similar. Este concepto se debe aplicar tanto a controles fiísicos como visuales.

A nivel físico, un juego no debe utilizar botones muy diferente para hacer acciones parecidas, ya que complica el esquema mental del jugador, así mismo debemos evitar las confusiones para no provocar errores accidentales entre diversas acciones del control.

A nivel visual, los controles deben parecerse a lo que el usurio espera de ellos. Un botón debe parecerse a un boton para encajar en el marco mental del jugador. Pueden ser diferentes, pero suficientemente comunes para no generar confusión. A veces las diferencias (el color, por ejemplo) pueden ayudarnos para agrupar funciones parecidas o del mismo ámbito (atacar o defender).


3.- Minimizar la inconveniencia

Toda acción que el jugador debe hacer para conseguir hacer algo y que no le lleva hacia su destino es una inconveniencia. Si para realizar una acción el jugador debe hacer 5 pasos de un proceso antes de conseguir lo que pretende esto le generará un malestar. Los controles deben estar jeraquizados y al alcance del usuario los que más vaya a utilizar. 


Lo mismo pasa con el ratón. Minimizar el número de clics para llegar a una opción es un elemento importante a tener en cuenta cuando se diseña una interfaz. Las pantallas táctiles tienen el mismo objetivo pero es mas fácil hacer tap en la pantalla que hacer clic con el ratón. Así mismo debemos intentar utilizar las mínimas cajas de scroll y utilizar pestañas cuando sea posible. Siempre hay que pensar en la comodiad del jugador, ya sea una pantalla de ordenar, un control físico o una pantalla de un teléfono inteligente.

Debemos pensar en las necesidades del jugador e implementar los controles según estas necesidades. Si en un juego necesitamos cambiar de arma de una manera ágil durante el combate asignemos un botón específico del control físico para ello. Hay que tener en cuenta que acceder a un menú siempre rompe la secuencia del juego, por tanto la inmersión.

También es necesario tener en cuenta la ergonomía de las manos cuando asignamos los controles. Debemos evitar para acciones repetitivas posturas de las manos que dificulten la jugabilidad y propicien el cansancio ya sean en la distribución del teclado o los botones de un gamepad.

Permitir una entrada fácil al juego
Tener en consideración la primera partida del jugador es una tarea muy importante. Si el jugador no entiende las reglas o tiene problemas con los controles lo más probable es que al primer inconveniente deje el juego. En un juego en línia, por ejemplo, quizá es mejor que aprenda primero a jugar y después le pidamos que se registre que el proceso inverso.


Quitar pasos innecesarios
Debemos minimizar la información necesaria para que un jugador realice una acción. Si podemos realizar una acción con dos pasos (seleccionar y ejecutar la acción) mucho mejor que si debemos hacer tres pasos para realizarla. Si en un combate tenemos que cada vez seleccionar el enemigo para realizar ataque generamos un inconveniente al jugador cunado podría estar implícito en la acción de un ataque. Si debemos pulsar en un punto diferente cada vez para realizar la misma acción estamos generando pasos innecesarios que nos podríamos ahorrar con otro tipo de control.

 
Quitar la complejidad innecesaria
Es importante, también, quitar la complejidad inecesaria de un juego. No siempre más es mejor. Si en un juego de rol debemos equipar a nuestro héroe debemos acceder al inventario y comprar las caraterísticas de todo el equipo buscando un objetivo final, por ejemplo que tenga el ataque más fuerte posible. Cada vez que el jugador debe invertir tiempo en hacer un análisis de los objetos para hacer un cálculo de posibilidades estamos sacando al jugador del flujo del juego y rompiendo la inmersión. Una opción seria reducir el número de objetos seleccionables, pero también sería viable que el juego te propusiera una configuración de equipo fijando un objetivo final para aquellos jugadores que no disfrutan configurando su equipo.


4.- No facilitar demasiado la vida al jugador

El objetivo de reducir la complejidad y pasos intermedios son medidas muy prudentes, pero no debemos convertir el jugador en un mero espectador. Lo más importante es equilibrar el poder de decisión del jugador. Si en un juego de rol, cada vez que el jugador mata a su enemigo automaticamente recogemos los objetos perdidos y los convertimos en oro en vez de dejar que el jugador escoja que objetos quiere y limitar el espacio de almacenaje puede que la simplificación no guste a los jugadores. Hay que estar seguro que al eliminar procesos no estamos eliminando parte del gameplay en vez simplificar.

5.- Prever errores accidentales

No hay nada mas fustrante para un jugador que ejecutar una acción en el mundo virtual del juego por error con consecuencias desastrosas. Debemos pensar si la disposición de los controles no pueden conllevar un error que pueda perjudicar al jugador. En caso de error la mejor solución posible es ser capaz de percibir las intenciones del jugador y asegurar que la acción que quiere realizar es realmente lo que quiere. Si, por ejemplo, el control de salir del juego no comprueba si ya hemos gravado la partida es mejor avisar de las consecuencias de la acción antes de proceder.


6.- Proporcionar soporte al gameplay

La interfaz de usuario siempre debe apoyar al gameplay. Este punto puede incluir todo lo visto hasta ahora. Se debe diseñar todo en función de la visión del jugador teniendo en cuenta lo que necesitará más a menudo, evitando errores de controles y acompañándole en su introdicción a las mecanicas del juego. Cuando mas largo puede ser el gameplay mas personalización se debe permitir al jugador para que se sienta cómodo con los controles.

 

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