logotipo

img_google
Paxanga Soft - Msx Obsolete Game Developing
    'Msx' is a trademark of the MSX Association
  Oficial Web Site Games Projects Non MSX
  Ultima actualizacion: Ru's Gallery Friki Zone
  5 - Enero - 2006 More MSX Links Credits


 

CAVERNS OF TITAN
Caverns of Titan

 
 
Grupo/Autor > JL Tursan
Genero > Plataformas
RAM Minima > 16k
Formato > 16k ROM MSX1
Total ocupado version actual > $4000-$7F99
RAM utilizada version actual > $C000-$F1FA
Caracteristicas especiales > En equipos de la norma superiores al MSX1 hará uso de paletas de color redefinidas.
 
     
 

Comentarios de Jose Luis Tur:

El "Caverns of Titan" es producto de mi afición por los plataformas más clásicos, que desgraciadamente no abundan en la norma. No era sólo la escasez lo que me carcomía sino también la escasa calidad de los mismos; en ninguno de ellos la capacidad de los MSX había sido completamente aprovechada. Decidido a poner fin a esa situación me arme de valor y decidí hacer mi primer juego completo en ensamblador aprovechando la oportunidad que me brindaba el MSXDev'05, después de todo tenía un año por delante. ¡Iluso de mí!, es increible el trabajo que puede llevar un juego de estas características, si a eso le unimos mi natural incapacidad para planificar las cosas el resultado pudo ser un auténtico desastre.

El comienzo fue sencillo, quería un juego de unas 20 pantallas con el máximo colorido posible, eso me obligaba a usar no sólo sprites HW, sino también a usar sprites por software. Esto último es algo que, si mi mala memoria no me traicionaba, no se había hecho nunca aprovechando la alta resolución de color de SC2. Lo visto hasta ahora se reducía a aproximaciones de las técnicas usada en ordenadores inferiores como el spectrum. Originalmente mi objetivo inicial fue hacer una ROM de 8Kb, al poco tiempo me dí cuenta de que eso era prácticamente imposible y tuve que planificar de cara a los 16Kb; producto de esa política inicial de ahorro, es el sistema de empaquetado de las fases, algo extraño; pero que para este tipo de juegos me permitía exprimir hasta el último byte. Básicamente cada pantalla está compuesta por un conjunto de formas geométricas rectangulares apiladas que pueden estar rellenas por 1, 2 ó 4 caracteres diferentes que se repiten, con un patrón irregular, cubriendo toda el area. Cada una de esas formas consumía 4 bytes e incluía también los atributos que la caracterizaban (tipos de suelo, si estaba animada, si era mortal, puntuable, etc.). El formato era tan compacto y poco redundante que probé a comprimirlo por si podía rascar algunos bytes y el resultado fue que aumentaba de tamaño en vez de disminuir :P.
Aparentemente no podía quejarme, hasta que caí en la cuenta de que hacer un  diseñador de pantallas que optimizara como yo quería era tarea de locos y por tanto tuve que codificarlas yo a mano, bit a bit. Acabe recitando de memoria el significado de cada uno de los bits de cada uno de los bytes que componían un elemento de pantalla, un infierno, vamos. Una de las lecciones que he aprendido es que no hace falta perder tanto tiempo en estos detalles, si hace falta más memoria pues se coge y ya está.

Los gráficos fue posiblemente el tema que más cuidé en el juego, fruto de esto fueron los muchos cambios que llegue a realizar sobre los patrones que utilizaba. Este es uno de los primeros conjuntos sobre los que trabajé:

 
 



 
 

Desechado casi por completo....y este es el definitivo:

 
 



 
 
Está claro que tuve que separar la fuente para poder conseguir más espacio para el resto de carácteres. Por lo demás 64 carácteres resultaron más que suficientes para todo lo que tenía en mente.
Aquí debo de hacer un alto y darle las gracias a Jon Cortazar por su ayuda en lo que respecta a los carácteres 22, 23 y 24 ;) . Alguno de ellos íntegramente reutilizado y que me sirvieron como inspiración para la ambientación gráfica de las últimas fases del juego :). Aquí hago uso y abuso del carácter enredadera creado por Jon:
Nivel 16
 
   
 

