PDA

Ver la versión completa : Adaptando juegos de MS-DOS a MegaDrive



mills332
17/04/2014, 03:25
Buenas!.

Después de programar cosas para la GameBoy en c, me decidí por la MegaDrive con el sgdk.

La verdad es que es muy potente la MD, ya hemos visto que hasta puede con un 3D sin chips raros como la SNES (sin faltar a la SNES).

Me pregunto por ejemplo, como sería un Day of the Tentacle en la MD...

He hecho pruebas y los fondos se ven bastante bien, los sprites parece que caben en la memoria, excepto en animaciones grandes que habría que hacerlas de otra manera, y el sonido... bueno el chip le sobra, y se parece mucho al adlib que usa el original.

Lo malo sería el espacio, ya que el juego ocupa unos 15 Megas con las voces de la intro. Al optimizar los fondos a 16 colores, la reducción de espacio es enorme.

La imagen original con 256 colores ocupa 40 KB y la imagen convertida que muestro funcionando en el emulador, ocupa unos 14 KB (está completa, hasta la parte de la escalera). Además hay un sprite de bernard, el gafotas, y el plano A con las acciones, sobre el fondo.

https://dl.dropboxusercontent.com/u/757056/MD-GEN/rom001.bmp

Podría hacerse, pero menudo trabajo, haciendo una regla de tres muy mala, teniendo en cuenta la imagen convertida, podria caber e 1 Mega? Luego la música y las voces ya no se...

Otro juego que he probado es este de minigolf, que a alguno le sonará, es una chorradilla de 1995 pero a mi me gustaba :).

Menú original 256 colores:
http://www.myabandonware.com/media/captures/F/fuzzys-world-of-miniature-space-golf/fuzzys-world-of-miniature-space-golf_2.gif

Funcionando en emulador MegaDrive: (no hace nada, solo mueve el fondo, el puntero y suena música...
https://dl.dropboxusercontent.com/u/757056/MD-GEN/rom000.bmp

Este si que sería simple, solo hay que convertir bien los fondos y hacer operaciones para que rebote la bola (de sobra), puede que me ponga con el.

Descargas:

http://www.megafileupload.com/en/file/522049/MD-GEN-zip.html

DOTT: pulsa A,B o C para que bernard haga cosas o hable el tentáculo.
FUZZY: espera al menu, pulsa a hasta que aparezca la intro de blast from the past, espera a que cargue el hoyo. En el hoyo no pasa nada, solo mueves el cursor o ves salir el cohete si pulsas A.

Saludos.

K-teto
17/04/2014, 03:51
El fuzzy por dios!! haz el fuzzy!!
Si lo haces seras mi dios XDD

mills332
17/04/2014, 04:23
El fuzzy por dios!! haz el fuzzy!!
Si lo haces seras mi dios XDD

Pues ya he hecho hasta la música del menú.. jaja se puede hacer mejor que la original, porque se supone que el chip es mejor, pero tampoco soy músico.. jaja.

dj syto
17/04/2014, 04:57
Vaya par de juegazos has ido a elegir!!. Está claroque en megadrive se podria haber hecho una conversion virtualmente identica del dott, unicamente recortando colores, alguna animacion y voces. Se mueve bernard en lo que has hecho? Hay cursor?

_-Caleb-_
17/04/2014, 12:40
Ostras que bueno, estas cosas en un everdrive, con el hard real sería la caña :D

Molondro
17/04/2014, 13:09
El Fuzzy's minigolf seria la crema

O cualquiera de Apogee excepto los últimos. La MD debería de poder moverlos sin mucho/ningún recorte.

Cómo haces la conversión del código x86 al de la mega?

dj syto
17/04/2014, 13:10
El Fuzzy's minigolf seria la crema

O cualquiera de Apogee excepto los últimos. La MD debería de poder moverlos sin mucho/ningún recorte.

Cómo haces la conversión del código x86 al de la mega?
Hasta donde yo se, creo que no esta reconvirtiendo codigo. Sino adaptando sprites y fondos y el poco codigo que tiene lo ha hecho desde cero. A ojo.

FFantasy6
17/04/2014, 13:25
Ostras que bueno, estas cosas en un everdrive, con el hard real sería la caña :D

Pues una edición limitada en cartucho no te digo na.

mills332
17/04/2014, 14:32
El Fuzzy's minigolf seria la crema

O cualquiera de Apogee excepto los últimos. La MD debería de poder moverlos sin mucho/ningún recorte.

Cómo haces la conversión del código x86 al de la mega?

Solo convierto los fondos a 16 colores y los sprites, y los meto en el kit de desarrollo SGDK, en C.

Estaria bien que existieran los códigos en C de estos juegos, porque adaptarlos sería más facil, aunque yo no se mucho de C, pero seria cuestión de ir mirando el código y cambiando partes.

Creo que el Fuzzy está hecho en asm, pero no estoy seguro, tampoco es dificil hacerlo de cero, solo hay que sumar vectores y la MD no tiene problemas con eso.

Hoy voy a hacer que bernard se mueva, y meter el cursor, y a ver si convierto un midi para probar la música a lo cutre, y subiré un vídeo a youtube. :).

neostalker
17/04/2014, 14:37
Tyriaaaaan y Wacky Wheels! xDDD

Los Jack Jazzrabbit también molan como idea :D

chipan
18/04/2014, 01:33
Respecto al DOTT ¿No sería mas facil portar scummvm a megadrive que reprogramar el juego entero? aunque solo fuese la parte utilizada para el DOTT

dj syto
18/04/2014, 03:22
Respecto al DOTT ¿No sería mas facil portar scummvm a megadrive que reprogramar el juego entero? aunque solo fuese la parte utilizada para el DOTT
Imposible!!!! Es completamente imposible! La megadrive no tiene potencia para ello! Cuando salió el primero para gp32 recuerdo que hicieron un intento de port a gba, y cargaba el dott, pero a una velocidad terriblemente lenta. Imagina una megadrive...

chipan
18/04/2014, 04:57
Imposible!!!! Es completamente imposible! La megadrive no tiene potencia para ello! Cuando salió el primero para gp32 recuerdo que hicieron un intento de port a gba, y cargaba el dott, pero a una velocidad terriblemente lenta. Imagina una megadrive...
hmmm, no me acordaba, siempre he pensado que no era tan "glotón" en cuanto a recursos.

dj syto
18/04/2014, 05:02
hmmm, no me acordaba, siempre he pensado que no era tan "glotón" en cuanto a recursos.

Una conversion hubiera sido perfectamente posible en mega o snes, pero el scumm seria como ejecutarlo nativamente. Y nativamente no puede con algo así ni de coña. Tendria que reconvertir colores en tiempo real y necesitaria mas memoria ram y de video.

josepzin
18/04/2014, 05:33
Hacer un Scumm desde cero lo veo demasiado ambicioso...

chipan
18/04/2014, 06:16
Una conversion hubiera sido perfectamente posible en mega o snes, pero el scumm seria como ejecutarlo nativamente. Y nativamente no puede con algo así ni de coña. Tendria que reconvertir colores en tiempo real y necesitaria mas memoria ram y de video.
Si, eso es cierto, pero creo que podría aprovecharse la parte de la lógica del juego

swapd0
18/04/2014, 15:50
14kb para la imagen del dott me parece mucho, no hay degradados, hay muchas zonas con un solo color, etc Ademas se pueden usar mas colores, no se supone que se pueden poner 64colores para el fondo, 16 como mucho por tile.

-----Actualizado-----

De todas formas para un primer intento esta bien, no hay que quitar el mérito.

mills332
18/04/2014, 16:37
En cuanto al DOTT, La verdad es que optimizandolo bien, se puede meter todo, solo hay que recortar algunos fondos muy grandes, o quitar "frames" a alguna animación.

cuando coinciden muchos personajes en pantalla, como los tentáculos del final, habría que inventarse algo... y para las animaciones tochas, como la de la maquina del tiempo, la MD puede hacer "vídeos" cambiando el fondo (probado con el kit de desarrollo sgdk) yo creo que hasta 25 fps si que llega.

Se puede, pero eso si, ocuparia 5 o 6 Megas, no se si hay cartuchos así...

En cuanto al minigolf, creo que si lo voy a intentar :).

Aquí tenéis un vídeo con los dos demos, el DOTT y el FUZZY, y los podéis descargar aquí: https://dl.dropboxusercontent.com/u/757056/MD-GEN/games.zip


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

Segata Sanshiro
18/04/2014, 16:50
Si el problema es el espacio en el cartucho, se podría probar a almacenar los fondos en formato RLE. Lo malo podría ser el tiempo que se tarda en cargarlos, o si caben en la VRAM para aquellos escenarios más grandes.

mills332
19/04/2014, 01:03
14kb para la imagen del dott me parece mucho, no hay degradados, hay muchas zonas con un solo color, etc Ademas se pueden usar mas colores, no se supone que se pueden poner 64colores para el fondo, 16 como mucho por tile.

-----Actualizado-----

De todas formas para un primer intento esta bien, no hay que quitar el mérito.

Pues seguro que se puede optimizar más, es que yo he usado la herramienta que viene por defecto, analiza los tiles de 8x8, y borra los que se repiten en una imagen, y lo hace bastante bien, porque si metes partes grandes de un solo color, se reduce mucho el tamaño.

Pero es que los fondos del DOTT y de casi todos los juegos scummvm no están hechos para tiles ni nada, son imágenes completas en las que casi ninguna parte se repite, aunque reduzcas los colores y todo, son bastante complejas.

Con el compilador sgdk solo puedo meter 16 colores por plano (32) y otros 32 para dos tipos de sprites, creo... porque aún no lo he conseguido, pero si tiene 64 colores, debe de poderse hacer.

swapd0
19/04/2014, 12:45
Después de ver el video he visto que la imagen era mas grande y no solo la pantalla, por eso dije que me parecía que ocupaba mucho.

enkonsierto
20/04/2014, 01:43
Alucinante, tienes algún tutorial para seguir?

Sfing
20/04/2014, 12:22
He visto el video y se ve realmente genial esa conversión!

Ánimo!

Un Saludo

