Iniciar sesión

Ver la versión completa : Portando Metal Slug de Atari STE a MegaDrive



masteries
07/08/2021, 18:27
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, por que 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:


54640


54641


54642


54643

swapd0
07/08/2021, 18:55
Vas a tener que usar un cartucho de 8MB que no 8Mb :P

masteries
07/08/2021, 19:13
Vas a tener que usar un cartucho de 8MB que no 8Mb :P

Efectivamente, 8 MB que es el máximo para esta máquina.

Claro que no puedes tener conectado el Sega CD ni el 32X, porque entonces te comes el espacio de memoria que maneja estos dispositivos xD

Compatible sólo con MegaDrives / Genesis tal cual, sin expansiones.

Karkayu
07/08/2021, 20:18
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, por que 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:


54640


54641


54642


54643

Mola mucho

SplinterGU
08/08/2021, 03:56
excelente masteries!

masteries
27/08/2021, 17:19
excelente masteries!

Splinter, te he puesto un privadin,

A ver si se puede desatascar una cosa...

Rivroner
28/08/2021, 15:18
Alucinante famigo, he visto el vídeo de la primera misión completa y es increíble. Por cierto, ¿juegas con invulnerabilidad para así ver mas rápido la misión entera o son las colisiones que no están afinadas? Si hubiera salido esta demo en su época hubiera explotado el mundo.

masteries
19/10/2021, 13:39
Update del 19 de Octubre de 2021

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.

54712

54713

54714

54715


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


Si se compara con las imágenes del primer post, se aprecia una mejoría en el colorido;
no es que MegaDrive sea muy amiga de dejarte mucho margen con el coloreado, pero con esfuerzo se logra afinar a mejor.

BeaR
19/10/2021, 15:07
Impresionante :O

Enhorabuena

swapd0
19/10/2021, 16:04
Traidor!!! Este juego debe ser exclusivo del STE!!!!

selecter25
19/10/2021, 18:36
Muy grande!!

Drumpi
20/10/2021, 11:59
Desde luego está quedando impresionante. Nada que envidiar a los mejores grafistas profesionales de la época, ¡incluso mejores! Cuando consigas meterle los giga-sprites de Atari...
Aunque me queda la duda de si estás portando el Metal Slug de Atari STE, o intentando hacer un port de Metal Slug arcade usando el código de Atari STE... O sea, si estás intentando ser fiel a la Atari o a la recreativa.

Simplemente por saber si sólo vas a llevar a cabo labores de porteo, o si vas a intentar mejorar todo lo que se pueda en la MD, porque los colores se ven un poco apagados ¿no? ¿O es limitación de la MD? Entiendo que las paletas son las que son, y que habrá unas partes con más colores que otros, pero me suena que MD puede dar colores más saturados ¿no? o con menos "brillo".

josepzin
20/10/2021, 14:09
Ah bueno, no estás empezando con un Pacman o un Space Invaders... :P

masteries
22/10/2021, 13:07
Ah bueno, no estás empezando con un Pacman o un Space Invaders... :P


Eso es para gente mucho más Pro...


En cambio los humildes como yo, que nos perdemos en un mar de punteros, tenemos que conformarnos con lo normalito... un Metal Slug

SplinterGU
22/10/2021, 13:36
Ah bueno, no estás empezando con un Pacman o un Space Invaders... :P

a la gente le encanta el pacman y el space invaders... mi space invaders para zx* encanto por la fidelidad al original... me pidieron un pac-man igual al arcade, pero ahi no se que tal la licencia y demas...

josepzin
22/10/2021, 13:49
Casi nada...

-----Actualizado-----

Igual un Pacman tiene una IA mucho más complicada de lo que se cree la gente.

Drumpi
22/10/2021, 13:59
a la gente le encanta el pacman y el space invaders... mi space invaders para zx* encanto por la fidelidad al original... me pidieron un pac-man igual al arcade, pero ahi no se que tal la licencia y demas...

Bueno, no creo que Namco vaya a decirte nada por hacer un juego para ZX, ya que su última versión es de hace treinta y pico años :D
A las malas, recibirías una C&D y tendrás que quitar la descarga, pero no creo que te vayan a meter en la cárcel por eso.


Casi nada...

-----Actualizado-----

Igual un Pacman tiene una IA mucho más complicada de lo que se cree la gente.

Más que la IA, el problema es el pathfind :P
Aquí hay un vídeo que lo explica con detalle, lástima que sólo esté en inglés:

https://www.youtube.com/watch?v=ataGotQ7ir8

SplinterGU
22/10/2021, 14:07
Casi nada...

-----Actualizado-----

Igual un Pacman tiene una IA mucho más complicada de lo que se cree la gente.

es cierto, cada fantasma tiene un comportamiento especifico y complejo... bueno, el space invaders tambien... cada enemigo tiene un tipo de disparo... los disparos tienen su logica para ser disparados y otras cosas... hay tiempos, los puntajes que da el UFO no son al azar, tiene que ver con los disparos que hizo el jugador... no son tan simples como parecen...

-----Actualizado-----


