Llevando La Megadrive Al Límite: Star Fox y Sonic CD
Si hoy miramos hacia atrás seguramente nos de la impresión de que consolas como Megadrive o Super Nintendo dieron todo lo que podían dar de sí mismas, incluso más en el caso de Snes con tanto chip de apoyo extra. Pero los tiempos cambian y el hardware de dichas consolas es aún más conocido que entonces por parte de los habilidosos programadores. Nos vendieron muchas historias de que la Megadrive no podía hacer rotaciones o manejar juegos poligonales sin el apoyo de SVP. Todo esto es verdad a medias. Rotaciones y polígonos las pueden realizar casi cualquier sistema (un Spectrum por ejemplo), otra cosa es hacerlo de forma fluida a la par que realiza otras tareas. Y la Megadrive no tenía hard específico para hacer rotaciones, como sí que lo tenía la Snes o incluso el Mega CD.
Hace unos días, dándome una vuelta por los foros de elotrolado vi un par de casos bastante sorprendentes para Megadrive. El primero de ellos se trata de un hack del Sonic 1, donde se han incluido en los postes de checkpoint las estrellas del Sonic 2 para entrar en la fase de bonus si tienes 50 anillos o más en ese momento. Pero eso no es lo sorprendente. Lo sorprendente es que si accedes a ellas de ese modo no iras a los bonus de Megadrive, sino a una recreación de dichos niveles pero del Sonic CD. Con rotación en modo7 incluida. Cierto es que pixela bastante más y no va tan fluido, pero es un logro que consiguieran implementarlo de forma tan relativamente suave y habiendo otros sprites en movimiento. Os dejo con el link original donde podéis descargar la ROM, unas imágenes y un video de la misma:
http://sonicresearch.org/forums/index.php?showtopic=3239

http://www.youtube.com/watch?v=qXQ1KqrvFME&feature=youtu.be
Como comenté antes, era un vox populi que tanto Snes como Megadrive no podían mover juegos poligonales sin apoyos como el Chip Fx o el SVP, y también como dije antes, esto eran verdades a medias, ya que tanto en Snes como Megadrive ya existieron juegos poligonales sin esos chips. Eso sí, con tasas de framerate de 6 ó 7 fps por segundo. Sin embargo, un habilidoso coder ha sido capaz de replicar en parte el primer nivel del Starfox de Snes funcionando en una Megadrive sin ningún tipo de chip de apoyo extra. No funciona tan fluido como el Virtua Racing o el propio Starfox de Snes, pero sigue siendo bastante más rápido que otros juegos poligonales de Megadrive como F15 o Hard Drivin. El autor asegura que aún se podría optimizar mucho más, pero también es cierto que si hubiera que incluirle más enemigos, inteligencia artificial para los mismos, marcadores, música y otros detalles probablemente su rendimiento pegaría un bajón importante. Sin embargo no deja de ser impresionante.

Os dejo con el link original donde también podéis descargar la demo y con un video de la misma funcionando en una Megadrive real, primero sin overclock y luego con él.
http://www.romhacking.net/forum/index.php/topic,14298.msg237658.html#msg237658
http://www.youtube.com/watch?v=PNGWykZ0ju0
Tanto el Sonic como el Starfox funcionan en una Megadrive real sin hard extra. ¿Con qué podrían sorprendernos si hicieran juegos de Megadrive hoy día? Una muestra clara la tenemos en el Pier Solar. Juego de una capacidad superior a todo lo que existió para la consola en su día y donde también podremos encontrar alguna fase de bonus con efectos de rotación y zoom.





