Empezando a portar Metal Slug de Atari STE a MegaDrive

Avatar de Usuario
masteries
Mensajes: 2105
Registrado: 30 May 2018 11:33
Ubicación: Espaciando
Has thanked: 422 times
Been thanked: 1424 times

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

Mensaje por masteries »

robotnik16 escribió: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...).
Con sus animaciones y todo :)

Toda esa cantidad de sprites que ves, animados, moviéndose, colisionando y con 3 - 4 voces de sonido digital a 50 / 60 fps... en NTSC lo hago también funcionar a 50 cuadros, para que no me descabale el engine del juego, que es el mismo del STE


Lo de los 30 fps en NeoGeo debe tener una explicación, debido a alguna limitación técnica.

No olvidemos que en NeoGeo, los fondos presentan animaciones gigantescas, que aquí no podemos tener ... no por falta de potencia gráfica, sino más bien por falta de RAM de vídeo. Si hubiesen mantenido el plan original de mantener los 128 KB del arcade system 16, padre de MegaDrive, pero decidieron dejarlo a la mitad.
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
Has thanked: 76 times
Been thanked: 324 times

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

Mensaje por Mlake »

Cada vez se va poniendo mejor. -thumbup

La verdad es que hace años que no hago nada con la Megadrive, aun asi me surgen dudas.

La CRAM de la Mega tiene 4 paletas de 16 colores.
Con 32 (2x16) para los sprites, ¿como le das 64 (4x16) al fondo si solo te quedan 2 paletas de 16? Imagino qur cambiando los colores al vuelo durante el Hblank.¿No?

Si solo usas un plano, ademas de los cambios al vuelo ¿tambien cambias de paleta? ¿O te mantienes con la misma?

¿Que te pareció la idea de mezclar el plano A y el B para poder usar las dos paletas a la vez?


Que te ocupe menos vram que en el ST es normal, los gráficos son de 16 colores en MD y de 32 en el ST.
Yo hice la prueba en amiga y el fondo de la mission 1 se chupa 650kb de chip a 16 colores.

Otra cosa, ¿Puedes usar el plano W para hacer el hud? Seria un detalle resulton.



Sobre la neo geo, la magia no son los cartuchos gigantes (que tambien) , es el hecho de que los sprites van directos del cartucho al VDP, no hay que cargarlos en vram. Por eso la consola tiene 2 ranuras.
Avatar de Usuario
robotnik16
Mensajes: 98
Registrado: 22 Dic 2015 00:16
Has thanked: 10 times
Been thanked: 22 times

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

Mensaje por robotnik16 »

Pues joderrr, muchas ganas de verlo acabado en movimiento, tiene que ser una pasada.

En una entrevista a uno de los diseñadores de la consola, comentan que hubo aspectos que no se pudieron implementar, como por ejemplo, una paleta mayor, porque eso conllevaba aumentar a su vez otros elementos del hardware, imagino que uno podría ser la mayor ram, y que todo ello conllevaría un aumento considerable del precio, por lo que decidieron cerrar el grifo para vender más máquinas. Ya tal y como es, el precio de salida fue alto en su lanzamiento.

Lo que comentas de los 80 sprites (o 79), los programadores del Paprium dijeron haber encontrado para el juego una 'puerta trasera' que les permitió llegar a 96, pero no explicaron exactamente a qué se referían. Según con tus referencias, 62 ya dan para bastante.

Enhorabuena por el trabajo, es un todo un logro.
Avatar de Usuario
Mlake
Mensajes: 178
Registrado: 27 Mar 2019 19:54
Has thanked: 76 times
Been thanked: 324 times

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

Mensaje por Mlake »

robotnik16 escribió:[...]

Lo que comentas de los 80 sprites (o 79), los programadores del Paprium comentaron que encontraron una 'puerta trasera' que les permitió llegar a 96, pero no explicaron exactamente a qué se referían. Según con tus referencias, 62 ya dan para bastante.

Enhorabuena por el trabajo, es un todo un logro.
La megadrive tiene una tabla para 80 sprites, pero solo tiene 40 "reales" (32 si trabajas a 256px de ancho).

Puedes actualizar la tabla y tener 200 pseudo sprites si quieres, pero no son de verdad.
Avatar de Usuario
robotnik16
Mensajes: 98
Registrado: 22 Dic 2015 00:16
Has thanked: 10 times
Been thanked: 22 times

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

