Títulos C64 comprimidos con aPLib

PET, VIC-20, MAX Machine, 64, 64x, SX-64, 16, Plus/4, 128, 65 ...
BlackHole
Amiga 1200
Amiga 1200
Mensajes: 1330
Registrado: 07 Nov 2009, 11:38
Sistema Favorito: C64
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo SNES
Primera consola: Nintendo SNES
Ubicación: Madrid
Gracias dadas: 4 veces
Gracias recibidas: 140 veces

Re: Ejemplos con aPLib para C64

Mensajepor BlackHole » 08 Mar 2018, 15:50

Lo mismo me pasó el otro día en Parla, cuando preparé el Wizball el día anterior, que es un juego excelente con una música genial, pero que luego la gente no sabe lo que hay que hacer y se queda con una cara de circunstancias. En el Wizball hay que acumular armas para poder mantenerse en el aire y luego ir recolectando gotas de pintura en cada mundo para llenar el caldero con las mezclas adecuadas de color. El truco está en que hay que mover el joystick varias veces a izquierda y derecha para activar el arma, y eso mucha gente no lo sabe. Igualmente, si mantienes el disparo pulsado, mueves a la bola gato para coger mejor las gotas, mientras la principal puede ocultarse tras el horizonte para que no te den las balas.

En el Citadel, pues bueno, el objetivo es llegar al portal del cada ciudad, que es una casilla igual a la que empiezas. Para ello tienes que atravesar diversos obstáculos, como láseres que se desactivan en diversas trampillas, o incluso moverte por los ascensores entre los dos niveles de cada ciudad para llegar a zonas que están aisladas. Por el camino te encuentras con drones con diversos patrones de ataque: unos disparan en horizontal, otros en diagonal, unos están quietos, otros se mueven, hay trampillas que se destruyen al primer disparo, hay trampillas que siempre quedan abiertas y son una fuente continua de enemigos... luego hay ítem que te restauran toda la energía, otros que te la quitan a cambo de disparo rápido.

Antes de jugar, si dejas la música, te va describiendo cada elemento del juego, aunque muchos diseños son parecidos y te confundes. En ese momento también puedes pulsar F1 o F3 para elegir trampas normales o aleatorias, que pueden sacar drones más avanzados e inteligentes desde el primer momento. Solo para jugadores pro.

Hay acciones que no son inmediatamente evidentes, como que para desactivar los láseres o recargar la energía en las trampillas adecuadas, hay que hacer doble clic y suena un efecto en ese momento para saber que lo has hecho bien. Igualmente, si haces doble clic y después mantienes el disparo pulsado, se activa la opción de capturar un dron, que te sigue y puede actuar de escudo ante otros drones durante 5 toques. Especialmente útil, pero como dije, no es evidente cómo hacerlo.

Para terminar RUN-STOP (ESC en el emulador VICE) pausa el juego, y en ese estado la tecla Q sale al menú inicial.

Avatar de Usuario
marcos64
Amiga 1200
Amiga 1200
Mensajes: 1365
Registrado: 03 Sep 2011, 07:53
Gracias dadas: 48 veces
Gracias recibidas: 30 veces

Re: Ejemplos con aPLib para C64

Mensajepor marcos64 » 09 Mar 2018, 10:28

Me lei las instrucciones del Wizball hace un tiempo y, efectivamente, eso cambio las cosas. Antes, aunque siempre habia leido maravillas de el, me parecia injugable. Aun asi todavia no le he dedicado un tiempo a jugarlo a fondo.

El Citadel es un juego que me recuerda al Shadow Skimmer al que en su dia le dedique mucho tiempo pero no acabe de cogerle el truco. En general este tipo de juegos simplemente no me atraen, con la excepcion del Paradroid aunque este tiene mas diferencias.
http://marcos64.orgfree.com/
Actualizacion 11/6/2015: Añadida Load'N'Run numero 3.

BlackHole
Amiga 1200
Amiga 1200
Mensajes: 1330
Registrado: 07 Nov 2009, 11:38
Sistema Favorito: C64
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo SNES
Primera consola: Nintendo SNES
Ubicación: Madrid
Gracias dadas: 4 veces
Gracias recibidas: 140 veces

Títulos C64 comprimidos con aPLib: Sabre Wulf

Mensajepor BlackHole » 01 Oct 2019, 20:57