mills332
20/04/2014, 14:09
Alucinante, tienes algún tutorial para seguir?

He seguido los ejemplos que vienen con el sgdk y pregunté a su autor (stef) en los foros spritesmind, porque le falta documentacion.

No podría seguir con el DOTT a no ser que se uniese muchísima gente o algo así.

Voy a continuar con el fuzzy.


A ver si alguien que sepa mucho de la megadrive me aclara unas cosas...

Se supone que tiene 64 Kb de ram para los gráficos, luego tiene 70 Kb de ram "normal" para el programa y las variables y todo eso, y la música la carga en otra memoria a parte para los chips de sonido.

Es correcto?.

Raydenito
20/04/2014, 20:17
¡Increible! Gran trabajo :brindis:
¿Tienes en mente llegar a terminarlo o es mas una especie de experimento? Pregunto...

mills332
20/04/2014, 21:20
¡Increible! Gran trabajo :brindis:
¿Tienes en mente llegar a terminarlo o es mas una especie de experimento? Pregunto...

El tentacle es un experimento, el minigolf si que intentaré terminarlo.

3L_S4N70
20/04/2014, 21:31
No he tenido la megadrive, pero reconozco que es un currazo y una pasada! Dale duro

enkonsierto
20/04/2014, 21:34
He seguido los ejemplos que vienen con el sgdk y pregunté a su autor (stef) en los foros spritesmind, porque le falta documentacion.

Eso es lo que pasaba, que la documentación es una mierda y cualquier cosa que quisiera hacer no encontraba información.

Drumpi
21/04/2014, 13:48
A mi me parece increible que todos los gráficos del Tentacle quepan en un cartucho de MD o en la RAM de la consola :D:D:D

dj syto
21/04/2014, 13:57
A mi me parece increible que todos los gráficos del Tentacle quepan en un cartucho de MD o en la RAM de la consola :D:D:D
quien ha dicho que caben?

Drumpi
21/04/2014, 14:11
Los que han dado por sentado que el Tentacle puede funcionar en MD. Al menos, me ha dado la sensación de que más de uno ha visto las imágenes y se ha pensado que iban a poder jugar al juego en sus consolas si el desarrollo seguía adelante.

dj syto
21/04/2014, 14:25
Los que han dado por sentado que el Tentacle puede funcionar en MD. Al menos, me ha dado la sensación de que más de uno ha visto las imágenes y se ha pensado que iban a poder jugar al juego en sus consolas si el desarrollo seguía adelante.

hombre, mills322 ya ha dicho que para hacer el dott no tiene conocimientos ni tiempo suficiente. Pero claro que seria perfectamente posible hacer un dott para megadrive para alguien que si que tuviera tiempo. Recuerda que habian cartuchos de 40 megas en megadrive. Ahi cabria sobradamente, y mas si se le hace un buen degradado al colorido y a otras cosas del juego menos basicas.

josepzin
21/04/2014, 14:35
Hay versión para C64, a ver cuanto ocupa...

-----Actualizado-----

Anda... me he columpiado, de lo que hay version es del Maniac Mansion y Zak McKraken! :D

mills332
21/04/2014, 14:35
A mi me parece increible que todos los gráficos del Tentacle quepan en un cartucho de MD o en la RAM de la consola :D:D:D

Pues si tiene 64 Kb y el fondo ocupa 15... bueno queda meter los sprites, pero en principio si que cabrían, aunque la verdad es que yo no sé muy bien como los carga, o si carga todas las animaciones a la vez.. o solo la imagen que está usando en ese momento... Yo creo que cabe.

Por curiosidad probé con el demo del tentacle, y podia mover unos 7 bernards/tentáculos sin que hubiese mucha cosa rara en la pantalla, si metia ya 7 sprites grandes con animación, se deformaban un poco y iba lento, pero vamos.. con 6 creo que la única escena que no cabría es la del final con todos los tentáculos.

Pero vamos, ya no voy a seguir haciendolo. como dije antes, estoy con el minigolf, que cabe de sobra y es mucho mas facil de hacer.

dj syto
21/04/2014, 14:53
Hay versión para C64, a ver cuanto ocupa...

-----Actualizado-----

Anda... me he columpiado, de lo que hay version es del Maniac Mansion y Zak McKraken! :Dalgo me dice que apenas has probado ni el dott ni el maniac. Pa eso presumias tanto de ese cartucho que tienes? xddd

josepzin
21/04/2014, 16:50
algo me dice que apenas has probado ni el dott ni el maniac. Pa eso presumias tanto de ese cartucho que tienes? xddd

Que perro eres... :D

Pero tienes algo de razón, porque la verdad es que a ese cartucho apenas si lo pongo a veces, y es que a ambos juegos ya los tengo jugados, terminados y vistos.

mills332
21/04/2014, 17:01
Esto es lo máximo que llega a cargar, y ya parpadean a veces los sprites, y va un pelin lento, no es el mismo sprite repetido, lo es pero he cargado cada uno por separado, así que haceos una idea de que cada uno puede ser diferente, con todas sus animaciones, por ejemplo, los tres chicos, el doctor, el tentáculo y cualquier objeto que interactúe como el gato-mofeta ese que hay que usar en el futuro.

https://dl.dropboxusercontent.com/u/757056/MD-GEN/bernard.bmp

selecter25
21/04/2014, 17:36
Sales en 3DJ, famico:

http://www.3djuegos.com/noticia/142100/0/day-of-the-tentacle/funcionando-sega-genesis/aficionado/

mortalmorzilla
21/04/2014, 20:13
Por dios del amor hermoso ....te ruego que porte es el Zyclunt.....juegazo muy al estilo de Genocide

Drumpi
21/04/2014, 20:45
hombre, mills322 ya ha dicho que para hacer el dott no tiene conocimientos ni tiempo suficiente. Pero claro que seria perfectamente posible hacer un dott para megadrive para alguien que si que tuviera tiempo. Recuerda que habian cartuchos de 40 megas en megadrive. Ahi cabria sobradamente, y mas si se le hace un buen degradado al colorido y a otras cosas del juego menos basicas.

No me he puest a buscar, ni tengo tiempo de hacerlo, pero ¿40 mega qué? ¿40 megabits o megabytes? porque me parece que son megabits, que equivalen a 5 MB. Si los cartuchos tuviesen tanto espacio creo que no habrían hecho ni el Sonic CD ni el Sonic CD Megamix en formato megaCD.
Respecto al degradado y todo eso, siempre hay trucos como el ¿dithering? vamos, la técnica esa que alterna pixels de un color y otro para dar sensación de mezcla de colores, pero al final, guardar tantos fondos, tan grandes, en unos cartuchos tan pequeños, se me antoja difícil sin recurrir a compresiones, recortes o un uso inteligente de tiles.


Esto es lo máximo que llega a cargar, y ya parpadean a veces los sprites, y va un pelin lento, no es el mismo sprite repetido, lo es pero he cargado cada uno por separado, así que haceos una idea de que cada uno puede ser diferente, con todas sus animaciones, por ejemplo, los tres chicos, el doctor, el tentáculo y cualquier objeto que interactúe como el gato-mofeta ese que hay que usar en el futuro.

https://dl.dropboxusercontent.com/u/757056/MD-GEN/bernard.bmp

Hombre, si te deja el espacio de los sprites, en determinadas ocasiones podrías unir dos en uno más grande. Por ejemplo, en dicha escena con todos los tentáculos, podrías agruparlos de dos en dos, o si puedes, que todo sea un único sprite, aunque no se muevan (o se muevan poco).

Las aventuras gráficas siempre han devorado los recursos, y es normal que no aparecieran demasiadas en consolas (sé que las hay, yo también he jugado al Maniac Mansion o al the Fish Files).

swapd0
21/04/2014, 21:01
No se si era para no parecer desfasados respecto al ordenador, por poner un numero mas grando o por puro marketing pero la memoria en los juegos en consola la ponían en megabits y no megabytes. Solo hay que bajarse un juego para un emulador y ver el tamaño del fichero.

Viendo como son los fondos se podrían vectorizar y así ahorrarías una burrada de memoria, lo malo es después el convertirlos a tiles para que se muestren en la MD.

zhorro
21/04/2014, 22:44
Pues han publicado su dropbox, se lo van a fundir, porque si recibe muchas peticiones se lo pueden cerrar temporalmente para evitar 'pirateria'

enkonsierto
21/04/2014, 22:55
Sales en 3DJ, famico:

http://www.3djuegos.com/noticia/142100/0/day-of-the-tentacle/funcionando-sega-genesis/aficionado/

Madre mía, un redactor que no sabe como se llama la mega drive y los comentarios que son para mear y no echar gota.

mills332
21/04/2014, 22:57
Pues han publicado su dropbox, se lo van a fundir, porque si recibe muchas peticiones se lo pueden cerrar temporalmente para evitar 'pirateria'

Ostras la lié por poner links directos... No creo que pase nada, el juego ya es bastante antiguo y nunca hubo problemas para descargarselo, ni el DOTT ni el fuzzy menos todavía (la empresa PixelPainters ya ni existe) y tampoco creo que se funda por descargas, espero...

Aunque con esos comentarios... se puede jugar un nivel, dice, cuando en realidad no hace nada, solo sale bernard... jeje.

Por cierto, el nombre está bien, es que en américa se llamaba genesis.

zhorro
21/04/2014, 23:23
El problema no es con el juego, es que si tu dropbox recibe muchas peticiones de descarga de usuarios distintos pueden llegar a bloqueártelo temporalmente bajo la sospecha de piratería.

mills332
22/04/2014, 00:02
El problema no es con el juego, es que si tu dropbox recibe muchas peticiones de descarga de usuarios distintos pueden llegar a bloqueártelo temporalmente bajo la sospecha de piratería.

Vaya.. y pensaba que nadie hacía caso a estas cosas jaja.