Bueno, no creo que Namco vaya a decirte nada por hacer un juego para ZX, ya que su última versión es de hace treinta y pico años :D
A las malas, recibirías una C&D y tendrás que quitar la descarga, pero no creo que te vayan a meter en la cárcel por eso.



Más que la IA, el problema es el pathfind :P
Aquí hay un vídeo que lo explica con detalle, lástima que sólo esté en inglés:

https://www.youtube.com/watch?v=ataGotQ7ir8

lo del C&D es cierto...

si, el pac-man tiene sus vueltas, igual tiene IA los fantasmas... creo que esta descripta en la wiki... o en algun lado la lei...

pero para spectrum si me gustaria un buen pac-man, un buen donkey kong... y algun otro clasico... pero que sea lo mas fiel posible... como hice con el space invaders...

swapd0
22/10/2021, 20:39
Bueno, no creo que Namco vaya a decirte nada por hacer un juego para ZX, ya que su última versión es de hace treinta y pico años :D
A las malas, recibirías una C&D y tendrás que quitar la descarga, pero no creo que te vayan a meter en la cárcel por eso.



Más que la IA, el problema es el pathfind :P
Aquí hay un vídeo que lo explica con detalle, lástima que sólo esté en inglés:

https://www.youtube.com/watch?v=ataGotQ7ir8
En españolo

https://www.youtube.com/watch?v=0OUfyzcrCio

josepzin
22/10/2021, 20:54
Ese video de Fran Gallego es muy bueno.

SplinterGU
23/10/2021, 18:31
que bueno ese video... me lo guardo! gracias... no se, quizas hago un pac-man respetando todas esas cosas del original, como lo del pixel de colision que puedes atravesar el pac-man... jajaja!

mills332
24/10/2021, 11:27
Eso es para gente mucho más Pro...


En cambio los humildes como yo, que nos perdemos en un mar de punteros, tenemos que conformarnos con lo normalito... un Metal Slug

Al final como has logrado usar los 64 colores en los mapas? encontraste algún software decente, o lo has tenido que hacer a mano?

masteries
24/10/2021, 14:39
Al final como has logrado usar los 64 colores en los mapas? encontraste algún software decente, o lo has tenido que hacer a mano?

Digamos que ha habido que ingeniárselas con herramientas propias para conseguirlo;

es una pena que el software homebrew esté en pañales... o a saber si en manos que no quieren soltarlo;
como pasa con BitBeamCannon y su engine (a partir de uno libre, pero fuertemente modificado) para Amiga 500, que no lo sueltan ni dan pistas.

masteries
18/11/2021, 19:10
Sacándole el partido a este hardware de recreativa, la memoria de vídeo bien exprimidita:

54738

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 sprites 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*****

josepzin
18/11/2021, 20:35
Como mola ver todo asi en trocitos!

Drumpi
19/11/2021, 10:14
Así que en Mega y Super no hubo Metal Slug porque no les salió de las nar*****

No sé, digo yo que el tener una consola del editor del juego, y querer tener el juego en exclusiva influyó en algo :D

Parece que los mitos de que SNES era más potente que MD se van desmontando uno a uno :D
La verdad, que ver tantas cosas en pantalla funcionando a la vez parece increíble. Recuerdo que el Gunstar Heroes mostraba una barbaridad de elementos en pantalla, pero pocos tan grandes. También es verdad que aquella gente no tenía tanto tiempo para explorar lo que la consola daba de sí, ni las herramientas de hoy día.

Bueno ¿para cuándo está previsto que me pueda hacer una repro? :D :D :D

swapd0
19/11/2021, 12:27
Parece que los mitos de que SNES era más potente que MD se van desmontando uno a uno :D

En los decorados la SNES gana, en los sprites aunque en papel parece que la SNES sea mucho mejor (128 vs 80) en la practica no hay tanta diferencia.

Drumpi
19/11/2021, 14:01
Bueno, pero todo dependía del modo en que se pusiera la SNES, porque había modos con más o menos planos, diferentes resoluciones, y creo que eso afectaba también al número de sprites. Aparte, la potencia, que MD tiene más capacidad de proceso para mover más objetos en pantalla y compensar algunas deficiencias (algo sobre el acceso a gráficos o del manejo de estos, que es más complejo en MD, pero que se suplía con cálculos extra)...
No sé, no he bajado tanto al nivel técnico de ambas consolas.

DarkDijkstra
19/11/2021, 15:55
Bueno, pero todo dependía del modo en que se pusiera la SNES, porque había modos con más o menos planos, diferentes resoluciones, y creo que eso afectaba también al número de sprites. Aparte, la potencia, que MD tiene más capacidad de proceso para mover más objetos en pantalla y compensar algunas deficiencias (algo sobre el acceso a gráficos o del manejo de estos, que es más complejo en MD, pero que se suplía con cálculos extra)...
No sé, no he bajado tanto al nivel técnico de ambas consolas.

Es mucho más sencillo que todo eso... la Megadrive tenía Blast Processing y la SNES no... [Ahhh]

