STAR WARS - The Empire Strikes Back - MSX

Foro dedicado a la programación en todo tipo de sistemas clásicos.
dancresp
Amiga 1200
Amiga 1200
Mensajes: 1393
Registrado: 23 Dic 2008, 17:53
Sistema Favorito: MSX
primer_sistema: ZX81
Primera consola: Atari 2600
Gracias dadas: 3 veces
Gracias recibidas: 20 veces

STAR WARS - The Empire Strikes Back - MSX

Mensajepor dancresp » 25 Feb 2013, 11:12

STARWARS_0000.png
STARWARS_0000.png (4.07 KiB) Visto 10425 veces


EL JUEGO
Editado en 1982 por Parker Brothers para el sistema ATARI 2600, The Empire Strikes Back fue el primer videojuego licenciado de la saga STAR WARS.

La acción se desarrolla en el planeta helado Hoth, y el objetivo es evitar que los AT-AT lleguen a la zona donde está el generador de energía de la base rebelde. Para ello, debemos pilotar nuestro SnowSpeeder y disparar en la parte superior de los AT-AT para destruirlos después de cierto número de impactos.

Pulsa disparo en la pantalla de presentación para seleccionar el controlador.

Pulsa adelante/atrás para acelerar, frenar o cambiar la dirección de nuestra nave.
Pulsa el botón de fuego para disparar.


Por gentileza de xgipe (gràcies Xavi) os podéis descargar el CAS para usarlo desde emulador.

Descargar el juego:
StarWars - CAS
StarWars - WAV

(En ambos casos, cargar con CLOAD)


BLOQUES
Se ha dividido el listado en 12 bloques:
- Declaración de las matrices e inicializar las principales variables. Llamada a rutinas principales.
- Controlar nuestra nave.
- Control de nuestro disparo.
- Mover el escenario.
- Control de los AT-AT y su disparo.
- Impacto en un AT-AT.
- Perder una vida.
- Rutinas varias.
- Pantalla de Presentación.
- Imprimir la zona de juego.
- Leer los SPRITES e inicializar variables.
- DATA con los gráficos del juego.


COMO FUNCIONA
Todo el programa ocupa 104 líneas.

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

