Desarrollo

Super Mario Bros. tiene dos gravedades y eliges una con el pulgar

El 18 de octubre de 1985 la NES se puso a la venta en Nueva York. Cuarenta y un años después, esto es lo que hay dentro del salto de Mario: no fórmulas de física, sino dos tablas de siete bytes. Soltar el botón A multiplica por tres y medio la gravedad, y correr te hace saltar más alto sin tardar más en subir.

Hoy hace cuarenta y un años que la Nintendo Entertainment System se puso a la venta. No en todo Estados Unidos: solo en Nueva York, el 18 de octubre de 1985, como prueba para comprobar si todavía quedaba alguien dispuesto a comprar una consola después del batacazo del videojuego doméstico de 1983.

Si Super Mario Bros. estaba dentro de aquellas cajas es otra historia, y discutida: Nintendo da esa misma fecha, pero nadie ha encontrado la prueba documental.

Lo que sí se puede saber con exactitud es cómo salta Mario. Está escrito, se puede leer y se puede medir.

La lámina que me llevó a mirar

Esto empieza en Facebook. Me pasaron una lámina de Anacronía —dosier 089, «Las matemáticas de Super Mario Bros.»— con seis apartados muy bien puestos: posición subpíxel, aceleración horizontal, salto variable, caída limitada, colisión con bloques y estado de movimiento. Está bien hecha y cuenta algo verdadero.

Y lleva al pie una nota editorial que es lo mejor que tiene: avisa de que esas ecuaciones son formalizaciones modernas, no ecuaciones escritas en el juego. Que la implementación real usa variables discretas, acumuladores, tablas, límites y rutinas en ensamblador.

Pues vamos a eso, que es la parte que no cabe en una lámina. Porque el juego está desensamblado y comentado desde hace años, y dentro no hay fórmulas como las de la lámina.

Hay dos tablas de siete bytes.

Lo que hay de verdad ahí dentro

Super Mario Bros. no intenta simular la física real. Sesenta veces por segundo suma números enteros pequeños y comprueba si te has chocado con algo. No hay coma flotante. El procesador de la NES ni siquiera tiene una instrucción de multiplicación: aquí todo se resuelve con bytes, sumas, restas y desplazamientos.

La posición de Mario se lleva en píxeles enteros con un contador aparte para la fracción, en unidades de 1/256 de píxel. La velocidad horizontal se guarda en dieciseisavos de píxel por fotograma. Esa es toda la aritmética fraccionaria del movimiento: cuando el acumulador desborda, se suma un píxel a la posición y se sigue.

Con eso, los topes del movimiento horizontal son tres números:

Situación Velocidad máxima
Corriendo (con B pulsado) 2,5 píxeles por fotograma
Andando 1,5 píxeles por fotograma
En el aire, si saltaste despacio 1 píxel por fotograma

Dos coma cinco píxeles por fotograma son unos 150 píxeles por segundo, y la pantalla de la NES mide 256 de ancho. Mario a toda velocidad la cruza en poco menos de dos segundos.

Fíjate en la tercera fila, que es la que nadie explicó nunca y aprendimos todos: en el aire no se coge carrerilla. Si saltas andando, en el aire no pasas de un píxel por fotograma. Si saltas ya lanzado, conservas tu velocidad. Por eso Mario se juega en el suelo, y el salto solo ejecuta lo que ya habías decidido antes de despegar.

Dos gravedades

Y ahora la parte buena.

Cuando Mario salta, el juego no aplica una gravedad constante. Para cada tipo de salto guarda dos fuerzas distintas, y tu pulgar decide cuándo deja de usar una y empieza a usar la otra.

En un salto normal:

  • Mientras mantengas pulsado A y sigas subiendo, la gravedad vale 32: en cada fotograma frena la subida en 32/256 de píxel por fotograma.
  • En cuanto sueltas A, pasa a valer 112. En ese mismo fotograma.

Tres veces y media más gravedad, de golpe, por soltar un botón. No es que se corte el impulso: es que el mundo entero pesa más a mitad del salto, y vuelve a pesar poco en el salto siguiente.

Gráfico con cuatro trayectorias de salto de Mario dibujadas fotograma a fotograma: el salto llega más alto cuanto más tiempo se mantiene pulsado el botón A, y más todavía si se despega corriendo

Los cuatro saltos, fotograma a fotograma —los tres de abajo, despegando parado—, calculados ejecutando el bucle vertical del juego con los valores de su propio código. Cada punto es una actualización de pantalla. Gráfico propio.