dj syto
22/04/2014, 01:36
No me he puest a buscar, ni tengo tiempo de hacerlo, pero ¿40 mega qué? ¿40 megabits o megabytes? porque me parece que son megabits, que equivalen a 5 MB. Si los cartuchos tuviesen tanto espacio creo que no habrían hecho ni el Sonic CD ni el Sonic CD Megamix en formato megaCD.
Respecto al degradado y todo eso, siempre hay trucos como el ¿dithering? vamos, la técnica esa que alterna pixels de un color y otro para dar sensación de mezcla de colores, pero al final, guardar tantos fondos, tan grandes, en unos cartuchos tan pequeños, se me antoja difícil sin recurrir a compresiones, recortes o un uso inteligente de tiles.



Hombre, si te deja el espacio de los sprites, en determinadas ocasiones podrías unir dos en uno más grande. Por ejemplo, en dicha escena con todos los tentáculos, podrías agruparlos de dos en dos, o si puedes, que todo sea un único sprite, aunque no se muevan (o se muevan poco).

Las aventuras gráficas siempre han devorado los recursos, y es normal que no aparecieran demasiadas en consolas (sé que las hay, yo también he jugado al Maniac Mansion o al the Fish Files).
Sí, 5 MB. Se de lo que hablo. Cuanto te crees que ocupaba el dott sin el archivo monster.sou (que era el qie incluia las voces) o sin las animaciones de la intro? Pos por ahi andaba la cosa, algun mega mas... Si cabia en ese espacio la version pc, cuanto iba a ocupar la de mega usando menos colores? Y no. Las aventuras graficas jamas han devorado recursos. Los requerimientos minimos de los clasicos de lucas eran ridiculamente bajos. Y ya se que no te has molestado en buscar. Nunca lo haces y por eso te metes en discusiones innecesarias que te ahorrarias si al menos supieras de lo que hablas, capullo. Xddd

fuera coñas, no se si conoces este juego:

https://www.youtube.com/watch?v=weHFbWPSl5U
ahi tienes pantallas igual de grandes que las del dott, incluso mas largas, con scroll. Y tal vez el juego no sea tan bonito visualmente como el dott, pero eso es culpa del dibujante. xdd
-----Actualizado-----


No se si era para no parecer desfasados respecto al ordenador, por poner un numero mas grando o por puro marketing pero la memoria en los juegos en consola la ponían en megabits y no megabytes. Solo hay que bajarse un juego para un emulador y ver el tamaño del fichero.

Viendo como son los fondos se podrían vectorizar y así ahorrarías una burrada de memoria, lo malo es después el convertirlos a tiles para que se muestren en la MD.
Lo de los bits y byte esta claro. Pero el amigo drumpi no tiene ni idea de lo poco que ocupaban los juegos de lucas xdd

-----Actualizado-----


Ostras la lié por poner links directos... No creo que pase nada, el juego ya es bastante antiguo y nunca hubo problemas para descargarselo, ni el DOTT ni el fuzzy menos todavía (la empresa PixelPainters ya ni existe) y tampoco creo que se funda por descargas, espero...

Aunque con esos comentarios... se puede jugar un nivel, dice, cuando en realidad no hace nada, solo sale bernard... jeje.

Por cierto, el nombre está bien, es que en américa se llamaba genesis.
NO! EL NOMBRE NO ESTA BIEN! Cualquiera que no sea americano y llame genesis a la megadraib merece la muerte!!!

GameMaster
22/04/2014, 07:25
genesis does!

dj syto
22/04/2014, 07:39
genesis does!
what gamemastern't!

enkonsierto
22/04/2014, 07:52
Por cierto, el nombre está bien, es que en américa se llamaba genesis.

Ya, pero ese redactor y tú y yo, y el 90% de sus lectores vivimos en europa.

GameMaster
22/04/2014, 10:19
se queja el que llama NASA a todas las nes clonicas xD

dj syto
22/04/2014, 10:36
se queja el que llama NASA a todas las nes clonicas xD
Lo mismito es! Claro claro.... Nasa es casi un nombre "generalizado". Como quieres que las llame? Como alguna que jamas se viera por aqui? Genesis no es NI EL NOMBRE ORIGINAL DE LA CONSOLA ni el nombre por el que se la conocia aqui. Utilizarlo siendo español es de esnob y de ignorante a la vez.

mills332
22/04/2014, 13:14
¡Qué bueno el scooby!.. también está para game boy color, aunque se ve demasiado pequeño jaja.

En fin, la conclusión es que se puede, yo creo que el DOTT pedia como dos megas de ram por que las imagenes son a 256 colores y por el tema de los sonidos, pero vamos, la MD tiene de sobra al cargar los fondos con 16 colores, y los sonidos que parecen ir a parte en el chip de sonido, así que si alguien quiere... jaja.

GameMaster
22/04/2014, 13:28
casi un nombre generalizado ? eso era en tu pueblo porque sólo salio la nasa como clonica a lo mejor, llamar genesis a la mega drive no lo veo tan grave como lo de la nasa, por lo menos esta si era de la misma marca, original y misma consola, sólo cambiaba el mercado de distribuición, la nasa era una clonica y clonicas habia cientos de varias empresas

chipan
22/04/2014, 13:30
Lo mismito es! Claro claro.... Nasa es casi un nombre "generalizado". Como quieres que las llame?
Pues como europeo que eres, y como las nes clónicas se vendían mucho en europa, queremos que las llames "ESA" (Agencia Espacial Europea) en lugar de NASA

dj syto
22/04/2014, 14:13
Pues como europeo que eres, y como las nes clónicas se vendían mucho en europa, queremos que las llames "ESA" (Agencia Espacial Europea) en lugar de NASA

mierda, eso no te lo puedo rebatir...

-----Actualizado-----


casi un nombre generalizado ? eso era en tu pueblo porque sólo salio la nasa como clonica a lo mejor, llamar genesis a la mega drive no lo veo tan grave como lo de la nasa, por lo menos esta si era de la misma marca, original y misma consola, sólo cambiaba el mercado de distribuición, la nasa era una clonica y clonicas habia cientos de varias empresas

luego te quejas si la gente te insulta. Precisamente por eso. Porque mega drive era OFICIAL y tenia un NOMBRE AQUI que ademas coincide con su nombre japones. La nasa era la nes clonica que mas existia en españa, y al fin y al cabo eran piratas, merecian una distincion mas extensa?

-----Actualizado-----


¡Qué bueno el scooby!.. también está para game boy color, aunque se ve demasiado pequeño jaja.

En fin, la conclusión es que se puede, yo creo que el DOTT pedia como dos megas de ram por que las imagenes son a 256 colores y por el tema de los sonidos, pero vamos, la MD tiene de sobra al cargar los fondos con 16 colores, y los sonidos que parecen ir a parte en el chip de sonido, así que si alguien quiere... jaja.
jajaja que va!! si no requeria ni un mega!!! xddd Eso si, si querias que fuera con voces igual ya era otra historia...

El scooby doo de gbc era un juego completamente distinto a este. Pero curiosamente, asi como este copia al dott, el de gbc copiaba al maniac mansion. xddd

GameMaster
22/04/2014, 14:30
o sea, si doy mi opinion tengo que ser insultado ? tus justificaciones no tienen fundamento, es cierto que se debe llamar mega drive a la europea, pero tambien es cierto que no debes llamar nasa a todo clonico de nintendo

dj syto
22/04/2014, 14:34
o sea, si doy mi opinion tengo que ser insultado ? tus justificaciones no tienen fundamento, es cierto que se debe llamar mega drive a la europea, pero tambien es cierto que no debes llamar nasa a todo clonico de nintendo
Mira, tu lo has dicho antes. Si les llamo nasa es porque es la clonica que yo tuve. Pero ningun español tuvo una GENESIS (salvo casos extremadamente raros de importacion). Ya me parece de snob que un español llame superfamicom a la snes cuando la ha conocido siempre por supernintendo, pero ahi tiene un pase porque es su nombre original. Pero lo de genesis es que ya es absurdo. Son ganas de parecer friki y resabiado, y lo que hacen es quedar como ignorantes.

Drumpi
22/04/2014, 14:35
Sí, 5 MB. Se de lo que hablo. Cuanto te crees que ocupaba el dott sin el archivo monster.sou (que era el qie incluia las voces) o sin las animaciones de la intro? Pos por ahi andaba la cosa, algun mega mas... Si cabia en ese espacio la version pc, cuanto iba a ocupar la de mega usando menos colores? Y no. Las aventuras graficas jamas han devorado recursos. Los requerimientos minimos de los clasicos de lucas eran ridiculamente bajos. Y ya se que no te has molestado en buscar. Nunca lo haces y por eso te metes en discusiones innecesarias que te ahorrarias si al menos supieras de lo que hablas, capullo. Xddd

fuera coñas, no se si conoces este juego:

https://www.youtube.com/watch?v=weHFbWPSl5U
ahi tienes pantallas igual de grandes que las del dott, incluso mas largas, con scroll. Y tal vez el juego no sea tan bonito visualmente como el dott, pero eso es culpa del dibujante. xdd

A ver, la información que tenía que buscar era precisamente el tamaño de los juegos de Lucas y el máximo de los cartuchos oficiales de MD.
Y tú mismo me das la razón: ocupaba algún mega más que esos 5MB, pero ni tu te has molestado en buscar el tamaño exacto del juego, ni yo sé si esos 5MB son oficiales o no (creo que el juego más gordo que he visto ocupaba como mucho 4MB, hace muchísimo que no busco ROMS).
Aunque reduzcas colores, para tener un bit más por pixel, debes reducirlos a la mitad como mínimo, lo cual ya es una pérdida sustancial.
Y sí, las aventuras gráficas consumen gran cantidad de recursos, en concreto cantidades ingentes de RAM, de espacio en almacenamiento secundario (disco duro, CD o DVD) y una tarjeta de sonido con modulador FM de calidad para quellos juegos con voces. Me vas a decir que los dos CDs del Broken Sword es un espacio "razonable", o que esos enormes escenarios, más las animaciones, más las voces, más la música van a caber en los escasos MB de RAM de algunos PCs de la época.

