Emuladores en HD: ¿alguien se animaría?

Hace varios años, me encontré con un proyecto de emulador de Spectrum llamado Spec256. Este proyecto fue abandonado y luego retomado por otro emulador, pero todo en general quedó como casi algo anecdótico.

El nombre del emulador en cuestión reflejaba el objetivo del mismo: permitir usar los antiguos juegos de Spectrum con su triste paleta de 8 colores + 8 variantes de los mismos en... ¡256 colores!

Evidentemente, como decían los autores, esto no se hacía por arte de birlybirloque, sino que el emulador emulaba el juego y cogía los gráficos aparte, creados con una utilidad específica.

Los resultados eran muy buenos, dentro de lo que cabe. Un ejemplo:

Imagen
Imagen

Yo creo que el resultado es bastante majo, y eso que ese juego en concreto ya era colorido en spectrum en sí, pues solían ser todos bastante monocromos. Obviamente quita la gracia nostálgica del original, pero añade un colorido que me gusta.

Partiendo de ello, a menudo me planteaba la posibilidad de aplicar esa "tecnología" a otros sistemas, como NES, y me preguntaba por qué nadie había hecho algo parecido. Al fin y al cabo, con algo así, tendríamos la posibilidad de realizar "conversiones" como las que se hicieron de NES a SNES, tipo Mario All Stars o Ninja Gaiden Trilogy.

Otro par de muestras.

Imagen
Imagen

Estas conversiones nos las proporcionaron las propias compañías en sí, y con el Ninja Gaiden poco más que lo que yo planteo hicieron, como se puede ver.

Por eso me planteo, ¿no sería genial poder disfrutar de otros juegos del catálogo de NES en una paleta de colores mucho más bonita y completa, y ya puestos, con músicas en mp3 y nuevos efectos de sonido, sin tener que programar el juego de nuevo, sólo modificando la parte artística?

Y finalmente, y a lo que viene el título del hilo. Tras ver el hilo de la gente que se está currando un Sonic 2 HD, y viendo como ha sido el desarrollo del Street Fighter 2 HD... no sería factible un emulador HD aplicando la tecnología o ideas antes mencionadas, para poder disfrutar de cualquier juego antiguo con más resolución, colores, y mejor sonido, sin tener que reprogramarlo?

Sé que existen los filtros SUPERSAI, HQFILTER17X y demás, pero creo que no es lo mismo.

Ahí dejo mis pensamientos. Yo, lo poco que sabía de programación ya lo olvidé y nunca me metí en emulación, pero estaría encantado, como muchos otros, de redibujar o recolorear algunas cosas, hasta de recomponer musiquillas, si alguien inventase la manera X-D
Sinceramente, es acojonante, pero para hacer eso habría que trabajar muchísimo, ya que hay que hacer un "plugin" para cada juego, osea, no sé cómo funcionará el Spec256 pero para hacer algo cómo lo del SMB3 hay que rehacer todos los gráficos.

Yo si puediera ayudaría con todo lo que pudiese. :)
Cambiar de tamaño las imágenes de un juego en un emulador es dificilísimo, ya que el emulador debería detectar cuando se va a cargar un gráfico, ignorar la rutina de carga e insertar la nueva imagen en HD.

Aparte como haya efectos aplicados sobre la imagen al final de un barrido horizontal de la pantalla van a quedar fatal, si es que se pudiera hacer.

Cambiar las paletas de colores mostradas en pantalla es mucho más fácil.
Dentro de lo relativamente "poco" que entiendo o recuerdo de programación, sé que no sólo es factible, sino que no es soberanamente difícil.

Spec256 no cambiaba simplemente la paleta, porque evidentemente no es lo mismo un gráfico de 1 color que uno de 256. Lo que hace básicamente es cargar los tiles del nuevo pack de gráficos en lugar de los de la propia rom.

Cada juego necesitaría su propio pack de gráficos, eso es evidente, pero nada más. Hecho con lógica, el "único" inconveniente sería para los sprites con posibilidad de pintarse en diferentes colores, pero se podría solucionar dando al color del nuevo sprite un condicionante de color que se basara en el original. Es decir, que si es una cascara, pongamos, totalmente verde o roja, el sprite redibujado tenga todas las tonalidades de un color concreto que indica la nes a la hora de pintar. Es una manera bastante simple y lógica, vamos.

Y en el caso de la resolución, a priori con convertir los valores sería suficiente, es decir, si la resolución original es 256x224, y la resolución final es 1280*1024 (por decir una 4:3), con hacer un par de operaciones ya sabes en qué punto hay que pintar un sprite, basándote en el destino del mismo original.

Vamos, yo muchas pegas no le veo en cuanto a ideas. Tampoco digo que sea muy sencillo, pero simplemente creo que nadie con conocimiento suficiente se ha planteado que esto pudiera ser mínimamente interesante como para dedicarle tiempo.