Joder sito, vaya descubrimientos nos traes hoy! Lo del sonic cd me ha dejado flipado. Lo he bajado para probarlo yo mismo en el emulador y es increible la suavidad del efecto. Yo tambien había visto la fase que comentas del vuelo en el pier solar, pero es que aqui funciona aun mejor y con mas elementos en pantalla. En el enlace que pusiste el programador explica como lo ha hecho, pero no entiendo lo suficiente como para entenderlo. Y lo que es mejor, no solo ha reproducido la fase, sino que para mas recochineo ha modificado el sonic para poder insertarla en el. Lo cual tiene mas merito aun.
Esta fase de bonus del Sonic CD sirve también para callar esas bocas que decían que la Mega CD no traía hard extra, que únicamente era un lector de CD para la Megadrive, cuando en realidad sí que traián chips dedicados para rotaciones y escalados.
Como experimento es muy interesante, sobre todo ese Starfox, pero es cierto que al meterle más cálculos (enemigos, IA, colisiones, etc), seguro que se haría bastante injugable. Aunque ya es mucho más que lo que ofreció la Megadrive en un época y eso es un logro.
También reitero la idea que los polígonos existen desde la era de los 8 bits, con limitaciones, pero existen. Hasta la Vectrex es una consola que se basa en vectores y no en píxeles, y de los vectores a los polígonos hay un «paso».
es que hay que ser cazurro para decir que el mega cd no tenia hard extra, cuando para empezar ya tiene un m68k al doble de velocidad que el de megadrive. El cual podia usar para los juegos y luego destinar el de megadrive a rotaciones exclusivamente. Pero es que aparte de eso tenia un procesador grafico integrado. Que seria realmente el que se encargaria de esas virguerias.
Recordemos que Snes sin ayuda solo podia rotar o zoomear un objeto a la vez (generalmente un background), y sin embargo mega cd podia hacer scaling a un monton de sprites a la vez en plan system 16. Juegos como Jaguar o BcRacers lo demuestran. Una conversion del outrun en mega cd podria haber sido espectacular.
Increible aportación Sito, estoy flipando en colores….
Simplemente impresionante. Lo que los fans de un sistema o juego pueden aconseguir no tiene límite. Me quedé alucinado con la reproducción de Star Fox. No sabría ni por dónde empezar…
Me sumo a la lista de los que alucinamos con esto…muchas gracias Sito, no lo conocía y es impresionante!
Los he probado en una megadrive real (vía cartucho flash), y el Star Fox es muy impactante, aunque se nota que es una demo temprana si aspira a ser jugable alguna vez (no detecta colisiones ni los disparos hacen nada, aunque sólo por lo que demuestra ya vale la pena!)
Pero lo del Sonic me ha dejado todavía más impresionado, un auténtico lujazo de efecto «tipo modo 7»!
Lo que comenta Enkor, me ha recordado a aquellos Star Wars de Atari que salieron en Spectrum, que con cuatro líneas (no sé si eran vectores o polígonos) creaban una sensación de volumen y 3 dimensiones asombrosas (lástima que las consolas de 16 bit apenas usaron esas técnicas salvo para conversiones de juegos de ordenador tipo simulador)…
Un saludo!
Ya no se sabe si juegos que creíamos la leche a lo mejor no eran para tanto, o que hoy en día los que hacen estas cosas son unos artistas. Sólo son «demos» pero no dejan de sosprender. Del StarFox no sólo me ha llamado la atención lo evidente, también me parece muy meritorio la recreación prácticamente exacta de todos los elementos, y la calidez del color, muy cercano al original de SNES. Faltan cosas sí, pero habría que ver cómo respondería una SNES para mover este juego sin usar el FX. El Sonic también es la leche pero quizás hay demasiado «diente de sierra», ¿no? Y eso que la Mega tiene una muy digna resolución. De todas formas, yo sigo pensando que la SNES está mejor diseñada para hacer cosas así, aunque algo que nunca me gusto es que sus juegos con modo7 acaban siendo muy similares en gráficos y jugabilidad, supongo que por las caracteristicas tan marcadas de los chips encargados de hacer estas filigranas.
La sensación que me queda es que parece que los programadores no tuvieron narices para meterse más a fondo a hacer este tipo de cosas en la Mega, porque según parece con estos ejemplos (y otros juegos como el Pier Solar, Gusntar Heroes, Batman & Robin, etc…) la consola podía dar la talla. Lo más parecido que recuerdo son los simuladores, como el F-22, LHX Attack Chopper, etc…
Sobre lo que comentáis del Mega CD, evidentemente incluía hardware específico pero tambíen es verdad que los resultados eran bastante más espectaculares que el modo7 de la SNES, o esto de la Mega Drive.
Habria que ser bastante ingenuo al creer que solo por ver estas cosas la megadrive podria haber hecho cosas como la snes y su md7 y sus otros chips de apoyo en cartucho. Ni de coña. Aunque probablemente la snes sin chip fx no hubiera podido mover un starfox con esa fluidez, principalmente porque tira de procesador puro, y la snes en eso estaba por debajo de megadrive.
Lo que dices de los dientes de sierra robotnik16 son simplemente pixelaciones. La megadrive tiene buena resolucion, por supuesto, pero el propio autor comenta que si usaba mas resolucion en el bitmap usado para el suelo (el que rota en modo 7) se ralentizaba cosa mala. No es cuestion de tener resolucion la consola o no. Sino de que no tenia potencia ni hard especifico para mas. De hecho en teoria no tenia ni para algo asi!, pero mira. Xdd
Por otro lado, en los juegos que comentas (salvo en el pier solar), no hay ni un escalado ni rotacion real. Solo trucos. Trucos muy ingeniosos, eso si.
Respecto al mega cd, como digo podia hacer escalado a la vez a multiples sprites, y eso no se pudo hacer en snes sin usar el chip fx (y solo se vio en el mario world 2 usando el chip fx para ese proposito entre otros).
Pues si que me gustaría que se hiciera un juego para Mega hoy en día a ver como la exprimen y que puede ofrecernos. Quizá lo hagan, quien sabe, para Super Nintendo ya lo han hecho!
El retroconsolero, no conoces el oh mummy de megadrive? Aqui en el blog tiene una entrada dedicada, y por cierto, aun espero que me llegue el mio. Es un juego visualmente bonito, aunque no tiene estas virguerias graficas.
Pero por otro lado mas me sorprende que no conozcas el Pier Solar que he comentao arriba y tambien se ha citado en los comentarios. Ese juego es un juego actual de megadrive, y en el, como digo en el articulo, si que hay algunas cosas tipo modo 7.
No tenía ni idea Sito, solo estaba al tanto del Nightmare Busters para la Super como te comente. Q x cierto estará al caer no?
No se cuando salia exactamente, pero no se si sabras que el nighmare busters no es un juego nuevo. Fue creado en la epoca de snes, alla por el 94-95, pero por algun motivo u otro el juego no llego a ser publicado. De hecho la rom anda por imternet desde hace años. Lo que ocurre es que ahora una empresa ha comprado los derechos del juego, han arreglado algun detalle que tendria por pulir y han decidido sacarlo en version fisica.
El Nightmare Busters no es un juego actual propiamente dicho. Estuvo planeado para salir en 1998 pero finalmente fue cancelado. La rom estaba disponible desde siempre para su descarga y ahora parece ser que por algún motivo han decidido publicarlo.
Te has adelantado Sito Grrr.
Que owned se lleva enkor. Xdd
Owned no, que me han entretenido mientras estaba escribiendo. xDDD
Me has alegrado la mañana con tu artículo Sito :)
Ole!
Da gusto toparse con entradas así!
Tranquilos chicos, q ya se el juego ya tiene unos cuantos añitos jajaja. Pero según he leído x ahí, ha «sufrido unos cuantos retoques» aprovechando la tecnología del momento.
Me parece una gran iniciativa y como lo saquen PAL, juego q cae pa la buchaca!
Gracias Jose Andres!
Elretroconsolero, los cambios mas bien diria que se han limitado a solucionar bugs y a pulir detalles. No creo que deba considerarse en absoluto como un juego actual como sí lo son el oh mummy o el pier solar. :P
Muy bueno!!! Habria estado chulo ver un virtua racing para super nes y un mario kart para megadrive
Juer que flipada. No me sorprende que cada vez haya más gente involucrada en estos asuntos y llegue a crear cosas que se suponia que eran imposibles…dan ganas de volver al 91 y tirarles en cada a todos que si se puede :D
Vaya, conocía el hack de Starfox pero el de Sonic me ha dejado impresionado.
A ver quien es el guapo que critica a la negra de SEGA!! ^^
Decir que todos los modelos 3D que se ven en esa DEMO de StarFox fueron ripeados del starfox original usando una herramienta que la «scene» creo para extraer modelos de la rom del «STARFOX 2» y que obviamente no es generado en tiempo real como si hace el SuperFX.
Jduran, eso es un poco contradictorio no? Si no son en tiempo real para que necesitan una herramienta para ripear los modelos? Al menos la nave de starfox SI que es poligonal, no prerrenderizada en plan donkey. El resto ahora no lo recuerdo bien porque estoy en el movil y no puedo ver de nuevo el video xddd
Acabo de volver a ver el video. Joer jduran, ya me habias hecho dudar. Todo en el video esta generado en tiempo real. Que te ha hecho pensar lo contrario?
No es contradictorio. En el caso del StarFox de SNES, en la rom del juego estás incluidos los datos para generar esos modelos. El SuperFX calcula los polígonos en base a esa información y el resultado se transfiere a la memoria de video de la SNES a través del «frameBuffer» de la consola. Todo esto es aplicable a todos los modelos del SuperFX (Mario Chip, GSU-1 y GSU-2).
Esta demo no funciona así. El «Motorola 68000» de la MegaDrive no usa unos datos de entrada y mediante funciones matemáticas para generación de polígonos (que no tiene) termina generando esos modelos. Lo que se ha hecho es usar dos herramientas (SFX Edit y StarFoxObjectReader) que toman los datos de las roms de los dos juegos de StarFox y generan lo modelos 3D y a partir de ahí se han ripeado los modelos de las naves que luego han sido incluidos en la rom para MegaDrive, pero el «Motorola 68000» no calcula nada en si.
Pero es que no te entiendo. Practicamente cualquier sistema tiene funciones matematicas para realizar poligonos. Otra cosa es que lo haga con mayor o menor soltura.
Creo que lo que tratas de decir es que los graficos de esta demo es algo como lo que hicieron con el silpheed no? Esta claro que la megadrive no esta utilizando ningun chip de apoyo, pero lo visto aqui esta generado en tiempo real tio. No son capturas de imagen ripeadas cutremente.
No son generados en tiempo real. El 68000 no tiene una arquitectura para generar polígonos directamente, otra cosa es que mediante varias funciones se puedan «manejar/mover» (que no generar en tiempo real) los polígonos que se ven en esa demo. Pero lo que es generarlos ya te digo yo que no. Las herramientas que te comentó generan los modelos 3D (cosa que no hace el procesador de la megadrive) y esos modelos luego se han metido tal cual en la rom. Y no estamos hablando de un ripeo cutre «3D» como el del Donkey Kong Country que canta a dos kilómetros donde incluso se ha bajado la resolución para adaptarlo a la SNES.
Pero a ver, entonces como los maneja si no puede generarlos? No tiene sentido. Todos los sistemas pueden generar poligonos. Incluida megadrive. No has visto juegos como f15 strike eagle o hard drivin para la consola? Son juegos con poligonos reales manejados en tiempo real!
No se como los maneja pero los procesadores «no preparados para el 3D» como el de megadrive pueden hacer rotaciones y manejar poligonos con cálculos más costosos usando funciones 2D. Lo que esta claro es que el 68000 de MegaDrive no tiene arquitectura para generar en tiempo real los polígonos del StarFox y por tanto en esa DEMO no se están generando polígonos en tiempo real sino mediante el paso intermedio de las herramientas que te comento. Si fuese de la otra forma no hubiese sido necesario usar las herramientas para obtener los «objetos» sino que hubiesen metido directamente los datos a partir de los cuales se obtienen los objetos 3D para que el procesador de la megadrive los generase directamente.
Jduran eso de «lo que esta claro» es mentira. Lo unico que esta claro es que megadrive sin apoyos no puede mover/generar poligonos igual de fluidamente que la snes con el fX. Pero poder mostrarlos puede. El uso de esas herramientas que comentas tiene la unica finalidad de ahorrar al programador de la demo tener que volver a modelar las mayas poligonales de cada nave o enemigo, ademas de que sacandolos de la version de snes consigue que sean identicos. Lo de que hubiesen metido los datos que manejan esos poligonos directamwnte tampoco tiene sentifo. Los objetos poligonales se hacen connmallas 3d. Y eso es lo que han sacado de las versiones de snes. La unica diferencia aqui es que no ha habido un grafista psra hacer los modelos porque los han sacado de la version de snes. Pero una vez puestod los modelos poligonales en ambas consolas se manejan de forma identica. Con mas fluidez en un caso que en otro, obviamente.
Si que está claro. El 68000 de MegaDrive tiene una arquitectura específicamente diseñada para manejar 3D al igual que no lo tiene el procesador de la SNES. El uso de esas herramientas es el que te he comentado «obtener directamente los modelos 3D a partir de la rom original del juego». No estoy diciendo que «los datos son para manejar los polígonos» (rotar, mover, etc) sino que «los datos son para generar los polígonos en tiempo real» («crear») y la SNES no puede hacer eso sin el SuperFX al igual que esta DEMO no puede hacerlo porque los modelos han sido extraidos previemente del juego original. El 68000 no crea los objetos los procesa para moverlos, etc mientras que el SuperFX crea los objetos procesando los datos de la ROM y además los mueve.
Que no. Xd que estas confundido! La snes tambien puede hacerlo sin el chip fx, pero iria aun mas lento que en megadrive. El chip fx no crea los objetos de la nada. Los datos que comentas de la rom no son otra cosa que mayas poligonales.
Para que lo entiendas, sin esos programas para ripear modelos esta demo podia haber sido identica, solo que con otras naves diferentes o parecidas pero no iguales.
Menudo chat jajjajj.
Vamos a ver… que no estoy diciendo que no puedan hacerlo sin el FX. Lo que estoy diciendo es que no son procesadores diseñados para hacer 3D y por tanto de hacerlo, lo harán a mucha menor velocidad usando funciones 2D.
Y tampoco he dicho que el FX cree objetos de la nada…
Y sin esos programas claro que la demo hubiese sido distinta, y para empezar más lenta aún (como la intro del Mohammed Ali de MegaDrive) …porque en este caso los objetos 3D ya han sido generados por una herramienta externa y el 68000 solo los mueve no los genera en tiempo real.
Conozco al menos un juego en SNES que maneja polígonos (y un par en MegaDrive) cuyos cartuchos no llevan ningún copro y van relativamente bien para la época…
Claro. Por ejemplo los que he citado mas arriba.
Pero vuelvo a insistir. El uso de esas herramientas solo tuvo como finalidad robar sus modelos poligonales para que sean IDENTICOS. No ahorra ningun tipo de calculo ni va a hacer que vaya mas rapido. Solo ahorra al progrmador tener que modelarlo todo de nuevo.
Ninguna herramienta externa ha generado nada. Eso es para casos como el silpheed. Aqui la herramienta externa solo ha servido para sacar las mayas/datos poligonales llamalo como quieras, darselos a la mega y que ella los genere igual que lo hace el chip fx a partir de los mismos datos.
Partiendo de que no tengo ni idea de programación, ¿no creéis que es más importante el hecho de que se puede hacer, en lugar del «cómo se hace»? Entiendo que lo que quiere decir jduranmaster es que todo lo que aparece en la demo serían «rutinas» ya implementadas que no se generan en tiempo real (excepto nuestra nave), lo cual, en cierto modo tiene sentido porque no aparecen enemigos ni ningún elemento «vivo» con el que se pueda interactuar en tiempo real (parecido a lo que ocurre con los «fondos» del Silpheed). Pero eso también se le podría atribuir al Starwing de SNES, no? A mí no me parece tan imposible lo de esa demo, y con las herramientas de hoy en día probablemente lo sea menos, ya en su día había juegos poligonales en tiempo real que daban el pego, como el F22 Interceptor, LHX Atack Chopper, F17 Night Storm, Mig 29, o los que ha dicho Sito. Me imagino que las dudas se disiparían si se incluyeran en la demo enemigos con su propia IA. Desde mi ignorancia en este campo, los dos podríais tener razón…
Robotnik, jduran no se refiere a eso. Lo del silpheed es distino. Con los fondos no se podia interactuar porque eran videos! Aquí son poligonos generados en tiempo real. Cosa que se puede apreciar facilmente ya que la perspectiva de cualquier objeto en la demo varia dependiendo de por que angulo te acerques al mismo. Lo de no interactusr con ellos es sencillamente porque no se les ha implementado cajas de colisiones ni ningun tipo de inteligencia artificial. Cosa que ya comento en el propio articulo. Y si se añadieran ten por seguro que el juego iria menos fluido todavia, pero eso no tiene nada que ver con lo que dice jduran.
Lo que si que quiero dejar caro es que en esta demo, todo lo que está esta calculado igual que en supernintendo. Lo de extraer sus modelos es simplemente una cuestion de comodidad para el programador para ahorrarse modelar el mismo las naves.
mmm ok, mi duda era el hecho de que todo el entorno estuviera «predefinido» a excepción de la nave, como si fuera digamos un «video», pero es verdad que los elementos se modifican en función del movimiento, generándose en ese caso en tiempo real. No recordaba bien la demo porque la probé cuando lo publicaste. pero sí, tienes razón.
Técnicamente super nes estaba mejor preparada que mega drive para mover polígonos pues para esta tarea se necesitaba mas ram que cpu, y todos sabemos que mega drive tiene mas cpu pero menos ram por eso se quedo estancada con su virtua racing juego que porcierto iba muy justito. Sin embargo la super aprovecho mejor el rendimiento de su super FX pues con la ayuda de la ram de la consola mas el chip se podían hacer cosas maravillosas imposibles de ver en la mega.
No estoy de acuerdo, dan. Para mover poligonos la velocidad es lo primordial. La ram te puede ayudar a mover mas poligonos, pero no a moverlos mas rapido.
Si ya nos ponemos a incluir chips de apoyo como el svp y el chip fx la cosa cambia, ya que son ellos quienes generan los poligonos. No la consola.
El virtua racing justito? Mira que siempre me ha gustado mas el stunt race fx, pero eso es faltar a la verdad. El virtua racing iba bastante mas fluido y con mas frames por segundo que casi cualquier juego del chip fx.