Obviamente no necesitan una gran CPU, pero los recursos no son solo la velocidad del aparato, también influyen la cantidad de dispositivos en uso y el espacio de trabajo. Son aventuras GRÁFICAS por lo que necesitas manejar gráficos enormes y bonitos (la mayor parte de ellos).
Recuerda que hablamos de MD: una consola con soporte de cartucho, con chips muy específicos, unos espacios de memoria especializados (como tu me has hecho recordar más de una vez) y una RAM infinitamente más limitada que cualquier PC coetáneo, que incluso se llegaba a programar en ensamblador para tener un rendimiento decente. No es precisamente el mejor entorno para manejar una aventura gráfica.

Y si discuto sobre temas que no conozco es por aprender, ya que tengo delante a alguien que me desarrolla sus argumentos y da datos concretos, y no un artículo escrito por vete a saber quién, con unas fuentes desconocidas. Yo no sé tú, pero dudo hasta de las fuentes oficiales, porque suelen tener que ocultar información cuando no se están dando publicidad (blast processing, es cierto, es más rápida ¿pero más potente?), y aun más de las filtraciones.

Por cierto, lo de "capullo" sobraba :mad:

^MiSaTo^
22/04/2014, 15:00
casi un nombre generalizado ? eso era en tu pueblo porque sólo salio la nasa como clonica a lo mejor, llamar genesis a la mega drive no lo veo tan grave como lo de la nasa, por lo menos esta si era de la misma marca, original y misma consola, sólo cambiaba el mercado de distribuición, la nasa era una clonica y clonicas habia cientos de varias empresas

Que dices hombre! En Madrid, en mi pueblo y en casi todos lados se llamaba nasa a las clonicas.
Sin embargo a la megadrive sólo se la llamo génesis en usa porque en el resto del mundo era megadrive

josepzin
22/04/2014, 15:19
La Nasa no es de donde lanzan cohetes y naves espaciales?!

Badum-tishhhh :-P

dj syto
22/04/2014, 15:22
A ver, la información que tenía que buscar era precisamente el tamaño de los juegos de Lucas y el máximo de los cartuchos oficiales de MD.
Y tú mismo me das la razón: ocupaba algún mega más que esos 5MB, pero ni tu te has molestado en buscar el tamaño exacto del juego, ni yo sé si esos 5MB son oficiales o no (creo que el juego más gordo que he visto ocupaba como mucho 4MB, hace muchísimo que no busco ROMS).
Aunque reduzcas colores, para tener un bit más por pixel, debes reducirlos a la mitad como mínimo, lo cual ya es una pérdida sustancial.
Y sí, las aventuras gráficas consumen gran cantidad de recursos, en concreto cantidades ingentes de RAM, de espacio en almacenamiento secundario (disco duro, CD o DVD) y una tarjeta de sonido con modulador FM de calidad para quellos juegos con voces. Me vas a decir que los dos CDs del Broken Sword es un espacio "razonable", o que esos enormes escenarios, más las animaciones, más las voces, más la música van a caber en los escasos MB de RAM de algunos PCs de la época.

Obviamente no necesitan una gran CPU, pero los recursos no son solo la velocidad del aparato, también influyen la cantidad de dispositivos en uso y el espacio de trabajo. Son aventuras GRÁFICAS por lo que necesitas manejar gráficos enormes y bonitos (la mayor parte de ellos).
Recuerda que hablamos de MD: una consola con soporte de cartucho, con chips muy específicos, unos espacios de memoria especializados (como tu me has hecho recordar más de una vez) y una RAM infinitamente más limitada que cualquier PC coetáneo, que incluso se llegaba a programar en ensamblador para tener un rendimiento decente. No es precisamente el mejor entorno para manejar una aventura gráfica.

Y si discuto sobre temas que no conozco es por aprender, ya que tengo delante a alguien que me desarrolla sus argumentos y da datos concretos, y no un artículo escrito por vete a saber quién, con unas fuentes desconocidas. Yo no sé tú, pero dudo hasta de las fuentes oficiales, porque suelen tener que ocultar información cuando no se están dando publicidad (blast processing, es cierto, es más rápida ¿pero más potente?), y aun más de las filtraciones.

Por cierto, lo de "capullo" sobraba :mad:
lo de capullo era broma tio. XDDD

Pero quien esta hablando de aventuras graficas como broken sword? ya puestos hablemos de las de telltalle! que consumen de la hostia!!! XDDDD se supone que hablamos de aventuras graficas de mas o menos la epoca del dott, no? y el dott en concreto requeria 640 ks ridiculos de memoria y un 286 para funcionar. SI. ESO SON GRANDES CANTIDADES DE RECURSOS. no me jodas drumpi. xdd Una consola como megadrive o snes con una memoria ram ridicula hacian cosas que muchos pcs contemporaneos no podian precisamente gracias al sistema de cartucho, que al ser practicamente instantaneo hacia que la necesidad de ram no fuera tan mayor. Y mirate el video que he puesto, coñe.

-----Actualizado-----


Que dices hombre! En Madrid, en mi pueblo y en casi todos lados se llamaba nasa a las clonicas.
Sin embargo a la megadrive sólo se la llamo génesis en usa porque en el resto del mundo era megadrive

el que **** va a saber, si ni siquiera vivia en españa.

GameMaster
22/04/2014, 15:25
Por eso, yo como compre mas de 10 clonicas y ninguna era nasa pues no quede paranoico limitado mentalmente

dj syto
22/04/2014, 15:30
Por eso, yo como compre mas de 10 clonicas y ninguna era nasa pues no quede paranoico limitado mentalmente

le cito para que quede constancia si alguna vez alguien siente la necesidad de meterse con el en algun hilo. El solito se mete en los fregaos.

^MiSaTo^
22/04/2014, 16:24
Por eso, yo como compre mas de 10 clonicas y ninguna era nasa pues no quede paranoico limitado mentalmente

En España casi todo el mundo tenía una clónica de marca la que fuera y a eso se les llamaba NASA. Es más la mía no se qué marca es pero siempre la hemos llamado NASA. Que tú las hayas comprado después pues vale, pero en su día se las llamaba así en España, te emperres tú o no.

EDIT: Y paranoico limitado mentalmente no creo que seamos ninguno de los del hilo.

mills332
22/04/2014, 16:27
Seguro que alguna cosa está mal...

Requisitos para el Day of the Tentacle:

Mínimos PC:
286 a 10 MHz
RAM = 640 K
VGA 256-color
Sonido, teclado, ratón...
Espacio en disco = 15 MB

Recomendados PC:

386, supongo que el 286 irá un poco lento al mover los fondos y todo.
RAM = 2MB para reproducir voces.

MegaDrive:
----------------------
CPU
----
M68000 7.6 MHz --> Mueve bien una cantidad suficiente de sprites y el fondo como para cargar una escena llena de personajes, además, al tratarse de graficos a base de tiles ("píxeles" de 8x8), requiere menos CPU para mover los fondos, que en realidad son de 40x28.

RAM
----
Confirmado, tiene VRAM de 64K, en la que caben de sobra imágenes a pantalla completa, animaciones de personajes, y escenas llenas de sprites a 16 colores. También se pueden hacer animaciones a pantalla completa, como la intro del sonic 3D sin necesidad de más RAM.
RAM principal de otros 64K, en la que cabe de sobra el programa principal (que ocuparía más? la lista de objetos y acciones que hemos realizado o no?).
RAM específica para el sonido de 8K, por lo tanto, no necesitamos los 2 megas que se requieren para las voces en el PC, porque podemos reproducir las voces y la música con los 8K sin interferir con el resto del juego.

VGA
----
No tiene pero nos da igual jeje.

Ratón teclado
-------------
Creo que si que hay un ratón pero también nos da igual.

Espacio en cartucho
-------------------

De los 15 megas, casi 4 son del monster.sou, que son sonidos a 22050 Khz, el resto es el programa y los gráficos.
No sé cuanto ocupa el programa en si, así que le pondré un poco más de tamaño.
Los gráficos se reducen un poco más de la mitad al convertirlos a 16 colores.
Las voces y sonidos (solo habría voces en la intro) se reducen a 8000 Khz y ocupan la tercera parte más o menos como he comprobado.

Así que el tamaño sería de unos 7 MB (megas de los de toda la vida... o sea lo que ocupa una canción mp3 de buena calidad).


----------------------------------------------------------------------------------------------
Vale ahora voy con el fuzzy, (por cierto estoy avanzando mucho).

Mínimos PC:

386
RAM = 4 MB
VGA
Sonido, Ratón.. etc.
Espacio en disco = 6 MB

MegaDrive:
----------

Pus este si que necesita recortes, parece que no, pero casi todos los elementos incluído el fondo, están animados, y son animaciones bastante grandes, así que fuera las animaciones y ya entra bastante bien.

El sonido sin problemas, y el ratón, mal... pero sin ratón espero que no haya mucho problema.

El espacio, como hay que quitar casi todas las animaciones grandes, he calculado lo que ocupan todos los fondos y menús que he convertido a 16 colores, y no llegan a 256 K.


Avances del Fuzzy:
38490 38491
38492 38489

dj syto
22/04/2014, 16:27
En España casi todo el mundo tenía una clónica de marca la que fuera y a eso se les llamaba NASA. Es más la mía no se qué marca es pero siempre la hemos llamado NASA. Que tú las hayas comprado después pues vale, pero en su día se las llamaba así en España, te emperres tú o no.

EDIT: Y paranoico limitado mentalmente no creo que seamos ninguno de los del hilo.
Pero vuelvo a decir lo mismo. Se les llamaba nasa porque el 80% o mas eran de la marca nasa. Eran las que teniamos casi todos! Pero que español tuvo una genesis? Si la mayoria de los que la llaman así ahora, en aquella epoca ni sabian como se llamaba en usa...

Y si que hay un paranoico limitado mentalmente en este hilo. Xdd

^MiSaTo^
22/04/2014, 16:31
Pero vuelvo a decir lo mismo. Se les llamaba nasa porque el 80% o mas eran de la marca nasa. Eran las que teniamos casi todos! Pero que español tuvo una genesis? Si la mayoria de los que la llaman así ahora, en aquella epoca ni sabian como se llamaba en usa...

Sí nasa fue la clónica más popular de aquel entonces. Y lo de genesis te doy también la razón, si sólo se llamó así en USA! En Europa no se conocía como Genesis y mucho menos en España xD

