Grandes Juegos de LOKOsoft #20: Revisitando Phantomasa

En nuestro último capítulo de Juegos de LOKOsoft #19 le echamos un vistazo a la versión original de 1993 de Phantomasa, uno de los lanzamientos Silver de CEZGS de principios de este año. El Phantomasa 1 que todos conocéis no fue un lavado de cara del original de 1993, sino que fue reprogramado de cero. Antes de hacer esto, mientras trabajaba en la primera versión en Colt de Phantomasa 2 (la que ganó el concurso Libre 2006 organizado por Radastan en bytemaniacos), sí que le di un lavado de cara al código original de 1993, con la intención de sacarlo como curiosidad junto a la secuela.

¡Pongamos un poco de orden! Qué lío de versiones… A ver, la cosa fue así: En 1993 realicé mi último juego para Spectrum: Phantomasa. Este lo habéis visto comentado aquí. Mucho después, en 2004, me picó un día el gusanillo de la retroprogramación, descubrí el compilador Colt (¡qué pesadilla!) y empecé a programar un juego de Phantomas, por eso de “retomar” con algo que “se me diera bien“.

phantomas-saga.png

En 2005 entré en CEZGS. Acababa de empezar con z88dk+splib2 y tenía medio terminado el Moggy y ese juego en BASIC Colt de Phantomas. Moggy parecía mucho más “aparente“, así que me puse con él casi a full hasta que fue lanzado. Mientras tanto le iba dando retoques al Phantomas en Colt hasta que, poco antes de empezar con Infinity, decidí cambiar al Phantomas de ese juego de sexo y convertirlo en una secuela del viejo Phantomasa. De ese modo, Phantomasa sería quien me despidiera en 1993 del Spectrum y quien me diera la bienvenida diez años después. Yo soy muy tonto para estas cosas, y me gustó la idea.

La idea original era, pues, sacar ese “nuevoPhantomasa 2 y poner de regalo en la cara B el Phantomasa 1 de 1993, como una curiosidad. Como yo soy muy mijita, les comuniqué a mis compañeros que iba a lavarle un poco la cara a Phantomasa 1, cambiando los gráficos (para quitar tanto cuadradito de colores), compilarlo y eso. En una tarde tuve listo Phantomasa 1 v 2.0, que es el que os enseño dentro.

phantomasa-2-bytemaniacos.gif

Lo que pasó después fue que, con el tiempo, decidí presentar ese Phantomasa 2 al concurso de Radastan en vez de sacarlo directamente en CEZGS, luego reprogramé de cero el Phantomasa 1 poniéndole esa intro y outtro con imagenes en plan consolero y le di mucho el coñazo a Blackhole que me empaquetó todo en dos cargas (¡cuatro cargas en dos! ¡qué compresión! ¡qué crack!) obteniendo lo que tenéis ahora. Y luego me dio la picada y volví a programar de cero en C el Phantomasa 2, ya para CEZGS

Don erre que erre, lo que yo te diga :D Seguid leyendo y descubriréis uno de los “out-takes” de CEZGS :)

Leer más de esta entrada

Programación #4: Intercalando datos de sprites en z88dk+splib2

Sigo repasando temas que no quedan realmente claros en la documentación y con los que me tuve que enfrentar en tiempos a la hora de programar mis juegos. Hoy le toca el turno al intercalado de sprites en memoria. Si hemos usado alguna vez la splib2, sabremos que las columnas de los sprites se almacenan en memoria intercalando un byte de gráfico, uno de máscara. La cosa es que si vamos a usar los sprites con OR o XOR no necesitamos la máscara y estamos tirando un byte de memoria por cada byte de gráfico, lo cual no mola en absoluto teniendo tan poca memoria disponible.

sb-sprite2.jpg

El “truco” que me comentó Alvin Albrecht se basaba en intercalar las definiciones de sprites de forma que se ocupen los valores que suelen emplearse para almacenar una máscara guardando los datos gráficos de otra columna de otro sprite. El tema es realmente sencillo y trivial, pero antes hay que entender un poco cómo funciona el tema. Espero que este artículo os ayude a entenderlo al 100% de forma que podáis hacer uso de la técnica cuando no necesitéis máscaras.
Leer más de esta entrada

