Cómo Prince of Persia Creator supera los límites de memoria de Apple II


“Desarrollé la historia de The Shadow Man. Aparece en el juego en puntos predeterminados. En un caso, roba una poción. Cuando el jugador está listo para agarrar la burbuja, el Hombre de las Sombras entra corriendo, la bebe y se escapa. En otra ocasión, cuando el jugador está a punto de atravesar la puerta, aparece un Hombre de las Sombras, hace clic en la estufa y cierra la puerta. Después de eso, el jugador cae tres niveles hacia abajo, y nuevamente tiene que subir todo el camino. Grabé estos enfrentamientos en la trama para que el jugador odiara al hombre de las Sombras y lo considerara su enemigo. Entonces, en el momento en que tendría que cruzar espadas con él al final del juego, realmente quería vengarse, porque lo impedía muchas veces. Era mi forma de crear una conexión emocional entre un jugador y un adversario a través del juego, en lugar de las inserciones cinematográficas ".

Hola, soy Jordan Mekner, autor de Prince of Persia. Esta es una historia sobre cómo me metí en una esquina con animaciones, y luego pude salir de ella gracias a las batallas.

Yo era un niño que creció en Nueva York a mediados de los 70. Un fanático de los cómics. Me encantó la película Crecí en la revista "MAD", y si no hubiera computadoras, podría hacer cómics y animación. Pero cuando apareció Apple II en 1978, lo tomé como una máquina en la que principalmente puedo jugar juegos en casa, lo que antes era completamente imposible. En lugar de gastar cuartos en máquinas tragamonedas locales, podría quedarme en casa y jugar tanto como quisiera en Space Invaders en Apple II. Además, la computadora me permitió crear mis propios juegos, y me encantó. Esto sucedió antes del advenimiento de Internet, por lo que casi todos eran autodidactas. Me suscribí a la revista Creative Computing, y un poco más tarde, a la revista Softalk, que incluía artículos sobre cómo programar. Empecé a compartir experiencias con amigos,quien también amaba las computadoras.

Mis primeros juegos fueron copias de juegos arcade existentes: el jugador siempre tuvo tres vidas, y el objetivo era obtener un número récord de puntos. Pero luego ya fui a la universidad y quería escribir un juego que contara una historia, y por lo tanto comencé a programar "Karateka". Ella tenía una trama muy simple. Un malvado general secuestró a la princesa y la encarceló en su castillo. El jugador controla a un héroe que debe ganar varias peleas de karate de los soldados que custodian la fortaleza. De hecho, corrió de izquierda a derecha y derrotó a un guerrero tras otro hasta llegar al final, y luego luchó con un gran tipo malo y salvó a la princesa. Escribí el juego en Apple II, y en ese momento Apple era en realidad la plataforma de juegos número uno, pero tenía sus limitaciones. Las funciones de música de Apple II no eran muy buenas,la computadora tenía solo cuatro colores y una pantalla con una resolución de 280 × 192, y todo el programa tenía que caber en 48 KB de memoria. Fue una restricción estricta.


En aquellos días, Photoshop aún no se había creado, no había paquetes gráficos y herramientas para la animación, y si quería dibujar un personaje en la pantalla, tenía que hacerlo píxel por píxel. Cuando traté de realizar la animación del personaje, resultó que se ve incómodo y lejos del realismo que imaginé. Entonces utilicé una técnica llamada rotoscopia, que tenía una larga historia. Ella apareció en los albores de las películas de animación.

Los primeros animadores de Disney usaron metraje de la película como referencia. En Blancanieves, los personajes humanos, como Blancanieves y el propio príncipe, en realidad se animaban con rotoscopia, es decir, los animadores de Disney filmaban actores en vivo que realizaban las acciones que debían ser animadas, y luego proyectaban estos cuadros y los copiaban o resumían cuadro por cuadro. . Hice lo mismo para "Karateka". Grabé en la película Super 8 cómo mi maestro de karate patea y patea, así como otros movimientos que el personaje necesita hacer en la pantalla, luego garabateé cada fotograma de la película Super 8 con un lápiz sobre papel de calco y los convertí en píxeles para mostrarlos en la pantalla. Este es un tipo de rotoscopia 1.0.