imeko
22/04/2014, 16:42
Yo compre una "Creation" y siempre la llamaba "Nasa".

josepzin
22/04/2014, 17:06
A mi Commodore 64 también le decíamos NASA :-P

GameMaster
22/04/2014, 17:46
a partir de ahora haré lo mismo xD

mills332
22/04/2014, 20:38
Descargas actualizadas en primer post.

swapd0
22/04/2014, 22:18
Otra cosa a tener en cuenta del dott es que para los fondos no te basta con "convertirlos" a tiles y ya esta, hay zonas donde el personaje pasa por detrás del decorado y necesitas hacer esa separación, ya sea usando sprites o la otra capa de tiles de la MD.

mills332
22/04/2014, 23:34
Otra cosa a tener en cuenta del dott es que para los fondos no te basta con "convertirlos" a tiles y ya esta, hay zonas donde el personaje pasa por detrás del decorado y necesitas hacer esa separación, ya sea usando sprites o la otra capa de tiles de la MD.

Claro, por eso es dificil, pero no tanto... si haces que la posición Y del personaje (la altura en la pantalla) se corresponda con una profundidad, y luego haces que algunas partes del fondo estén sobre los esprites y además tengan partes transparentes (se puede), pues ya lo tienes, pero es mucho trabajo.

ArChEr
23/04/2014, 20:08
Claro, por eso es dificil, pero no tanto... si haces que la posición Y del personaje (la altura en la pantalla) se corresponda con una profundidad, y luego haces que algunas partes del fondo estén sobre los esprites y además tengan partes transparentes (se puede), pues ya lo tienes, pero es mucho trabajo.

Además tendrías que darle una coordenada Y a esas partes que deberían quedar por delante del sprite del personaje. También habría que crear una "mascara" para detectar las colisiones del personaje para que parase cuando se choca con algún objeto.... una mesa, una pared, las escaleras... y también cargar todas las imágenes del inventario... no creo que sea tan fácil de hacer el Dott completo en la MD.

De todas formas felicidades por el trabajo echo se ve de lujo :)

FFantasy6
23/04/2014, 22:48
http://pscd.ru/news/2434-v-razrabotke-dva-novyh-porta-day-of-the-tentacle-i-fuzzys-minigolf-dlya-smd.html

swapd0
23/04/2014, 23:19
Ahora te hada una visita la mafia rusa para que lo termines...

mills332
24/04/2014, 00:53
Ahora te hara una visita la mafia rusa para que lo termines...

Pues anda... a ver si me dan trabajo los rusos jejeje.

mills332
25/04/2014, 00:24
El fuzzy por dios!! haz el fuzzy!!
Si lo haces seras mi dios XDD

Estás de suerte, parece ir como un guante para la MD, aunque está empezando a ir lento, me parece que va a ser como jugarlo en un 286, pero al menos las animaciones son lo bastante fluidas como para que parezca el mismo juego, y los tiempos de carga pues no existen :). Y la música si tengo tiempo, sonará de lujo. Ojalá pudiera convertirla diréctamente, el chip de la MD es algo mejor que el de la adlib, así que podría reproducirla, mas o menos...

Una imagen de un hoyo lleno de esprites, la bola, naves de fondo, un chisme animado que absorbe la bola, el cursor, estrellitas animadas en el fondo, etc, eso si, a 25 o 30 FPS.

https://dl.dropboxusercontent.com/u/757056/MD-GEN/fuzzy/Gadgets1.bmp

Otro hoyo, con el cohete despegando, lo he corregido y el cohete ahora "acelera" no se como, pero la aceleración ha quedado idéntica al original, incluso un poco más fluida y sincronizada con el sonido:

https://dl.dropboxusercontent.com/u/757056/MD-GEN/fuzzy/launch.bmp

K-teto
25/04/2014, 02:21
Una cosa, tengo curiosidad por saber como te lo montas para programar para megadrive, espero que no te moleste si te hago unas cuantas preguntas.

Que sdk usas?
En que lenguaje, c?
Usas algun editor en concreto, algun ide? algo?
En que sistema operativo?
Como se meten los graficos en el juego? en formato crudo?
Y las musicas y sonidos?

Me gustaria hacer aunque sea unas cuantas pruebas a ver si sale algo, perdon si pregunto mucho XDD

ArChEr
25/04/2014, 04:54
Una cosa, tengo curiosidad por saber como te lo montas para programar para megadrive, espero que no te moleste si te hago unas cuantas preguntas.

Que sdk usas?
En que lenguaje, c?
Usas algun editor en concreto, algun ide? algo?
En que sistema operativo?
Como se meten los graficos en el juego? en formato crudo?
Y las musicas y sonidos?

Me gustaria hacer aunque sea unas cuantas pruebas a ver si sale algo, perdon si pregunto mucho XDD

Yo estoy con K-teto! a mi también me interesa mucho... :rever:

GameMaster
25/04/2014, 07:16
si lo dice en el primer post, almenos el sdk que usa...

mills332
25/04/2014, 11:42
Una cosa, tengo curiosidad por saber como te lo montas para programar para megadrive, espero que no te moleste si te hago unas cuantas preguntas.

Que sdk usas?
En que lenguaje, c?
Usas algun editor en concreto, algun ide? algo?
En que sistema operativo?
Como se meten los graficos en el juego? en formato crudo?
Y las musicas y sonidos?

Me gustaria hacer aunque sea unas cuantas pruebas a ver si sale algo, perdon si pregunto mucho XDD


A ver, soy muy novato.
-Está programado con SGDK en C, y yo de C se lo básico ,if, for, void, switch, y definir variables, pero novato total, solo conocía algo de basic de hace siglos del colegio con unos PC's super viejos jaja.

-Para escribir el programa uso notepad++ en windows y lo compilo con un .bat que no tuve que configurar nada, el .bat es siempre el mismo para que veais lo facil que es. solo hay que instalar sgdk y apuntar a la carpeta donde está:



c:\SGDK\BIN\make -f c:\SGDK\makefile.gen

rem DONE

pause

Con eso en la misma carpeta que el main.c.. y ya está.

-Las imágenes casi están en crudo, el mismo compilador las convierte, lo único que hay que hacer, es usar GIMP o cualquier editor, y convertir un fondo a una imagen en indexado 16 colores, o también dividir un mapa grande en varios trozos, máximo 512x512. Si las imágenes tienen muchos tiles repetidos, como un mapa del sonic, el mismo compilador los encontrará y creará los mapas y los tiles.

-La música la puedes meter en formato vgm, extraida diréctamente de juegos, o creada con Deflemask, un tracker muy fácil de usar.

-Una vez creada una imagen, y un vgm, solo hay que crear una carpeta llamada RES, en el mismo sitio que el main.c, meter ahí las imágenes, y definir archivos .res apuntando a las imágenes y músicas.

Al compilarlo, creará una carpeta out y meterá allí muchas cosas, incluido un rom.bin si no ha dado errores.

En el propio sgdk hay ejemplos, aunque les falta documentacion, voy a subir unos que hice yo a ver si ayudan.

K-teto
25/04/2014, 15:18
Muchisimas gracias mills!
Creo que voy a probar a ver que tal, la pena es que mi everdrive va camino de ser reparado por un chip de memoria defectuoso, pero bueno, siempre hay emuladores para ir probando.


si lo dice en el primer post, almenos el sdk que usa...
A ti no, lo primero porque no era a ti a quien preguntaba, lo segundo porque no tienes ni idea de lo que preguntaba y con responder solo a eso, no responde ninguna de las otras preguntas que tenia.
Te mandaria al carajo si no fuera porque podria ir contra las normas, asi que no lo hago, pero lo pienso.

GameMaster
25/04/2014, 15:36
Y porque te pones asi ? Ves alguna maldad en mis palabras ? Si afinal jojo va estar en lo cierto, te gusta la tormenta

K-teto
25/04/2014, 16:05
Me acabo de poner brutil al ver el deflemask, no lo conocia.
Se que parece una chorrada, pero sin muchas florituras, se podria hacer alguna chorradilla para megadrive, ya tenemos solucionado el tema de la musica y los graficos.
Lo de los sfx aun no se como ira, pero todo es verlo.

Tio, me has dado unas ganas de programar que no tenia desde hace años, tantos como hace que no programo, y son unos cuantos ya.
Lo que me preocupa es la poca potencia (relativamente, claro) de la megadrive, no se si el limite estara demasiado bajo, tampoco pretendo hacer nada de calidad comercial, pero leñe, ya solo el hecho de poder ver algo hecho por mi aunque sea un hola mundo, funcionando en una megadrive real, es la caña.

Tened en cuenta que muchas veces, los equipos que hacian esos pedazo de juegos, eran de muy pocas personas y tambien la calidad de juegos que hemos visto no hace mucho tiempo para esta consola hechos por aficionados.

Podria ser muy interesante aunque sea solo para probar.
Y ademas sin complicaciones como las que tienen programar para dispositivos moviles hoy en dia y cosas asi, sino que te dan tu framebuffer y ponte a pintar cosas sin mas complicacion.
Como en los tiempos de la gp32.

mills332
25/04/2014, 17:54
Me acabo de poner brutil al ver el deflemask, no lo conocia.
Se que parece una chorrada, pero sin muchas florituras, se podria hacer alguna chorradilla para megadrive, ya tenemos solucionado el tema de la musica y los graficos.
Lo de los sfx aun no se como ira, pero todo es verlo.

Tio, me has dado unas ganas de programar que no tenia desde hace años, tantos como hace que no programo, y son unos cuantos ya.
Lo que me preocupa es la poca potencia (relativamente, claro) de la megadrive, no se si el limite estara demasiado bajo, tampoco pretendo hacer nada de calidad comercial, pero leñe, ya solo el hecho de poder ver algo hecho por mi aunque sea un hola mundo, funcionando en una megadrive real, es la caña.

Tened en cuenta que muchas veces, los equipos que hacian esos pedazo de juegos, eran de muy pocas personas y tambien la calidad de juegos que hemos visto no hace mucho tiempo para esta consola hechos por aficionados.