10 - Definimos las matrices del juego.
20 – Leemos los gráficos y variables, y activamos el CTRL+STOP para salir del juego y volver al BASIC.
50 – Inicializamos puntos (P), vidas (N), frecuencia disparo AT-AT (DD) y velocidad AT-AT (DP). Vamos a la presentación.
100 – Consultamos el mando seleccionado y movemos la nave en la dirección indicada y ajustamos velocidad según el caso.
200 – Si disparamos ponemos el disparo en pantalla y inicializamos las variables. Sino, saltamos a 250.
210 – Mueve el disparo y mira si ha llegado a algún extremo de la pantalla, actuando en consecuencia.
230 – Si hay un AT-AT en pantalla (A<>0) mira si ha impactado en él.
250 – Para tener sensación de velocidad, movemos los dos SPRITES que simulan el horizonte en la zona baja del escenario.
300 – Bucle que revisa si hay algún AT-AT en el radar. Si lo hay guarda el número en (A).
310 – Si no hay AT-AT (A=0) pregunta si lo había (B<>0) y en caso afirmativo oculta los SPRITES del AT-AT y salta a 350.
320 – Si llega aquí es que hay un AT-AT en la zona del radar. Esta línea lo visualiza en la posición horizontal correspondiente.
330 – Si antes no había un AT-AT, lo sitúa en la posición vertical y con el color correspondientes.
350 – Si el AT-AT no ha disparado salta a 390, sino mueve el disparo y comprueba no haya llegado al extremo de la pantalla.
360 – Visualiza el disparo del AT-AT y comprueba si ha tocado a nuestra nave.
390 – Guardamos en (B) el número de AT-AT activo en este momento, como control en la próxima pasada.
395 – Con (M) controlamos que acción hace el AT-AT. Si es 1,2 ó 3 mueve el AT-AT correspondiente, actualiza su posición en el radar y comprueba que no haya llegado al extremo derecho del radar, que finaliza la partida.
400 – Si (M=4) cambiamos la animación de las patas del AT-AT.
410 – Si (M=5) decidimos si el AT-AT dispara. Se genera un número aleatoriamente que debe ser mayor que (DD).
420 – Calculamos la dirección del disparo del AT-AT y ponemos su SPRITE en pantalla.
500 – Contador de impactos en el AT-AT que hay en pantalla. Si es inferior a 47 no pasa nada.
510 – Puntuamos según distancia (más a la izquierda, más puntos) y los mostramos.
520 – Bloque que se encarga de cambiar el color del AT-AT simulando su explosión mientras calcula la posición del último AT-AT para calcular la nueva posición del AT-AT.
560 – Se modifica la frecuencia de disparo del AT-AT (DD) y su velocidad (DP).
600 – Bloque de perdida de una vida, haciendo que la nave caiga contra el suelo y volviendo al ataque si nos quedan vidas.
3000 – Rutina que comprueba que disparados hemos pulsado devolviendo el valor en (J).
3100 – Rutina que oculta todos los SPRITES que se usan en el juego. Pone su coordenada vertical a 209.
3200 – Rutina de pausa. Pasar el valor en (I).
3300 – Cambia el color de los 4 SPRITES que forman el AT-AT según el color indicado en (F).
4000 – Bloque de la pantalla de presentación. Borra la pantalla, sitúa el cursor en la línea inferior y se encarga de hacer aparecer el texto mientras se controla que no se pulse ningún disparo (Espacio o Joysticks).
5000 – Borra la pantalla de presentación y muestra la zona de juego: horizonte y radar inferior.
5050 – Calcula la posición inicial de los 3 AT-AT, y la muestra en el radar.
5500 – Esta parte pone la nave en la posición inicial y oculta a los AT-AT y su disparo. Pone el horizonte en su posición.
6000 – Entra en modo SCREEN 1, activa los SPRITES de 16x16 a doble tamaño y los colores de fondo y borde.
6010 – Lee los datos de los SPRITES de las líneas DATA.
6020 – Redefine ciertos caracteres como bloques para poder jugar con los distintos colores del escenario.
6030 – Cambia el color de ciertos grupos de caracteres.
6035 – Redefine un carácter con el dibujo de la nave en pequeño.
6040 – Bloque que contiene el texto de la presentación.
6090 – Inicializamos el sonido.
6100 – Guardamos en (AC) la secuencia de colores según el estado de un AT-AT.
8000 – Código que se ejecuta al pulsar CTRL+STOP y nos devuelve al BASIC con los colores por defecto del MSX.
9000 – Líneas DATA que contienen los SPRITES.
9100 – Línea DATA con el gráfico de la nave que indica las vidas que quedan.
9110 – Línea DATA con la secuencia de colores del estado del AT-AT.


EL LISTADO

Código: Seleccionar todo

10 DIM AX%(3),AI%(3),AC%(48),T$(22)
30 GOSUB 6000:STOP ON:ON STOP GOSUB 8000
50 P%=0:N%=3:DD=.75:DP%=2:GOSUB 4000

    ' Mover el SnowSpeeder
100 ON STICK(J%) GOSUB 110,120,130,140,150,160,170,180:GOTO 200
110 IF Y%>16 THEN Y%=Y%-6:VPOKE 6912,Y%:RETURN ELSE RETURN
120 GOSUB 110
130 IF X%<192 THEN X%=X%+8:VPOKE 6913,X%:D%=ABS(X%>160):VPOKE 6914,D%*4
135 IF D%=0 THEN V%=(160-X%)/4:RETURN ELSE V%=(X%-160)/2:RETURN
140 GOSUB 150:GOTO 130
150 IF Y%<112 THEN Y%=Y%+6:VPOKE 6912,Y%:RETURN ELSE RETURN
160 GOSUB 150
170 IF X%>96 THEN X%=X%-8:VPOKE 6913,X%:D%=ABS(X%>160):VPOKE 6914,D%*4
175 IF D%=0 THEN V%=(160-X%)/4:RETURN ELSE V%=(X%-160)/2:RETURN
180 GOSUB 110:GOTO 170

    ' Disparo del SnowSpeeder
