BLASTO para MSX

dancresp
Mensajes: 5332
Registrado: 13 Nov 2010 02:08
Agradecido : 142 veces
Agradecimiento recibido: 274 veces

BLASTO para MSX

Mensajepor dancresp » 04 Ene 2014 19:57

Blasto_1.gif
Blasto_1.gif (42.14 KiB) Visto 2453 veces


EL JUEGO
Este videojuego para sistemas arcade fue desarrollado en 1977 por la empresa Gremlyn.

El objetivo del juego consiste en destruir todas las minas del campo minado antes de que acabe el tiempo. Para ello disponemos de una nave que podemos mover por las zonas vacías de la pantalla, y que pueden destruir todo lo que hay en ella. Hay que ir con cuidado porque al explotar las minas destruyen lo que hay a su alrededor.

Si conseguimos nuestro objetivo conseguiremos una partida gratis.

Controles:
Utiliza el joystick o los cursores para controlar la boca.
Pulsa el disparador/espacio para disparar.

Descargar el juego en formato WAV:
http://www.scainetsoft.com/download/software/blasto_wav.rar

Descargar el juego en formato CAS, para cargar con CLOAD: (Nuevamente gentileza de xgipe)
BLASTO.rar
(1.81 KiB) Descargado 104 veces


Blastos.jpg


BLOQUES
Se ha dividido el listado en 10 bloques:

- Declaración de las matrices. Llamada a rutinas principales.
- Control de la nave.
- Control del disparo.
- Final de la partida.
- El disparo ha impactado con algo.
- Destruir una mina.
- Perder una vida.
- Presentación e inicio de la partida.
- Rutinas varias.
- DATA con los UDG del juego y el diseño de la zona de juego.


COMO FUNCIONA
Todo el programa ocupa 73 líneas.

A continuación indico el principio de las distintas partes del programa:

10 - Definimos las matrices del juego.
50 – Salto a la subrutina que lee los gráficos, redefine los caracteres y define variables globales y modo de vídeo.
100 – Si no se pulsa el disparador se mira si se ha de mover la nave en una dirección.
140 – Si hay alguna mina pendiente de explotar se va a la rutina correspondiente 350.
150 – Control del disparo.
190 – Se controla la velocidad del juego y se reduce el tiempo disponible para finalizar la partida.
200 – Si queda tiempo vuelve a 100.
205 – Final de partida donde se controla si se ha superado el récord y si se han destruido todas las minas.
300 – Control de que ha tocado el disparo.
350 – Rutina que controla la destrucción de minas en cadena.
400 – Una mina ha explotado cerca y nuestra nave se destruye.
2000 – Pantalla inicial del juego.
2100 – Espera a que seleccionemos el control (J) mientras controla la animación de los enemigos.
2500 – Inicializar variables para la partida y rutina que coloca las minas.
2600 – Posición inicial de nuestra nave.
2700 – Rutina que muestra el laberinto de puntos en pantalla, sin las minas.
3000 – Seleccionamos el modo de video, ocultamos teclas de función.
3010 – Lectura de los DATA de los UDG y de la zona de juego.
5000 – Rutina de vuelta al editor BASIC. Recupera los valores por defecto.
5100 – Rutina que muestra el marcador de puntos.
5200 – Rutina que espera que pulsemos disparo en el controlador que hemos seleccionado.
5300 – Rutina de PAUSA. Valor en (I).
5400 – Rutina que muestra el mensaje de fin de partida o partida gratis.
9000 – DATA con los gráficos de los UDG.
9100 – DATA con las distintas filas que forman la zona de juego.


EL LISTADO
listado.jpg


APUNTES FINALES
El 6 de enero del 2014 hará 25 años que conseguí mi primer MSX, un SONY HB-20P.
Y para celebrar el aniversario que mejor que desarrollar algún juego con él.

Para la ocasión he decidido adaptar un juego corto y sencillo pero con el que es fácil picarse. Eso lo hace muy adictivo.

Principales descartes respecto al original:
- El juego original permite 2 jugadores simultáneos.
- La pantalla tiene 28 filas y aquí solo 22.
- En el juego original hay 84 minas y aquí 64, ya que la zona de juego es más pequeña.

Por el resto, la mecánica del juego se ha respetado en su totalidad.

En un principio contemplé la posibilidad de hacer el juego para dos jugadores, pero dudando por el rendimiento lo dejé para un único jugador.

El juego
Esta versión funciona tan rápido como el original. Para ello he accedido directamente a la memoria de video mediante VPOKE, y he tenido que frenar la velocidad con el uso de la variable de sistema TIME.