Podria ser muy interesante aunque sea solo para probar.
Y ademas sin complicaciones como las que tienen programar para dispositivos moviles hoy en dia y cosas asi, sino que te dan tu framebuffer y ponte a pintar cosas sin mas complicacion.
Como en los tiempos de la gp32.

Yo empecé comprando una GameBoy y aprendi algo de c, nada los if y eso que dije antes, y la MD me parece ahora un monstruo de potencia jaja.

Yo diría, si tienes algo de idea de ordenadores, que equivale a un 386 en cuanto a los juegos que puede cargar y mover, si lo optimizas bien, y por lo poco que he leido, debe ser algo más rápida que la SNES en general y sin contar con que tiene menos colores y eso.

Intenté hacer cosas para SNES y no encontré nada, además debe ser un truño programar la SNES, parece que tiene una KK de CPU y luego chips accesorios complicados.. vamos una kk y eso que yo siempre fui fan de nintendo.

Por ejemplo están portando el wolfenstein 3d a la MD y han conseguido 21 FPS (eel video es de la version anterior que va a 15 FPS), por eso decia lo del 386... Pero este lo han hecho en ensamblador. Lo bueno es que el SGDK lo están mejorando muchísimo y optimizando.


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

K-teto
25/04/2014, 17:57
A mi a 15fps ya me parece una cosa impresionante, todavia no me explico como la megadrive puede mover eso de esa manera y que en su momento no se le ocurriera a nadie aprovecharla de esa manera.

Unos cuantos juegos asi y puede que el modo 7 de la snes no hubiera significado gran cosa para la megadrive y la rivalidad entre las dos.

mills332
25/04/2014, 18:03
A mi a 15fps ya me parece una cosa impresionante, todavia no me explico como la megadrive puede mover eso de esa manera y que en su momento no se le ocurriera a nadie aprovecharla de esa manera.

Unos cuantos juegos asi y puede que el modo 7 de la snes no hubiera significado gran cosa para la megadrive y la rivalidad entre las dos.

Flipa, que se me había olvidado lo mas fuerte, que la MD puede con el 3D sin chips raros, de hecho yo quise hacer la escena de la bola poligonal rebotando del demo second reality (casi lo consigo) y con el sgdk....

Ademas es que también están portando.. ¡El starfox! y va bastante bien, mnejor que en el video porque probé la última versión en el emulador:


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

K-teto
25/04/2014, 18:33
Si, pero a poco que te lies a meterle colisiones, musica y sonido y mas temas, se te bajan los fps que da gusto, seguro.

Pero vamos, que si, que han habido juegos poligonales en megadrive antes del virtua racing.

kiero
25/04/2014, 21:43
Pues sí, aquí unos pocos juegos poligonales en megadrive:


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

jduranmaster
25/04/2014, 21:49
Flipa, que se me había olvidado lo mas fuerte, que la MD puede con el 3D sin chips raros, de hecho yo quise hacer la escena de la bola poligonal rebotando del demo second reality (casi lo consigo) y con el sgdk....



de hecho la SNES también puede....aunque sea mostrando un triste cubo...XD


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

mills332
25/04/2014, 22:22
Qué bueno el cubo jeje. Es que cuando me empecé a interesar por la programación, pensé que la SNES era super mega potente, hasta que descubrí que el "yoshi's island" tenía un chip en el cartucho y me decepcioné un poco. Yo era de esos que decía que la MD era malísima porque sonaba muy mal y tenia pocos colores allá en los 90, pero no sabía el secreto de la SNES jaja.

Además es que no encontré ni un kit de desarrollo como el de la MD, ya no se si es que de verdad la SNES no es muy potente y solo mueve fondos coloridos, o es que a nadie le ha interesado.

-----Actualizado-----


Pues sí, aquí unos pocos juegos poligonales en megadrive:


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

Madre mía, esto si que es 3D si el LHX iba lentísimo en un 286.. joe....

swapd0
25/04/2014, 22:33
No veo por que no va a poder hacer gráficos vectoriales si lleva un 68000 como el Atari ST y el Amiga, lo que pasa es que el hardware de la MD en este caso no te vale para nada y lo tienes que hacer todo con la CPU.

K-teto
26/04/2014, 05:15
Blast processing, recordad, blast processing.
Algo que a la snes le faltaba y suplia con chips especiales o con el md7.
Habian cosas que la snes podia hacer y la megadrive no y viceversa.

ArChEr
26/04/2014, 11:34
Propongo un hilo de desarrollo de la MD, donde podamos poner nuestras pruebas y poder hablar sobre ellas y como las hemos echo o como podríamos mejorarlas... en plan hobby pero que el que quiera, pueda ver como se hacen las cosas y así entre todos, aprender un poco a desarrollar para MD.

Y que el que tenga una MD con everdrive pueda probar lo que se cuelgue en el hilo.

swapd0
26/04/2014, 13:16
Propongo un hilo de programación, ya sea para la MD, Gameboy, NES, C/C++, Python, Android, Cocoa, Algol, Lisp, Haskel... uff esto empieza a desmadrarse.

K-teto
26/04/2014, 14:42
A mi me parece bien lo del hilo.

mills332
26/04/2014, 16:53
A mi me parece bien lo del hilo. Lo mismo digo, a lo mejor os lo tomais a risa pero estoy intentando hacer el demo second reality para md. Se como hacer muchas partes. Otras ni idea. Por ej el rotozoom se puede pero no consigo pintar pixeles ire metiendo las partes que medio tengo en ese hilo asi aprendemos cosas. Seguiré con el minigolf en este

ArChEr
26/04/2014, 17:35
Bueno estoy intentando instalar el sgdk y probar a compilar los ejemplos que vienen, he seguido las instrucciones y parece que todo a ido bien pero al intentar compilar el ejmplo que hay en la carpeta sprite me dice lo siguiente el compilador:

C:\SGDK\sample\sprite\src>C:\sgdk\bin\make -f C:\sgdk\makefile.gen
C:/sgdk/bin/mkdir -p out
C:/sgdk/bin/mkdir -p out/src
C:/sgdk/bin/mkdir -p out/res
C:/sgdk/bin/gcc -m68000 -Wall -O1 -fomit-frame-pointer -fno-builtin-memset -fno
-builtin-memcpy -Iinc -Isrc -Ires -IC:/sgdk/inc -IC:/sgdk/res -BC:/sgdk/bin -c m
ain.c -o out/main.o
main.c:3:17: gfx.h: No such file or directory
main.c:4:19: music.h: No such file or directory
main.c: In function `main':
main.c:62: error: `sonic_music' undeclared (first use in this function)
main.c:62: error: (Each undeclared identifier is reported only once
main.c:62: error: for each function it appears in.)
main.c:68: warning: passing arg 2 of `VDP_setPaletteColors' discards qualifiers
from pointer target type
main.c:72: error: `bgb_image' undeclared (first use in this function)
main.c:74: error: `bga_image' undeclared (first use in this function)
main.c:87: error: `sonic_sprite' undeclared (first use in this function)
make: *** [out/main.o] Error 1


por alguna razón no me encuentra los archivos gfx.h y music.h

Alguna idea de que es lo que hago mal?

mills332
26/04/2014, 18:05
main.c:3:17: gfx.h: No such file or directory
main.c:4:19: music.h: No such file or directory

No encuentra esos archivos necesitas el gfx.res y el music.res en la carpeta res. Los archivos res apuntan a los resources, musicas e imágenes que han de estar tambien en esa carpeta.

ArChEr
26/04/2014, 18:21
main.c:3:17: gfx.h: No such file or directory
main.c:4:19: music.h: No such file or directory

No encuentra esos archivos necesitas el gfx.res y el music.res en la carpeta res. Los archivos res apuntan a los resources, musicas e imágenes que han de estar tambien en esa carpeta.

Acabo de mirar en la carpeta res y si que están los dos archivos tanto el gfx.res como el music.res además de los png y los vgm a los que apuntan.

hay que añadir algun comando al compilador para que convierta las imagenes y musica a los archivos gfx.h y music.h?

Un saludo y gracias!

mills332
26/04/2014, 18:35
Acabo de mirar en la carpeta res y si que están los dos archivos tanto el gfx.res como el music.res además de los png y los vgm a los que apuntan.

hay que añadir algun comando al compilador para que convierta las imagenes y musica a los archivos gfx.h y music.h?

Un saludo y gracias!

Ya se lo que pasa, el main.c tiene que estar fuera de la carpeta src, o sea, tienes que tener por ejemplo:



C:\Sample\RES\ (y aquí todas las imagenes los .res...)
C:\Sample\main.c
C:\Sample\make.bat

ArChEr
26/04/2014, 18:45
Ya se lo que pasa, el main.c tiene que estar fuera de la carpeta src, o sea, tienes que tener por ejemplo:



C:\Sample\RES\ (y aquí todas las imagenes los .res...)
C:\Sample\main.c
C:\Sample\make.bat



Muchas gracias! ahora si que ha convertido los graficos antes de compilar :) aunque el main.c lo he dejado en la carpeta src y lo que he cambiado es llamar al compilador desde c:\sgdk\sample\sprite en vez de hacerlo desde la carpeta src como antes y de esta manera lo a compilado perfectamente.


Un saludo y gracias! voy a seguir trasteando a ver jejej.

mills332
26/04/2014, 18:53
Muchas gracias! ahora si que ha convertido los graficos antes de compilar :) aunque el main.c lo he dejado en la carpeta src y lo que he cambiado es llamar al compilador desde c:\sgdk\sample\sprite en vez de hacerlo desde la carpeta src como antes y de esta manera lo a compilado perfectamente.


Un saludo y gracias! voy a seguir trasteando a ver jejej.

Es verdad, es que el compilador va a meter todos los .c que vea en las subcarpetas, no te dejes archivos por ahí jeje.

El autor de SGDK me dijo que no hay problema con el tamaño del programa, como si metes 50 archivos .c diferentes, uno para cada menú o nivel, porque el programa siempre está en el ROM (o cartucho), la consola lo va a leer desde ahí, y nunca va a llenar la RAM ni nada parecido, por eso necesita mucha menos RAM que un PC equivalente.