Lo realmente difícil es más bien redibujar todos los gráficos de un juego, creo.
Piensa que el Spec256 no cambia las imágenes de tamaño, sólo cambia la forma y el color de las mismas. Si el juego dice que hay que pintar x pixels, a ver cómo haces que el emulador pinte los pixels que faltan para mostrar una imagen en HD respetando los ciclos de espera de la máquina original.
Bueno, de la misma forma que no supone un problema pintar un juego de x pixels cuya resolución original es 256x224 a 1280x1024 usando cualquier filtro, no creo que tenga por qué suponerlo que mediante esos mismos cálculos, en lugar de pintar una imagen "resizeada", se pinte una imagen ya resizeada anteriormente por quien ha recreado los gráficos.

Piensa que si un tile original tiene 16x16 pixels, y la versión HD tiene, aleatoriamente digo, 96x96, la diferencia entre pintar ese mismo tile de 16x16 resizeado a 96x96 o de pintar directamente uno de 96x96 es poca.
Llamadme retro, pero me gustan más las fotos de los originales que los remakes, especialmente el de Spectrum :-). En los otros 2 no sabría decidirme, los remakes parecen bastante majos.
La verdad es que los originales, son los originales y nadie puede substituirlos.
Pero aun asi los remakes pintan muy bien, pero considero que es bastante dificil conseguir eso, pero como dice Chano Marrano es bastante mas facil cambiar la paleta de colores que aumentar en tamaño las imaganes del juego.
DevilKenMasters escribió:Bueno, de la misma forma que no supone un problema pintar un juego de x pixels cuya resolución original es 256x224 a 1280x1024 usando cualquier filtro, no creo que tenga por qué suponerlo que mediante esos mismos cálculos, en lugar de pintar una imagen "resizeada", se pinte una imagen ya resizeada anteriormente por quien ha recreado los gráficos.

Piensa que si un tile original tiene 16x16 pixels, y la versión HD tiene, aleatoriamente digo, 96x96, la diferencia entre pintar ese mismo tile de 16x16 resizeado a 96x96 o de pintar directamente uno de 96x96 es poca.


Imaginate un juego de Mega Drive que use un efecto de raster píxel por píxel, uno de SNES con rotación píxel por píxel, o uno de NEO con zoom píxel por píxel.

Si cojes y cambias la imágen por una que sea 3 veces mayor, no tengo ni idea de emulación pero yo creo que el resultado sería desastroso, por que el código esta ahí implantado a fuego y habría que cambiarlo bastante para hacer que funcionase, no es como pintar la imágen de otro color (o de más colores).
Pero el emulador, así como el sistema que emula, trabaja con tiles.

Un gráfico, pongamos el mario, está formado por varios tiles.

Un tile, pongamos, es de 16x16. Al pintarlo a la pantalla, para el emulador, el resultado final puede ser de 96x96, si la resolución final es bastante alta. Lo que hace es duplicar pixels, y en algunos casos aplicar hasta filtros de redondeado a la imagen final.

En el caso de las rotaciones no sé como de desastroso podría ser el resultado, pero trabajando con los mismos tiles como si los originales reziseados fueran, no debería ser tan malo.
el emulador, así como el sistema que emula, trabaja con tiles.
Aunque se utilicen tiles el contenido de éstos se actualiza pixel por pixel. Como ha dicho Andoba para efectos ráster o simplemente para sprites cuyo contenido no esté almacenado en el cartucho sino que es generado por el juego en tiempo de ejecución el resultado no sería muy bueno.
Hemp está baneado por "Ya nos hemos cansado de tus sobradas"
Chano Marrano escribió: Aunque se utilicen tiles el contenido de éstos se actualiza pixel por pixel. Como ha dicho Andoba para efectos ráster o simplemente para sprites cuyo contenido no esté almacenado en el cartucho sino que es generado por el juego en tiempo de ejecución el resultado no sería muy bueno.


Ahi chano, dando animos [reojillo] . Yo me apunto, pero veo mas facil el tema de modificar un juego en si que hacer un emulador, sobre todo para Wii, que ya esta violada y atada para meterla lo que queramos y mas. Kiza este tipo de soportes mas avanzados y con mayor difusion podrian soportar mejor un remake. Ademas teniendo en cuenta la fiebre que esta habiendo ahora por los juegos de VC que no se venden en la VC (si, brawl 64 y ocarina en español...) Seria buena idea ofertar remakes de juegos clasicos con mayor calidad, en PC lo veo un poco difuso. En cualquier caso como ya te dizen el mayor desafio es de programacion.
pues para mi la gracia de los jeugos de nes se basa en su musica ratonera y los graficos cutrs

yo no los remozaria ya que perderian encanto, por ejemplo el usper mario all stars las musicas apra mi no eran lo mismo yo prefiero las de nes soy asi

saludos
Dios, la de horas que le dedique al Exolon de Spectrum, cuando e visto esas fotos se me an saltado hasta las lagrimas X-D
Ahi chano, dando animos
¿Cómo era el dicho ése de que no hay que matar al mensajero [Ooooo]? Ójala se pudiera hacer de forma fácil lo de insertar imágenes más grandes, pero bueno. Además, yo no he dicho que sea imposible :cool:.