Reacción en cadena
El juego es técnicamente muy sencillo y la única dificultad ha consistido en saber como resolver el problema de las explosiones de minas en cadena, ya que fácilmente pueden haber 2 o más minas juntas. Para ello he creado una matriz de 68 elementos (uno por mina) con dos punteros: “M“ y “N”.

Cuando nuestro disparo detecta que hemos tocado una mina incrementa el puntero “N”, guarda su posición en la matriz y la borra de la pantalla. A continuación se revisan las posiciones que hay alrededor. Cada vez que se encuentra otra mina se realiza la misma acción.

En la línea 140 miramos si el puntero “M” es inferior a “N” y si es cierto, vamos a la rutina que las hace explotar, incrementando el puntero “M”.

Pues nada más, solo me queda esperar que os guste.

Os invito a probarlo.

equipo.jpg

DSC_0111.jpg

DSC_0113.jpg

DSC_0114.jpg

DSC_0115.jpg

DSC_0116.jpg

Avatar de Usuario
ron
Mensajes: 18639
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1453 veces
Agradecimiento recibido: 1446 veces

Re: BLASTO para MSX

Mensajepor ron » 04 Ene 2014 20:56

Dancresp, retro retro, con LOOK retro

Si parece de un dinosaurio de los 70, te ha quedado perfecto, si lo que pretendías era eso, lo has conseguido.

Gracias, es un detallazo. Habrá que probarlo eh ? , joer se me acumulan las cosas, nunca pensé que RW tuviera tanto tanto que ofrecer... xD

dancresp
Mensajes: 5332
Registrado: 13 Nov 2010 02:08
Agradecido : 142 veces
Agradecimiento recibido: 274 veces

Re: BLASTO para MSX

Mensajepor dancresp » 04 Ene 2014 21:53

ron escribió:Dancresp, retro retro, con LOOK retro

Si parece de un dinosaurio de los 70, te ha quedado perfecto, si lo que pretendías era eso, lo has conseguido.

Gracias, es un detallazo. Habrá que probarlo eh ? , joer se me acumulan las cosas, nunca pensé que RW tuviera tanto tanto que ofrecer... xD

Pues eso pretendía, un juego retro retro de verdad con gráficos idénticos al original (no es difícil) y la verdad es que esas partiditas de 90 segundos pican pero que mucho, porque no es fácil.

xgipe

Re: BLASTO para MSX

Mensajepor xgipe » 04 Ene 2014 23:47

Puessss...

tengo un CAS para vosotros :)

BLASTO.rar
(1.81 KiB) Descargado 94 veces


Saludos,
Xgipe

dancresp
Mensajes: 5332
Registrado: 13 Nov 2010 02:08
Agradecido : 142 veces
Agradecimiento recibido: 274 veces

Re: BLASTO para MSX

Mensajepor dancresp » 05 Ene 2014 00:02

xgipe escribió:Puessss...

tengo un CAS para vosotros :)

Xgipe

Pues añadido en el post principal y subido screenshot tomado del emulador.

Gracias !!!

jojo073

Re: BLASTO para MSX

Mensajepor jojo073 » 05 Ene 2014 01:15

Fantástico trabajo, estaría bien poder publicar el código en la próxima retrowiki y así que la gente que quisiera lo picara o bien darle una dirección donde descargarlo. con su pertinente articulillo.

saludos

dancresp
Mensajes: 5332
Registrado: 13 Nov 2010 02:08
Agradecido : 142 veces
Agradecimiento recibido: 274 veces

Re: BLASTO para MSX

Mensajepor dancresp » 10 Ene 2014 00:41

jojo073 escribió:Fantástico trabajo, estaría bien poder publicar el código en la próxima retrowiki y así que la gente que quisiera lo picara o bien darle una dirección donde descargarlo. con su pertinente articulillo.

saludos

Ya sabéis que por mi parte encantado. :-)

jojo073

Re: BLASTO para MSX

Mensajepor jojo073 » 10 Ene 2014 09:31

dancresp escribió:
jojo073 escribió:Fantástico trabajo, estaría bien poder publicar el código en la próxima retrowiki y así que la gente que quisiera lo picara o bien darle una dirección donde descargarlo. con su pertinente articulillo.

saludos

Ya sabéis que por mi parte encantado. :-)


muchas gracias...
¿El listado lo tienes en txt? ¿como podría obtenerlo?

salud

xgipe

Re: BLASTO para MSX

Mensajepor xgipe » 10 Ene 2014 11:29