Por otro lado, muy impresionante, masteries, recuerdo el follón de las paletas cuando hice alguna cosilla para Megadrive, pero lo que haces siempre juega en otras ligas... :brindis:

swapd0
19/11/2021, 17:07
Bueno, pero todo dependía del modo en que se pusiera la SNES, porque había modos con más o menos planos, diferentes resoluciones, y creo que eso afectaba también al número de sprites. Aparte, la potencia, que MD tiene más capacidad de proceso para mover más objetos en pantalla y compensar algunas deficiencias (algo sobre el acceso a gráficos o del manejo de estos, que es más complejo en MD, pero que se suplía con cálculos extra)...
No sé, no he bajado tanto al nivel técnico de ambas consolas.
Por eso mismo, en la MD solo tienes dos planos, en la SNES puedes elegir, ademas de que puedes poner uno transparente (dependerá del modo) para hacer niebla.

masteries
12/12/2021, 19:35
Un vídeo:


https://www.youtube.com/watch?v=-hl3hkKaHa8

SplinterGU
13/12/2021, 03:35
Un vídeo:


https://www.youtube.com/watch?v=-hl3hkKaHa8

si quedo excelente! :D
masteries hacete un videito donde muestren los 3 canales sonando a la vez... ese blastem es de windows, cierto? en linux con ese emulador la verdad que no me sonaba a esa velocidad... en windows parece que suena como en la real...

o si podes hacer un video en la consola real, pero tomando el sonido directo de la salida de audio de la consola (o del tv)... seria fantastico...

swapd0
13/12/2021, 08:52
No se pero me gusta mas las version del STe tanto en gráficos (y eso que son 16 vs 64 colores) como en sonido.

Drumpi
13/12/2021, 10:18
Como prototipo no está nada, pero que nada mal. Pinta muy bien, aunque comparto que lo de los colores no me termina de convencer, con las plataformas de las chozas con colores tan claros, se confunden con un fondo, pero bueno, es un prototipo, no un juego final ;)
Lo que sí me raya es la animación de andar, como si el cuerpo fuera 1 o 2 pixels por detrás de las piernas. Parece que ande como Chiquito :D Y supongo que será limitación de la máquina, sobre alinear sprites o algo así, o lo mismo es así en el original, pero ¿se puede hacer que la parte de arriba del cuerpo suba y baje al andar? Es que ya digo, se ve un poco raro.

Por lo demás, en los 90, la gente se hubiera pegado por conseguir un juego que se viera así.

SplinterGU
13/12/2021, 11:28
No se pero me gusta mas las version del STe tanto en gráficos (y eso que son 16 vs 64 colores) como en sonido.

en cuanto a sonido no se puede comparar STe con MD, hablo de esto, porque el driver de sonido que esta usando ahi lo hice yo... es un driver que no existe... son 3 canales ADPCM... lo que habia eran 2 canales ADPCM... tambien hay 4 canales PCM... pero 3 canales ADPCM no existe... costo un trabajito, adapte el que viene en el SDK, pero llevo trabajo porque fue casi reescribir todo... y luego de escribir la logica, fue ir modificando todo nuevamente par ir metiendo cada N t-states la reproduccion de los samples, previa decodificacion y mixeo de los 3 canales... calcular los tiempos de cada instruccion en toda la logica fue un trabajo pesado...

ademas, cuando decia que no es lo mismo, me refiero a que en STe tenes un DAC para escribir, aca en MD hay que hacerlo todo a mano... decodificar, mixear, y mientras haces todo esto (en paralelo) ir reproduciendo los samples ya procesados... y todo desde el Z80...

lo del sonido tiene su merito...

-----Actualizado-----


Como prototipo no está nada, pero que nada mal. Pinta muy bien, aunque comparto que lo de los colores no me termina de convencer, con las plataformas de las chozas con colores tan claros, se confunden con un fondo, pero bueno, es un prototipo, no un juego final ;)
Lo que sí me raya es la animación de andar, como si el cuerpo fuera 1 o 2 pixels por detrás de las piernas. Parece que ande como Chiquito :D Y supongo que será limitación de la máquina, sobre alinear sprites o algo así, o lo mismo es así en el original, pero ¿se puede hacer que la parte de arriba del cuerpo suba y baje al andar? Es que ya digo, se ve un poco raro.

Por lo demás, en los 90, la gente se hubiera pegado por conseguir un juego que se viera así.

esta en desarrollo, ya corregira esos detalles del cuerpo y las piernas... yo lo veo muy bien...

masteries
13/12/2021, 11:38
No se pero me gusta mas las version del STe tanto en gráficos (y eso que son 16 vs 64 colores) como en sonido.

Superar los 70 y picos colores "simultáneos" que está mostrando el STE es más que difícil, haría falta Super NES con un plano en color de 8 bits.

Respecto al sonido; como os ha explicado Splinter; aunque ha logrado un driver estupendo, 3 voces digitales comprimidas; siempre estará ahí el problema de que el chip de sonido no es el que recupera los samples (no tiene DMA, ojalá);