Como tenía ganas de aprovechar una nueva pantalla de carga diseñada por JonEgg en Septiembre de 2017, os presento hoy mi versión comprimida en 126 bloques del juego Sabre Wulf de la compañía Ultimate Play the Game. Aunque el juego se lanzó en ZX Spectrum en 1984, la conversión a Commodore 64 fue llevada a cabo en 1985 por Firebird, al igual que su secuela Underwurlde.

Esta versión es ligeramente más especial porque no estoy usando la librería oficial de aPLib distribuida por Jørgen Ibsen, sino una recreación del algoritmo programada en C# por Sven-Åke Dahl hace un par de años y que yo desconocía. Afortunadamente un hilo en CPC-Wiki me puso en la pista del ejecutable portado a Windows por el demoscener londinense de Spectrum introspec en Agosto 2019. Este nuevo compresor CAP.EXE genera datos descomprimibles por el aPLib oficial, pero curiosamente comprime un 2% más que el original, con lo que nos acercamos a los ratios de compresión ofrecidos por Exomizer y con la ventaja de que su descompresión es muchísimo más rápida.

Imagen
Sabre Wulf [BH][2019].d64.gz
C64 Sabre Wulf - Ultimate 1985
(32.31 KiB) Descargado 46 veces
Última edición por BlackHole el 20 Oct 2019, 14:13, editado 1 vez en total.

Avatar de Usuario
josepzin
Amiga 2500
Amiga 2500
Mensajes: 2932
Registrado: 12 Ene 2009, 14:36
Sistema Favorito: C64
primer_sistema: ZX81
Ubicación: Carthagonova
Gracias dadas: 4 veces
Gracias recibidas: 36 veces
Contactar:

Re: Ejemplos con aPLib para C64

Mensajepor josepzin » 01 Oct 2019, 21:41

Mola muchísimo esa pantalla! y si es por elegir, me quedo con esta versión :)

Por pedir, sería un puntazo si usted pudiera tocar el juego y quitar las opciones para pianistas sinvers, o sea que el juego funcione directamente con joystick y no con teclado como ahora, que además por más que eligo joystick no me reconoce ninguno de los dos puertos...

BlackHole
Amiga 1200
Amiga 1200
Mensajes: 1330
Registrado: 07 Nov 2009, 11:38
Sistema Favorito: C64
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo SNES
Primera consola: Nintendo SNES
Ubicación: Madrid
Gracias dadas: 4 veces
Gracias recibidas: 140 veces

Re: Ejemplos con aPLib para C64

Mensajepor BlackHole » 01 Oct 2019, 23:31

Hola josepzin, no me trates de usted, hombre. El juego funciona bien con joystick en el port 2, al menos en el emulador.
Intenta descargar un crack alternativo, y a las malas, un TAP de la cinta original, a ver si te hace lo mismo.

Avatar de Usuario
josepzin
Amiga 2500
Amiga 2500
Mensajes: 2932
Registrado: 12 Ene 2009, 14:36
Sistema Favorito: C64
primer_sistema: ZX81
Ubicación: Carthagonova
Gracias dadas: 4 veces
Gracias recibidas: 36 veces
Contactar:

Re: Ejemplos con aPLib para C64

Mensajepor josepzin » 02 Oct 2019, 01:09

Tenía el emulador descontrolado!! por eso no me reconocía el joystick :)

BlackHole
Amiga 1200
Amiga 1200
Mensajes: 1330
Registrado: 07 Nov 2009, 11:38
Sistema Favorito: C64
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo SNES
Primera consola: Nintendo SNES
Ubicación: Madrid
Gracias dadas: 4 veces
Gracias recibidas: 140 veces

Títulos C64 comprimidos con aPLib: The Staff of Karnath

Mensajepor BlackHole » 20 Oct 2019, 04:13

Hoy os presento el famoso e igualmente complicado juego The Staff of Karnath publicado por Ultimate en 1984 como título exclusivo para Commodore 64. Llevo las 2 últimas semanas trabajando en este empaquetado en mis tiempos libres. No incorpora nueva pantalla de carga ni opciones de entrenamiento, para conservar la pureza del original, pero esta producción tiene detrás una grandísima cantidad de trabajo que hace que me sienta especialmente satisfecho por los complicados logros conseguidos.

