Jump buffer: pulsaste antes de aterrizar y aun así saltaste

Pulsaste el salto un instante antes de tocar el suelo y el personaje saltó al aterrizar. Detrás hay una regla llamada jump buffer: el juego recuerda tu pulsación durante un momento. Así funciona y así se complementa con el coyote time.

Funpixart
4 min de lectura
Jump buffer: pulsaste antes de aterrizar y aun así saltaste

Pulsaste demasiado pronto, y aun así saltaste. Vas cayendo hacia una plataforma, ya tienes el siguiente salto en la cabeza y pulsas el botón un instante antes de tocar el suelo. En muchos juegos, el personaje salta en cuanto aterriza, como si lo hubieras hecho en el momento exacto.

▲ En la imagen La pulsación llega 80 ms antes del aterrizaje; el juego la guarda y salta al tocar el suelo.


Esa ayuda se llama jump buffer (o jump buffering): el juego tiene una pequeña memoria para tu botón de salto.


El problema: pulsar antes de tiempo

En los tramos rápidos de un plataformas, el jugador no espera a ver al personaje apoyado para pulsar: anticipa. Y anticipar es bueno, es lo que hace que una secuencia de saltos fluya. El problema es que, si el juego solo lee el botón en el frame exacto en el que estás en el suelo, cualquier pulsación que llegue un poco antes se pierde.

Para el jugador esto es incluso peor que fallar: pulsó, lo sabe, y el personaje no hizo nada. La sensación es de control roto.


Mismo botón, misma física, dos resultados

En el Short, dos personajes reciben la misma pulsación justo antes de tocar el suelo. Uno no tiene memoria; el otro sí.

▲ En la imagen Arriba, sin memoria: el botón llega antes de tiempo, se pierde y el personaje sigue de largo y cae. Abajo, con memoria: la pulsación se guarda y se ejecuta al aterrizar.


  1. Sin ayuda: el botón llega cuando todavía está en el aire, el juego no puede saltar, descarta la pulsación y el personaje sigue corriendo hasta caer.
  2. Con jump buffer: el juego apunta «quiere saltar» durante un instante; en cuanto el personaje toca el suelo, ejecuta el salto.

Cómo funciona por dentro

Igual que el coyote time, se resuelve con un temporizador, pero colocado en el otro lado: en vez de recordar cuándo tocaste el suelo, el juego recuerda cuándo pulsaste.

  1. Al pulsar saltar, el juego carga un temporizador de memoria, aunque el personaje esté en el aire.
  2. Cada frame, el temporizador se vacía un poco.
  3. Si el personaje aterriza mientras queda memoria, salta automáticamente.
  4. Al ejecutarse (o al agotarse el tiempo), la memoria se borra para que una sola pulsación no produzca dos saltos.

En nuestro ejemplo, la pulsación llega 80 milisegundos antes del aterrizaje y la memoria dura 120 milisegundos. Son valores de nuestra simulación, no cifras de Celeste.


La pareja perfecta del coyote time

▲ En la imagen Dos ayudas, una idea: el coyote time perdona llegar tarde (+80 ms) y el jump buffer, llegar pronto (−80 ms).


Estas dos reglas casi siempre van juntas porque cubren los dos lados del mismo error humano:

  1. Coyote time perdona llegar tarde: ya saliste del borde, pero el salto aún vale.
  2. Jump buffer perdona llegar pronto: todavía no tocaste el suelo, pero el salto se guarda.

Celeste también utiliza esta técnica; Maddy Thorson la describe en el apartado «Jump Buffering» de «Celeste & Forgiveness». Igual que con el coyote time, el truco funciona mientras sea lo bastante corto como para que el jugador sienta que fue él quien acertó.


Míralo en 40 segundos

Todo esto cabe en un Short animado de Juegos por dentro, la serie de Funpixart sobre las reglas que los videojuegos esconden para que se sientan bien: Pulsaste ANTES de aterrizar… y saltaste | Jump buffer.

▶ Ver el Short en YouTube: https://youtube.com/shorts/LuKQWAbBgs4


Fuentes

  1. Maddy Makes Games, «Celeste & Forgiveness», apartado Jump Buffering


Animación, simulación y música originales de Funpixart; narración del video con voz sintética. Las medidas de nuestras demostraciones son ilustrativas salvo cuando se indica la fuente.

#JumpBuffer #GameDesign #Videojuegos #GameFeel #JuegosPorDentro