"Karateka" se lanzó en 1984 y se convirtió en el éxito de ventas número uno, y tuve mucha suerte de que sucediera así: en lugar de comenzar a buscar trabajo después de la universidad, ¿encontré el lujo de pensar en lo que quiero hacer a continuación? Y se me ocurrió la idea de otro juego. Los primeros diez minutos de la película "En busca del arca perdida" se convirtieron en una de las fuentes de inspiración. En esta escena, Indiana Jones salta sobre un agujero y casi cae, las espinas saltan de la pared, la puerta se cierra y todas estas acciones me recordaron lo que vi en juegos de plataformas como "Lode Runner" y "The Castles of Doctor Creep": si te levantas en la estufa, ella abre la puerta. Pensé que si combinas esta jugabilidad con un personaje humano, el jugador sentirá que si pierdes el salto y la caída, realmente te dolerá.Los personajes de los primeros juegos de plataformas parecían no tener peso. El jugador entendió que incluso si fallaba, el personaje bajaría las escaleras y no sentiría dolor. Y decidí combinar la jugabilidad básica del rompecabezas de la plataforma en un mundo modular con animaciones muy suaves de correr y saltar, tratando de transmitir la alegría de los primeros minutos de "En busca del arca perdida".

La trama de "Prince of Persia" también fue simple. Como en Karateka, el jugador necesitaba salvar a la princesa. En esto, me inspiraron los cuentos de "Mil y una noches", así como películas como el "Ladrón de Bagdad" de 1940, en las que el malvado gran visir toma el poder y encarcela a la princesa. Sabía que para Prince of Persia necesitaría muchas más animaciones. Correr, saltar, trepar, caer: todos los movimientos de un pequeño personaje que debe realizar en la pantalla. Y cuando estaba haciendo animaciones para "Prince of Persia" en 1985, apareció una nueva tecnología: VHS. Usando una de las primeras cámaras VHS, grabé cómo mi hermano corre, salta y realiza todas las demás acciones en el estacionamiento cerca de nuestra escuela.


El siguiente problema fue la transferencia de todos estos cuadros grabados a la computadora. A través de prueba y error, finalmente encontré una técnica adecuada para Prince of Persia; consistió en convertir de analógico a digital y consistió en varias etapas. Comencé una cinta de video con mi hermano en una pantalla de televisión en una habitación oscura, puse una cámara de 35 mm en un trípode, la dirigí a la pantalla y luego tomé una foto, volví al siguiente fotograma en la videograbadora, tomé otra foto, volví a avanzar, y mucho veces hasta que obtuve un rollo de película con unos 35 cuadros. Lo llevé a la imprenta instantánea Fotomat local, en una hora mostraron la película y me devolvieron un conjunto de imágenes que pegué con cinta adhesiva. Usando un marcador y un corrector, seleccioné los contornos de cada personaje y luego puse las imágenes en la copiadora,habiendo recibido una hoja de papel transparente con una serie de cuadros de un carácter blanco distintivo sobre un fondo negro. El contraste fue lo suficientemente fuerte como para colocar esta hoja en la máquina de animación, apuntar con la videocámara y mostrar la imagen en Apple II, que no tenía entrada de video. Utilicé un tablero digitalizador especial que solo podía hacer una imagen clara y fija. Ella no podía realizar la captura de movimiento, pero después de recibir 9-12 cuadros separados de la animación del personaje, ya podía trabajar con los píxeles y recortarlos en la pantalla usando mi herramienta de animación, y luego reproducir la secuencia de cuadros. Tomó semanas de trabajo transferir las carreras o saltos grabados en el video a una secuencia de cuadros en la pantalla de una computadora.El contraste fue lo suficientemente fuerte como para colocar esta hoja en la máquina de animación, apuntar con la videocámara y mostrar la imagen en Apple II, que no tenía entrada de video. Utilicé un tablero digitalizador especial que solo podía hacer una imagen clara y fija. Ella no podía realizar la captura de movimiento, pero después de recibir 9-12 cuadros separados de la animación del personaje, ya podía trabajar con los píxeles y recortarlos en la pantalla usando mi herramienta de animación, y luego reproducir la secuencia de cuadros. Tomó semanas de trabajo transferir las carreras o saltos grabados en el video a una secuencia de cuadros en la pantalla de una computadora.El contraste fue lo suficientemente fuerte como para colocar esta hoja en la máquina de animación, apuntar con la videocámara y mostrar la imagen en Apple II, que no tenía entrada de video. Utilicé un tablero digitalizador especial que solo podía hacer una imagen clara y fija. Ella no podía realizar la captura de movimiento, pero después de recibir 9-12 cuadros separados de la animación del personaje, ya podía trabajar con los píxeles y recortarlos en la pantalla usando mi herramienta de animación, y luego reproducir la secuencia de cuadros. Tomó semanas de trabajo transferir las carreras o saltos grabados en el video a una secuencia de cuadros en la pantalla de una computadora.Utilicé un tablero digitalizador especial que solo podía hacer una imagen clara y fija. Ella no podía realizar la captura de movimiento, pero después de recibir 9-12 cuadros separados de la animación del personaje, ya podía trabajar con los píxeles y recortarlos en la pantalla usando mi herramienta de animación, y luego reproducir la secuencia de cuadros. Tomó semanas de trabajo transferir las carreras o saltos grabados en el video a una secuencia de cuadros en la pantalla de una computadora.Utilicé un tablero digitalizador especial que solo podía hacer una imagen clara y fija. Ella no podía realizar la captura de movimiento, pero después de recibir 9-12 cuadros separados de la animación del personaje, ya podía trabajar con los píxeles y recortarlos en la pantalla usando mi herramienta de animación, y luego reproducir la secuencia de cuadros. Tomó semanas de trabajo transferir las carreras o saltos grabados en el video a una secuencia de cuadros en la pantalla de una computadora.Tomó semanas de trabajo transferir las carreras o saltos grabados en el video a una secuencia de cuadros en la pantalla de una computadora.Tomó semanas de trabajo transferir las carreras o saltos grabados en el video a una secuencia de cuadros en la pantalla de una computadora.