Sino que es el Z80 el que tiene que llevar los samples en el momento correcto (no hay un buffer de samples, se ponen sample a sample, y ese es el DAC que tienes); y el Z80 lee del cartucho... el adaptador de vídeo lee del cartucho...(el único DMA que hay), el 68000 tiene su programa en el cartucho... a veces el Z80 puede verse retrasado un poco, porque sólo uno puede estar accediendo al cartucho. A este respecto, un tirón de orejas a SEGA, por no poner DMA en el audio.

Y también es sonido comprimido, frente a sonido descomprimido; al comprimir puedes perder frecuencias y detalles.



De todas formas hay que grabarlo en la máquina real, pues se oye bastante mejor; los emuladores decepcionan respecto a la emulación de los accesos a cartucho y a la emulación del Z80.

Luego podrías usar sonido sintetizado, pero para eso te hace falta un maestro compositor del Yamaha 2612 ; a día de hoy prefiero trabajar con .wav que sirve para todas las plataformas que manejo.



Aquí se nota, que aunque tienes más colores, está limitado a 16 colores simultáneos por tile... y no he podido hacer trucos como con el STE, por que la VRAM es de tan sólo 64 KB. Los sprites tienen que ir en algún sitio... xD Aún así el mapeado va cambiando su paleta según avanza el mapeado, y no se nota el cambio.




Pinta muy bien, aunque comparto que lo de los colores no me termina de convencer, con las plataformas de las chozas con colores tan claros, se confunden con un fondo, pero bueno, es un prototipo, no un juego final ;)
Lo que sí me raya es la animación de andar, como si el cuerpo fuera 1 o 2 pixels por detrás de las piernas. Parece que ande como Chiquito


ufff!!! Pues ni te imaginas las htas. que he tenido que construirme en Matlab para poder obtener unos mapeados con estos colores tan decentes; respetando los colores de Mega que son ya de por sí un poco raritos. Aunque hay 512 colores a elegir, hay muchos colores casi repetidos y luego otros cuya transición de tonalidad entre sus vecinos es demasiado escandalosa.

Quizá se pueda forzar un poco más, pero tampoco vas a poder encontrar todas las tonalidades que se ven en el STE... de hecho te vas a ver cómo se ve Paprium, y hay escenarios con 10 - 12 colores y porrón de tiles iguales descaradamente.



Lo del movimiento tipo chiquito es problema mío; el protagonista son dos sprites y hasta hoy no terminaban de encajar del todo, el torso iba un frame retrasado respecto a las piernas...
Complica mucho las cosas hacer así el protagonista, pero minimiza mucho el número de frames y simplifica el código de animación.

Aunque te complica con un código que haga de pegamento... xD



"Por lo demás, en los 90, la gente se hubiera pegado por conseguir un juego que se viera así."


Si lo pensamos, tiene su gracia, porque el hardware que estamos usando es el mismo de entonces;
creo que más bien se debe a que apuntamos a un tamaño de ROM grande, de 8 MB
y a que el conocimiento informático está más extendido; te haces tus propias htas... etc.


Y en aquellos tiempos intentaban hacerlo todo con 1 MB, tenías suerte si el juego ocupaba 2 o 3,
y ya eras más que afortunado cuando ocupaba 4

Echando la vista atrás, en MegaDrive hay una gran cantidad de juegos que sólo ocupan 512 KB,
con esos tamaños, poca "chicha" le ibas a sacar a la máquina,

SplinterGU
13/12/2021, 16:45
cierto, me referia al DMA no al DAC como dije... gracias por la correccion...

Drumpi
13/12/2021, 20:03
Masteries, créeme que te entiendo, más de lo que piensas :D
Así que los gráficos han pasado antes por Matlab... En ese caso, pocas modificaciones ibas a poder hacer. Si se hubieran convertido "a mano", seguro que sería más sencillo hacer la corrección, pero si no puedes. Ya sé que no están todos los colores, pero para los planos que afectan al juego, hay que intentar usar colores saturados, que contrasten con fondos de colores claros. Al menos, en este caso. Luego los hay que los fondos usan otros colores diferentes (casi complementarios), etc, hay muchos trucos, pero la parte jugable debe destacar. Sólo lo digo para que lo tengas en cuenta, a ver si las conversiones de Matlab puedes forzar tonos más oscuros en los tiles de primer plano.

Y también te entiendo con lo de la desincronización entre elementos del prota: te recuerdo que programo en Bennu :D Tierra de los procesos que se ejecutan "a su bola" (a menos que controles el priority... y a veces no te puedes permitir ese lujo) :D

Lo de la referencia a los 90 ha sido adrede :lol:

masteries
13/12/2021, 20:10
Masteries, créeme que te entiendo, más de lo que piensas :D
Así que los gráficos han pasado antes por Matlab... En ese caso, pocas modificaciones ibas a poder hacer. Si se hubieran convertido "a mano", seguro que sería más sencillo hacer la corrección, pero si no puedes. Ya sé que no están todos los colores, pero para los planos que afectan al juego, hay que intentar usar colores saturados, que contrasten con fondos de colores claros. Al menos, en este caso. Luego los hay que los fondos usan otros colores diferentes (casi complementarios), etc, hay muchos trucos, pero la parte jugable debe destacar. Sólo lo digo para que lo tengas en cuenta, a ver si las conversiones de Matlab puedes forzar tonos más oscuros en los tiles de primer plano.