200 IF S%=0THENIFSTRIG(J%)=0THEN250ELSESY%=Y%:SX%=X%-8:VPOKE 6961,SX%:VPOKE 6960,SY%:SOUND12,20:SOUND13,9:IFD%THENS%=24ELSES%=-24
210 SX%=SX%+S%:IF SX%<0 OR SX%>248 THEN S%=0:VPOKE 6960,209:GOTO 250 ELSE VPOKE 6961,SX%
230 IF A% THEN IF ABS(SY%-69)<10 THEN IF ABS((AX%(A%)-H%)+16-SX%)<16 THEN GOSUB 500

    ' Movemos escenario para dar sensación de velocidad
250 IF D%=0 THEN H%=H%-V%:R1%=R1%+V%:IF H%<0 THEN H%=1260
260 IF D% THEN H%=H%+V%:R1%=R1%-V%:IF H%>1260 THEN H%=0
270 IF R1%>127 THEN R1%=R1%-128 ELSE IF R1%<0 THEN R1%=R1%+128
280 VPOKE 6937,R1%:VPOKE 6941,R1%+128:VPOKE 6957,H%/8+34

    ' ¿ Mostrar algún AT-AT ?
300 FOR A%=3 TO 1 STEP -1:IF ABS(H%-AX%(A%)+110)>110 THEN NEXT
310 IF A%=0 THEN IF B% THEN VPOKE 6916,209:VPOKE 6920,209:VPOKE 6924,209:VPOKE 6928,209:GOTO 350 ELSE 350
320 I%=AX%(A%)-H%:VPOKE 6917,I%:VPOKE 6921,I%+32:VPOKE 6925,I%:VPOKE 6929,I%+32
330 IF B%=0 THEN F%=AC%(AI%(A%)):GOSUB 3300:VPOKE 6916,51:VPOKE 6920,51:VPOKE 6924,83:VPOKE 6928,83
    ' Disparo del AT-AT
350 IF Q%=0 THEN 390 ELSE QX%=QX%+Q%:IF ABS(H%-QX%+110)>110 THEN Q%=0:VPOKE 6932,209:GOTO 390
360 VPOKE 6933,QX%-H%:IF ABS(Y%-QY%)<4 THEN IF ABS(X%-(QX%-H%))<16 THEN 600
390 B%=A%:M%=M%+1
    ' Control AT-AT: 1,2,3=Mover AT-AT (395), 4=Animación patas (400), 5=¿AT-AT dispara? (410-420)
395 IFM%<4THENF%=AX%(M%):AX%(M%)=F%+DP%:IFF%<48THEN100ELSEVPOKE6941+M%*4,F%/8+32:IFF%<1388THEN100ELSEN%=1:GOTO600
400 IF M%=4 THEN L%=NOT L%:F%=L%*4:VPOKE 6926,31+F%:VPOKE 6930,39+F%:IF A%=0 OR Q%<>0 THEN M%=0:GOTO 100 ELSE 100
410 M%=0:IF RND(1)<DD THEN 100
420 QX%=AX%(A%)+8:QY%=INT(RND(1)*4)*6+60:Q%=SGN(X%-I%)*24:PUT SPRITE 5,(QX%-H%,QY%),1,2:SOUND 12,30:SOUND 13,9:GOTO 100

    ' El AT-AT recibe un impacto
500 S%=0:VPOKE 6960,209:SOUND 12,30:SOUND 13,1:IF AI%(A%)<47 THEN AI%(A%)=AI%(A%)+1:F%=AC%(AI%(A%)):GOSUB 3300:RETURN
510 AI%(A%)=0:P%=P%+(125-H%/10):LOCATE 8,22:PRINT USING "#####";P%:SOUND 2,255:SOUND 13,9
    ' Destruir el AT-AT
