inicio / blog / jugabilidad
Publicado: 18 de julio de 2026 7 min de lectura jugabilidad
Coyote time y jump buffer: las doce líneas de un buen salto

Coyote time y jump buffer: las doce líneas de un buen salto

Cuando los jugadores dicen «el salto no se siente bien», normalmente hablan de dos funciones que faltan. Ambas se escriben en media hora.

Cómo se ve el problema

Todos los que prueban tu prototipo de plataformas dicen lo mismo: «el salto es raro». Nadie sabe decir qué falla exactamente. El código es correcto: si tocas el suelo, salta; si no, no saltes.

El problema no está en el código, está en la persona. El jugador pulsa en el momento en que se da cuenta de que se ha salido de la plataforma, pero ya es tarde. Y cuando pulsa en el aire, espera saltar en el instante en que aterriza.

Dos pequeñas ventanas de tolerancia

El coyote time mantiene abierto el derecho a saltar un instante después de que el personaje deje el suelo. El nombre viene del coyote de dibujos animados que sale del acantilado y se queda un momento suspendido.

El jump buffer funciona al revés: si el jugador pulsó justo antes de aterrizar, esa pulsación se recuerda y se aplica en cuanto toca el suelo.

PlayerJump.cs
private void HandleJump() { if (IsGrounded) _coyote = COYOTE_TIME; else _coyote -= Time.deltaTime; if (_input.JumpPressed) _buffer = BUFFER_TIME; else _buffer -= Time.deltaTime; if (_buffer > 0f && _coyote > 0f) { _velocity.y = _jumpForce; _coyote = _buffer = 0f; Feedback.Play("jump_launch"); } }
csharpPlayerJump.cs

Qué valores usar

En los proyectos que he medido, ambas ventanas funcionan bien entre 100 y 150 ms, es decir, de seis a nueve frames a 60 FPS. Más corto y no se nota; más largo y el personaje parece saltar en el aire.

No dejes estos valores fijos en el código. Ponlos en un ScriptableObject o una tabla de datos; un diseñador debe poder cambiarlos sin ejecutar el juego.

Hasta dónde llega

La misma lógica funciona en todas partes: buffer de entrada de ataque, tolerancia del doble salto, ventana de agarre en cornisas, incluso la cola de teclas en las transiciones de menú.

La regla general: cuando la intención del jugador choca con las reglas del juego, decide a favor del jugador. Los juegos que hacen esto son los que se describen como «responsivos».

← Todas las entradas