Cuando vi por primera vez al personaje corriendo y saltando en la pantalla, tenía una gran ilusión de vitalidad y peso. Era la época de los gráficos de ocho bits. Cada cuadro de la animación del Príncipe de Persia era un conjunto de bytes que representaban una imagen fija en la pantalla, y el siguiente cuadro era otro conjunto de bytes. Para implementar, por ejemplo, un salto, se necesitaron 12 cuadros, y para un salto al correr, se necesitaron hasta 15, y cuantos más cuadros, más suave será la animación. Después de agregar saltos, correr, girar, colgar, balancearse y todo eso, cada movimiento individual ocupaba la memoria. Y aquí, la diferencia entre esas computadoras y las modernas resultó ser muy importante, porque Apple II tenía solo 48 KB. Esto es menos que el correo electrónico de texto promedio, pero todo debería encajar en este volumen: todas las imágenes, fondos, cuadros de animación, la lógica del programa,Todos los efectos de sonido, música, todo. Y todo esto, junto con las animaciones que el personaje necesita para moverse por las mazmorras, llenó toda la memoria disponible de la computadora.

Entonces, junio de 1988, he estado trabajando en Prince of Persia durante dos años, y en esta etapa la parte más difícil ya se ha hecho. Tengo un personaje que se mueve suavemente por las mazmorras, él sube, cae, hace clic en los platos para abrir las puertas y salta sobre el abismo, casi cayendo en picos. Todos los que ven mi juego gimen y suspiran de alegría. Este resultado fue una confirmación del concepto, pero el juego no es muy interesante de jugar, y estoy atormentado por la vaga sensación de que ya me di cuenta de casi todo lo que quería, pero no puedo lograr la admiración que esperaba. Además, hay indicios de que la plataforma Apple II está muriendo. Cuando comencé a desarrollar Price of Persia, Apple II seguía siendo la plataforma número uno para juegos. Pero en 1988 aparecieron autos nuevos, con más colores y resolución,Funciones de sonido más avanzadas. Estaba al final del ciclo de vida de Apple II, pero sentí que habiendo cambiado a otra plataforma, tenía que comenzar de nuevo. Me preocupaba crear un juego magnífico y emocionante, pero no habría nadie para jugar en él.