Y también te entiendo con lo de la desincronización entre elementos del prota: te recuerdo que programo en Bennu :D Tierra de los procesos que se ejecutan "a su bola" (a menos que controles el priority... y a veces no te puedes permitir ese lujo) :D

Lo de la referencia a los 90 ha sido adrede :lol:


Si, la zona de las chozas debería ser un poco más "luminosa", colores con más contraste.

Si al algoritmo le paso una imagen, con los colores forzados con más contraste / saturación, debería servir.


Eso ya lo dejo para cuando empiece a integrar el juego de verdad; esto del Metal Slug es para tener un engine de juegos Run&Gun y aprender (a cabezazos) a usar estas máquinas; para tenerlas trilladas antes hay que pegarse con ellas... xD

masteries
16/12/2021, 17:32
Hoy tenemos una prueba de fuerza bruta,
quería saber a partir de cuanta acción en pantalla empezaban a parpadear los sprites con menos prioridad
(en este caso el slug grande es el menos prioritario)


https://www.youtube.com/watch?v=zFzXgNPkMZs


Este es el momento en que el slug empieza a tener algún problema,
pero hay en pantalla alrededor de 60 sprites

swapd0
16/12/2021, 18:19
IIRC la megadrive pude pintar 320pixels de sprites en cada linea, en cuanto intentas dibujar mas tendrás parpadeos.

SplinterGU
18/12/2021, 03:30
Hoy tenemos una prueba de fuerza bruta,
quería saber a partir de cuanta acción en pantalla empezaban a parpadear los sprites con menos prioridad
(en este caso el slug grande es el menos prioritario)


https://www.youtube.com/watch?v=zFzXgNPkMZs


Este es el momento en que el slug empieza a tener algún problema,
pero hay en pantalla alrededor de 60 sprites

hay que corregir el orden de dibujado ahi...

masteries
19/12/2021, 00:45
IIRC la megadrive pude pintar 320pixels de sprites en cada linea, en cuanto intentas dibujar mas tendrás parpadeos.

Sí, son 320 pixels de sprites por línea.

Los pixels "transparentes" también cuentan; cuando se alcanza esa cifra, o si con la línea del siguiente sprite superaras esa cifra, esa línea de ese sprite y lo siguientes no se dibujan.



Pero vamos, que como vemos en el vídeo, ocurre en situaciones extremas...

si en un juego tipo Metal Slug pones escenas así, es para hacer perder unas cuantas vidas al jugador;
ya me contaréis cómo te enfrentas a 5 aviones, 1 tanque, 6 soldados y un mecanoide gigante sin causar grandes frustraciones al jugador, eso no debes hacerlo, siempre tienes que darle la posibilidad de sobrevivir, aunque algunos encuentros sean muy difíciles.

swapd0
21/12/2021, 11:28
Tienes competencia XD

https://www.youtube.com/watch?v=CudroezzpeE

Drumpi
21/12/2021, 14:10
Pero no compares...
Bueno, vale, comparemos: este otro tiene colores más vivos, y la banda sonora suena "mejor" porque se ha compuesto sobre el chip de MD... Pero el de Masteries, si no he entendido mal, la música es PCM, y el número y el tamaño de elementos en pantalla es apabullantemente mayor :D
Como demo, gana nuestro compañero Masteries. Sobre un juego final ya no lo tengo tan claro :D :D :D

swapd0
21/12/2021, 17:15
A mi lo que no me gusta es que los decorados se ven demasiado "tileados"

masteries
21/12/2021, 20:49
Tienes competencia XD



No son competencia,

Tras analizar la ROM que han hecho pública; el manejo que hacen gira todo en torno a las funciones básicas del SGDK.
La VRAM se les fragmenta una barbaridad y a menudo no les queda hueco para mostrar más sprites...

Usan unos 400 tiles para el escenario, y nunca los cambian.


Frente a los 8776 tiles que estoy manejando, con paleta dinámica (y además no lo notáis), que no deja de ser la misma versión (en assets y código) del STE.

Lo del sonido en emulador, he logrado que se oiga mejor;
quitando el "low pass filter cut" (¿en serio que en pleno 2021 se sigue utilizando un triste filtro Notch?)

¡Aupa el driver escrito por Splinter!

Tengo que grabarlo en máquina real, uno con OSSC y otro con TV de tubo.



https://www.youtube.com/watch?v=-hl3hkKaHa8


https://www.youtube.com/watch?v=zFzXgNPkMZs

SplinterGU
22/12/2021, 19:59
genial! gracias por la mencion! :D

masteries
10/02/2022, 16:48
Hoy he conseguido hacer funcionar un efecto de gradientes de color,

usando la interrupción horizontal y esperando hasta que el cambio de color
produjera Cdots o artefactos visuales fuera del espacio visible:

54862


Funciona mejor a partir de interrupciones horizontales cada 3 líneas,