520 Z%=9999:FOR I%=1 TO 3
530 FOR F%=15 TO 1 STEP -1:GOSUB 3300:NEXT
540 IF Z%>AX%(I%) THEN Z%=AX%(I%)
550 NEXT:VPOKE 6941+A%*4,0:AX%(A%)=Z%-300
560 IF DD>.15 THEN DD=DD-.05
570 IF DP%<8 THEN DP%=DP%+1
580 RETURN

    ' Destruir SnowSpeeder. Perdemos una vida.
600 PUT SPRITE 12,(0,209),1,2:SOUND 12,90:SOUND 13,9
610 FOR F%=Y% TO 118 STEP 6:PUT SPRITE 0,(X%,F%),8,3:I%=150:GOSUB 3200:X%=X%+Q%/6:NEXT
620 N%=N%-1:LOCATE 22-N%*2,22:PRINT " ":IF N%>0 THEN GOSUB 5500:GOTO 100
630 LOCATE 17,22:PRINT "GAME OVER"
640 IF STRIG(J%)=0 THEN 640 ELSE GOSUB 3100:GOTO 50

     ' Rutina: Que disparador hemos pulsado
3000 J%=-1:FOR Z%=0 TO 2:IF STRIG(Z%)=0 THEN NEXT:RETURN ELSE J%=Z%:RETURN
     ' Rutina: Ocultar SPRITES
3100 FOR F%=0 TO 12:PUT SPRITE F%,(0,209),0,0:NEXT:RETURN
     ' Rutina: Pausa
3200 FOR Z%=1 TO I%:NEXT:RETURN
     ' Rutina: Cambiar color SPRITES AT-AT
3300 VPOKE 6919,F%:VPOKE 6923,F%:VPOKE 6927,F%:VPOKE 6931,F%:RETURN

     ' Pantalla de Presentación
4000 CLS:LOCATE 0,22
4010 FOR F%=1 TO 22:PRINT " "+T$(F%):I%=500:GOSUB 3200:GOSUB 3000:IF J%<>-1 THEN 5000 ELSE NEXT
4020 GOSUB 3000:IF J%=-1 THEN 4020

     ' Mostrar Zona de juego
5000 CLS:LOCATE 0,0:PRINT STRING$(96,97);
5010 PRINT "aaaaaaÜÜaÜÛÛÜÜaÜaaaaaaaaaÜÜaÜÛÛÜaaÜÜÛÛÛÛÛÛÛÛÛÛÛÛÛÜaaaÜÜÛÛÛÛÛÛÛÛÛ";
5020 PRINT STRING$(192,105);STRING$(192,113);
5030 LOCATE 4,19:PRINT STRING$(24,121):PRINT TAB(4);STRING$(24,121);
5040 LOCATE 12,22:PRINT "0     z z";

     ' Posicionar a los AT-AT, mostrar Radar y otros elementos
5050 FOR F%=1 TO 3:AX%(F%)=300*F%:AI%(F%)=0:PUT SPRITE 7+F%,(AX%(F%)/8+32,144),1,11:NEXT
5500 X%=160:Y%=96:D%=0:V%=0:H%=1260:S%=0:A%=0:B%=0:M%=0:R1%=0:L%=0:Q%=0
5510 PUT SPRITE 0,(X%,Y%),6,0:PUT SPRITE 11,(H%/8+34,151),1,12:PUT SPRITE 12,(0,209),6,2
5520 PUT SPRITE 1,(0,209),1,4:PUT SPRITE 2,(0,209),1,5
5530 PUT SPRITE 3,(0,209),1,7:PUT SPRITE 4,(0,209),1,9:PUT SPRITE 5,(0,209),1,2
5540 PUT SPRITE 6,(R1%,104),1,10:PUT SPRITE 7,(R1%+128,104),1,10
5550 RETURN

     ' Entrar en SCREEN 1 y activa SPRITES a doble tamaño.
6000 SCREEN 1,3,0:WIDTH 32:COLOR 10,1,1:KEY OFF:LOCATE 5,11:PRINT "(C) SCAINET SOFT, 2013"
     ' Leer los DATA de los SPRITES