Las cuentas salen así, despegando parado: con el botón mantenido, Mario sube durante 32 fotogramas —poco más de medio segundo— y llega a 66 píxeles, que son cuatro bloques y pico del escenario. Con el botón soltado nada más despegar se queda en 23 píxeles: bloque y medio.

El mismo impulso inicial, el mismo botón y casi el triple de altura.

Y hay un detalle precioso en esa rutina: si sueltas tan rápido que Mario todavía no se ha separado un píxel del suelo, el juego ignora que has soltado. El salto mínimo existe y está garantizado. No puedes producir un salto de cero, ni con los dedos muy rápidos ni con el mando muy gastado.

Correr te hace saltar más alto, y eso es trampa

Cuando Mario despega, el juego mira a qué velocidad iba y clasifica el salto en uno de cinco tramos. Cada tramo tiene su impulso inicial y su pareja de gravedades.

Parado o casi, Mario sale hacia arriba a 4 píxeles por fotograma. A toda velocidad, a 5. Pero —y esto es lo que me parece genial— en el tramo rápido la gravedad de subida también es mayor: 40 en lugar de 32.

O sea, que el salto corriendo empuja más fuerte hacia arriba y tira más fuerte hacia abajo. Resultado neto: 82 píxeles en vez de 66, cinco bloques en vez de cuatro… y exactamente los mismos 32 fotogramas hasta el punto más alto.

Los dos saltos tardan lo mismo en llegar arriba. Uno llega más lejos.

Eso no es física. Eso es alguien decidiendo que correr tiene que llevarte más alto sin que el salto se sienta más lento, y moviendo dos tablas hasta que el pulgar diga que sí.

El suelo también está negociado

Dos mecanismos más, del mismo palo.

La caída tiene tope. Mario no acelera indefinidamente: al alcanzar 4 píxeles por fotograma, el juego le recorta la velocidad y la deja ahí. Desde parado, tarda algo más de un segundo en caer la altura de una pantalla, y ni un fotograma menos. Tiene su lógica de ingeniería: en un sistema que comprueba las colisiones una vez por fotograma, permitir velocidades demasiado altas aumenta el riesgo de que un cuerpo atraviese el suelo entre una comprobación y la siguiente.

Frenar en seco cuesta el doble. El juego usa el mismo número para acelerar y para frenar, pero cuando la dirección hacia la que miras no coincide con la dirección en la que te mueves —es decir, cuando estás derrapando— ese número se multiplica por dos. Y si además vas muy despacio, te pone la velocidad a cero y te da la vuelta sin más. Ese frenazo no es solo una animación: es la física, alterada a propósito para que cambiar de sentido sea rápido.

El mando de la Nintendo Entertainment System, con la cruceta a la izquierda y los botones B y A a la derecha

Todo el artículo cabe en el botón de la derecha. Foto: Evan-Amos, dominio público, vía Wikimedia Commons.

Una mentira coherente se aprende

Nada de lo anterior se parece a la gravedad de la Tierra. En el mundo real no hay dos gravedades según lo que hagas con el pulgar, ni la caída deja de acelerar a media pantalla, ni girarse frena el doble.

Y aun así Super Mario Bros. se siente exacto. Mejor que bastantes juegos posteriores con motores de física de verdad.

La razón es que el juego no pretende que aprendas el mundo. Pretende que aprendas sus reglas, que son pocas, son siempre las mismas y responden a lo que haces sin un fotograma de retraso. A las dos pantallas ya sabes cuánto sube Mario si mantienes pulsado; a la tercera estás calculando saltos que todavía no has hecho. Eso es lo que significa que un juego «se controla bien»: que tu cabeza ha logrado construir un modelo del sistema que acierta.

La industria lleva cuarenta años apoyándose en esa idea. Maddy Thorson, que diseñó y dirigió Celeste, publicó un artículo sobre las trampas piadosas de su juego: puedes saltar un poco después de haberte caído del borde —lo llaman coyote time, por el coyote del Correcaminos, que tarda en caerse hasta que mira al suelo—, y si pulsas el botón un poco antes de aterrizar, el juego se guarda tu intención y salta en el fotograma exacto en que tocas tierra. Mentiras las dos. Ninguna se ve. Las dos se notan.