Sí, surgió un problema: llegué a esa etapa de desarrollo cuando comencé a dudar de mi visión inicial del juego. A veces la respuesta correcta es: solo cree en la visión original, date cuenta, y todo estará bien. Pero a veces, en el proceso de trabajo, hace descubrimientos que le hacen darse cuenta de que la visión original era solo el primer borrador. Inicialmente, pensé que el personaje principal no luchará, no usa la violencia y solo trata de sobrevivir en una mazmorra en un mundo cruel, donde hay púas saliendo del piso, hay puertas y losas que pueden aplastarlo, pero él mismo no es cruel. El objetivo era superar estas trampas y salvar a la princesa, y para implementar esto, utilicé todos los recursos disponibles de Apple II. No tenía lugar para insertar otro personaje.


En ese momento, compartía la oficina con amigos que también trabajaban en sus propios proyectos. Robert Cook trabajó en el juego D / Generation. Tommy Pearce creó un software educativo, y cada vez que ella, al pasar, veía "Prince of Persia" en mi pantalla, repetía "Peleas, peleas, peleas". "Necesitas batallas, o este juego no será interesante", y me molestó, porque no planeé las batallas. Karateka era un juego de lucha. Todo el juego consistía en encontrarse con el guardia, luchar con él y luego pasar a la siguiente batalla. Le expliqué a Tomi: "No puedo hacerlos porque no tengo suficiente memoria y, además, necesito un enemigo animado que pueda hacer todo lo que el enemigo necesita". Pero cuando se le ocurre una idea a Tomi, ella no la deja ir, así que tuve que decir: "Ahora hay antorchas en las paredes. Y ahora agregué trampas para la mandíbula,que cortan al héroe y aumentan la tensión. ¿No es eso mejor? " Tomi evaluó la nueva característica y dijo: "Peleas, peleas, peleas". [respira hondo] Y me di cuenta con desesperación de que había algo en sus palabras. No importa cuánto quisiera que el juego estuviera casi listo, simplemente no se llevó, y ese fue el problema: dos años de desarrollo, usé casi toda la memoria disponible, pero el juego carece de la tensión, el deleite y la sensación de conflicto que hizo Karateka "Tan simple y muy interesante. ¿Qué tengo que hacer?pero el juego carece de la tensión, el deleite y la sensación de conflicto que hizo a Karateka tan simple y muy interesante. ¿Qué tengo que hacer?pero el juego carece de la tensión, el deleite y la sensación de conflicto que hizo a Karateka tan simple y muy interesante. ¿Qué tengo que hacer?

Puedo decirte exactamente lo que pasó. Ese día, en junio de 1988 (lo sé, porque lo escribí en mi diario), Tomi volvió, miró la pantalla y dijo: "Peleas, necesitas peleas". Y nuevamente desarrollé mi argumento habitual: en primer lugar, esto no corresponde al concepto del juego, y en segundo lugar, no hay suficiente memoria. Ella dijo: "En Karateka, usaste las mismas figuras para el héroe y para el enemigo, ¿puedes hacer lo mismo?" Respondí: “No, porque el héroe parece un personaje atractivo e indestructible. El enemigo no debería verse así. Y ella dijo: "Bueno, ¿y si haces enemigos de un color diferente?" Y se me ocurrió la idea: ¿qué pasa si ejecuto XOR para cada byte desplazado conmigo un bit?

Apple II, tal como lo entiendo ahora, no tenía capacidades de procesamiento de imágenes porque todos los gráficos eran mapas de bits. Pero una de las instrucciones del ensamblador llamada "OR exclusivo" (XOR) tomó dos bits, y si son iguales, devuelve cero, y si difieren, entonces uno. Y cuando le expliqué a Tomi por décima vez por qué no puedo dibujar el personaje en el color incorrecto, me di cuenta de que usar la instrucción "OR exclusiva" con un cambio de un bit crearía un contorno fantasmal parpadeante Protagonista. Y tan pronto como dije estas palabras, surgió el nombre de este personaje: Shadow Man ("Shadow Man"). Mientras Tomi y Robert miraban por encima de mi hombro, me tomó solo cinco minutos escribir un código que convierta al personaje principal en una versión fantasmal de sí mismo.Tan pronto como vimos al hombre de las Sombras corriendo, saltando y escalando la mazmorra, se hizo evidente que él era el enemigo que el juego necesitaba.