Las versiones originales en cinta y disco del juego, incorporan una presentación con música que precisa de la pulsación de F5 para abandonarla y seguir cargando. Lo curioso es que el código para detectar la tecla, usa llamadas a la ROM y está embebido dentro de la propia rutina de reproducción de la música. No utiliza interrupciones IRQ sincronizadas con el barrido de pantalla como es normal en el 99% de los juegos de Commodore 64, sino que la propia rutina incorpora abultados bucles de espera de hasta 8 frames completos. Además al llamar a la ROM para detectar las teclas, en vez de comprobar la matriz de teclado directamente en la CIA 6526, las pulsaciones provocaban adicionales retardos que ralentizaban la música. En definitiva, todo un despropósito.

La entrada en HVSC (High Voltage SID Collection) de la música del juego, estaba en una posición de memoria diferente a la original y seguía siendo un hack que alguien habría hecho. Por todo lo anterior, los relocalizadores tampoco funcionaban porque se volvían locos al encontrarse accesos a direcciones ROM y puertos I/O que no corresponden a música SID. Así que tuve que gastar una semana entera en analizar cómo estaba funcionando el reproductor, y reprogramarlo para que funcionase de la forma estándar: una rutina que inicializa la música, y otra rutina que se llama cada 1/50 de segundo con el barrido de pantalla.

Pasamos de un absurdo tiempo de barrido (raster) de entre 250 y 2500 líneas de pantalla, a una rutina que usa de media 1 sola línea y máximo 10 cuando cambia de nota. La nueva rutina se pudo ya relocalizar a otra posición. Conseguí ajustar los tiempos de retardo para que la pieza durase exactamente los 48 segundos que dura la original. Además, la rutina traía una opción de desvanecimiento (fade out) durante 5 segundos que conseguí replicar en mi código, incluso aproveché para recortarla porque me parecía demasiado larga.

El código del juego en sí también es bastante pintoresco, ocupa 61.5 KB y apenas deja huecos vacíos. Lo curioso es que, tal vez debido a que los compiladores nativos de la época dejasen poco espacio libre para programar, en el juego se están moviendo contínuamente grandes bloques de código y datos (casi 7 KB) cada vez que cambias de unas salas a otras, bien en otra planta, bien en la parte posterior del castillo. Lo lógico habría sido que existiese un código base inamovible y se fuesen utilizando diferentes datos de habitaciones y enemigos... pero sin embargo, aquí un trozo entero de código en curso se intercambia por otro completamente nuevo y el anterior pasa a un "almacén" de trozos de programa. Esto hace que exista muchísimo código similar -que no igual- que es aprovechado por el compresor para conseguir dejar todo en un 45% aunque no existan huecos libres.

La gran sorpresa que me he llevado, es que el nuevo CAP 1.2 ha conseguido en esta curiosa ristra de bytes, comprimir incluso más que el Exomizer 3.0.2 por 753 bytes, exactamente 28.135 contra 28.888, rutinas descompresoras aparte. Esto ha hecho posible que todo junto haya quedado en solo 132 bloques de disco, y descomprima en 3.984.770 ciclos en vez de los 6.063.537 del Exomizer. En definitiva, es la versión más corta de todas las disponibles hasta la fecha.

Imagen
The Staff of Karnath [BH][2019].d64.gz
C64 The Staff of Karnath - Ultimate 1984
(33.96 KiB) Descargado 42 veces
Última edición por BlackHole el 20 Oct 2019, 14:50, editado 1 vez en total.

Avatar de Usuario
josepzin
Amiga 2500
Amiga 2500
Mensajes: 2932
Registrado: 12 Ene 2009, 14:36
Sistema Favorito: C64
primer_sistema: ZX81
Ubicación: Carthagonova
Gracias dadas: 4 veces
Gracias recibidas: 36 veces
Contactar:

Re: Ejemplos comprimidos con aPLib para C64

Mensajepor josepzin » 20 Oct 2019, 12:17

IMPRESIONANTE... en serio, me encanta.

BlackHole
Amiga 1200
Amiga 1200
Mensajes: 1330
Registrado: 07 Nov 2009, 11:38
Sistema Favorito: C64
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo SNES
Primera consola: Nintendo SNES
Ubicación: Madrid
Gracias dadas: 4 veces
Gracias recibidas: 140 veces

Títulos C64 comprimidos con aPLib: DNA Warrior

Mensajepor BlackHole » 22 Oct 2019, 07:22

Hoy os presento uno de esos juegos que me apetecía hacer simplemente porque sí. Me refiero a DNA Warrior, publicado por Artronic en 1989. Hace un tiempo un conocido me comentó que ni había oído hablar ni de la compañía ni del juego, un shoot'em-up horizontal al estilo Salamander, y es posible que en su día no tuviese mucha repercusión en revistas del sector, pero la razón de haberlo elegido es porque creo que incorpora una de las músicas más alegres que he escuchado en esta plataforma. Fue compuesta por Tomas Petersen (Laxity) antes de integrarse en Maniacs of Noise al año siguiente.