6010 FOR F%=14336 TO 14751:READ D%:VPOKE F%,D%:NEXT
     ' Redefinir los caracteres y asignar colores
6020 FOR F%=97 TO 121 STEP 8:Z%=F%*8:FOR I%=0 TO 7:VPOKE Z%+I%,255:NEXT:NEXT
6030 VPOKE 8204,208:VPOKE 8205,112:VPOKE 8206,80:VPOKE 8207,176:VPOKE 8219,125
6035 FOR F%=976 TO 983:READ D%:VPOKE F%,D%:NEXT

     ' Texto de la presentación
6040 T$(1)="           STAR WARS":T$(2)="    THE EMPIRE STRIKES BACK"
6045 T$(5)="THE EMPIRE'S REVENGE HAS BEGUN!"
6050 T$(7)="RIGHT NOW AN ARMY OF IMPERIAL":T$(8)="WALKERS IS MARCHING TOWARD THE"
6055 T$(9)="POWER GENERATOR ON THE ICE":T$(10)="PLANET HOTH. IF THEY REACH IT,"
6060 T$(11)="THE ENTIRE REBEL BASE WILL":T$(12)="BLOW SKY HIGH!"
6065 T$(14)="TO STOP THEM, THE REBELS MUST":T$(15)="RELY ON THEIR MISSILE-FIRING"
6070 T$(16)="SNOWSPEEDERS. THIS MAY BE TINY":T$(17)="BUT THEY'RE QUICK AND AGILE."
6075 T$(18)="AND IN THE HANDS OF A SKILLFUL":T$(19)="COMMANDER, THEY CAN DESTROY"
6080 T$(20)="THE MIGHTY WALKERS!":T$(22)="  PRESS FIRE TO START MISSION":
6090 SOUND 6,0:SOUND 7,55:SOUND 8,16:SOUND 11,23
6100 FOR F%=0 TO 5:READ D%:FOR I%=0 TO 7:AC%(F%*8+I%)=D%:NEXT:NEXT
6110 RETURN

     ' Al pulsar CTRL+STOP salimos del juego y restauramos colores y modo de video
8000 SCREEN 0:COLOR 15,4,4:WIDTH 39:KEY ON:STOP

     ' Datos de los graficos. SPRITES y UDG.
9000 DATA 60,255,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
9010 DATA 60,255,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
9020 DATA 0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0
9030 DATA 36,164,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
9040 DATA 0,0,0,0,0,0,0,15,255,255,255,255,255,255,255,15
9045 DATA 0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,240
9050 DATA 0,0,0,0,0,0,0,240,255,255,255,240,240,240,240,240
9055 DATA 0,0,0,0,0,0,0,240,255,255,255,240,0,0,0,0
9060 DATA 15,15,3,3,3,15,15,12,12,12,12,12,12,12,12,15
9061 DATA 0,0,243,243,51,63,63,252,252,204,204,204,204,204,252,255
9063 DATA 15,15,15,15,15,15,15,15,15,12,12,12,12,12,15,15
9064 DATA 0,0,3,3,3,3,3,195,195,195,195,195,195,195,195,243
9065 DATA 240,240,240,240,48,48,48,240,240,192,192,192,192,192,192,240
9066 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
9068 DATA 240,240,192,192,192,192,192,240,240,48,48,48,48,48,240,240
9069 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
9080 DATA 0,0,0,0,0,0,0,0,0,0,0,0,15,15,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,240,255,255
9090 DATA 0,0,0,0,0,0,0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
9095 DATA 0,255,192,0,0,192,255,0,0,0,0,0,0,0,0,0,0,255,3,0,0,3,255,0,0,0,0,0,0,0,0,0
9100 DATA 0,0,0,60,255,14,0,0
9110 DATA 1,13,4,8,9,10