Super Mario Bros. no tenía ni una ni otra: el salto exige pulsar A justo cuando estás en el suelo, y punto. Lo que sí tenía era coherencia absoluta, que es la versión de 1985 de lo mismo.

Lo que me llevo al trabajo

Esto lo pienso cada vez que discuto una interfaz.

La gente no aprende tu modelo. Aprende tu comportamiento. Nadie que juegue a Mario sabe que hay dos tablas de siete bytes. Todo el mundo sabe que si sueltas antes, saltas menos. El modelo mental de un usuario no sale de tu documentación: sale de lo que ocurre cuando toca algo.

Predecible gana a realista. Un formulario que valida siempre igual, aunque valide de una forma rara, se aprende en dos intentos. Uno que valida bien pero unas veces al salir del campo y otras al enviar, no se aprende nunca. La coherencia es una característica del producto, y sale mucho más barata que la sofisticación.

Y responder rápido es parte de la regla. Las dos gravedades funcionan porque el cambio ocurre en el mismo fotograma en el que sueltas el botón: menos de dos centésimas. Si esa respuesta llegara dos décimas más tarde, la regla seguiría siendo igual de cierta y el juego se sentiría roto. En una web pasa exactamente lo mismo, solo que aquí lo llamamos «es que va un poco lento».

Aquel 18 de octubre la NES se vendía en una sola ciudad y con un robot de juguete al lado para disimular que era una videoconsola. Lo que llevaba dentro no era potencia —de eso iba el elogio de la tecnología marchita—, sino un puñado de constantes elegidas con un criterio brutal.

Siete bytes por tabla. Dos tablas. Cuarenta y un años.


De dónde salen los números: del desensamblado comentado de la ROM original, que circula desde hace años entre quien estudia estos juegos, y de ejecutar su bucle de movimiento vertical para reconstruir las trayectorias del gráfico. Los valores son del código; las alturas en píxeles y los fotogramas, cuentas mías. La ficha del juego, con sus versiones y plataformas, está en cdjuegos.com.

Preguntas frecuentes

¿Por qué en Super Mario Bros. el salto es más alto si mantienes pulsado el botón?

En un salto normal, mientras se mantiene pulsado A y Mario sigue subiendo, la gravedad frena la subida 32/256 de píxel por fotograma en cada fotograma; al soltarlo pasa a 112/256 en ese mismo fotograma, tres veces y media más. Otros tramos de velocidad usan valores distintos, pero conservan el mismo principio: una fuerza durante el ascenso controlado y otra al soltar el botón o empezar a caer.

¿Cuánto salta Mario exactamente?

Despegando parado y con el botón mantenido sube 66 píxeles en 32 fotogramas, algo más de medio segundo; si se suelta el botón nada más despegar, se queda en 23. Corriendo llega a 82. Como un bloque del escenario mide 16 píxeles, eso son cuatro bloques y pico, bloque y medio y cinco bloques. Andando a paso normal el salto cae en un tramo intermedio y sube algo más que parado, unos 70 píxeles.

¿Por qué correr hace que Mario salte más alto?

Porque al despegar el juego clasifica el salto en uno de cinco tramos según la velocidad que llevaba, y cada tramo tiene su impulso inicial y su pareja de gravedades. Parado sale hacia arriba a 4 píxeles por fotograma y corriendo a 5, pero en el tramo rápido la gravedad de subida también es mayor: el salto llega más alto y tarda el mismo tiempo en alcanzar el punto más alto.

¿Qué es el coyote time en los videojuegos?

Un margen de gracia: el juego sigue aceptando el salto durante unos instantes después de que el personaje se haya salido del borde de una plataforma. Se llama así por el coyote del Correcaminos, que no cae hasta que mira al suelo. Celeste lo usa junto con el guardado de la pulsación antes de aterrizar; Super Mario Bros. no tenía ninguna de las dos cosas.

¿Salió Super Mario Bros. el 18 de octubre de 1985?

Esa es la fecha que da Nintendo para Estados Unidos, y es la fecha en la que la NES se puso a la venta en el mercado de prueba de Nueva York, pero no está demostrado que el juego estuviera allí. Quien ha buscado la prueba documental no la ha encontrado, y hay quien sostiene que no llegó hasta el despliegue nacional de 1986. En Japón sí hay fecha firme: 13 de septiembre de 1985.

Otras noticias

El blog, día a día

91 artículos publicados 19 abr 2026 — 18 abr 2027

¿Te ha resultado útil o quieres comentar algo?

Hablemos →