A ver si alguno podéis probar los roms en una consola, los primeros no funcionan, según un usuario de otro foro no arrancan, he arreglado un problema que tenían en el "checksum" con un programa, se supone que con eso arrancarán.

http://www.megafileupload.com/en/file/523683/Games-zip.html

K-teto
27/04/2014, 06:06
Mi everdrive esta de viaje para ser reparado, asi que no te lo puedo probar ahora mismo.

Pero bueno, yo al llegar a casa me he dicho "bueno, ya esta bien, vamos a ponernos con ello".

He instalado el sdk en el miniportatil (que es el que usa windows), me he hecho un proyecto "base" para empezar, creando todos los subdirectorios necesarios (src, res, inc...) y un main.c y le he metido dentro un hola mundo.

A ver cuando saco tiempo y me pongo con ello mas a fondo, y a estudiarme las funciones del sdk, que ahora mismo estoy muy pegao.
Mills... tu no sabes lo que has hecho... venir a este foro con estas cosas, eso no se hace tio! XDDDD
Ya has picao a dos mas XDDD

38563

ArChEr
28/04/2014, 04:59
Una duda que tengo sobre los tiles y sprites, al poner una imagen en la carpeta "res" para que al compilar la convierta a código, se eliminan los tiles que se repiten? o lo hace a saco y no tiene en cuenta eso?

mills332
28/04/2014, 12:34
Una duda que tengo sobre los tiles y sprites, al poner una imagen en la carpeta "res" para que al compilar la convierta a código, se eliminan los tiles que se repiten? o lo hace a saco y no tiene en cuenta eso?

Elimina los repetidos, lo optimiza muy bien.

K-teto
28/04/2014, 19:40
Pero si elimina tiles... como sabes donde esta el tile que quieres usar? o sea, en que posicion esta.
Yo es que aun no me he puesto, pensaba ponerme esta tarde de hecho, pero es que siempre acabo haciendo lo mismo, en vez de ponerme manos a la obra directamente, me lio a leer toda la informacion que caiga en mis manos y practico poco XDD

ArChEr
28/04/2014, 20:48
Muy buenas!

mills332, como haces para mover el scroll pixel a pixel? yo lo he intentado y se mueve de tile en tile :S


para dibujar los tiles en pantalla utilizo la funcion VDP_drawImageEx y le incremento en 1 la coordenada x a cada paso... no se si se hara asi o hay otra manera de hacerlo...


Un saludo!

K-teto
28/04/2014, 21:40
Has probado a poner el scroll en el modo por lineas antes?

void VDP_setScrollingMode (u16 hscroll, u16 vscroll)

Set plan scrolling mode.

Parameters:
hscroll Horizontal scrolling mode :
HSCROLL_PLANE = Scroll offset is applied to the whole plan.
HSCROLL_TILE = Scroll offset is applied on a tile basis granulity (8 pixels bloc).
HSCROLL_LINE = Scroll offset is applied on a line basis granulity (1 pixel).
vscroll Vertical scrolling mode :
VSCROLL_PLANE = Scroll offset is applied to the whole plan.
VSCROLL_2TILE = Scroll offset is applied on 2 tiles basis granulity (16 pixels bloc).

K-teto
28/04/2014, 22:50
Yo tengo otro problema.

Resulta que intento usar la funcion VDP_setTileMap que tiene 4 parametros, el plano, el numero de tile en el tileset que cargo en memoria, la posicion x y la posicion y.
Pues me dice que son muchos parametros, parece que no le gusta el ultimo, la coordenada y, porque lo puedo pintar si elimino ese parametro, pero solo puedo darle su posicion horizontal, no la vertical.


#include <genesis.h>

const u32 tile[8]=
{
0x00111100,
0x01144110,
0x11244211,
0x11244211,
0x11222211,
0x11222211,
0x01122110,
0x00111100
};

int main( )
{
VDP_loadTileData( (const u32 *)tile, 1, 1, 0);
VDP_setTileMap(VDP_PLAN_A, 1, 19); //el 19 es la posicion horizontal, como le meta el parametro siguiente, la posicion vertical, no me compila dandome un error.
while(1){
VDP_waitVSync();
}
return (0);
}



EDIT: Vale, solucionado, resulta que esa funcion esta obsoleta al parecer, pero se le olvido eliminarla, y ademas esta rota XDD
Hay que usar VDP_setTileMapXY en su lugar, con los mismos parametros.

Me estoy empapando la documentacion que hay en el directorio doc\html, que ahi esta todo.

josepzin
29/04/2014, 00:26
Mola usar algo que ya tiene todas las funciones gráficas hechas!

K-teto
29/04/2014, 00:36
Pues yo me estoy dando cuenta del daño que ha hecho no tocar el C desde el 2007, la leche, me esta costando la vida.
Y eso sumado a que aun no tengo ni idea de como funciona la megadrive, solo estoy haciendo pruebas chorras para ir pillando cachito a cachito algo de como se puede hacer una u otra cosa.

mills332
29/04/2014, 12:34
Muy buenas!

mills332, como haces para mover el scroll pixel a pixel? yo lo he intentado y se mueve de tile en tile :S


para dibujar los tiles en pantalla utilizo la funcion VDP_drawImageEx y le incremento en 1 la coordenada x a cada paso... no se si se hara asi o hay otra manera de hacerlo...
Un saludo!

Pero te refieres a moverlo cada cada fotograma un pixel no?.

A lo mejor se te olvidó poner el VDP_waitVSync(); y se acelera.


Pues yo me estoy dando cuenta del daño que ha hecho no tocar el C desde el 2007, la leche, me esta costando la vida.
Y eso sumado a que aun no tengo ni idea de como funciona la megadrive, solo estoy haciendo pruebas chorras para ir pillando cachito a cachito algo de como se puede hacer una u otra cosa.

Lo poco que me han explicado de como funciona es esto:

- La MD tiene 128 K de RAM, 64 para cosas en general, y 64 para los gráficos, además tiene 8 más para la música.
- El sistema gráfico es el VDP, que mueve dos planos con 40x48 pixeles o tiles de 8x8 cada uno. Además tiene otro plano para una ventana que no se mueve, y otro plano para sprites. En total, le caben 1024 tiles de 8x8 (sumando los planos, la ventana y los sprites).
- 4 paletas de 16 colores cada una.

Y ya no se más... el SGDK le añade funciones al procesador, como operar con números decimales, y senos y cosenos y todo eso.


Una pregunta, quería, en un futuro, comprar una consola de verdad con un everdrive. Me encanta el modelo 3, ese tan pequeño. Sabéis donde conseguir el everdrive y el modelo 3 de la MD? No se si existe la version europea.

ArChEr
29/04/2014, 15:11
Yo que vendí hace poco mi megadrive con everdrive y ahora me arrepiento :S

K-teto
29/04/2014, 15:42
Yo tengo megadrive, pero mi everdrive lo tengo jodido y en reparacion, no se cuanto tardara en volver a casa XDD
Un chip de memoria defectuoso, me lo van a cambiar.

dj syto
29/04/2014, 15:47
pillaos uno de los chinos que ahora esta entoabia mas barato!

K-teto
29/04/2014, 17:45
Ese es el que esta en camino para ser reparado XDD

Estaba pensando tonterias esta mañana y me ha dado por pensar... si tenemos 2 planos de tiles, no tenemos por que estar limitados a 15 colores por imagen, guardas dos imagenes con pixels alternos y paletas distintas y pintas una imagen en el plano A y otra en el plano B.
El tema es que para lo unico que serviria esto es para pantallas de titulo o cosas asi que no necesitan scroll o un solo plano de scroll.

Tambien he pensado que vale, la megadrive no pinta pixels sueltos, sino tiles, pero no seria muy complicado hacer un algoritmo para pintar pixels en un mapa de tiles a partir de un framebuffer virtual.
O sea, tener un array de 320x224, pintar ahi como si fuera un framebuffer lineal y luego volcarlo al mapa de tiles que se ve en pantalla.
Lo que no se es que velocidad tendria eso, pero como posibilidad, me parece logica.

Lo voy a probar a ver, es solo dividir ese framebuffer en trozos de 8x8.

-----Actualizado-----

Pues de momento estoy pintando la pantalla entera con tiles de contenido generado aleatoriamente y la velocidad es perfecta.
Rellenar la pantalla no es problema, ahora habria que mirar lo que tardaria en generar una imagen, hacer un mapa de tiles de ella y mostrarla en pantalla.

mills332
29/04/2014, 18:53
Ese es el que esta en camino para ser reparado XDD

Estaba pensando tonterias esta mañana y me ha dado por pensar... si tenemos 2 planos de tiles, no tenemos por que estar limitados a 15 colores por imagen, guardas dos imagenes con pixels alternos y paletas distintas y pintas una imagen en el plano A y otra en el plano B.
El tema es que para lo unico que serviria esto es para pantallas de titulo o cosas asi que no necesitan scroll o un solo plano de scroll.

Tambien he pensado que vale, la megadrive no pinta pixels sueltos, sino tiles, pero no seria muy complicado hacer un algoritmo para pintar pixels en un mapa de tiles a partir de un framebuffer virtual.
O sea, tener un array de 320x224, pintar ahi como si fuera un framebuffer lineal y luego volcarlo al mapa de tiles que se ve en pantalla.
Lo que no se es que velocidad tendria eso, pero como posibilidad, me parece logica.

Lo voy a probar a ver, es solo dividir ese framebuffer en trozos de 8x8.

-----Actualizado-----

Pues de momento estoy pintando la pantalla entera con tiles de contenido generado aleatoriamente y la velocidad es perfecta.
Rellenar la pantalla no es problema, ahora habria que mirar lo que tardaria en generar una imagen, hacer un mapa de tiles de ella y mostrarla en pantalla.

No te vuelvas muy loco, el SGDK, ya incorpora un bufer de esos para pintar BMP, pero a la mitad de resolución. Yo estoy intentando hacer un rotozoom, pero no consigo pintar en si... Copié un código de rotozoom, la verdad es que lo hace, porque se ve lento, pero no "pinta" ni actualiza la pantalla.