APUNTES FINALES
Este es uno de mis juegos favoritos de la ATARI 2600, y siempre me había tentado la idea de realizar una conversión para otro sistema.Después de programar una adaptación al MSX del MUNCKIN de la PHILIPS G-7000 y experimentar con el uso de los SPRITES de doble tamaño, me dediqué a analizar las posibilidades de adaptarlo al MSX.Con 4 SPRITES de 16x16 ampliados podía conseguir un AT-AT entero idéntico al original, aunque debido a las diferencias de resolución, el de la versión MSX parece un poco más grande.Con 4 simples VPOKE podía mover el AT-AT horizontalmente de una forma rápida y suave.Llegado a este punto, toco decidir cosas que tendría que eliminar para adaptarlo al rendimiento del BASIC y al hardware del MSX.

Descartes:
- El horizonte del fondo no se movería. Llevaría demasiado tiempo.
- Habrían 3 AT-AT en el radar en lugar de 4. Esto es debido a la limitación a mostrar más de 4 SPRITES en la misma franja horizontal. Con los 3 puntos correspondientes a los AT-AT más el marco de la zona activa llenaba el cupo.
- No aparecería el punto débil que aparece en la versión original y que permite destruir un AT-AT de un solo disparo. Necesitaba un SPRITE para hacerlo aparecer y ya está el cupo completo entre los dos del ancho del AT-AT, la nave, su disparo y el disparo del AT-AT.
- Con un solo disparo se destruye a nuestra nave, por consiguiente no hace falta aterrizar para recuperar energía. Tampoco hay vidas extras. Esto hace el juego más difícil.
- El AT-AT no mueve la cabeza y no dispara en diagonal. Dispara siempre horizontalmente.
- Los AT-AT no reducen su velocidad a medida que acumulan impactos, que a su vez frena a los que vienen detrás.
- La nave no tiene momentos de inmunidad.
- No hay efectos sonoros y visuales cuando el AT-AT está llegando al extremo más a la derecha.

El bloque principal del programa ocupa solo 29 líneas, pero está organizado de forma que se ejecuten la menor cantidad de líneas posibles en cada pasada.

Así, las primeras 11 líneas controlan nuestra nave pero solo se ejecutan 4 como máximo.
Las siguientes 3 controlan nuestro disparo, y las siguientes 4 el movimiento del horizonte. El acceso a los SPRITES se hace mediante VPOKE para ganar velocidad y siempre usando variables enteras.
Las últimas 11 controlan el AT-AT, pero mediante la variable (M) decidimos que acción hay que realizar. A cada pasada hacemos una acción distinta. Esta forma de distribuir las tareas mejora el rendimiento.

Los gráficos del AT-AT significarían un bloque de 8x8 caracteres de 8 pixels en cualquier otro sistema, que tirarían por tierra cualquier intento de hacer una adaptación. El uso de SPRITES y VPOKE mejoran el rendimiento increíblemente. A parte, se usa un par de variables (A y B) para controlar la visualización del AT-AT. En (A) guardamos el número del AT-AT a visualizar y en (B) el que había en la pasada anterior. En función del estado actual y anterior se visualiza o oculta.

He usado una simple rutina para la presentación que hace aparecer las líneas desde la parte inferior hasta la parte superior.

En el caso de variables que tienen un estado 0/1, he optado por el método “X=NOT X”, ya que es más rápido que usar un IF.

Para controlar si un disparo sale por un extremo de la pantalla o si impactan en el enemigo correspondiente he optado por el método “ABS(X-Y)<N” que es más rápido que un IF con un AND y los cálculos correspondientes.

La zona de juego es más pequeña que en la versión original. En este caso tiene un ancho de 6 pantallas (y no 8), pero el radar ha quedado muy bien ajustado con lo que realmente aparece en pantalla.

El problema ha sido calcular donde colocar un AT-AT cuando ha sido destruido, ya que debe quedar detrás del último, dándose el caso que hay AT-AT que no aparecen en el radar. Con un IF en 395 lo controlo. De todas formas, al aparecer en el extremo más izquierdo puede provocar efectos extraños si llegamos con nuestra nave a esa misma zona.

Con todo esto, el rendimiento del programa está por encima de mis mejores pretensiones.

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

Os invito a probarlo.

starwars_MSX_1.jpg
starwars_MSX_1.jpg (120.64 KiB) Visto 10330 veces

