Cómo hacer un juego como Mario: empieza por el salto
Un juego de Mario es un salto que se siente bien y niveles que te enseñan a usarlo. El salto se rige por cuatro reglas pequeñas, ninguna tiene que ver con la física, y cada una es un número que puedes medir. Las implementamos en un CharacterBody2D de Godot 4.7.2 y las ejecutamos en modo headless, así que esta publicación te da los números, no adjetivos.
Por Eduardo Orellana · Publicado el 2026-10-18 · Game design
El salto de Mario no es física
Super Mario Bros. salió en 1985, y lo primero que aprende cualquiera que intenta clonarlo es que un salto realista se siente mal. Una pelota lanzada hacia arriba sube y baja siguiendo la misma curva. Mario no: sube, se queda suspendido y cae más rápido de lo que subió; además, la altura que alcanza depende de cuánto tiempo mantienes presionado el botón.
Esas son decisiones de diseño, y Godot deja todas en tus manos. Un CharacterBody2D con gravedad y move_and_slide() te da la pelota. Las cuatro reglas de abajo te dan al plomero.
Mantén presionado para saltar más alto; suelta para acortar el salto
La altura de salto variable es la regla que hace que un platformer se sienta responsivo: toca el botón para dar un saltito, mantenlo presionado para dar un salto completo. La versión más sencilla corta la velocidad ascendente cuando sueltas el botón antes de tiempo. En nuestra prueba, con una velocidad de salto de 520 píxeles por segundo y una gravedad de 1,600, un salto con el botón presionado subió 80 píxeles, y al soltarlo después de tres frames subió 34.
Esa diferencia es justamente la idea. Un jugador que puede elegir entre 34 y 80 píxeles con un solo botón puede pasar por un hueco bajo el techo y cruzar un foso con el mismo control, y cada nivel que diseñes puede exigir una u otra opción.
Cae más rápido de lo que subes
La segunda regla es aplicar una gravedad mayor durante la caída: 2,400 en comparación con 1,600 en nuestros valores. Hace que el salto se sienta ágil en vez de flotante y reduce el tiempo que el jugador pasa mirando en vez de maniobrando. La mayoría de los platformers que la gente describe como precisos hacen algo parecido.
También es aquí donde los clones se pasan de la raya. Si la caída es demasiado pesada, los aterrizajes se sienten como un tirón; si es demasiado ligera, el personaje se desliza. Ajústala jugando, con los valores como constantes al inicio del script, para que puedas cambiar uno y volver a presionar Play.
Coyote time perdona el borde
Los jugadores presionan salto un poco después de salir corriendo de una plataforma, porque están mirando el hueco, no el borde. Coyote time permite saltar durante unos cuantos frames después de dejar de estar en el suelo. Lo configuramos en 0.1 segundos y llevamos a un personaje hasta el borde de una plataforma; a propósito, presionamos salto tarde: al presionarlo 3 frames después de dejar la plataforma (0.05 s), saltó; a los 5 frames (0.083 s), saltó; a los 8 frames (0.133 s), cayó.
Nadie nota el coyote time cuando está presente. Todo el mundo nota su ausencia, porque el juego se traga los saltos. La prueba es la forma de comprobarlo: cuenta los frames, porque no puedes sentir la diferencia entre 0.08 y 0.13 segundos, pero los pulgares de tus jugadores sí.
Jump buffering recuerda una pulsación anticipada
La imagen especular del coyote time: cuando un jugador presiona salto justo antes de aterrizar, espera saltar al tocar el suelo, no que el juego ignore la pulsación. Un jump buffer conserva la pulsación durante una ventana breve. Con la ventana en 0.1 segundos, encontramos el frame exacto del aterrizaje de una caída y presionamos salto antes de ese momento: 4 frames antes (0.067 s), el personaje saltó al aterrizar; 6 frames antes, justo en el límite de la ventana, no saltó; 9 frames antes, tampoco.
El coyote time y el jump buffering juntos son la razón por la que un buen platformer parece leerte la mente. Ambos son un temporizador y una instrucción if.
Mundo 1-1 enseña sin decir una palabra
Una vez que el salto se siente bien, los niveles enseñan a usarlo. La primera pantalla de Super Mario Bros. pone un Goomba frente a ti antes de que puedas hacer cualquier otra cosa, con un bloque encima: en los primeros cinco segundos aprendes que los enemigos hacen daño y que saltar ayuda, sin una sola línea de texto.
Diseña tu primer nivel de la misma manera: presenta una idea en un lugar donde fallar cueste poco, ponla a prueba una vez donde fallar cueste un poco más y luego combínala con algo que ya enseñaste. Un foso que solo puedas cruzar con un salto mantenido, después de un hueco que puedas cruzar con un toque, enseña mejor la altura variable que cualquier mensaje de tutorial.
Lo que una persona no debería intentar
Mario pertenece a Nintendo, igual que todo lo que hace que se parezca a Mario: el personaje, los enemigos, los sonidos, las tuberías. Haz tuyos la sensación y el diseño de niveles, y dale una apariencia completamente propia. Las reglas de salto de arriba no son propiedad de nadie; están en casi todos los buenos platformers desde entonces.
Limita el alcance como hizo el original: un personaje, un conjunto de movimientos, niveles cortos. Super Mario Bros. cabía en 40 kilobytes. Su profundidad venía de niveles diseñados alrededor de unos pocos movimientos, no de muchos movimientos.
2D y una plantilla para empezar
Un juego al estilo Mario es 2D: un TileMapLayer para el suelo, un CharacterBody2D para el jugador y nodos Area2D para las monedas y los enemigos. En la app de Flockbay, Nuevo desde plantilla incluye un platformer 2D para empezar, y la IA puede añadir estas cuatro reglas y medirlas como en esta publicación, mientras tú juegas y evalúas el salto.
Descarga Flockbay
Un platformer es un salto que se siente bien y niveles que enseñan a usarlo.