Programación #3: Mejorando el motor de plataformas BASIC y otras coserías.

Buenas. Tras el éxito demoledor de mi anterior entrada (de valor arqueológico demostrado, rescatando una parte perdida de la Historia de los Videojuegos como es una versión RC del Tomb Raider 2 para PSX y que prometí que investigaría pero que no he tenido tiempo ni de tocar), con ningún comentario, y una baja de visitas acojonante en la última semana (por mi culpa y no actualizar :P), me dispongo a seguir con el tema de la programación, que aunque también me resulte parco en cuanto a comentarios (y eso que se supone que se piden por vuestro bien), sé que al menos ayuda a algunos programadores anónimos. Como no he recibido ninguna indicación sobre el nivel, doy el empleado en el anterior artículo sobre BASIC como “bueno” y sigo en mi linea.

cat_licking.jpg

Como hablamos adelantamos el martes pasado, en el anterior artículo, hoy nos dedicaremos a pulir un poco el motor de plataformas BASIC símplemente añadiéndole soporte para pulsaciones simultáneas de teclas, lo que aumentará la jugabilidad muchísimos enteros. Sin más dilación, pasemos a hablar de los puertos de E/S.

Leer más de esta entrada

Tomb Raider 2 beta

screen004d.jpgEsto es para los coleccionistas y frikis de la serie como yo (que tengo los juegos hasta repetíos para varios sistemas). El otro día, en los foros más concurridos sobre la serie, descubrí a primera hora un mensaje de alguien que ponía enlaces para descarga directa del ISO de lo que decía que era una versión beta de Tomb Raider 2 para PSX. El post duró unos 10 minutos antes de ser eliminado y su usuario baneado (estos americanos, que se acojonan muy rápido), pero a mí me dio tiempo a pillármelo y a echarle un vistazo. La verdad, tuve una suerte de aúpa, ya que llego a tardar un poco más y me quedo sin saber siquiera que existe esta versión. Además, no suelo visitar este foro a primera hora de la mañana. El destino, amigos y amigas, el destino :D

Vale, este artículo no es interesante, pero es que no tengo nada más para poner hoy. Así que te aguantas y te lo lees sin rechistar. Joder, ya. :D

Leer más de esta entrada

Programación #2: Memoria dinámica en splib2

Hoy toca comentario. Tengo uno muy jugoso (amigos, ha aparecido una beta de Tomb Raider 2 para PSX ¡¡y yo la tengo!!), pero como no sé si tendré tiempo de elaborarlo, pongo esto que es más rápido y lo considero muy interesante para los que están usando z88dk+splib2 para hacer sus juegos.

9547418uz71.gif

Se trata de un tema que yo tuve que currarme un poco a cabezazos, entre la parca documentación y las explicaciones del propio Albrecht, y que resulta realmente indispensable para poder sacar el máximo partido a esta biblioteca: comprender cómo gestiona la memoria. 48K son pocos, y hay que aprovechar hasta el último byte. Comprendiendo qué estructuras maneja splib2 en memoria tendremos más herramientas para saber dónde colocar cosas para apretujar todo al máximo y que no tengamos problemas de ningún tipo. En próximos capítulos, explicaremos cómo usar la paginación para poder acceder a los 128K, pero para ello es muy importante tener claros los conceptos que vamos a explicar en este breve articulín.

Leer más de esta entrada

Programación #1: Motor de plataformas BASIC Spectrum

aphix.jpgComo dije ayer (por cierto, bajada histórica de visitas con “sólo” 135, ¿where are you? :D), voy a intentar tematizar un poco el blog por días de la semana. Los martes me dedicaré a la programación. Os hablaré de programación para micros retro o para PC en diversos lenguajes, según el tiempo que tenga para escribir (esto siempre lo hago en tiempo real, no tengo tiempo para prepararme el artículo y luego postearlo en condiciones) y lo que me apetezca.