Para usar el modo BMP hay un monton de info en el doc, pero vamos, que yo no se hacerlo funcionar.

Por si alguien lo intenta, este código funciona en el emulador al menos, pero no actualiza la pantalla:




#include "genesis.h"
#include "BKG.h"

int XX = 0;
int x = 0;
int y = 0;
int u = 0;
int v = 0;
int W = 0;

u16 color = 0x0000;

int main(){

BMP_init(1, 0, 1);
VDP_drawBitmap(VDP_PLAN_A,&bkg,0,0);

while (1){

if (W == 1024) W = 0; //el ángulo en no se que unidades

//copiar y pegar pixeles de imagen, resolución de 160x128, El modo BMP de dibujo de imágenes, usa pixeles de 2x2
for(y=0;y<=224;y+=2){
for(x=0;x<=320;x+=2)
{
u = fix16Int(x*cosFix16(W)+y*(-sinFix16(W)));
v = fix16Int(x*sinFix16(W)+y*cosFix16(W));
color = BMP_GETPIXEL(x,y); //Copia pixel
BMP_SETPIXEL(u,v,color); //pega pixel
}
}

W++;


BMP_clear(); //no hace nada..
BMP_flip(1); //no hace nada...

BMP_showFPS(1); Hay que hacerlo con menor resolución, yo he conseguido 3 FPS saltando pixeles de 4 en 4

VDP_waitVSync();

}

}


El modo BMP También pinta vectores y cosas 3D a resolución casi completa, estos los hice yo:

https://dl.dropboxusercontent.com/u/757056/MD-GEN/3D.png
20 fps, (no va a 60...)

Por cierto, voy a abrir el hilo solo para sgdk, y ya pegamos todo ahi.

K-teto
29/04/2014, 20:25
Por cierto, lo quise poner antes para Archer y al final se me fue la pinza.
Asi mueves el scroll pixel a pixel.

#include <genesis.h>
int i;
int s32 coordY = 5;
int s32 coordX = 5;
int numtile = 1;
int ciclo = 0;
const u32 tile[8]=
{
0x00111100, // Línea 1: pixels 1 a 8
0x01144110, // Línea 2
0x11244211, // Línea 3
0x11244211, // Línea 4
0x11222211, // Línea 5
0x11222211, // Línea 6
0x01122110, // Línea 7
0x00111100 // Línea 8: píxels 57 a 64
};
const u32 tile2[8]=
{
0x00111100, // Línea 8: píxels 57 a 64
0x01122110, // Línea 7
0x11222211, // Línea 6
0x11222211, // Línea 5
0x11244211, // Línea 4
0x11244211, // Línea 3
0x01144110, // Línea 2
0x00111100 // Línea 1: pixels 1 a 8
};


int main( )
{
VDP_setScrollingMode (HSCROLL_PLANE, VSCROLL_PLANE); // le decimos que tipo de scroll queremos, tile a tile, linea a linea...
VDP_loadTileData( (const u32 *)tile, 1, 1, 0);
VDP_loadTileData( (const u32 *)tile2, 2, 1, 0);
VDP_setBackgroundColor(0);
while(1)
{
VDP_setBackgroundColor(ciclo);
VDP_setHorizontalScroll(VDP_PLAN_A,ciclo); //movemos el mapa x puntos a la derecha, voy a usar la variable ciclo mismamente
//VDP_setVerticalScroll(VDP_PLAN_A,i%=-50); //por si quieres moverlo tambien en vertical
i--;
if (ciclo>63)
ciclo=0;

ciclo++;
while (coordY<10)
{
while (coordX<10)
{
switch (numtile) //para pintar los dos tiles alternativamente
{
case 1:
VDP_setTileMapXY(VDP_PLAN_A, 1, coordX, coordY);
numtile = 2;
break;
case 2:
VDP_setTileMapXY(VDP_PLAN_A, 2, coordX, coordY);
numtile = 1;
break;
}
coordX++;
VDP_drawText("El texto tambien forma", 2, 1);
VDP_drawText("parte del mapa de tiles.", 2, 2);
}
coordY++;
coordX = 5;
}
coordX=5;
coordY=5;
VDP_waitVSync();
}
return (0);
}

-----Actualizado-----

Evidentemente este codigo es lento porque genera el mapa de tiles para cada frame, que es una animalada, sobre todo teniendo en cuenta que en el caso de un juego, el fondo es fijo, generas el mapa de tiles una sola vez y te olvidas a no ser que necesites cambiar algo de el de manera dinamica.

swapd0
29/04/2014, 20:32
Tambien he pensado que vale, la megadrive no pinta pixels sueltos, sino tiles, pero no seria muy complicado hacer un algoritmo para pintar pixels en un mapa de tiles a partir de un framebuffer virtual.
O sea, tener un array de 320x224, pintar ahi como si fuera un framebuffer lineal y luego volcarlo al mapa de tiles que se ve en pantalla.


Se supone que así hacen los juegos vectoriales en la MD, menos el VR que lo hacia con un chip pero mas o menos el chip hacia eso.


No te vuelvas muy loco, el SGDK, ya incorpora un bufer de esos para pintar BMP, pero a la mitad de resolución. Yo estoy intentando hacer un rotozoom, pero no consigo pintar en si... Copié un código de rotozoom, la verdad es que lo hace, porque se ve lento, pero no "pinta" ni actualiza la pantalla.

Para usar el modo BMP hay un monton de info en el doc, pero vamos, que yo no se hacerlo funcionar.

Por si alguien lo intenta, este código funciona en el emulador al menos, pero no actualiza la pantalla:




#include "genesis.h"
#include "BKG.h"

int XX = 0;
int x = 0;
int y = 0;
int u = 0;
int v = 0;
int W = 0;

u16 color = 0x0000;

int main(){

BMP_init(1, 0, 1);
VDP_drawBitmap(VDP_PLAN_A,&bkg,0,0);

while (1){

if (W == 1024) W = 0; //el ángulo en no se que unidades

//copiar y pegar pixeles de imagen, resolución de 160x128, El modo BMP de dibujo de imágenes, usa pixeles de 2x2
for(y=0;y<=224;y+=2){
for(x=0;x<=320;x+=2)
{
u = fix16Int(x*cosFix16(W)+y*(-sinFix16(W)));
v = fix16Int(x*sinFix16(W)+y*cosFix16(W));
color = BMP_GETPIXEL(x,y); //Copia pixel
BMP_SETPIXEL(u,v,color); //pega pixel
}
}

W++;


BMP_clear(); //no hace nada..
BMP_flip(1); //no hace nada...

BMP_showFPS(1); Hay que hacerlo con menor resolución, yo he conseguido 3 FPS saltando pixeles de 4 en 4

VDP_waitVSync();

}

}




No he probado el código pero mirándolo parece que falta por volcar el BMP a la memoria de los tiles, mira en el API a ver si tiene una función que haga algo asi.

mills332
29/04/2014, 21:24
Me vais a ayudar más vosotros, yo soy muy novato, ya está abierto el hilo de programación. Deberíamos usarlo para ir pegando estos códigos.

Ya he pegado el rotozoom, voy a pegar otro que hice gracias a stef, el creador de sgdk.

Este hilo lo usaré para los juegos, Hay un error en los que hice, no funcionan en una MD real, puede que sea problema del SGDK en una función de los sprites.

ArChEr
29/04/2014, 22:24
Por cierto, lo quise poner antes para Archer y al final se me fue la pinza.
Asi mueves el scroll pixel a pixel.

#include <genesis.h>
int i;
int s32 coordY = 5;
int s32 coordX = 5;
int numtile = 1;
int ciclo = 0;
const u32 tile[8]=
{
0x00111100, // Línea 1: pixels 1 a 8
0x01144110, // Línea 2
0x11244211, // Línea 3
0x11244211, // Línea 4
0x11222211, // Línea 5
0x11222211, // Línea 6
0x01122110, // Línea 7
0x00111100 // Línea 8: píxels 57 a 64
};
const u32 tile2[8]=
{
0x00111100, // Línea 8: píxels 57 a 64
0x01122110, // Línea 7
0x11222211, // Línea 6
0x11222211, // Línea 5
0x11244211, // Línea 4
0x11244211, // Línea 3
0x01144110, // Línea 2
0x00111100 // Línea 1: pixels 1 a 8
};


int main( )
{
VDP_setScrollingMode (HSCROLL_PLANE, VSCROLL_PLANE); // le decimos que tipo de scroll queremos, tile a tile, linea a linea...
VDP_loadTileData( (const u32 *)tile, 1, 1, 0);
VDP_loadTileData( (const u32 *)tile2, 2, 1, 0);
VDP_setBackgroundColor(0);
while(1)
{
VDP_setBackgroundColor(ciclo);
VDP_setHorizontalScroll(VDP_PLAN_A,ciclo); //movemos el mapa x puntos a la derecha, voy a usar la variable ciclo mismamente
//VDP_setVerticalScroll(VDP_PLAN_A,i%=-50); //por si quieres moverlo tambien en vertical
i--;
if (ciclo>63)
ciclo=0;

ciclo++;
while (coordY<10)
{
while (coordX<10)
{
switch (numtile) //para pintar los dos tiles alternativamente
{
case 1:
VDP_setTileMapXY(VDP_PLAN_A, 1, coordX, coordY);
numtile = 2;
break;
case 2:
VDP_setTileMapXY(VDP_PLAN_A, 2, coordX, coordY);
numtile = 1;
break;
}
coordX++;
VDP_drawText("El texto tambien forma", 2, 1);
VDP_drawText("parte del mapa de tiles.", 2, 2);
}
coordY++;
coordX = 5;
}
coordX=5;
coordY=5;
VDP_waitVSync();
}
return (0);
}

-----Actualizado-----

Evidentemente este codigo es lento porque genera el mapa de tiles para cada frame, que es una animalada, sobre todo teniendo en cuenta que en el caso de un juego, el fondo es fijo, generas el mapa de tiles una sola vez y te olvidas a no ser que necesites cambiar algo de el de manera dinamica.

Gracias k-teto en cuanto tenga un rato pruebo el codigo y lo trasteo jeje