COMMODORE PLUS/4 WORLD
  Home  Search  Games  Tapes  Covers  Cheats  Maps  Software  New Stuff 
 Hall Of Fame  HVTC  Game Endings  Solutions  Remakes  Publications  Magazines  Effects  Top List 
 Members  Groups  Features  Plus/4 Encyclopedia  Hardware  Tools  Options  Forum 
Login
Blasto
Title:Blasto
Category:Game/Action
Release Date:
Language:English
Size:16K
Machine:PAL & NTSC
Code Type:Basic
Distribution:Freeware
Game ending type:(n/a)
Created by:C., Daniel (dancresp)
Notes: 
  Download:
Download from Plus/4 World
Plus/4 World
Download from Othersi.de
Othersi.de
  External links:
    Coin-op
    MSX release
    Oric release

No votes yet.
Blasto Title Screenshot

Blasto Screenshot


Appeared On Compilations
Club Info 145


Description (Spanish)
EL JUEGO
Este videojuego para sistemas arcade fue desarrollado en 1977 por la empresa Gremlin.

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 las teclas Q-A-O-P para controlar la nave.
Pulsa "Espacio" para disparar.



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 nave.
- 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 91 líneas.

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 – Mover la nave.
140 – Si hay alguna mina pendiente de explotar se va a la rutina correspondiente 350.
150 – Control del disparo.
190 – 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 – Controla si el disparo ha tocado algo.
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.
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 – Se ajustan los colores, el volumen del sonido y indicamos la línea a saltar si hay un error en el programa.
3005 - Texto inicial con las instrucciones del juego.
3010 - Lectura de los DATA con el código máquina que permite redefinir los caracteres.
3015 – 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.
5300 – Rutina de PAUSA. Valor en (I).
5400 – Rutina que muestra el mensaje de fin de partida o partida gratis.
8000 - DATA con el código máquina que permite redefinir los caracteres.
9000 – DATA con los gráficos de los UDG y con las distintas filas que forman la zona de juego.




APUNTES FINALES
Esta es la tercera versión que programo de este juego, después de las versiones de MSX y ORIC-1.

El código BASIC es una copia casi idéntica de la versión MSX, al que le he tenido que ajustar el puntero a la memoria de vídeo. Posteriormente he tenido que realizar algún cambio ya que detecté, después de volverme loco, que al anidar un IF en una misma línea, el ELSE reacciona de forma distinta. Por otra parte, al modificar el RAMTOP me destruía el tamaño de la matriz "L" y la dejaba en 10 elementos, obligándome a moverla a la línea 90. Con el cambio de los LOCATE/PRINT por CHAR, y la lectura del teclado, el juego funcionó bien.

Para conseguir una velocidad igual a la del juego original he accedido directamente a la memoria de video mediante POKE.

Principales descartes respecto al juego original:
- El juego original permite 2 jugadores simultáneos.
- La pantalla tiene 28 filas y 32 columnas, pero aquí solo 24 filas y 32 columnas.
- 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.

Reacción en cadena
El juego es técnicamente muy sencillo y la única dificultad, resuelta en la versión MSX, consiste 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 se ha 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”.


El juego ha sido programado en un Plus/4 real y la imagen del disquete se ha pasado a PC mediante un interface 1541-III.

Os invito a probarlo.

Copyright © Plus/4 World Team, 2001-2017