En esta web franchute montaron hace tiempo un concurso de colorear juego de la GBTocho. Creo que esta iniciativa es mucho más viable, tanto para el programador del emulador como para el que colorea los juegos. Algunos juegos que han participado en el concurso:

Gargoyle's Quest:
Imagen Imagen Imagen

UR MR GAY [qmparto]:
Imagen Imagen

Kirby's Dream Land:
Imagen Imagen
Bueno, de todos modos, nadie de los que habeis opinado, como yo, es capaz de hacer un emulador que haga eso, ni los que animais, ni los que desmoralizais ni los que decís que a vosotros lo que os gusta son los clásicos a pelo.

Yo sólo he visto el Sonic 2 HD ese que se están currando, y he mencionado una posibilidad. Ni que todos los juegos usaran efectos raster y polladas, si realmente eso fuera un problema... es que tambien...
Hemp escribió:sobre todo para Wii


Si, sobre todo para Wii :-|


DevilKenMasters, puedes preguntar en GP32Spain que alli saben un montón de hacer emuladores son la mayoria unos maquinas (hola, me estais leyendo? XD).
Ya sabes que si preguntas ahí te sacan a los perros, entre "hilo repe", "owned", "saluda antes de entrar" y demás xD

Bromas aparte, quizá lo haga, pero viendo lo positiva que es alguna gente se le quitan a alguno las ganas, entre los "noo, los juegos viejos ni tocarlos" y los "no sé como se hace, pero no creo que se pueda"... xD
El tema es interesante si sale sere el primero en catarlo ... si sale para mac [+risas]

Respecto al tema de remakear , precisamente la gente que menos lo pide suelen ser los primeros en jugar para ponerlo verde despues y tras ello.... volver a jugar al remake [carcajad]
Hola, como te dice la gente lo mas factible sería hacer remakes en HD, ya que cambiar el juego en tiempo de ejecución es imposible o resultaría computacionalmente muy costoso.
Pero lo de hacer remakes en HD o recolear juegos no es una mala idea.
Yo tengo bastantes conocimientos de programación, asi que si quieres puedes contar con mi ayuda, que me gusta meterme en proyectillos asi ;)
Un saludo.
Bueno, yo sigo diciendo que el emulador de spectrum cambiaba unos tiles por otros (no sólo la paleta). Partiendo de esa base, un primer paso podría ser un emulador de NES con más colores y posteriormente intentar lo de la alta resolución.
lo que propones no es ninguna idea alocada ni algo realmente complicado.

total, codigos fuentes de emuladores hay cientos, asi que solo seria modificar la parte grafica para que cuando llame a x tile tu hagas lo que te de la gana, ya sea coger un tile o un sprite entero, o lo que te hayas montado.

y sobre los efectos, ya sean cambios de paleta, efectos raster, modo 7, etc, teniendo el codigo fuente del emulador se tiene el control sobre todo. if modo_raster then mi_rutina_de_modo_raster_en_hd.

lo que sea, complicado no es, si sabes hacerlo, pero laborioso, un rato. o mas. o meses para cambiar los graficos de depende de que juego.

y luego entran los gustos personales: que los diseños que alguien haga para x juego en hd sean buenos o sean una chufa. (como la paleta de colores del juego de spectrum de la primera hoja, no me mola nada la nueva.)

la idea es viable, pero a ver quien es el majo que se pone.
No he leido el hilo detenidamente pero el project64 tiene soporte para packs de texturas de alta resolución.

Es decir con los juegos 3d esto es relativamente simple ya que son vectores y escalan bien (menos las texturas que hay que meterlas a mano claro).

Links a pack de texturas:
http://www.emutalk.net/showthread.php?t=42231
Haberlos haylos:
http://www.sys2064.com/emudx.htm

El caso es que suena a mucho curre, por ejemplo tanto en el caso de la 64 como en éste o el de game boy, aparte del paquete de roms, éstas modificaciones son paquete específico aparte, además del emulador.

Lo que quiero decir es que si he entendido bien DevilKen quieres que el emu se encargue de las modificaciones de forma genérica, no obstante en éstos casos casi siempre suelen acabar optando por hacerlo de forma específica, es decir juego por juego. Y ésto pues parece un trabajo bastante más laborioso evidentemente.
Por si puede ayudar, en emulatronia.com tenian colgado el SPEC 256 que le daba al Spectrum 256 maravillosos colores.

aquí teneis un link con imagenes de lo que llegaba a hacer, sin palabras:

http://www.emulatronia.com/emusdaqui/spec256/juego-knightlore.htm

Saluos!!!
Sí, la idea es la misma del emudx, que demuestra que no es ni tan descabellada ni imposible de hacer.

Y la idea que yo menciono no es que el emulador haga nada de forma automática, sino que necesite packs gráficos, claro.

La verdad es que los packs del emudx me parecen bastante feos, todo sea dicho, pero bueno, si se pudieran hacer cosas tipo Street Fighter II HD o Sonic 2 HD, creo que podría ser muy guapo :)
25 respuestas