El problema viene cuando tu juego es complejo, y no puedes tener casi todo cargado en la VRAM;
en la demos de sonic, cuando mueves el scroll deprisa, se aprecia algún fallo esporádico.

Pero en Metal Slug... como está cargando y descargando constantemente un montón de gráficos en la VRAM,
pues empiezan a verse tiles raros, tiles mal colocados y algunos tiles corruptos.

Parece que la interrupción horizontal afecta al funcionamiento del DMA, lo que es triste y frustrante :(

Para pantallas de presentación y juegos sencillos puede funcionar,
pero en juegos con carga intensa no parece que resulte.

Quizá por estos motivos, apenas se vió este efecto en juego alguno de MegaDrive.


En este caso, gradientes de color, hasta el Atari ST le da sopas con onda a esta consola.

swapd0
10/02/2022, 18:20
Parece que la interrupción horizontal afecta al funcionamiento del DMA, lo que es triste y frustrante :(

IIRC si escribes en algún registro de color mientas se esta dibujando la pantalla puedes tener pixels en negro porque como esta accediendo el 68000 el chip de video no puede acceder a los colores.

masteries
10/02/2022, 20:48
IIRC si escribes en algún registro de color mientas se esta dibujando la pantalla puedes tener pixels en negro porque como esta accediendo el 68000 el chip de video no puede acceder a los colores.


Para eso es lo de "esperar hasta que el cambio de color produzca Cdots o artefactos visuales fuera del espacio visible".

No son exactamente píxeles negros, sino de colores aleatorios.

Por lo que he estado depurando después: resulta que la carga y descarga de sprites a través del DMA,
detiene la ejecución del 68000; curiosamente no detiene la ejecución del Z80 (de otra forma mantener el audio, ya fuese digital o FM, sería imposible).

Y como se detiene la ejecución del 68000, pues el timing de la interrupción horizontal se te va al traste;
o a veces se ejecuta muy tarde y ya se le ha pasado la franja para dibujar el color que querías.

Así que este efecto lo usaré para la pantalla de presentación, y escenas intermedias, porque usarlo in-game no parece que pudiera ser.

SplinterGU
10/02/2022, 20:54
se ve muy bien!

masteries
11/02/2022, 17:21
Acabo de probar el avance actual del port de Metal Slug en la MegaDrive real,

Respecto al emulador no hay color... en el sentido literal, los colores son mucho más vívidos, y el sonido digital se oye mucho mejor.
Y atendiendo al rendimiento, va más suave en la máquina real, que en los emuladores; de hecho la carga de CPU (la del 68000) es menor en la máquina real.

Vaya petardo de emuladores, no son demasiado fieles.


También he probado una composición de música que he realizado,
puede que no se le saque tantísimo jugo como un experto en el Yamaha 2612 podría sacarle,
pero el sonido digital que obtienes mantiene el tipo, amén de que está comprimido.


En un rato os subo un vídeo,

swapd0
11/02/2022, 18:30
O_o yo pensaba que los emuladores eran mas precisos, tal vez el de megadrive no lo sea porque no les hacia falta, aunque hay otros que si lo son (Stella, steem y hatari)

chipan
11/02/2022, 20:39
Pues esperando a ver ese video en el hard real.

masteries
11/02/2022, 20:39
Pues esperando a ver ese video en el hard real.



Aquí está:



https://www.youtube.com/watch?v=kcFOhYul6cY

chipan
11/02/2022, 21:09
Pues si, la mejora es notable, y los avances que has hecho son más que evidentes, una pregunta ¿que es ese tile saltarín de la parte superior izquierda?

Por cierto, que el policia del retro no se entere de que lo estás probando en un LCD :quepalmo:

dj syto
11/02/2022, 22:40
Pues si, la mejora es notable, y los avances que has hecho son más que evidentes, una pregunta ¿que es ese tile saltarín de la parte superior izquierda?

Por cierto, que el policia del retro no se entere de que lo estás probando en un LCD :quepalmo:

los que no sois masteries me pregunto como sois capaces de notar la mejora si ambos videos estan grabados a 30 fps, y el del emulador está capturado como el culo.

masteries a que se debe el tearing en el scroll? porque veo que tambien ocurre en hard real.

chipan
12/02/2022, 00:15
los que no sois masteries me pregunto como sois capaces de notar la mejora si ambos videos estan grabados a 30 fps, y el del emulador está capturado como el culo.

@masteries (https://www.gp32spain.com/foros/member.php?u=28729) a que se debe el tearing en el scroll? porque veo que tambien ocurre en hard real.

Veo colores más vivos, veo que se han implementado más cosas en el juego desde el último video que ví (colisiones, salpicaduras en el agua, etc) y escucho mejoras en el sonido... no apreciaré todos los detalles, pero si que he visto mejorías

dj syto
12/02/2022, 02:04
Veo colores más vivos, veo que se han implementado más cosas en el juego desde el último video que ví (colisiones, salpicaduras en el agua, etc) y escucho mejoras en el sonido... no apreciaré todos los detalles, pero si que he visto mejorías

Lo de los colores es normal que los veas distintos. No me jodas. Uno es una captura del pc y el otro esta grabao con camara de una tele. xddddd Lo demas es cierto. Pero no creo que sean mejoras por jugarlo en un hard real...

SplinterGU
12/02/2022, 03:15
Aquí está:



https://www.youtube.com/watch?v=kcFOhYul6cY

excelente!

chipan
12/02/2022, 10:40
Lo de los colores es normal que los veas distintos. No me jodas. Uno es una captura del pc y el otro esta grabao con camara de una tele. xddddd Lo demas es cierto. Pero no creo que sean mejoras por jugarlo en un hard real...

De acuerdo, pero por lo general se ven mucho peor los colores cuando grabas una pantalla que cuando la capturas, y aquí parece que ocurre justo al reves.

masteries
12/02/2022, 10:53
De acuerdo, pero por lo general se ven mucho peor los colores cuando grabas una pantalla que cuando la capturas, y aquí parece que ocurre justo al reves.


Sí, cierto xD


La imagen que me saca el emulador Blastem es la que veís, está capturado con Relive. El grabado de la TV, con un OSSC por el medio.
Por otro lado, el sonido sampleado que sale de cualquier emulador de megadrive/genesis es una porquería; todos sabemos que el sonido sampleado en Mega fué anecdótico, y eso ha hecho que haya quedado marginado en los emuladores.

La imagen que saca Gens KMod tiende a colores más marrones... xD parece de coña; y Gens KMod rara vez me detecta el teclado ¿? Además de que noto tirones de rendimiento en los emuladores, que no aparecen en el hard real ¿? Y en cada emulador los tirones suceden en situaciones diferentes... xD

Los emuladores me sirven para depurar, ver si estoy haciendo bien una u otra cosa observando la memoria de vídeo, la de color... y la pruebas de verdad en la máquina real.



Lo del tearing, creo saber de dónde viene... cosas que las librerías tenían que resolver por tí... pero no;
las librerías SGDK son sólo un gestor del DMA y un adaptador de gráficos y sonidos, está a años luz de la calidad y cobertura de las Atari Game Tools (AGT).


Todo lo que es el motor del juego, la gestión de entidades... las he adaptado de las AGT, a mi manera, porque las AGT son muy dependientes del hardware del ST/E (las colisiones se hacen con el blitter por ejemplo); pero las funciones ahora son las mismas, y el código resultante es 90% igual en ambas plataformas. El otro 10% es dependiente del hardware de Megadrive, y de ahí viene el tearing.

selecter25
12/02/2022, 12:57
Mis dies, se ve muchísimo mejor.

dj syto
12/02/2022, 15:30
De acuerdo, pero por lo general se ven mucho peor los colores cuando grabas una pantalla que cuando la capturas, y aquí parece que ocurre justo al reves.

Depende mucho de la pantalla que grabas, de tu camara, de la luz de la habitacion, etc.

Y no solo eso, con un mismo movil, una misma pantalla y mismas condiciones luminicas he obtenido grabaciones y fotos en condiciones totalmente opuestas unas de otras, dependiendo de como le haya dado al movil por autoenfocar o autoajustar el diafragma. Desde verse superblanca super quemadisima, a verse con colores saturados.

Por eso dije que, salvo masteries, que es quien puede ver ambas versiones en una pantalla de forma limpia, el resto no podemos deducir eso viendo fotos a una pantalla.

masteries
12/02/2022, 22:17
@masteries (https://www.gp32spain.com/foros/member.php?u=28729) a que se debe el tearing en el scroll? porque veo que tambien ocurre en hard real.


Acabo de arreglar lo del tearing,

¡Lo que estoy aprendiendo del hardware de Megadrive!

=>He tenido que ubicar en la interrupción vertical, la actualización de la posición del scroll y de la posición en el scroll de los sprites.
Ahora ya no hay tearing, ni tembleque raro en los sprites (esto no ocurría siempre, pero ocurría).

De esta forma, ya no se actualizan esos valores en mitad de un fotograma, sino que se actualizan antes de que se pinte nada en pantalla.

dj syto
13/02/2022, 00:18
Acabo de arreglar lo del tearing,

¡Lo que estoy aprendiendo del hardware de Megadrive!

=>He tenido que ubicar en la interrupción vertical, la actualización de la posición del scroll y de la posición en el scroll de los sprites.
Ahora ya no hay tearing, ni tembleque raro en los sprites (esto no ocurría siempre, pero ocurría).

De esta forma, ya no se actualizan esos valores en mitad de un fotograma, sino que se actualizan antes de que se pinte nada en pantalla.

que maravilla!

masteries
15/02/2022, 10:38
Pues si, la mejora es notable, y los avances que has hecho son más que evidentes, una pregunta ¿que es ese tile saltarín de la parte superior izquierda?

Por cierto, que el policia del retro no se entere de que lo estás probando en un LCD :quepalmo:


El tile saltarín representa el consumo de CPU, cuanto más baje, peor.
Intento que no baje mucho, porque en consolas NTSC tienes un 20% menos de CPU disponible por fotograma.


Por si os lo preguntáis; he dado soporte a sistemas NTSC, aunque se ejecuta a 50 cuadros aparentes;
en pantalla son 60, pero los updates del juego siguen siendo 50, cambiarlo sería un infierno porque toda la lógica es la misma del STE

Hasta las trayectorias de salto del personaje son tablas precalculadas para 50 updates; hay que dárselo lo más masticado posible a estos sistemas.


El próximo vídeo lo pongo en TV de tubo, al igual que la versión STE; ¡debería verse increíble!

chipan
15/02/2022, 10:54
El tile saltarín representa el consumo de CPU, cuanto más baje, peor.
Intento que no baje mucho, porque en consolas NTSC tienes un 20% menos de CPU disponible por fotograma.


Por si os lo preguntáis; he dado soporte a sistemas NTSC, aunque se ejecuta a 50 cuadros aparentes;
en pantalla son 60, pero los updates del juego siguen siendo 50, cambiarlo sería un infierno porque toda la lógica es la misma del STE

Hasta las trayectorias de salto del personaje son tablas precalculadas para 50 updates; hay que dárselo lo más masticado posible a estos sistemas.


El próximo vídeo lo pongo en TV de tubo, al igual que la versión STE; ¡debería verse increíble!

Supuse que era algo así porque se ve que baja cuando hay mas movimiento en pantalla.

swapd0
15/02/2022, 12:35
El tile saltarín representa el consumo de CPU, cuanto más baje, peor.
Intento que no baje mucho, porque en consolas NTSC tienes un 20% menos de CPU disponible por fotograma.


Por si os lo preguntáis; he dado soporte a sistemas NTSC, aunque se ejecuta a 50 cuadros aparentes;
en pantalla son 60, pero los updates del juego siguen siendo 50, cambiarlo sería un infierno porque toda la lógica es la misma del STE

Hasta las trayectorias de salto del personaje son tablas precalculadas para 50 updates; hay que dárselo lo más masticado posible a estos sistemas.


El próximo vídeo lo pongo en TV de tubo, al igual que la versión STE; ¡debería verse increíble!
Yo hago "lo mismo", en cada frame pregunto si es un frame PAL, corriendo en un trasto PAL devuelve siempre true y ejecuto la lógica, en un NTSC de vez en cuando devuelve false y no hago nada.

masteries
21/05/2022, 18:12
Algunas imágenes de cómo se ve en una TV de tubo, están hechas con el móvil, pero aún así reflejan de forma bastante fiel como lo he estado viendo en una TV de tubo de 14". Nunca antes había visto un despliegue de color como este en MegaDrive,

La verdad es que acojona cómo se parece en muchas ocasiones al original de NeoGeo:


55038

55041

55044

55045

55046




55033

55034

55035

55036

55037


Para los que quieran verlo bien;
recomendable un brillo más bien bajo, y la saturación de color un poco por encima de la mitad.

Escribo esta recomendación, porque hay quien se creía que era plug&play... sin necesidad de ajustar
nada en el monitor o TV, para algo ha estado siempre la barra del brillo y la de color... las máquinas antiguas
no se comunican con la TV y la ajustan ellas mismas xD

También estas imágenes sirven como referencia de cómo debe verse.

Drumpi
23/05/2022, 10:30
Por lo que veo en las fotos, el "exceso de brillo" de los fondos no es tan cantoso como se apreciaban en capturas anteriores... O lo has retocado y no me estoy dando cuenta. El caso es que se ve de miedo :D

selecter25
23/05/2022, 10:54
Se ve increíble, en directo debe de ser la venida de cristo.

SplinterGU
25/05/2022, 04:57
fantastico masteries!

masteries
09/06/2022, 14:02
Estoy puliendo los retoques finales,


Le toca a las cajas de colisión...
he clonado el sistema de depuración del Metal Slug original de NeoGeo :)


Activando un flag en la compilación,
puedo visualizar la esquina inferior izquierda y la esquina superior derecha.


Para poder depurar los tamaños y posiciones en condiciones:



55080



55081

masteries
13/06/2022, 15:50
La fecha de publicación está muy cercana ya...

Para ir abriendo boca, un vídeo con el modo Depuración activado;
probando las colisiones entre sprites:



https://youtu.be/ROMCReXx_Zk

masteries
16/06/2023, 11:57
De los creadores de: Esto no puede ser, eso se mueve a 25 fps,

Llega la respuesta para algo que no es nuevo, pues
ya se había comentado antes;

el por qué no empecé
con estas cosas en su tiempo,
cuando las máquinas aún se fabricaban
y vendían, mostrando este hecho como algo malo:

Veamos, si apenas eras un bebé o niño muy pequeño en
esos tiempos... entonces...



55596

swapd0
16/06/2023, 17:25
Usuario de Amiga entre 198x-199x: El juego es muy malo, es un port de Atari, no aprovecha las capacidades del Amiga.
Usuario de Amiga de 202x: ¿Podrías portar el juego de Atari a Amiga?
XDXDXD

MasterGame
16/06/2023, 21:12
En 2040 lo petará