starwars_MSX_2.jpg
starwars_MSX_2.jpg (43.13 KiB) Visto 10330 veces

starwars_MSX_3.jpg
starwars_MSX_3.jpg (48.63 KiB) Visto 10330 veces

starwars_MSX_4.jpg
starwars_MSX_4.jpg (49.42 KiB) Visto 10330 veces

starwars_MSX_5.jpg
starwars_MSX_5.jpg (65.72 KiB) Visto 10330 veces

starwars_MSX_6.jpg
starwars_MSX_6.jpg (50.98 KiB) Visto 10330 veces
Adjuntos
starwars.rar
(2.7 KiB) Descargado 502 veces
Última edición por dancresp el 20 Mar 2013, 15:47, editado 1 vez en total.
Buscando la IP de la W.O.P.R.

Avatar de Usuario
Jaimen
Amiga 1200
Amiga 1200
Mensajes: 1656
Registrado: 17 Mar 2009, 13:39
Sistema Favorito: Amstrad CPC
primer_sistema: Amstrad CPC
Ubicación: Madrid
Gracias dadas: 159 veces
Gracias recibidas: 19 veces

Re: STAR WARS - The Empire Strikes Back - MSX

Mensajepor Jaimen » 25 Feb 2013, 11:20

Muchas gracias dancresp por el aporte, yo ya he picado alguno de tus listados :D
Mi galeria de fotos en 500px.com

Avatar de Usuario
zitror
Amiga 2500
Amiga 2500
Mensajes: 5349
Registrado: 02 Jul 2006, 00:16
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
Ubicación: El interior de un Z80
Gracias dadas: 248 veces
Gracias recibidas: 104 veces
Contactar:

Re: STAR WARS - The Empire Strikes Back - MSX

Mensajepor zitror » 25 Feb 2013, 13:56

¡Qué pasote! =D>

Dancresp, estás hecho un hacha del MSX (entre otros) Se ve que es muy fiel al original de Parker Bros.

¡Gracias por compartir tu trabajo! :D

Salu2 ;)
(C) 1.982 Sinclair Research Ltd

La buhardilla de Zitror

dancresp
Amiga 1200
Amiga 1200
Mensajes: 1393
Registrado: 23 Dic 2008, 17:53
Sistema Favorito: MSX
primer_sistema: ZX81
Primera consola: Atari 2600
Gracias dadas: 3 veces
Gracias recibidas: 20 veces

Re: STAR WARS - The Empire Strikes Back - MSX

Mensajepor dancresp » 20 Mar 2013, 15:49

Subo este hilo ya que he colgado el fichero WAV por si alguien lo quiere usar en el MSX original, e incorporado más imágenes y he completado toda la ficha del programa.

Ustedes lo disfruten !!!
Buscando la IP de la W.O.P.R.

Avatar de Usuario
araubi
Amstrad PCW 8256
Amstrad PCW 8256
Mensajes: 177
Registrado: 11 Sep 2012, 11:06
Sistema Favorito: MSX
primer_sistema: MSX
consola_favorita: Nintendo SNES
Primera consola: Sony PlayStation 1
Gracias dadas: 4 veces
Gracias recibidas: 4 veces

Re: STAR WARS - The Empire Strikes Back - MSX

Mensajepor araubi » 20 Mar 2013, 16:45

Pues gracias por subir el hilo porque se me había pagado, ahora mismo me lo bajo ;)

dancresp
Amiga 1200
Amiga 1200
Mensajes: 1393
Registrado: 23 Dic 2008, 17:53
Sistema Favorito: MSX
primer_sistema: ZX81
Primera consola: Atari 2600
Gracias dadas: 3 veces
Gracias recibidas: 20 veces

Re: STAR WARS - The Empire Strikes Back - MSX

Mensajepor dancresp » 20 Mar 2013, 16:58

araubi escribió:Pues gracias por subir el hilo porque se me había pagado, ahora mismo me lo bajo ;)

Pues si te curras un video como el del Munchkin hago el baile del platanito !!! :platano
Buscando la IP de la W.O.P.R.

