Inventando el Prince of Persia

[Stage 1] El mundo del Prince of Persia
Se llegaba al Prince of Persia desde una colorida pantalla de título: un paisaje pixelado de inspiración bagdadí en el que se veía en una cuidada tipografía el título del juego. Entrabas a la mazmorra, un laberinto gris, y empezabas a explorar, a salvar obstáculos. Encontrabas al primer guardián y te mataba de un espadazo. Vuelta a empezar. Entonces indagabas en dirección contraria y después de un par de intentos conseguías llegar hasta la espada: ahora ya podías volver para enfrentarte al primer guardián e intentar vencerle.
Era fácil entrar al mundo del Prince of Persia, quizás no sólo en su tiempo. Supongo que animar imágenes pixeladas en 2D pixel a pixel es una técnica tan válida como cualquier otra, en cualquier época, si se hace de la manera adecuada —ahí teneis Shovel Night, de 2014, que creo que funciona muy bien en su mecánica retro—. En Prince of Persia, los movimientos eran suaves, la mano se acostumbraba con facilidad a pulsar la tecla de salto en el momento indicado para dar un último paso al borde de un abismo y saltar al otro lado, volar sobre el vacío, y caer agarrándote al borde del otro lado. Además de esto, hay ciertas secuencias oníricas: caídas al abismo amortiguadas por una pócima, saltos imposibles, detalles. Jordan Mechner se inspiró, entre otras cosas, en el cine clásico de espadachines. El ladrón de Bagdad (1940) fue una de sus referencias, aunque hubo otras muy explícitas, como veremos más adelante.
Cuando creías que habías comprendido la mecánica del juego, aparecía algo extraño: un pasillo obstaculizado por un espejo. Al acercarte, chocabas contra el espejo con un gesto cómico. Te ibas y explorarbas un camino alternativo que en realidad no existía hasta que, aburrido, tomabas carrerilla y te lanzabas al espejo. Tú y tu figura especular os encontrabais en el plano del espejo y, con un relámpago, tú pasabas al otro lado y de este lado surgía la Sombra, la imagen en negativo del Príncipe que se lanzaba a correr en dirección contraria por el pasadizo y en un par de segundos ya se había perdido. Tú podías seguir avanzando como si no hubiera pasado nada. Aún no lo entendías, pero el juego ya había cambiado.
Luego, de vez en cuando, te encontrabas de nuevo con la sombra: resulta que la sombra avanza por el juego, más o menos, como avanza el Príncipe. En una de las pantallas aparece, por fin, una pócima con la que recuperar los puntos de vida perdidos —era tan fácil perder el resuello—, y para llegar a ella sólo tienes que trepar y atravesar una puerta, pero, antes de que te dé tiempo a llegar, la Sombra —la escurridiza Sombra a la que tú ya habías olvidado— llega desde el otro lado del laberinto y roba la pócima dejándote agotado y al borde de la muerte. La Sombra eras tú mismo y a la vez tu peor enemigo, mucho peor que todas las demás cosas que podrías imaginar y a las que te habías tenido que enfrentar.
Cuando atacabas a la sombra, te herías a ti mismo. Si sigues atacando a la sombra, terminarás por matarte. Sólo si te das cuenta de esto, descubres la única solución posible: guardar la espada.
Hay una parte del juego que es crucial para poder llegar al final, vencer al Sultán y rescatar a la princesa. En uno de los corredores, poco antes de llegar a los pisos del Palacio, te encuentras cara a cara con la Sombra, desenfundas la espada y te acercas a ella dando pasos muy cortos. Ella te imita —imprevisible, a veces te robaba, a veces te imitaba—. Levantas la espada a modo de defensa y ella hace lo mismo, así que por fin te decides y pulsas la tecla de mayúsculas para atacar. La sombra no se defiende y recibe el golpe como si fuera uno de los enemigos más fáciles, pero entonces te das cuenta de que el personaje que ha perdido el punto de vida es el Príncipe. Cuando atacabas a la sombra, te herías a ti mismo. Si sigues atacando a la sombra, terminarás por matarte. Sólo si te das cuenta de esto, descubres la única solución posible: guardar la espada. Al hacerlo, la sombra también guarda su arma y, una vez desarmados, la sombra y el Príncipe se acercan y vuelven a unirse —si te hubieras dado cuenta tarde, hubiera sido fatal—. En ese momento, todos los puntos de vida que la sombra te ha quitado vuelven a ti, y con esa fuerza puedes enfrentarte al monstruo final, el Gran Visir, y rescatar a la princesa.
[Stage 2] Cómo se hizo el prince of persia
¿Cómo funcionaba el Prince of Persia? ¿A qué se debe su éxito? A mediados de los años ochenta, Jordan Mechner ya había publicado un videojuego llamado El karateka y estaba desarrollando Prince of Persia con una técnica mucho más artesanal de lo que podríamos imaginar a día de hoy.
Para animar a los personajes con una fluidez lo más realista posible, aprovechó un novedoso artilugio que su padre acaba de comprar: una cámara Super 8. Con ella grabó a su hermano realizando los movimientos del Príncipe (aún no había guardianes). Luego, proyectó las grabaciones en una pantalla de televisión en una habitación a oscuras y las fotografió, fotograma a fotograma. Sobre esas fotografías reveladas dibujó a mano cada uno de los frames que recogerían el movimiento del personaje y luego las fotocopió. Utilizó una tarjeta para digitalizarlas de nuevo y llevarlas a su ordenador Apple. Aquella fue la primera vez que pudo ver al personaje moviéndose en pantalla.
[Stage 3] Las limitaciones técnicas
De esta manera, el personaje inspirado por los movimientos de su hermano se convirtió en una imagen de 34 pixels de altura y 25 pixels de anchura, que ocupaban (dependiendo del caso) hasta 120 bytes de memoria. Saltar eran 12 fotogramas. Correr y saltar eran 15 fotogramas. Como en elcine, cuantos más frames se utilizaban, más suave era la animación. Cada uno de estos frames tenía que estar definido bit a bit y cargado en la memoria del ordenador. Saltar, correr, girar, balancearse, cada movimiento era una animación diferente. Además, había que añadir el resto de imágenes del juego, fondos, animaciones, efectos de sonido, música y la lógica del juego. Lo necesario para que el personaje del Príncipe atravesara la mazmorra iba a tomar toda la memoria disponible en el ordenador.
En este punto del desarrollo, al juego aún le faltaba algo: acción. El juego estaba concebido inicialmente como un conjunto de puzzles y laberintos, sin secuencias de combate, pero tras unas primeras pruebas, y gracias a la recomendación de algunos compañeros, Mechner se dio cuenta de al juego le faltaban otros personajes contra los que luchar. Era el momento de empezar a añadir a los enemigos, a los guardianes, pero no tenía memoria suficiente para añadir más personajes.
Por aquella época, la memoria era un problema: el Apple II de los años 80 tenía 48 KiB de RAM, más o menos lo que ocupa un email sin ficheros adjuntos. Es cierto que había nuevas plataformas a punto de aparecer, pero cambiar de plataforma hubiera significado empezar desde el principio y se enfrentaba al problema de haber trabajado en un juego fantástico pero al que nadie iba a poder jugar. Hay momentos en un proyecto, cuenta Jordan Mechner, en los que hay que replantearse la visión inicial. A veces la respuesta es creer en esa visión inicial, pero a veces durante el camino descubres cosas que hacen replantearte esa visión inicial.
Jordan Mechner: «Hay momentos en un proyecto en los que hay que replantearse la visión inicial. A veces la respuesta es creer en esa visión inicial, pero a veces durante el camino descubres cosas que hacen replantearte esa visión inicial».
[Stage 4] La solución
Junio de 1988. Parece obvio que hay que añadir acción en el juego, pero no hay recursos suficientes en una máquina para conseguirlo. Alguien le propone a Jordan Mechner crear un enemigo que sea idéntico al Príncipe, de esa manera, reutilizando la memoria ocupada podría mostrar un enemigo en pantalla. El problema es que el enemigo entonces se confundiría con el Príncipe. Una solución posible sería simplemente cambiarlo de color, pero generar una imagen con color diferente es, de nuevo, crear un mapa de bits diferente en memoria. ¿Cómo hacerlo? A Jordan Mechner se le ocurrió aplicar una máscara de bits, un XOR, con esto aparece en pantalla un personaje idéntico, pero en negativo: los píxeles que tenían luz ahora se vuelven negros. Así fue como nació la Sombra. De la necesidad, apareció el personaje más enigmático del juego.
Nivel 4 de Prince of Persia, donde aparece por primera vez la Sombra.Después de esto —y por suerte fue después de esto—, Jordan Mechner encontró una manera de liberar más memoria del Apple II y utilizarla para añadir los guardianes que todos conocemos en el juego. El modelo que había utilizado para modelar al principe, su hermano, vivía ahora lejos, así que tenía buscar otros modelos. Primero probó a grabarse haciendo movimientos de espada con su compañero de oficina, pero no quedaron muy contentos con el resultado. Para solucionarlo, utilizó una escena de Robin Hood —aquella primera versión en technicolor de 1938, con Errol Flynn y Olivia de Havilland— y en la que los personajes luchan exactamente en el plano que él necesitaba para el videojuego. De aquellos fotogramas salieron el resto de enemigos que necesitaba el juego.
[Extra ball] Más información
Puedes ver el código fuente de Prince of Persia en GitHub. Si te ha gustado este artículo, quizás te interese ver esta entrevista: War Stories: Jordan Mechner on Making Prince of Persia (ArsTechnica).
G.G.Q.
Madrid, 3 de enero de 2026




