Empezando a portar Metal Slug de Atari STE a MegaDrive

Avatar de Usuario
masteries
Mensajes: 1931
Registrado: 30 May 2018 11:33
Ubicación: Espaciando
Agradecido : 393 veces
Agradecimiento recibido: 1340 veces

Empezando a portar Metal Slug de Atari STE a MegaDrive

Mensajepor masteries » 07 Ago 2021 18:29

Saludos compañer@s,


Empezando a hacer los primeros pinitos en MegaDrive;
intentando portar Metal Slug desde el STE a Mega

De momento, empezando por los mapeados;
este mapa está usando 30 colores simultáneos, pero no se puede disponer de ellos a libertad, sino que una parte del mapa usa 16, y otra parte del mapa usa otra paleta distinta. Es un mapa muy complejo, dada la cantidad de escenarios distintos que lo componen; si una selva, unas ruinas, unos vehículos gigantes, unas cabañas en un pantano...


También se ha notado que la limitación en el abanico de colores de MegaDrive, 512 colores, pasa algo de factura, porque algunos colores del mapeado original no pueden ser fielmente reproducidos en Mega,



Lo más mejor, la consola tiene potencia para mover esto sin despeinarse, hace scroll y transfiere datos desde el cartucho a la RAM a velocidad de vértigo.


Aquí algunos ejemplos de cómo está quedando:


Imagen


Imagen


Imagen


Imagen
La maestría interior...

Vendo trapdoor 512KB A500: viewtopic.php?f=71&t=200034052
De 1MB A500+: viewtopic.php?f=71&t=200034115

Metal Slug Atari STE: www.youtube.com/watch?v=FMrdjrrtxWo

makinavaja
Mensajes: 466
Registrado: 16 Ago 2018 19:30
Agradecido : 47 veces
Agradecimiento recibido: 178 veces

Re: Empezando a portar Metal Slug de Atari STE a MegaDrive

Mensajepor makinavaja » 07 Ago 2021 18:46

Qué puntazo!
Entiendo que también lo vas a hacer en C, ¿verdad?

Avatar de Usuario
masteries
Mensajes: 1931
Registrado: 30 May 2018 11:33
Ubicación: Espaciando
Agradecido : 393 veces
Agradecimiento recibido: 1340 veces

Re: Empezando a portar Metal Slug de Atari STE a MegaDrive

Mensajepor masteries » 07 Ago 2021 18:52

makinavaja escribió:Qué puntazo!
Entiendo que también lo vas a hacer en C, ¿verdad?


Se está haciendo en C, de hecho la idea, dado que la versión de Atari STE está escrita todo en C;
es coger todas las funciones y look-up tables, hacer un copiar & pegar y cambiar sólo las llamadas a dibujar en pantalla, y ver cómo funciona el tema colisiones en Mega.

De momento el tema mapeado y scrolles ya va estando muy controlado :)
La maestría interior...

Vendo trapdoor 512KB A500: viewtopic.php?f=71&t=200034052
De 1MB A500+: viewtopic.php?f=71&t=200034115

Metal Slug Atari STE: www.youtube.com/watch?v=FMrdjrrtxWo

makinavaja
Mensajes: 466
Registrado: 16 Ago 2018 19:30
Agradecido : 47 veces
Agradecimiento recibido: 178 veces

Re: Empezando a portar Metal Slug de Atari STE a MegaDrive

Mensajepor makinavaja » 07 Ago 2021 19:13