¿El listado lo tienes en txt? ¿como podría obtenerlo?

salud


El listado en TXT te lo adjunto aquí mismo...
Blasto_txt.rar
(1.65 KiB) Descargado 92 veces


Saludos,
Xgipe

xgipe

Re: BLASTO para MSX

Mensajepor xgipe » 10 Ene 2014 11:57

En aras de la legibilidad he preparado un listado "Printer Friendly" insertando algunos espacios que mejoran la localización de los comandos en el texto...
Blasto_print.rar
(1.66 KiB) Descargado 91 veces


(de nada) -grin

dancresp
Mensajes: 5332
Registrado: 13 Nov 2010 02:08
Agradecido : 142 veces
Agradecimiento recibido: 274 veces

Re: BLASTO para MSX

Mensajepor dancresp » 10 Ene 2014 12:33

Se me ha adelantado xavi. Gracias.
-drinks

Ya nos contarás con que herramientas haces todas estas cosas del MSX (WAV to CAS, listados "friendly", etc)...

-m3s3x

Avatar de Usuario
ron
Mensajes: 18639
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1453 veces
Agradecimiento recibido: 1446 veces

Re: BLASTO para MSX

Mensajepor ron » 10 Ene 2014 15:37

Cuidadín porque en el código de scainet soft está oculto entre sus líneas el virus de la alegría , de los programas en Basic del dos mil catorce, de la programación sencilla y bonita y este os dejará con muchas ganas de más !!!

Joder, todos estos programas los he ejecutado tanto en máquina real como en emulador y todo dios debería hacerlo.

xgipe

Re: BLASTO para MSX

Mensajepor xgipe » 10 Ene 2014 17:35

dancresp escribió:Se me ha adelantado xavi. Gracias.
-drinks


De nada :)

dancresp escribió:Ya nos contarás con que herramientas haces todas estas cosas del MSX (WAV to CAS, listados "friendly", etc)...

-m3s3x


Básicamente uso el OpenMSX, puesto que permite la carga de archivos WAV o audio directo como si de cassettes auténticos se tratara; de hecho (cuando tengo algo de tiempo) voy trasteando con el reproductor conectado al PC para preservar algunas cintas MIA originales gracias a esta utilidad. Por otra parte, me creo un disco DSK en blanco con el DiskManager o un CAS vacío con el Taper para volver a grabar el programa desde el emulador. En esta fase también suelo usar el RuMSX por la comodidad de manejo y creación de archivos CAS... Para extraer un listado en BASIC a un archivo de texto lo guardo en un CAS mediante la opción SAVE"ARCHIVO.BAS",A y obtengo una "grabación" digital en ASCII fácilmente recuperable desde el susodicho Taper... basta un copypaste en un archivo de Notepad para obtener un TXT. -wacko2
En la próxima RetroVilo puedo traerme el portátil y os hago un pequeño taller en vivo...

Saludos
Xgipe

Avatar de Usuario
ron
Mensajes: 18639
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1453 veces
Agradecimiento recibido: 1446 veces

Re: BLASTO para MSX

Mensajepor ron » 10 Ene 2014 17:41

Ese "tuto" da para un hilo de los de flipar y para un video posterior a realizar en vivo. Ánimo !!!!

xgipe

Re: BLASTO para MSX

Mensajepor xgipe » 10 Ene 2014 18:10

El problema que tiene, desde mi punto de vista, el mundo de la emulación/preservación del sistema MSX es la carencia de herramientas sólidas para la creación y manipulación de archivos en formato CAS... supongo que el escaso "prestigio" que tienen las producciones en cinta para MSX en comparación a sus hermanas en ROM ha despertado poco interés a la hora de desarrollar mejores utilidades... y algunas de ellas son difíciles de localizar hoy en día, como es el caso del MSXCas2Files o el propio Taper. Sólo hay que darse un paseo por WoS para deleitarse con las múltiples herramientas disponibles para la manipulación de archivos en cinta TAP/TZX/Z80/WAV de las que el MSX carece. Esto me obliga a usar algunos "workarounds" poco ortodoxos que implican desde el uso (a veces) de mi NMS8280 como herramienta de traspaso de información hasta los pasos descritos en el post anterior.
De todos modos, reconozco que me encanta este toque "artesanal" que rezuma... -grin

jojo073

Re: BLASTO para MSX

Mensajepor jojo073 » 10 Ene 2014 18:20

Gracias a todos, ya esta montado para la revista número 8
saludos


Volver a “Lenguajes de Programación y herramientas Dev”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado