Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
 

Autor Hilo: ZX Frogger (Leído 71613 veces)

Bubu

  • T-600
  • Mensajes: 2 598
¡¡¡¡Hola, torpedos!!!!

He aquí el Frogger de MAME:



Mi pasión por el Frogger es mu grande, mu grande, y por el Spectrum tamién, de tal manera que hace poco más de 2 años empecé a realizar mi propia versión de Frogger para Spectrum, tras haber visto las \"versiones\" que existían para tal ordeñador:





En fins.

Este proyesto es para irlo cocinando muuuuy leeeentameeeeenteeeee, no tengo prisas ninguna, jiji. Estoy aprendiendo mucho ensamblador y muchas carasterísticas del Spectrum. Hasta ahora tengo muy avanzada la fase de la carretera, pero en este foro quería comenzar de cero la fase del río, jiji.




[ Guests cannot view attachments ] FROGGER_20111207.PNG[/attachment]




Bueno, torpedos, pues lo dicho. En este primer mensaje iré poniendo un resumen de los pequeños avances que vaya haciendo, jiji.


¡¡¡CROAC, al ataqueeeerrr!!!
Si algo funciona...  ¡¡No lo toques!!
¡¡Pero ni de coña!!

Bubu

  • T-600
  • Mensajes: 2 598
[Reservado nu sé pa qué, pero por si aca :-D]
Si algo funciona...  ¡¡No lo toques!!
¡¡Pero ni de coña!!

logaran

  • Visitante
Apenas has acabado el teclado y ya estas liado con el Frogger :shock:

Declaro formalmente inaugurado tu club de fans. :adorar: Por supuesto me pido el puesto de presidente ;)

Hoz3

  • Visitante

Bubu

  • T-600
  • Mensajes: 2 598
¡¡Gracias, torpedos!!

Y una cosa, ¿por qué no me sale la afoto que he subido del pantallazo de mi Forgger? Me sale \"Archivo no encontrado! ¿?¿?¿?¿? ¿Vosotros lo veis?
Si algo funciona...  ¡¡No lo toques!!
¡¡Pero ni de coña!!

Bubu

  • T-600
  • Mensajes: 2 598
Ah, vale, que es por esto:

Código: [Seleccionar]

Error al subir el archivo \'FROGGER_20111207.bmp\': Usted necesidad de utilizar extensiones de archivo permitidas (para imágenes: jpg, jpeg, gif, png y otros archivos: txt, rtf, pdf, zip, tar.gz, tgz, tar.bz2).


Pues lo cambio, ea. JAjaJA.
Si algo funciona...  ¡¡No lo toques!!
¡¡Pero ni de coña!!

Javi Ortiz

  • T-500
  • Mensajes: 1 115
Ya conocia este proyecto he incluso me ofrecí de tester si lo necesitabas (cuando sea el momento)... aquí me tienes ¿eh? :-). La verdad es que una buena versión de frogger puede lucir muy bien

Un Saludo
Javi Ortiz
Miembro del mundo del Spectrum http://www.elmundodelspectrum.com y Retroworks. Colaborador de Fasebonus.

mentalthink

  • T-500
  • Mensajes: 870
Ostia Bubu eres un hachá tio... la verdad que graficamente está super bien... y más aún programandolo en emsamblador, quizás si puedo rascar tiempo me meta...

Por cierto porque no le hechas un vistazo al Czz80,aunque la sintaxis es C, no es C, es lo muy similar al Basic que utilizo, y creo que puedes avanzar mucho más deprisa... no sé...

Respecto a tu ofrecimiento de ASM, por supuesto que lo acepto, no tengo ni la más remota idea de escribir una sola linea de código... gracias Bubu de antemano...

Bubu

  • T-600
  • Mensajes: 2 598
Para cuando puedas testear ya ni existirá intenné, aJaJJAJAA, pero muchas gracias por el ofrecimiento.


Bien, hoy comienzo con un análisis de la situaçao: el río del Frogger.

\"El río\" es uno de los 2 juegos que trae el Frogger, siendo el otro \"la carretera\". El río presenta, en cuanto a programación, muchísimas más dificultades que la carretera, aunque no lo parezca:

- tiene elementos cambiantes: tortugas que nadan, cocodrilos que abren la boca.
- tiene enemigos eventuales: serpientes, castores
- tiene premios eventuales: moscas que aparecen en las casetas vacías
- el ancho de los troncos es variable: unos miden 3 tiles, otros 5...
- el desplazamiento horizontal de Froggy es de pixel en pixel: en la carretera todo se desarrolla de carácter en carácter, pero en el río Froggy va montada en troncos o cocodrilos que se desplazan de pixel en pixel, y ésta tiene que desplazarse con ellos.
- la detección de choque del río es la contraria respecto a la de la carretera: en ésta Froggy muere cuando coincide con un móvil; en el río Froggy muere cuando NO coincide con un móvil

En fins, pueden parecer cosas muy sutiles, pero cuando uno se remanga a pogramar en ensamblador, todo esto hace que el río sea todo un reto.


Bueno, hasta aquí el análisis de las dificultades, jiji.

