Game feel: plataformas
COMO HACER QUE UN PLATAFORMAS SE SIENTA BIEN
El género de plataformas es, si no el que más, uno de los géneros más populares que existe. Hay una infinidad de juegos cuya mecánica principal se basa en el movimiento del jugador superando las adversidades que el entorno presenta, pero cuando uno piensa en un buen plataformas suele tener en mente juegos como Super Mario, Super Meat Boy o Celeste, por ejemplo. El tema, el diseño, el audio o como se ven son algunos aspectos muy importantes en estos juegos, pero el factor que los diferencia del resto y les hace estar un peldaño más arriba es lo bien que se siente jugarlos.
Hacer un buen control para un personaje es algo esencial a la vez que complicado, así que ahora presentaré una serie de técnicas y factores a tener en cuenta para poder hacer que un juego plataformas 2D se sienta lo mejor posible.
Figura 1
Velocidad
La velocidad en la que se mueve el personaje va a ser muy relativa al tipo de movimiento que estemos buscando. Una velocidad alta nos dará una sensación de fluidez y agilidad, perfecto para juegos con un ritmo más rápido como por ejemplo Super Meat Boy. Por otro lado, una velocidad más lenta da más sensación de control al jugador. La clave es buscar un equilibrio entre estos dos factores e iterar hasta encontrar ese valor que encaje perfectamente con el ritmo de nuestro juego. Hay algunos juegos como los Super Mario o el propio Super Meat Boy que usan un botón para esprintar, esto permite variar ese equilibrio dependiendo de la situación, teniendo sin embargo un coste en forma de input extra del jugador que se debe tener en cuenta.
Fricción
Entendemos la fricción como las fuerzas del entorno que limitan al jugador cuando este se mueve, haciéndolo volver a su estado de reposo, es decir, quieto y en el suelo. Aplicar fricción (o no hacerlo) provoca unas sensaciones distintas en el movimiento, y tiene ciertas ventajas y desventajas que hay que tener en cuenta dependiendo de la naturaleza del juego.
La fricción con el suelo a la hora de mover el personaje nos provoca tres estados distintos, aceleración, velocidad punta y deceleración. En el momento en el que mueves el stick, cuanto tarda el personaje en llegar a su velocidad punta es el tiempo de aceleración, y cuanto tiempo tarda en parar cuando lo sueltas es el tiempo de deceleración. Tener estos dos valores bien ajustados es especialmente importante. Pon unos tiempos cortos y tu personaje se verá rígido y robótico como por ejemplo en MegaMan. Unos tiempos largos harán que el personaje se sienta pesado y lento al acelerar, como por ejemplo en Super Meat Boy, y deslizante y fuera de control al parar, como en Super Mario Bros.
Teniendo esto en cuenta, hay que buscar otra vez el equilibrio entre estas dos variables dependiendo de nuestro objetivo, haciendo una balanza entre un control sensible y preciso con tiempos más cortos, o uno más orgánico dejando una aceleración y deceleración más lenta. Un buen ejemplo de equilibrio entre estos valores es Super Meat Boy, que usa como he dicho un tiempo largo al acelerar haciendo que el movimiento se vea orgánico, mientras que por la naturaleza del juego y la necesidad de hacer movimientos precisos, el tiempo de deceleración es casi nulo.
Con la fricción en el aire podemos hacer un proceso similar. Al saltar, esta fricción crea otra vez tres estados, ascenso, suspensión y descenso. El ascenso es el tiempo que se tarda entre que el jugador pulsa el botón de saltar y el personaje llega a su altura máxima. La suspensión es el tiempo en que el personaje llega a su altura máxima y empieza a descender, mientras que el descenso es el tiempo entre la suspensión y el momento que el personaje toca el suelo. Un tiempo de salto largo dará la sensación de un personaje que flote, con poco peso, mientras que un tiempo corto hará justo lo contrario.
Otra vez hay que buscar el equilibrio entre estos tres estados según las necesidades del juego. Por ejemplo en Celeste, el personaje tiene un tiempo de ascenso y descenso cortos, mientras que el tiempo de suspensión es más largo, permitiendo mejor control y precisión al hacer los saltos. Celeste y otros juegos hacen variar estos tiempos dependiendo del tiempo que el jugador mantiene el input de salto. Cuando el jugador deja de mantenerlo, el tiempo de descenso disminuye, de esta manera, si el jugador mantiene el botón de saltar durante todo el salto, este será más lento y flotante, mientras que si se suelta el botón, el salto será más rápido y pesado.
Figura 2
Figura 3
Figura 4
Ayudas invisibles
En juegos con un plataformeo exigente, donde el jugador tiene que hacer movimientos precisos, fallar un salto puede llegar a ser muy frustrante, y más si el jugador creía que lo había hecho bien. Hay una serie de técnicas que se pueden usar para evitar estas situaciones y hacer que el control sea aún más obediente al jugador. Son ayudas que no se aprecian a simple vista, pero el hecho de que estén pueden suponer una gran diferencia.
Cambiar rápido de dirección en el tiempo de suspensión. Permite al jugador cancelar un salto ya en el aire y volver donde estaba previamente, dando un mejor control a la hora de aterrizar, especialmente si es una plataforma en movimiento.
Jump Buffering. Si el jugador intenta saltar antes de aterrizar, se guarda el input y hace saltar al personaje en el frame exacto en el que toca el suelo. De esta manera se asegura que si el jugador quiere saltar, el personaje salte aunque aunque el input no se haga cuando esté justo en el suelo
Coyote Time. Permite saltar durante un breve periodo de tiempo justo después de salir de una plataforma. Esto sirve para evitar que el jugador cuando quiera saltar justo en el límite de una plataforma se pase de largo y falle el salto, además de dejarle con la sensación de que ha logrado saltar justo en el último punto posible.
Salvar saltos fallidos. Si el jugador no logra hacer el salto por poco, el juego debería darle esa altura extra que necesita. Es más importante aún con animaciones y colliders que hagan levantar el pie del personaje en el aire.
Rectificar salida de plataforma. Combinando las dos técnicas anteriores, si el jugador sale de una plataforma -empezando a caer- y el jugador rápidamente quiere volver a dicha plataforma, el juego debería permitirle rectificar para poder recuperar la altura y volver donde estaba.
Conclusiones
Por la naturaleza del género, el jugador va a estar la mayoría del tiempo controlando al personaje, por lo que es primordial que el jugador quiera hacerlo. Antes he usado el término “obediente” para describir el movimiento, lo encuentro acertado pues hacer que el personaje haga lo que el jugador quiere, y no lo que el jugador estrictamente pulsa, dando márgenes de error, es algo esencial para evitar la frustración del jugador, haciendo así que quiera seguir controlando a nuestro personaje .
Un buen ejercicio para comprobar si el control del personaje se siente suficientemente bien es crear un escenario vacío, donde solo haya el personaje y unos pocos obstáculos. Si simplemente moviendo el personaje por este escenario ya es divertido, el juego partirá de una base sólida permitiendo así tener potencial para llegar a ser un gran juego.
ANEXO
Figura 2: Mario Jumping Curve: https://www.google.com/url?sa=i&url=http%3A%2F%2Fwww.davetech.co.uk%2Fgamedevplatformer&psig=AOvVaw2e4LjuWB0ebG5o_SpYYZ5Q&ust=1624561042098000&source=images&cd=vfe&ved=0CAoQjRxqFwoTCPiL9dC3rvECFQAAAAAdAAAAABAD
Figura 3: Meat Boy Juping Curve: https://www.google.com/url?sa=i&url=http%3A%2F%2Fwww.davetech.co.uk%2Fgamedevplatformer&psig=AOvVaw2DBRWeS7Bruy8Ile3_TN6o&ust=1624561327424000&source=images&cd=vfe&ved=0CAoQjRxqFwoTCJCamtu4rvECFQAAAAAdAAAAABAe
Figura 4: Celeste Juping Curve: https://www.google.com/url?sa=i&url=http%3A%2F%2Fwww.davetech.co.uk%2Fgamedevplatformer&psig=AOvVaw2DBRWeS7Bruy8Ile3_TN6o&ust=1624561327424000&source=images&cd=vfe&ved=0CAoQjRxqFwoTCJCamtu4rvECFQAAAAAdAAAAABAT
WEBGRAFÍA
Rajagopalan, M. (2014, 13 de agosto). Designing a 2D Jump. Recuperado el 12 de Febrero, 2021, de https://www.gamasutra.com/blogs/MohanRajagopalan/20140813/223251/Designing_a_2D_Jump.php
Bell, Z. (2014, 27 de octubre). How to make a platformer "feel" good. Recuperado el 12 de Febrero, 2021, de https://zackbellgames.com/2014/10/27/how-to-make-a-platformer-feel-good/
Game Maker's Toolkit (2019, 31 de julio). Why Does Celeste Feel So Good To Play?. Recuperado el 12 de Febrero, 2021, de https://www.youtube.com/watch?v=yorTG9at90g&ab_channel=GameMaker%27sToolkit
Swink, S. (2007, 25 de noviembre). Game Feel: The Secret Ingredient. Recuperado el 12 de Febrero, 2021, de https://www.gamasutra.com/view/feature/130734/game_feel_the_secret_ingredient.php
Strachan, D. Analysis of Platformers. Recuperado el 12 de Febrero, 2021, de http://www.davetech.co.uk/gamedevplatformer
LUDOGRAFÍA
Matt Makes Games(2018). Celeste. [Multiplataforma] Xbox One, ps4, Nintendo Switch, PC vía Steam.
Team Meat(2010). Super Meat Boy. Xbox 360.
Nintendo (1983). Super Mario Bros. NES.
Oriol Tartarin Jansana