Mensaje por robotnik16 »

Mlake escribió:
robotnik16 escribió:[...]

Lo que comentas de los 80 sprites (o 79), los programadores del Paprium comentaron que encontraron una 'puerta trasera' que les permitió llegar a 96, pero no explicaron exactamente a qué se referían. Según con tus referencias, 62 ya dan para bastante.

Enhorabuena por el trabajo, es un todo un logro.
La megadrive tiene una tabla para 80 sprites, pero solo tiene 40 "reales" (32 si trabajas a 256px de ancho).

Puedes actualizar la tabla y tener 200 pseudo sprites si quieres, pero no son de verdad.
Lo de la tabla de 80 sí lo conocía, en lo de sprites reales o pseudo ya me pierdo, supongo que a los segundos no se les podrá dotar de propiedades tipo colisiones o cosas así?? Por cierto, curioso que a menor resolución rinda menos, pero también lo había oído.

No sé en qué consistirá lo de los 96 sprites, pero es cierto que el juego muestra muchísimos más enemigos que cualquier otro juego similar del sistema, y además con muy poquito parpadeo. Quizás sólo sea optimización, aunque si no recuerdo mal, precisamente las barras de vida, puntuación y demás (que no están en el plano reservado para el hud) creo que disponían justamente de 16 sprites, tal vez lo destinaran para ésto.
Avatar de Usuario
masteries
Mensajes: 2105
Registrado: 30 May 2018 11:33
Ubicación: Espaciando
Has thanked: 422 times
Been thanked: 1424 times

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

Mensaje por masteries »

Mlake escribió:Cada vez se va poniendo mejor. -thumbup

La verdad es que hace años que no hago nada con la Megadrive, aun asi me surgen dudas.

La CRAM de la Mega tiene 4 paletas de 16 colores.
Con 32 (2x16) para los sprites, ¿como le das 64 (4x16) al fondo si solo te quedan 2 paletas de 16? Imagino qur cambiando los colores al vuelo durante el Hblank.¿No?

Si solo usas un plano, ademas de los cambios al vuelo ¿tambien cambias de paleta? ¿O te mantienes con la misma?

¿Que te pareció la idea de mezclar el plano A y el B para poder usar las dos paletas a la vez?


Que te ocupe menos vram que en el ST es normal, los gráficos son de 16 colores en MD y de 32 en el ST.
Yo hice la prueba en amiga y el fondo de la mission 1 se chupa 650kb de chip a 16 colores.

Otra cosa, ¿Puedes usar el plano W para hacer el hud? Seria un detalle resulton.



Sobre la neo geo, la magia no son los cartuchos gigantes (que tambien) , es el hecho de que los sprites van directos del cartucho al VDP, no hay que cargarlos en vram. Por eso la consola tiene 2 ranuras.

En los sistemas planares, para obtener el mejor rendimiento, has de pre-desplazar los gráficos; el skew vde los blitter tiene un precio, también en Amiga, y si multiplicas ese precio por X, pues mal...

Además de que las optimizadas instrucciones para el blitter, por cada fotograma de cada sprite, hace que todo ocupe mucho más

Volviendo a Megadrive,

Son sólo 16 colores para los sprites,
y el coloreado del fondo tiene otros secretillos,

Así cómo la gestión propia de los sprites... Son de verdad 79 sprites de 32x32 píxeles; pero no intentes cambiar el fotograma de todos los sprites a la vez, porque eso no es posible. xD

Para eso he escrito el gestor, para que no siempre sean dinámicos, unos pocos son estáticos, y otros va rotando entre dinámicos y pseudo-estaticos.

Hay un poquito más de ciencia en el engine, que he ido añadiendo; lo que viene por defecto en SGDK se te queda corto, al menos a los discípulos de DML y Anima
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
Has thanked: 76 times
Been thanked: 324 times

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

Mensaje por Mlake »

**OFF TOPIC**
Avatar de Usuario
masteries
Mensajes: 2105
Registrado: 30 May 2018 11:33
Ubicación: Espaciando
Has thanked: 422 times
Been thanked: 1424 times

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

Mensaje por masteries »

*** OFF TOPIC ***
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
Has thanked: 76 times
Been thanked: 324 times

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

Mensaje por Mlake »