Para empezar, y a colación del juego de ayer (Phantomasa), os voy a explicar cómo se hace un motor de plataformas sencillo como el que lleva este juego, programado en BASIC Spectrum y preparado para compilar con HiSoft BASIC. Todos los archivos que necesitemos los pongo siempre abajo en el ZIP total, así que no preocuparos que no os faltará de nada.

Como siempre, uno no sabe muy bien cómo está la gente de nivel, así que me he ido de un poco generalista. Si sabes algo de BASIC mejor, vamos, o si no ¿qué coño esperas? ¡que es muy fácil, parguelilla de pacotilla! ¡Buscador de entretelas! ¡Arremetedor de cojines! ¡Aprende BASIC ya, carajo!  Y pásatelo guay.

Leer más de esta entrada

Grandes Juegos de LOKOsoft #19: La historia de Phantomasa.

Muchas veces en este blog os he comentado que el tema de Phantomasa también venía de largo. Más de uno sabrá que, además, resultó ser mi último juego “serio” para Spectrum antes de pasarme al PC, allá por verano de 1993. Desde ese momento hasta finales de 1993 (cuando me compraron el 486) estuve más dedicado a mi música, algún que otro comic y al fanzine LOKOsoft (del que ya os hablaré cuando recupere mi escaner del armario), entre otras cosas. Pero antes quise despedirme bien del BASIC de Speccy con un juego gordo y rimbombante.

Aquella época, además, estaba siendo bastante hormonal (como es normal, con mi edad) para mi persona. Con 14 años sólo pensaba en tetas y culos (y retroinformática, aunque entonces no era retro), y, un poco animado por “la otra pantalla” de la sección de cachonrisa de Micromanía (¿cómo carajo se llamaba? ¡No consigo recordarlo!), me empecé a dedicar a “desnudar” a las heroínas de mis juegos preferidos usando la pantalla de carga y mi querido Supergráficos. Cuando se me acabaron todas las obvias (Phantis, Game Over, Nonamed, Tuareg, Sabrina, A.E., Athena, …) me puse a hacer lo propio con la pantalla de carga del Phantomas 2. Ahora es cuando dejo un minuto de silencio y permito que, quien quiera, vaya a echar el patito.

cherry1_.jpg

Sí, amigos. Además, les quiero tanto que obviaré ponerles el resultado, por temor a causar daños irreparables en sus cerebros o cambios repentinos de orientación sexual. Lo cierto es que, así, nació Phantomasa. Me hizo gracia el tema, y se me ocurrió ipso-facto la idea de que, por algún error en la fábrica de androides de Andrómeda (quien sabe si orquestado o no, eso lo dejo en el aire para no romper la intriga y poder seguir phantumakeando), de repente les salía un androide femenino. Así empezó todo: durante un par de semanas, después de comer, empecé a construir “a lo grande” lo que sería mi “juego definitivo”. ¿Te interesa saber más de esta primera versión? Ya sé que no, pero como no tienes nada mejor que hacer, sigue leyendo.

Leer más de esta entrada

Grandes juegos de LOKOsoft #18: Hoy, de risa.

Si, señores. Hoy, de risa. Ayer saqué el segundo pack de juegos, el que, aunque incompleto, está “bien” (la verdad es que esos gráficos hechos a base de trocitos de colores sólidos quedan muy bellos, me apunto la idea de reaprovechar el concepto en algo futuro, sobre todo ahora con el nuevo concurso BASIC de Bytemaniacos organizado por Radastan). Hoy, para que echemos unas risas, os voy a enseñar y a comentar profusamente el primero de esos packs de juegos. No pensaba hacerlo, pero ya que he encontrado la pantalla de carga y está completo, y contando con que os he enseñado más bodrios incunables, ¿por qué no?

class052.jpg

El tema de programar estos packs de juegos era realmente divertido porque podías “programar por echar el rato”, ya que cada juego era cuestión de media hora o algo así. Es como el que tiene su videojuego preferido y aparte su “videojuego ipso-facto” que le permite echar un vicio rápido cuando no tiene mucho tiempo.