También he de reconocer que el gracioso meneillo del que hace gala el personaje es el resultado de algún sabio consejo por parte de Jon.
Sin lugar a dudas la parte gráfica ha sido la más entretenida en la creación del juego. A veces el diseño de pantallas  también pudo llegar a resultar divertido (imaginando las caras de espanto de los que las jugaran :D ); pero fueron más los momentos de hastío.

La programación no representó un reto demasiado grande, no hay realmente nada revolucionario o supercalifragilísticamente síncrono: se hace uso abuntante de la BIOS, no uso interrupciones (bendito HALT) y el bucle principal es sencillo. Los sprites de software u objetos de movimiento vertical, son ni más ni menos que volcados sobre la tabla de patrones y de color en bruto, esto me facilita la tarea a la hora de conseguir que pasen por detrás de algunas plataformas ya que estas últimas se representan, en su casi totalidad, mediante carácteres en la tabla de nombres. El efecto multiplano es muy curioso. Para el borrado no es necesario hacer nada especial, ya que ellos mismos se borran al desplazarse gracias a que tienen una línea vacia tanto arriba como abajo. Otro truco curioso es el no tener vacia esta linea, a veces es interesante que el objeto no borre su rastro, por ejemplo las arañas que cuelgan (fase "Methane Frozen Fall").
Los sprites de HW están organizados para que cada objeto tenga tres colores o tres sprites diferentes, el truco para que parezca que hay hasta 6 sprites horizontales es evidente, no están alineados verticalmente de manera que dos de ellos sólo solapan sendas mitades, superior e inferior del sprite con el color "principal", La verdad es que da mucho juego, la única limitación es que sólo podrá existir un enemigo horizontal a la altura del personaje, nada grave.


De la rutina de música poco hay que decir ya que es de sobras conocida por todos, el PT3 player. Única alternativa viable por mi escasa capacidad musical y la inmensa base de recursos que ponía a mi disposición. Prueba de que el sonido es un tema en el que estaba (y sigo estando pez) es que la ROM presentada carecía de un sistema digno de SFX, problema recientemente solucionado gracias a la inestimable ayuda de WYZ.
Inestimable fue también el servicio prestado por el compresor BITBUSTER, que permitió comprimir 10858 bytes de gráficos y datos (y algo de código también) a tan sólo 5481 bytes. Si alguien consiguiese mejorar el grado de compresión, cosa que dudo, o reducir el descompresor se convertiría inmediatmente en benefactor de la humanidad :).


Estoy bastante satisfecho del conjunto, posiblemente cambiaría pocas cosas. Quizá reduciría algo la dificultad; pero no de las primeras fases, sino de las últimas, que yo mismo reconozco que son sólo para aficionados "hardcore" del género. Algúna que otra animación no ha resultado todo lo fluida que a mi me habría gustado en un principio y poca cosa más; también se me ocurre que si tuviese entre mis manos un editor de pantallas como Dios manda, prepapararía posiblemente una versión extendida con más fases; pero no, este tipo de juegos no se caracteriza por el gran número de pantallas (no así los de la familia del "Jet Set Willy", que es la evolución natural del Caverns ;) ), si no por tener pocas y complicadas (arderé en el infierno por esto).

Y ahora algunos trucos para los que jugando en el MSX, tiren la toalla y decidan que ya han acabado con el juego para el resto de sus vidas...

Vida extra : Pulsa "JEDI" durante más de dos segundos...
Congela a los enemigos : Pulsa "ICED" durante más de dos segundos...¡ojo!, que su contacto sigue siendo mortal.
Pasa de fase : Pulsa "CHIEF" durante más de dos segundos...

¡Nos vemos en el MSXDev'06!

José Luis Tur Santolaria (quemándose en el infierno de los malos programadores).
[ Nota del Kun: No estoy de acuerdo con esta ultima frase :) ]

 


   
Made by Dochi KUN
* Paxanga Soft 2006 *  
Paxanga Soft