Veo que la falta de RAM de la megadrive la vas poder suplir con el acceso al cartucho.
Yo por aquí tengo megadrive y un cartucho flash, si necesitas testeos aquí me tienes. Naturalmente, todo se hará con tele de tubo, pequeña de 14 o GRANDE (el tamaño importa: http://retrowiki.es/viewtopic.php?f=65& ... p200103983 )

Avatar de Usuario
masteries
Mensajes: 1931
Registrado: 30 May 2018 11:33
Ubicación: Espaciando
Agradecido : 393 veces
Agradecimiento recibido: 1340 veces

Re: Empezando a portar Metal Slug de Atari STE a MegaDrive

Mensajepor masteries » 07 Ago 2021 19:27

makinavaja escribió:Veo que la falta de RAM de la megadrive la vas poder suplir con el acceso al cartucho.
Yo por aquí tengo megadrive y un cartucho flash, si necesitas testeos aquí me tienes. Naturalmente, todo se hará con tele de tubo, pequeña de 14 o GRANDE (el tamaño importa: http://retrowiki.es/viewtopic.php?f=65& ... p200103983 )


Gracias por el ofrecimiento como betatester.

También tengo Mega, una MegaDrive 1 de 1989
Con cartucho flash de esos con tarjeta SD, molan un montón estos cartuchos.

¡El policía del retro te sonríe!
La maestría interior...

Vendo trapdoor 512KB A500: viewtopic.php?f=71&t=200034052
De 1MB A500+: viewtopic.php?f=71&t=200034115

Metal Slug Atari STE: www.youtube.com/watch?v=FMrdjrrtxWo

Avatar de Usuario
Mlake
Mensajes: 178
Registrado: 27 Mar 2019 19:54
Agradecido : 76 veces
Agradecimiento recibido: 324 veces

Re: Empezando a portar Metal Slug de Atari STE a MegaDrive

Mensajepor Mlake » 07 Ago 2021 20:40

Tiene buena pinta...

¿Cómo haces el cambio de colores? ¿Editas la CRAM durante el Hblank o hay otra forma para que no salga el bug de los puntos de colores?

¿Se iria mucho de madre mezclar el plano A y el B para sacar escenarios a 32 colores (2 paletas)?

Avatar de Usuario
Roberto70
Mensajes: 7
Registrado: 21 Jul 2021 13:09
Ubicación: Asturias
Agradecido : 60 veces
Agradecimiento recibido: 2 veces

Re: Empezando a portar Metal Slug de Atari STE a MegaDrive

Mensajepor Roberto70 » 07 Ago 2021 22:15

Luce impresionantemente bien.
Tengo una Mega Drive II con cartucho everdrive, si precisas de voluntarios como betatesters yo me ofrezco también.
Por cierto, ¿está disponible el código fuente de la versión STE?
-j4tar1 -sp3zy -4mstr4d

Avatar de Usuario
robotnik16
Mensajes: 81
Registrado: 22 Dic 2015 00:16
Agradecido : 7 veces
Agradecimiento recibido: 15 veces

Re: Empezando a portar Metal Slug de Atari STE a MegaDrive

Mensajepor robotnik16 » 11 Ago 2021 13:34

La paleta de MegaDrive es puñeterilla, pero se pueden conseguir tremendos resultados con un trabajo concienzudo, sin duda el talón de Aquiles de la consola. Existen varias adaptaciones del primer nivel de Metal Slug que se pueden ver en Youtube que han quedado muy bien, supongo que pueden servir como referencia. De todas formas, y aunque lo estoy viendo desde el móvil, de momento lucen más que bien ehhh

Avatar de Usuario
robotnik16
Mensajes: 81
Registrado: 22 Dic 2015 00:16
Agradecido : 7 veces
Agradecimiento recibido: 15 veces

Re: Empezando a portar Metal Slug de Atari STE a MegaDrive

Mensajepor robotnik16 » 18 Oct 2021 20:42

¿Alguna novedad por aquí? Parece quer la scene de la consola está calentita últimamente.

Avatar de Usuario
masteries
Mensajes: 1931
Registrado: 30 May 2018 11:33
Ubicación: Espaciando
Agradecido : 393 veces
Agradecimiento recibido: 1340 veces

Re: Empezando a portar Metal Slug de Atari STE a MegaDrive

Mensajepor masteries » 19 Oct 2021 12:59

robotnik16 escribió:¿Alguna novedad por aquí? Parece quer la scene de la consola está calentita últimamente.



Si, ahora he conseguido que se vea con unos colores muchísimo más parecidos a los originales;
también he colocado un plano parallax a ese primer nivel.

Y la música suena igual que la versión STE


Imágenes del actual (19 de Octubre de 2021) Work in Progress para MegaDrive / Genesis:

El mapeado ahora utiliza 64 colores, los sprites disponen de 32 colores en exclusiva para ellos.

Imagen

Imagen

Imagen

Imagen


Perdonad la presencia de Sonic, está ahí como sprite de prueba; con él compruebo colisiones y cosas así.
La maestría interior...

Vendo trapdoor 512KB A500: viewtopic.php?f=71&t=200034052
De 1MB A500+: viewtopic.php?f=71&t=200034115

Metal Slug Atari STE: www.youtube.com/watch?v=FMrdjrrtxWo

Avatar de Usuario
robotnik16
Mensajes: 81
Registrado: 22 Dic 2015 00:16
Agradecido : 7 veces
Agradecimiento recibido: 15 veces

Re: Empezando a portar Metal Slug de Atari STE a MegaDrive

Mensajepor robotnik16 » 19 Oct 2021 16:31

masteries escribió:
robotnik16 escribió:¿Alguna novedad por aquí? Parece quer la scene de la consola está calentita últimamente.



Si, ahora he conseguido que se vea con unos colores muchísimo más parecidos a los originales;
también he colocado un plano parallax a ese primer nivel.

Y la música suena igual que la versión STE


Imágenes del actual (19 de Octubre de 2021) Work in Progress para MegaDrive / Genesis:

El mapeado ahora utiliza 64 colores, los sprites disponen de 32 colores en exclusiva para ellos.

Imagen

Imagen

Imagen

Imagen


Perdonad la presencia de Sonic, está ahí como sprite de prueba; con él compruebo colisiones y cosas así.

Pues no tengo el juego original grabado en la memoria, pero me da la sensación de que se ve muy bien por el momento, colores suaves y bastante homogéneos, que no es precisamente el fuerte en las tonalidades de MD.

¿Sólo has tocado colores? De rendimiento cómo lo ves, ¿podría acercarse al original o quedará muy lejos? Si no me equivoco, en MD tienes la ventaja de manejar sprites y fondos de manera independiente, de hecho, lo que he visto por ahí de Metal Slugs en MegaDrive siempre ha sido a 60fps, a diferencia del original, que iba a 30. También es verdad, que con menos carga gráfica.

Avatar de Usuario
masteries
Mensajes: 1931
Registrado: 30 May 2018 11:33
Ubicación: Espaciando
Agradecido : 393 veces
Agradecimiento recibido: 1340 veces

Re: Empezando a portar Metal Slug de Atari STE a MegaDrive

Mensajepor masteries » 19 Oct 2021 17:18

robotnik16 escribió:
Pues no tengo el juego original grabado en la memoria, pero me da la sensación de que se ve muy bien por el momento, colores suaves y bastante homogéneos, que no es precisamente el fuerte en las tonalidades de MD.

¿Sólo has tocado colores? De rendimiento cómo lo ves, ¿podría acercarse al original o quedará muy lejos? Si no me equivoco, en MD tienes la ventaja de manejar sprites y fondos de manera independiente, de hecho, lo que he visto por ahí de Metal Slugs en MegaDrive siempre ha sido a 60fps, a diferencia del original, que iba a 30. También es verdad, que con menos carga gráfica.



El rendimiento, como bien indicas, al ser todo por hardware... pues es una bestia parda;

pero has de tener la precaución de no querer cambiar más de 7 KB de datos gráficos en cada fps;
esto quiere decir, que si pones dos explosiones gigantes en pantalla, que sus animaciones no vayan sincronizadas... de forma que si una explosión necesita cambiar su frame, la otra permanzca al menos otro par de frames estática.

Habrás deducido y es lo normal, que las animaciones no corren todas a 50 / 60 fps, por ejemplo en el STE, Marco cambia su imagen cada 3 frames y cosas así...

Y lo mismo para los enemigos, te tienes que asegurar en MegaDrive, que no nacen todos a la vez;
que haya una diferencia de algunos cuadros entre ellos.

En el STE esto no es un problema, porque está todo cargado en RAM; aquí está siempre cargando y descargando del cartucho... algunos sprites los tengo siempre en la memoria de vídeo, pero sólo caben de forma permanente las piernas de Marco, las piernas de los enemigos, los disparos, la granada, los marcadores y el avión.

El frame-buffer del escenario se come 34 KB de 56 KB que he logrado tener disponibles; y me he sacado algún truco de la manga, como que sólo hay un plano de scroll y lo muevo a dos velocidades y dos profundidades, dando la sensación de que hay dos. Para ahorrar 8 KB de vídeo, que hacen falta para sprites.

Lo que no vas a poder tener son esos fondos animados fastuosos de Neo Geo; tirando de sprites y haciéndolos algo lentos, se podría aproximar; ahora en lugar de un cartucho de 8 MB, te haría falta uno de 16 o 20 y eso ya ni es normal, y sería una pesadilla tanto de programar, como de diseñar la electrónica del cartucho (amén de que el cartucho sería muy, pero que muy caro).



Mientras se pueda hacer eso, podrá quedar muy bien y bastante por encima de lo que se había visto en MegaDrive.

Que la verdad, pocos juegos la exprimieron; hay buenos ejemplos como Sonic 3, Sonic 3D, Streets of Rage 2 y 3... pero la lista no es muy larga.
La maestría interior...

Vendo trapdoor 512KB A500: viewtopic.php?f=71&t=200034052
De 1MB A500+: viewtopic.php?f=71&t=200034115

Metal Slug Atari STE: www.youtube.com/watch?v=FMrdjrrtxWo

Avatar de Usuario
robotnik16
Mensajes: 81
Registrado: 22 Dic 2015 00:16
Agradecido : 7 veces
Agradecimiento recibido: 15 veces

Re: Empezando a portar Metal Slug de Atari STE a MegaDrive

Mensajepor robotnik16 » 19 Oct 2021 19:07

masteries escribió:El rendimiento, como bien indicas, al ser todo por hardware... pues es una bestia parda;

pero has de tener la precaución de no querer cambiar más de 7 KB de datos gráficos en cada fps;
esto quiere decir, que si pones dos explosiones gigantes en pantalla, que sus animaciones no vayan sincronizadas... de forma que si una explosión necesita cambiar su frame, la otra permanzca al menos otro par de frames estática.

Habrás deducido y es lo normal, que las animaciones no corren todas a 50 / 60 fps, por ejemplo en el STE, Marco cambia su imagen cada 3 frames y cosas así...

Y lo mismo para los enemigos, te tienes que asegurar en MegaDrive, que no nacen todos a la vez;
que haya una diferencia de algunos cuadros entre ellos.

En el STE esto no es un problema, porque está todo cargado en RAM; aquí está siempre cargando y descargando del cartucho... algunos sprites los tengo siempre en la memoria de vídeo, pero sólo caben de forma permanente las piernas de Marco, las piernas de los enemigos, los disparos, la granada, los marcadores y el avión.

El frame-buffer del escenario se come 34 KB de 56 KB que he logrado tener disponibles; y me he sacado algún truco de la manga, como que sólo hay un plano de scroll y lo muevo a dos velocidades y dos profundidades, dando la sensación de que hay dos. Para ahorrar 8 KB de vídeo, que hacen falta para sprites.

Lo que no vas a poder tener son esos fondos animados fastuosos de Neo Geo; tirando de sprites y haciéndolos algo lentos, se podría aproximar; ahora en lugar de un cartucho de 8 MB, te haría falta uno de 16 o 20 y eso ya ni es normal, y sería una pesadilla tanto de programar, como de diseñar la electrónica del cartucho (amén de que el cartucho sería muy, pero que muy caro).



Mientras se pueda hacer eso, podrá quedar muy bien y bastante por encima de lo que se había visto en MegaDrive.

Que la verdad, pocos juegos la exprimieron; hay buenos ejemplos como Sonic 3, Sonic 3D, Streets of Rage 2 y 3... pero la lista no es muy larga.

Entiendo que hacerlo funcionar totalmente estable a 60 fps es improbable, pero es que el original ya estaba fijado en 30 fps constantes, si no menos en momentos de mucha tralla. Lo trucos que comentas son esas cosas que los que no programamos no tenemos en cuenta, pero están ahí disimulados. Está claro que limitaciones hay.

Juegos que expriman la consola, pues supongo que como ha pasado en todos los sistemas, el hecho de las prisas, a veces dejadez, otras desconocimiento, encargos de un mimso juego para diferentes máquinas, etc etc... condicionan el resultado final, pero hay cosillas que pueden dar pistas de hasta dónde podían llegar. El Gunstar Heroes, que además es del mismo estilo que el Metal Slug, creo que es un buen ejemplo de juego hecho en medida de la máquina, o más reciente, el Paprium, que es un "yo contra el barrio" que comparado con los juegos lanzados en los '90, casi ni parece de MegaDrive.

A ver si nos dejas con el culo torcido con ese Metal Slug, que promete. -grin

Avatar de Usuario
masteries
Mensajes: 1931
Registrado: 30 May 2018 11:33
Ubicación: Espaciando
Agradecido : 393 veces
Agradecimiento recibido: 1340 veces

Re: Empezando a portar Metal Slug de Atari STE a MegaDrive

Mensajepor masteries » 22 Oct 2021 12:32

Pues ayer estuve sacando 20 sonics corriendo por pantalla, y uno de ellos arrastraba a varios otros (para probar a cambiar variables de unos a otros, punteros y demás)... estuve teniendo problemas de punteros...

los solucioné y todo eso marchaba full speed sin mayor problema;
y son 20 sprites (con la animación de correr) como ese cargando y descargando del cartucho todo el rato.
La maestría interior...

Vendo trapdoor 512KB A500: viewtopic.php?f=71&t=200034052
De 1MB A500+: viewtopic.php?f=71&t=200034115

Metal Slug Atari STE: www.youtube.com/watch?v=FMrdjrrtxWo

Avatar de Usuario
masteries
Mensajes: 1931
Registrado: 30 May 2018 11:33
Ubicación: Espaciando
Agradecido : 393 veces
Agradecimiento recibido: 1340 veces

Re: Empezando a portar Metal Slug de Atari STE a MegaDrive

Mensajepor masteries » 18 Nov 2021 19:14

Sacándole el partido a este hardware de recreativa, la memoria de vídeo bien exprimidita:


Imagen


Se están mostrando ahí un Slug gigante, 2 tanques enormes, 4 aviones, 14 explosiones pequeñas, 12 disparos y el Sonic.

Los sprites ya llevan la paleta definitiva para Metal Slug en MegaDrive.

También está sonando la misma música que en la versión STE, todo sonido digital sampleado a 16 KHz; y todo lo que en Atari STE necesita casi 4 MB de RAM (ahora unos 3,6 MB de RAM); en MegaDrive cabe en tan sólo 1 MB de ROM, y no estoy comprimiendo nada.

Se nota que al no estar basado el hardware de vídeo en planos, no es necesario guardar los gráficos pre-desplazados y ahí está el ahorro de memoria.


Ahora mismo, en esa pantalla, se están utilizando 62 sprites de los 79 sprite disponibles en MegaDrive. ¡Y fíjaos que brutalidad!
También comprobamos que muy pocos juegos, en su momento, exprimieron el hardware de vídeo. Da bastante de sí.

El juego lo estoy ejecutando en modo PAL 50 Hz, y no se resiente nada.

Así que en Mega y Super no hubo Metal Slug porque no les salió de las nar*****
La maestría interior...

Vendo trapdoor 512KB A500: viewtopic.php?f=71&t=200034052
De 1MB A500+: viewtopic.php?f=71&t=200034115

Metal Slug Atari STE: www.youtube.com/watch?v=FMrdjrrtxWo

Avatar de Usuario
robotnik16
Mensajes: 81
Registrado: 22 Dic 2015 00:16
Agradecido : 7 veces
Agradecimiento recibido: 15 veces

Re: Empezando a portar Metal Slug de Atari STE a MegaDrive

Mensajepor robotnik16 » 18 Nov 2021 20:30

Qué bueno, ¿pero todo ya con sus animaciones o son sólo los sprites a groso modo? En cualquier caso, parece que progresa muy bien.

Con el margen que dices que queda, explicado para ignorantes en la materia como yo, ¿hasta dónde se podría llegar en cuanto a enemigos, balas y elementos en general? A 30 o 60 fps? (con sus lógicas caídas doy por hecho...).


Volver a “Consolas Clásicas”

¿Quién está conectado?

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