Robert sugirió que podría surgir un Hombre de las Sombras cuando un héroe salta por un espejo: en ese momento, su copia fantasmal salta en una dirección diferente, y luego, perdida en el calabozo, se convierte en enemiga: roba pociones, cierra las puertas que el jugador quería abrir, y generalmente crea todo tipo de caos. Entonces, este personaje nació a la fuerza, lo que como resultado se convirtió en una de las mejores características del juego. Este es un ejemplo de cómo las restricciones a veces pueden llevarlo a soluciones más creativas de las que podría encontrar desde el principio, si estuvieran disponibles. Si mi limitación no era la memoria, entonces podría haber creado varios monstruos y enemigos en Prince of Persia para variar, pero como no había espacio para ellos, tuve que cavar más profundo y encontrar un hombre de las Sombras, que como si fuera más profundo y más convincente.

Al final del juego, cuando un jugador se encuentra con su sombra y lucha con sus espadas, con cada golpe en el hombre de las Sombras, el jugador pierde un punto de fuerza. El jugador se da cuenta de que si continúas luchando, te matarás como resultado, por lo que la solución no es ganar la lucha con la espada, sino quitar la espada. Y cuando quitas la espada, el Hombre de las Sombras hace lo mismo. Si te vuelves hacia él y corres, el Hombre de las Sombras correrá hacia él. Dos se fusionarán y se reunirán, y el jugador recuperará todos los puntos de vida que el Hombre de las Sombras le robó durante el juego. Gracias a este poder e integridad restaurados, podrá luchar contra el gran visir y completar el juego. Nunca hubiera llegado a esto si no hubiera tenido que hacerlo.

Tan pronto como el Hombre de las Sombras apareció en el juego, se hizo evidente que esto era correcto, por lo que logré poner algunos fotogramas más en mi memoria para la implementación de peleas de espadas para que el jugador pudiera luchar con una copia de sí mismo. Resultó ser muy convincente, y ahora necesitaba poblar la mazmorra con guardias de cualquier manera. En esta etapa tardía del desarrollo, encontré una forma de tomar prestados 12 KB de memoria, que estaba oculta en una tarjeta de memoria Apple II adicional, y agregar un protector. Pero al mismo tiempo, surgió un nuevo problema: ¿cómo crear animaciones para los enemigos?

El modelo de animación del Príncipe de Persia era mi hermano menor, que ahora estaba a tres mil millas de mí. Además, él no sabía cómo pelear con espadas, así que primero intenté grabarme a mí y a mi colega en la oficina de Robert, sostuvimos espadas y cercamos. Desafortunadamente esto no funcionó. Desesperado, encendí una de mis películas favoritas, Robin Hood de 1938, con Errol Flynn, y resultó que hubo un duelo climático con Basil Rathbone en esta película. Contenía una escena de unos seis segundos en la que dos personajes que luchaban entre sí fueron filmados perfectamente de perfil. Tomé fotos de cada inventario del cassette Robin Hood VHS de 1938, recibí los movimientos que los personajes necesitarían para una pelea de espadas, y tan pronto como me di cuenta de los guardias, el juego me pareció completo.

Ahora, moviéndose por las mazmorras, el jugador sintió una sensación de rivalidad, tensión, miedo, que se convirtió en una parte importante del éxito de Karateka. La lección que aprendí de esto se puede formular de la siguiente manera: si tiene dos voces en su cabeza, dos enfoques que dan dos soluciones diferentes, diametralmente opuestas entre sí, debe tratar de escuchar cada una de las voces y pensar: "¿Esta voz me dice acerca de ¿el panorama? " Porque a veces pueden surgir grandes ideas que lo desvían del camino previsto, pero a veces esta voz realmente lo lleva de regreso al camino. El hombre de las sombras fue la decisión correcta porque se correlaciona con la fuente original de inspiración para Prince of Persia. De hecho, esta es una versión moderna de la "película de la capa y la espada", y en estas viejas películas los héroes, ya sea Errol Flynn,Douglas Fairbanks o Indiana Jones lucharon, por lo que estaba totalmente en línea con el espíritu del juego.