En aquella época, y como os he mencionado cuando os hablaba de mi grupo, estaba enfrascado con mis colegas en la elaboración del disco Misión Imposamole, en grabar nuestra Radio 7:30 y acababa de terminar el verano en el que nuestro fanzine, LOKOsoft, había alcanzado su mayor éxito (con especiales de verano de 50 páginas super tochísimos). Vamos, que me quedaba poco tiempo que dedicarle en casa al Spectrum. Además, ya estaba un poco quemadete del BASIC (recordemos que yo no sabía ni lo que era un compilador) que parecía que ya poco más podría darme de sí (¡¡MENTIRA!! Hay que ver qué atrevida es la ignorancia). Con todo esto, lo único que me daba por producir (antes de tomar interés de nuevo y programar Phantomasa y Tundra) eran tonterías como esta.

Leer más de esta entrada

Grandes juegos de LOKOsoft #17: Arremangándose más de la cuenta, 1

Cuando uno se pone, catorce o quince años después, a buscar sus viejas cintas para intentar sacar lo máximo posible de su vieja producción de ellas, debe atenerse a lo peor. Entre que su conservación no ha sido la óptima (sin carátula, sin rebobinar, en altillos, con humedad y kilos de polvo), que yo en la época era un desastre con el tornillito de los cojones (azimut que le llaman los frikis – lo más gracioso es que ‘azimuth‘ no es más que un término matemático que representa el ángulo entre un punto y un plano, vamos, coordenadas polares), y que hay remixes tipo “tomate total” grabados en la mitad de ellas, milagroso es que haya podido recuperar ya 18 juegos (más otros tantos sin terminar o directamente inenseñables o no arreglados).

329376161_cebf33f153.jpg

Al final de mi época Spectrumera de principios de los 90, justo antes de hacer la primera versión de Phantomasa (que pronto os enseñaré), que resultó ser mi último juego para Spectrum, hice dos “packs de juegos” en el que reunía un montón de minijuegos en un mismo programa. El primero era realmente sencillo, con gráficos tipo “monoUDGs” (o sea, todo medía 8×8 píxels, sin juntar UDGs para hacer sprites o tiles mayores) y monocromo, hecho a lo rápido. El segundo me lo curré más. Tenía gráficos muy coloridos y juegos más complejos.

Lo tenía prácticamente perdido, hasta hace un par de semanas que encontré una vieja cinta en el altillo que se había caído de la caja donde estaban las demás, y por eso no la había visto cuando cogí las anteriores hace años. El problema es que esta cinta está hecha una auténtica mierda y sólo he podido rescatar algunos bloques y fragmentos de otros. Esta vez, la labor de “restauración” es casi de “recreación“. Y es en esta cinta donde se encontraba este segundo “pack de juegos”: PACKGMS2.

Leer más de esta entrada

Joyas para PSX: Apocalypse

En muchas ocasiones he escrito por los foros que soy un amante absoluto de la Playstation original, anteriormente conocida informalmente por “PSX” y ahora reconvertida en “PS1″ o “PSOne” o como quieran llamarle. Declaré mi amor para con la plataforma debido principalmente a dos aspectos clave: 1.- Su arquitectura es de una simplicidad bellísima y 2.- Tiene títulos en los que los programadores han exprimido hasta el último ciclo de reloj del procesador para obtener unos resultados a priori un poco difíciles de creer mirando a las (parcas) especificaciones técnicas de la máquina. En cierto modo, me recuerda mucho al Spectrum por su arquitectura deliciosamente sencilla, y sobre todo por el hecho de que, aunque se trata de la menos potente de su generación, fue la más aprovechada, la más exitosa, y la que más juegos tuvo.

Aunque siempre he jugado a algún que otro juego gracias al estupendo ePSXe, las pasadas navidades tuve la suerte de poder obtener mi propia PSX real, y además de las de primer cuño, de las que venían con un montón de puertos y chorreces, con lectores de más calidad y mejor construcción. Desde que la tuve comencé a hacer colección de juegazos para este sistema y he descubierto verdaderas joyas como la que os vengo a presentar hoy.

title.jpg

Leer más de esta entrada

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.