**OFF TOPIC**
Avatar de Usuario
explorer
Mensajes: 734
Registrado: 10 Ene 2016 18:43
Ubicación: Valladolid, España
Has thanked: 24 times
Been thanked: 708 times
Contactar:

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

Mensaje por explorer »

¿Hay algún código o documento donde explique el formato EMX2? La otra vez estuve mirando por los archivos del proyecto y no encontré mucho.
Avatar de Usuario
masteries
Mensajes: 2105
Registrado: 30 May 2018 11:33
Ubicación: Espaciando
Has thanked: 422 times
Been thanked: 1424 times

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

Mensaje por masteries »

explorer escribió:¿Hay algún código o documento donde explique el formato EMX2? La otra vez estuve mirando por los archivos del proyecto y no encontré mucho.
Estoy preparando un vídeo, en el que también expondré otro formato, el SLAB;

éste incluso requiere atender una trap que surge la primera vez que intentas hacer que el blitter mezcle desplazamiento o shift con transferencias DMA; útil para sprites enormes sin usar ni configurar máscara alguna.

Si no se atiende la trap, te salen un porrón de bombas xD

Ahora bien, nunca he ido a ver en que consiste el código que resuelve la trap;
me he quedado con la explicación que me dió DML y con saber cómo usar este formato.
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: 2105
Registrado: 30 May 2018 11:33
Ubicación: Espaciando
Has thanked: 422 times
Been thanked: 1424 times

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

Mensaje por masteries »

robotnik16 escribió:
Un update,

He conseguido gestionar en pantalla a la vez:

-Hasta 15 sprites de 32x32 píxeles (o 16 tiles de 8x8 píxeles), éstos comprenden los torsos de los soldados, chatarrilla volando, explosiones pequeñas, la bomba que lleva el avión, el cartelito de Go-> , y bastantes más

-Hasta 4 sprites más grandes, de 60 tiles cada uno (helicópteros,tanques o explosiones más grandes)

-Hasta 2 soldados de los exóticos: como los que llevan escudo, el del bazzoka, el que está encaramado a un árbol...

-El jugador y el HUD minimalista

-La piernas de los soldados, los disparos, las granadas, los proyectiles de mortero y los impactos en el suelo/agua de los disparos, están cargados de forma constante en la RAM de vídeo

-Y el frame buffer con el escenario ultradetallado, + 110 tiles para un scroll parallax


Y ya no cabe más,

Los sprites enormes como el Slug, comparten su espacio con 3 vehículos/explosiones grandes y los soldados poco comunes.
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: 98
Registrado: 22 Dic 2015 00:16
Has thanked: 10 times
Been thanked: 22 times

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

Mensaje por robotnik16 »

masteries escribió:
robotnik16 escribió:
Un update,

He conseguido gestionar en pantalla a la vez:

-Hasta 15 sprites de 32x32 píxeles (o 16 tiles de 8x8 píxeles), éstos comprenden los torsos de los soldados, chatarrilla volando, explosiones pequeñas, la bomba que lleva el avión, el cartelito de Go-> , y bastantes más

-Hasta 4 sprites más grandes, de 60 tiles cada uno (helicópteros,tanques o explosiones más grandes)

-Hasta 2 soldados de los exóticos: como los que llevan escudo, el del bazzoka, el que está encaramado a un árbol...

-El jugador y el HUD minimalista

-La piernas de los soldados, los disparos, las granadas, los proyectiles de mortero y los impactos en el suelo/agua de los disparos, están cargados de forma constante en la RAM de vídeo

-Y el frame buffer con el escenario ultradetallado, + 110 tiles para un scroll parallax


Y ya no cabe más,

Los sprites enormes como el Slug, comparten su espacio con 3 vehículos/explosiones grandes y los soldados poco comunes.
Todo eso es el tope tolerable? O sea, sin que pete y haya festival de parpadeos y ralentizaciones?
Avatar de Usuario
masteries
Mensajes: 2105
Registrado: 30 May 2018 11:33
Ubicación: Espaciando
Has thanked: 422 times
Been thanked: 1424 times

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

Mensaje por masteries »

robotnik16 escribió:
masteries escribió:
robotnik16 escribió:
Un update,

He conseguido gestionar en pantalla a la vez:

-Hasta 15 sprites de 32x32 píxeles (o 16 tiles de 8x8 píxeles), éstos comprenden los torsos de los soldados, chatarrilla volando, explosiones pequeñas, la bomba que lleva el avión, el cartelito de Go-> , y bastantes más

-Hasta 4 sprites más grandes, de 60 tiles cada uno (helicópteros,tanques o explosiones más grandes)

-Hasta 2 soldados de los exóticos: como los que llevan escudo, el del bazzoka, el que está encaramado a un árbol...

-El jugador y el HUD minimalista

-La piernas de los soldados, los disparos, las granadas, los proyectiles de mortero y los impactos en el suelo/agua de los disparos, están cargados de forma constante en la RAM de vídeo

-Y el frame buffer con el escenario ultradetallado, + 110 tiles para un scroll parallax


Y ya no cabe más,

Los sprites enormes como el Slug, comparten su espacio con 3 vehículos/explosiones grandes y los soldados poco comunes.
Todo eso es el tope tolerable? O sea, sin que pete y haya festival de parpadeos y ralentizaciones?
Más o menos ese es el límite en el que empiezas a notar que se cae a 49 - 48 cuadros por segundo... de todas formas, no cabe más en la VRAM (más de la mitad se la lleva el frame buffer del escenario con calidad Neo Geo).

Para que empiece a parpadear, bueno más bien para que notes que le faltan líneas a algunos sprites, tienes que ser muy burro; los 20 sprites por línea dan bastante de sí.

Vamos, que lo que se ve en el STE es posible en MD, en incluso más.
A excepción de que si quisieras sacar en pantalla dos super-jefes, tendrías que asegurarte antes de que no hay otras cosas por ahí pululando... no habría VRAM para dos jefazos y 5 soldados por ejemplo.


También todo es currárselo orientado a la plataforma, puedes hacer que cuando haya jefe, o te vayas a enfrentar a un jefazo; los tiles del escenario sean menos de 1000 (y no haya parallax, otros 110 tiles disponibles), y así puedas disponer de más VRAM.
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
amakuja
Mensajes: 1115
Registrado: 01 Nov 2010 14:42
Ubicación: Santurce Antiguo
Has thanked: 36 times
Been thanked: 321 times

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

Mensaje por amakuja »

Fantástico trabajo. Yo lo podría probar también en everdrive a 50 y 60hz.

Saludos
El que nada emprendió, nada terminará.
Avatar de Usuario
masteries
Mensajes: 2105
Registrado: 30 May 2018 11:33
Ubicación: Espaciando
Has thanked: 422 times
Been thanked: 1424 times

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

Mensaje por masteries »

Mlake escribió:Cada vez se va poniendo mejor. -thumbup


Que te ocupe menos vram que en el ST es normal, los gráficos son de 16 colores en MD y de 32 en el ST.
Yo hice la prueba en amiga y el fondo de la mission 1 se chupa 650kb de chip a 16 colores.


No, en el STE todo está a 16 colores. De hecho el ordenador no puede con más colores a la vez;
salvo que la misma paleta se utiliza dos veces de distinta manera, para mezclar y generar nuevos colores;
lo que exige el duplicado de los gráficos en memoria.

Además de que en el STE todos los sprites tienen copias predesplazadas, y eso hace que los sprites ocupen aún más,
el rendimiento sale de algún sitio. El mapeado por duplicado en STE se merienda 780 KB, de los 4 MB de chip RAM que tiene.


Update del desarrollo en MegaDrive:

Imagen

Imagen

La paleta de color de los sprites ha quedado muy bien, me encanta como luce Marco y los soldados enemigos...


Estoy puliendo cosas, unos marrones que me he encontrado en MegaDrive que no me esperaba; adaptando el juego también para consolas NTSC (la misma ROM sirve para PAL y NTSC) y portando el código del STE a MD

Por cierto, a ver si pronto subo vídeos; porque el sonido es 100% digital sampleado y comprimido... haciendo uso de un nuevo driver de sonido personalizado que mandé hacer a un buen colega, el curro del driver ha sido muy serio;

Este driver permite usar 3 voces comprimidas a 16 KHz
Se oye de lujo para ser una MD

Gracias al sonido digital comprimido, la misma versión de Metal Slug del STE, cabe en 1 MB en su versión MegaDrive
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
Responder

Volver a “Consolas Clásicas”