"Prince of Persia" fue lanzado a finales de 1989 en el Apple II. Como temía, la carrera con el tiempo se perdió. En ese momento, Apple II era una plataforma moribunda, y durante aproximadamente un año tuve la dolorosa sensación de que el juego en el que trabajé tanto y que todos los que lo jugaban desaparecerían sin dejar rastros. Los puertos a otras plataformas me salvaron: en PC, en Mac, así como en consolas como Sega y Nintendo, que aparecieron en los próximos años. Esto salvó el juego, convirtiéndolo de un fiasco en un éxito. Y esto es precisamente lo que me mostró que agregar Shadow Man y las peleas fue la decisión correcta, porque en estas plataformas los problemas de memoria, tan críticos para Apple II, ya no existían.

La inspiración obtenida de las películas de acción y aventura resultó ser la fuente más importante que convirtió a Prince of Persia en lo que es. La popularidad de "Prince of Persia" en PC resultó ser suficiente para crear una secuela, "Prince of Persia 2: The Shadow and the Flame". Y en el momento del juego en 1993, ya teníamos una nueva generación de PC capaces de reproducir sonidos y música, así como mostrar gráficos en color. Sus capacidades superaron con creces lo que estaba disponible a fines de los años 80, y aprovechamos esto al agregar más enemigos, más personajes y enriquecer el medio ambiente. Enviamos al príncipe en un viaje alrededor del mundo, que lo llevó a la mazmorra y al castillo "Prince of Persia 1". Pero el juego fundamental, la fórmula de trampas, disparos, resolución de acertijos, batallas e investigación, estaba bastante cerca deque estuvo presente en "Prince of Persia 1". Desde la época del primer Príncipe de Persia, la tecnología ha avanzado, pero los problemas básicos del diseño del juego apenas han cambiado. Cuando hicimos un remake en 2003, "Prince of Persia: The Sands of Time", trabajamos con una generación de consolas mucho más tardía. El juego en la generación PlayStation 2, por primera vez, tenía gráficos en 3D, la capacidad de rebobinar el tiempo, el sonido, la música, todo lo que Apple II no podía permitirse, pero aún teníamos limitaciones. El primer borrador de The Sands of Time fue mucho más complejo, con todo tipo de intrigas políticas con diferentes facciones dentro del reino. Pero del juego terminado lo cortamos todo y dejamos una historia mucho más simple en la que todos en el reino se convirtieron en monstruos de arena. Y esta decisión hizo posible crear un juego,que está realmente sincronizado con lo que es posible hacer en el controlador, porque todo lo que encuentras son monstruos de arena. Entonces su elección es: acrobacias, lucha y escape, y esto se correspondía bien con lo que el jugador podía hacer, aunque todavía teníamos la oportunidad de implementar diálogos, animación facial y mucho más. Tener una gran lista de personajes alejaría al juego de sus fortalezas, es decir, al crear la trama del juego, debes planificar decisiones que enfaticen sus fortalezas, no sus debilidades.Tener una gran lista de personajes alejaría al juego de sus fortalezas, es decir, al crear la trama del juego, debes planificar decisiones que enfaticen sus fortalezas, no sus debilidades.Tener una lista grande de personajes alejaría al juego de sus fortalezas, es decir, al crear la trama del juego, debes planificar decisiones que enfaticen sus fortalezas, no sus debilidades.


Este año, el primer "Príncipe de Persia" tiene 30 años, y recuerdo mucho de lo que te dije hoy porque tenía una revista, así que en honor al 30 aniversario, lanzamos nuevamente estas revistas en forma del libro "Príncipe". de Persia ". Estas son las revistas que guardé durante la creación de los juegos, por lo que hay muchos altibajos, dudas y entusiasmo en ellas: "este juego será genial", "este juego será un desastre", pienso en cómo resolver problemas específicos. También ilustramos las revistas con capturas de pantalla del proceso de trabajo y bocetos, por lo que estaba muy interesado en este aniversario para volver en el tiempo y volver a mirar estas revistas, que pasé en los años 80 principalmente en lápiz sobre papel.

All Articles