Avatar de Usuario
Mode2
Amiga 2500
Amiga 2500
Mensajes: 2621
Registrado: 08 Oct 2009, 23:53
Sistema Favorito: Amstrad CPC
primer_sistema: Amstrad CPC
consola_favorita: Atari 2600
Primera consola: TV Games/Pong Clone
Ubicación: The Grid
Gracias dadas: 1 vez
Gracias recibidas: 8 veces
Contactar:

Re: STAR WARS - The Empire Strikes Back - MSX

Mensajepor Mode2 » 20 Mar 2013, 17:45

También es uno de mis favoritos de Atari 2600 junto a 'En busca del Arca perdida', 'Combat' y 'Super Breakout'. Gracias.
BUSCO: VideoPac+, Jaguar, Saturn, Micromanía nº1 1ª época, Amstrad Semanal, MicroHobby, juegos (especialmente Atari, CPC y Vectrex), Newbrain, Aquarius, Sam Copué, 520 ST, manual +3, manual CPC664.

Avatar de Usuario
araubi
Amstrad PCW 8256
Amstrad PCW 8256
Mensajes: 177
Registrado: 11 Sep 2012, 11:06
Sistema Favorito: MSX
primer_sistema: MSX
consola_favorita: Nintendo SNES
Primera consola: Sony PlayStation 1
Gracias dadas: 4 veces
Gracias recibidas: 4 veces

Re: STAR WARS - The Empire Strikes Back - MSX

Mensajepor araubi » 20 Mar 2013, 19:25

dancresp escribió:
araubi escribió:Pues gracias por subir el hilo porque se me había pagado, ahora mismo me lo bajo ;)

Pues si te curras un video como el del Munchkin hago el baile del platanito !!! :platano


Vete preparando el disfraz :lol: Ahora me pongo a ello, estaba intentando terminar la segunda carga del Navy Moves, pero me temo que estoy demasiado oxidado como para terminarlo de un tirón sin mirar el mapa #-o

-- Actualizado 20 Mar 2013, 20:57 --

Ahí va, sí que son duros los AT-AT, sí :gamers:


dancresp
Amiga 1200
Amiga 1200
Mensajes: 1393
Registrado: 23 Dic 2008, 17:53
Sistema Favorito: MSX
primer_sistema: ZX81
Primera consola: Atari 2600
Gracias dadas: 3 veces
Gracias recibidas: 20 veces

Re: STAR WARS - The Empire Strikes Back - MSX

Mensajepor dancresp » 20 Mar 2013, 21:17

Pues nada a bailar el baile del platanito...

:ola :platano :ola


Coñas a parte, ¿la captura es de un MSX real, no?
Lo digo porque en mi MSX es ligeramente más rápido que en el BlueMSX, y tu vídeo parece ir a la velocidad correcta.

Por otro lado, el truquillo está en "jugársela" acercándose mucho a los AT-AT, que cada vez que destruyes uno van más rápido.

Sea como sea, a la gente que vea el vídeo, que sea consciente que está programado enteramente en BASIC.
Impensable en un equipo que no sea un MSX, aunque tengo en mente una versión para C-64. El uso de SPRITES es imprescidible.

Pues nada más.

Muchas gracias por el vídeo !!! =D>
Buscando la IP de la W.O.P.R.

Avatar de Usuario
araubi
Amstrad PCW 8256
Amstrad PCW 8256
Mensajes: 177
Registrado: 11 Sep 2012, 11:06
Sistema Favorito: MSX
primer_sistema: MSX
consola_favorita: Nintendo SNES
Primera consola: Sony PlayStation 1
Gracias dadas: 4 veces
Gracias recibidas: 4 veces

Re: STAR WARS - The Empire Strikes Back - MSX

Mensajepor araubi » 20 Mar 2013, 22:24

Pues no, es con el blueMSX jugando en mi portátil. A mí al menos me va bien de velocidad, o al menos no noto diferencia con un MSX real.


Volver a “Programación”

¿Quién está conectado?

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