¡¡Vamos a empezar ya!!

Lo primero, hacemos un pantallazo con el MAME, lo metemos en un editor gráfico, y extraemos los elementos del río más comunes:



[ Guests cannot view attachments ] 02.png[/attachment]

Tenemos troncos de 3 tamaños, y tortugas de 2 tamaños. En las tortugas se ve que con dibujar una, tienes el resto, pero en los troncos es algo más complejo, habrá que buscar cómo dibujas los troncos menores a partir del grande, para ahorrar memoria del Spectrum.

Así que pillo el tronco grande, lo rompo en trozos, y trato de pintar los troncos menores con estos trozos, jiji.
Si algo funciona...  ¡¡No lo toques!!
¡¡Pero ni de coña!!

Bubu

  • T-600
  • Mensajes: 2 598
Ea, pues ya tengo pintados los 3 tipos de troncos:


[ Guests cannot view attachments ] 03.png[/attachment]


El color es un poblema, en el Spectrum no existe ese color marrón, el que más se le parece es el color, rojo, pero es que las tortugas son rojas, y si pongo los troncos también rojos va a parecer aquello el mar rojo, bueno, el río rojo, jiji. Así que creo que los pondré verdes.
Si algo funciona...  ¡¡No lo toques!!
¡¡Pero ni de coña!!

Bubu

  • T-600
  • Mensajes: 2 598
Ahora convierto el tronco chico en blanco y negro, y lo exporto a SevenuP, el gran editor gráfico para Spectrum, made in Metalbrain:


[ Guests cannot view attachments ] 04.PNG[/attachment]

El siguiente paso es exportarlo a píxeles binarios (extensión BIN) para que el Spectrum lo sepa dibujar. Y entonces desplazar el tronco un píxel a la derecha, volverlo a exportar a BIN, y así hasta 8 veces.
De esta manera, pinto los 8 troncos uno encima de otro en secuencia, y parecerá que se mueve, jiji, sin tener que hacer desplazamientos shift ni cosas de esas que tardarían mucho en ejecutarse.
Si algo funciona...  ¡¡No lo toques!!
¡¡Pero ni de coña!!

Bubu

  • T-600
  • Mensajes: 2 598
Cita de: \"mentalthink\" post=19623
Ostia Bubu eres un hachá tio... la verdad que graficamente está super bien... y más aún programandolo en emsamblador, quizás si puedo rascar tiempo me meta...

Por cierto porque no le hechas un vistazo al Czz80,aunque la sintaxis es C, no es C, es lo muy similar al Basic que utilizo, y creo que puedes avanzar mucho más deprisa... no sé...

Respecto a tu ofrecimiento de ASM, por supuesto que lo acepto, no tengo ni la más remota idea de escribir una sola linea de código... gracias Bubu de antemano...


Perdona, mentalthink, no lo había leído. He visto el CCZ80 y tiene muy muy buena pinta, el poblema que tiene es que C precompila y aluego compila, y el código a pesar de estar optimizado para ser C, no llega a la potencia de velocidad que tiene el ensamblador puro, Quizás un día haga una prueba de desplazamiento de sprites con CCZ80 y lo compare con el de ASM, y si son similares, sin duda el próximo proyecto lo haga en CCZ80 ;-)
Si algo funciona...  ¡¡No lo toques!!
¡¡Pero ni de coña!!

mentalthink

  • T-500
  • Mensajes: 870
Hola Bubu, yo he probado las demos que tiene y van suaves... tambien he leído que depende como optimizes el código, va muy bien, y como se puede fusionar codigo en ASM, parece ser que se hacen cosas interesantes... Esté juego, que lo vi en el foro del compilador parece estar hecho con ccz80 y algo de ASM...

http://www.youtube.com/watch?v=9LHpTwoA2Qo

Bubu

  • T-600
  • Mensajes: 2 598
El juego que pones es guapísimo gráficamente, pero fíjate que no hay scroll ni sprites, los dibujos se desplazan en bloque de 8 en 8 píxeles. Y yo necesito hacer scroll de 1 en 1 píxeles los coches, los troncos, etc.
Si algo funciona...  ¡¡No lo toques!!
¡¡Pero ni de coña!!

mentalthink

  • T-500
  • Mensajes: 870
Si Bubu esto parece no tener que ver nada con el lenguaje... según escuche en el PodCast, creo que es de FaseBonus también pero no recuerdo que número... si lo buscas por entevistas , pone algo como entrevista a Retroworks... Ignacio, creo que les pregunta, que como es posible que se saquen tantos colores en un Spectrum, en comparación con los juegos de los 80, con lo que el programador, comenta que si quieres muchos colores te tienes que mover por caracteres o sea de 8 en 8 en cambio si no quieres colores puedes moverte pixel a pixel... como te digo no estoy seguro si es al 100 cosa del lenguaje... pero creo que hacia referencia a los sprites y los atributos, ya que hay problemas de mezclas de color y tal... con lo cual es una cosa o la otra, no se pueden tener movimiento pixel a pixel y un montón de colores... Vamos creo que entendí eso... sobre Spectrum no conozco a penas nada...