Es un compositor que admiro profundamente, pues tiene numerosas piezas jazz, funky y groove utilizadas en juegos y demos. High Voltage SID Collection tiene catalogados 223 trabajos suyos, 7 de los cuales son de juegos. Sigue activo hoy en día creando melodías para demos de Bonzai y se ha encargado de la música del reciente Aviator Arcade II (todavía a la venta). Aunque no dediquéis mucho tiempo al juego, merece la pena solo por disfrutar de su banda sonora.

Imagen
DNA Warrior [BH][2019].d64.gz
C64 DNA Warrior - Artronic 1989
(36.41 KiB) Descargado 26 veces

BlackHole
Amiga 1200
Amiga 1200
Mensajes: 1330
Registrado: 07 Nov 2009, 11:38
Sistema Favorito: C64
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo SNES
Primera consola: Nintendo SNES
Ubicación: Madrid
Gracias dadas: 4 veces
Gracias recibidas: 140 veces

Títulos C64 comprimidos con aPLib: Zombie Calavera Prologue

Mensajepor BlackHole » 02 Nov 2019, 02:55

Estando en las fechas en las que estamos, me apetecía culminar un proyecto que llevaba algún tiempo pensando, y era darle una pequeña vuelta de tuerca al Zombie Calavera Prologue. Un juego que, como sabemos, fue creado por el grupo español The Mojon Twins en 2010 para ZX Spectrum, y que fue convertido al Commodore 64 en 2018 por Digital Monastery, la división de programación de juegos del equipo multinacional Hokuto Force. En particular el juego fue programado por el francés Majikeyric, con música del argentino Esteban "Uctumi" Palladino y gráficos por Na_th_an, el maestro mojono en persona.

Resulta que el juego distribuido por Digital Monastery tenía la pantalla original de Spectrum y a mí siempre me pareció que chirriaba un poco, porque la resolución del C64 es mayor (320x200) y quedaba mucho espacio desaprovechado, así que siempre tuve en mente la posibilidad de rehacerla. Como se acercaba Halloween, me puse manos a la obra con el Multipaint ayudado del Photoshop, e incorporé ciertos elementos del juego para rellenar un poco el hueco. Ya puestos, también me puse a dar un retoque al título del juego, corrigiendo a mi gusto los espaciados de las letras, e incorporando el logotipo de TMT. Solo puedo decir, que me pasé 3 días enteros cambiando pixels a mano.

También estuve varios días escuchando músicas, a ver si daba con alguna que quedase bien con la nueva pantalla de carga. La versión de cinta tiene la melodía de la película Halloween, de la que existen 25 versiones en SID, duran poco tiempo y además están muy oídas. Hasta que encontré una pieza llamada "Creepy Psychomix" compuesta por Hein Holt para una demo de 2004, que pensé que encajaba bien en el proyecto.

Quería haber lanzado este reempaquetado ayer, pero lamentablemente he sido víctima de un bug de la ROM de Commodore, que todo programador que se precie en esta plataforma, debería haber sabido evitar. Resulta que la rutina en FF8A que sirve para restaurar los vectores por defecto del sistema, tiene un conocido fallo de programación que corrompe 32 bytes entre FD30-FD4F en la RAM que está por debajo del Kernal. Y la intro que Digital Monastery pone delante del juego, hacía una llamada a FF8A en su rutina de limpieza, con la mala suerte que yo almacenaba datos comprimidos en la zona de memoria comprometida. Me he vuelto loco las últimas 24 horas preguntándome por qué fallaba mi código, hasta que por fin debugueando con el VICE he podido detectarlo.

En fin, aquí os presento mi versión, que como la descompresión está repartida en 3 fases, apenas se nota que lo está haciendo y ayuda a darle dinamismo. Como sé que éste es un juego IMPOSIBLE he mantenido algunas de las opciones del "cheat mode" original programado por Hokuto Force a las que podréis acceder pulsando la tecla ← de la esquina superior izquierda del teclado, mientras estáis en la pantalla de carga.

Imagen
Zombie Calavera [BH][2019].d64.gz
C64 Zombie Calavera Prologue - Digital Monastery 2018
(22.06 KiB) Descargado 12 veces


Volver a “Commodore”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 9 invitados