› Foros › Retro y descatalogado › Consolas clásicas
Chifrinillo escribió:Entonces el techo técnico de megadrive es el batman & robin?
realbrucest escribió:Chifrinillo escribió:Entonces el techo técnico de megadrive es el batman & robin?
Es posiblemente el juego de megadrive que aúna una mayor cantidad de inventiva e ingenio a la hora de crear efectos gráficos. Simplemente eso.
El ingenio y la imaginación de los programadores es lo que hace lucir tanto ese juego, los "techos técnicos" no tienen mucho lugar mientras sigan existiendo resquicios por donde seguir estrujándose los sesos. Theelf ya se ha referido a eso en varios posts de distintos hilos: la habilidad del programador para inventar, eso es lo que más cuenta para conseguir recursos acojonantes y mandar "techos" a tomar viento (dentro de ciertas limitaciones, claro).
Chifrinillo escribió:Entonces el techo técnico de megadrive es el batman & robin?
AlbertX escribió:A mi lo que me parece de esta "batalla" es que se reduce a:
"Hoy en dia todos sabemos que Megadrive es mejor mas resolucion y mueve mas cosas y mas grandes que la limitadisima SNES a la que al dia de hoy no se le puede hacer nada y apena si mueve 3 sprites. Lo que pasa es que hoy conocemos muchos trucos y como explotar mejor el Hardware de Megadrive".
En resumen que la SNES tenia un HW de mierda pinchado en un palo pero los programadores supieron explotar ese HW mucho mejor que la misma SEGA exploto su propio sistema mas "poderoso".
Ese argumento honestamente me sigue pareciendo que le da mas fuerza aun a la capacidad de Nintendo en programacion que a la de SEGA.
Basicamente PS2 vs XBOX, pero donde XBOX era tan mal empleada que PS2 se veia mejor.
Pero ahora siguen saliendo Homebrew en XBOX que se come con patatas a la PS2, el problema es que ya a nadie le importa, si SEGA hubiera hecho las labores entonces, quizas seguiria vendiendo HW.
BMBx64 escribió:Aunque eso se ve demasiado demo técnica a mi me gusta más cuando se usa sutilmente para esta clase de efectos.
Chifrinillo escribió:Pero una cosa es el efecto axelay y otra es aplicarlo a varios planos, no? lo digo por que el axelay tiene bastantes elementos.
Giacomo Agostin escribió:Chifrinillo escribió:Pero una cosa es el efecto axelay y otra es aplicarlo a varios planos, no? lo digo por que el axelay tiene bastantes elementos.
¿Cuál es el efecto axelay?
realbrucest escribió:Giacomo Agostin escribió:Chifrinillo escribió:Pero una cosa es el efecto axelay y otra es aplicarlo a varios planos, no? lo digo por que el axelay tiene bastantes elementos.
¿Cuál es el efecto axelay?
Es el término con el que "en algunos fueros" denominamos al scroll vertical del plano cuando se le aplica una tabla de deformación basada en una curvatura predefinida para que cada scanline se dibuje más o menos veces creando el efecto de profundidad.
En lugar de dibujar todo el plano "tal cual" por defecto lo pinta el VDP y scrollearlo pixel a pixel verticalmente, cada scanline (línea horizontal "física" de la pantalla, olvidemos el dibujo del plano-fondo por un momento) consulta una tabla de valores predefinidos para saber de ese dibujo (ahora sí) cuál línea debe pintar. En las zonas superiores de pantalla se omitirán líneas del dibujo por querer simular ser más distantes, en la zona inferior de la pantalla se dibujarán líneas repetidas (con lo que los pixels de la textura se verán agrandados verticalmente, simulando proximidad).
Básicamente: según el scanline, consultar la textura (fondo) y pintar determinadas líneas para deformar la textura base. Por defecto el procesador de vídeo en cada scanline pinta las líneas sucesivas que estén dibujadas en el plano; scanline 1 - línea primera del plano dibujado, scanline 2 - línea segunda, scanline 3 - línea tercera ... Es llevar el control para que en cada scanline se dibuje la línea del gráfico que nosotros queramos para conseguir profundidad en el horizonte, curvaturas y velocidades de scroll en cascadas y lo que se le vaya ocurriendo al programador loco de turno.
Se le ha estado llamando "efecto Axelay" por ése el referente videojueguil que emplea este truco.
El efecto axelay, al menos en la mega, se aplica de tal forma que hay poca diferencia de rendimiento entre aplicarlo a sólo un plano o a los dos a la vez. Además se pueden dar diferentes velocidades a ambos planos, horizontal y vertical.Chifrinillo escribió:Pero una cosa es el efecto axelay y otra es aplicarlo a varios planos, no? lo digo por que el axelay tiene bastantes elementos.
No lo podía haber explicado mejor que el amigo realbrucest, es que es un tema un poco técnico y complicado de ver si no tienes el código delante jejeje.Giacomo Agostin escribió:Muchas gracias pero no me he enterado de nada
Manveru Ainu escribió:El efecto axelay, al menos en la mega, se aplica de tal forma que hay poca diferencia de rendimiento entre aplicarlo a sólo un plano o a los dos a la vez. Además se pueden dar diferentes velocidades a ambos planos, horizontal y vertical.Chifrinillo escribió:Pero una cosa es el efecto axelay y otra es aplicarlo a varios planos, no? lo digo por que el axelay tiene bastantes elementos.No lo podía haber explicado mejor que el amigo realbrucest, es que es un tema un poco técnico y complicado de ver si no tienes el código delante jejeje.Giacomo Agostin escribió:Muchas gracias pero no me he enterado de nada
Es como en una cascada, donde el agua en la parte superior está toda comprimida porque empieza a caer despacio. Mientras baja va estirándose porque va acelerando, y ya abajo del todo llega al punto máximo de velocidad. Básicamente eso se consigue con un efecto en los planos de contracción (en la parte de arriba se juntan o se superponen líneas para que quede todo más encogido y que parezca desplazarse más lento) y estiramiento (en la parte de abajo, separando las líneas para que el plano quede más estirado dando la sensación de que se mueve a más velocidad).
Giacomo Agostin escribió:Chifrinillo escribió:Pero una cosa es el efecto axelay y otra es aplicarlo a varios planos, no? lo digo por que el axelay tiene bastantes elementos.
¿Cuál es el efecto axelay?
Bueno es sólo una forma de llamaro, y una forma de homenajear al que lo puso en el mapa jejeje. Además la gracia no es el efecto en sí, sino el saber hacerlo cuando la máquina no puede por hardware, y eso no es tan fácil de meter en un gameplay... por lo que no es un scroll más ni mucho menos jejeje, al menos en la mega.Eteream escribió:Para mi no sólo se restringe a imitar lo mismo que hizo el juego Axelay, sino cualquier idea similar. En el fondo no es más que otro scroll pero en 3D.
Desde luego. Comentaba que de esa tanda de gifs ese era el que más me impresionó de todos. A ver si un día de estos intento replicarlo, porque me parece una delicia.Señor Ventura escribió:BMBx64 escribió:
Cuando un videojuego se convierte en arte
BMBx64 escribió:@VaNiL , a mi me encanta el efecto "mariposa" de este boss, ya lo miraré más en profundidad más adelante.
AlbertX escribió:cual es el hilo de las curiosidades N64? me gustaria mucho verlo
AlbertX escribió:@Waldo64 muchas gracias, estaria bien un hilo de estos por sistema, entiendo que el compañero no puede hacer algo asi el solo, me gustaria ver uno de Nes y SNES
Manveru Ainu escribió:Sobre lo de C, no creo que sea difícil portarlo a asm. Yo básicamente lo "porté a asm", solo que lo dejé en C jejeje.
dstArray[x, y] = srcArray[u, v];
Para eso tienes que pillar la imagen y cargarla en una matriz donde cada casilla es un píxel (se carga una vez). Esto es básicamente descomponer los 2 píxeles por byte que guarda la mega y tener un píxel por byte.magno escribió:Pues el reto de convertirlo a ASM lo es todo en este caso, ¿no? En el código en C, la transformación de rotación se hace pixel a pixel, de modo que obtienes las coordenadas destino del píxel rotado:dstArray[x, y] = srcArray[u, v];
Sin embargo, en una Megadrive, has de obtener el número de tile a la que se desplaza y el píxel en concreto dentro de esa tile donde va dicho píxel... ¿cómo solventaste eso para probarlo en la megadrive?
Manveru Ainu escribió:Para eso tienes que pillar la imagen y cargarla en una matriz donde cada casilla es un píxel (se carga una vez). Esto es básicamente descomponer los 2 píxeles por byte que guarda la mega y tener un píxel por byte.
Luego ya es rotar y/o escalar esa imagen sobre un segunda matriz y transformarla a una tercera matriz (con la mitad de tamaño) para devolver a la imagen de nuevo a formato megadrive para mandarla a la vram (en cada cambio de frame).
Ten en cuenta que esa función es para rotar + escalar, y además como dices es una función muy versátil para hacer lo que quieras. Para solo una de las dos cosas sería más óptimo buscar algo más concreto.magno escribió:Es buena idea ésa también. Estaría bien probar ambas a ver cuánto tarda cada una. Obviamente, tú solución es más versátil porque puedes hacer giros de cualquier ángulo, la mía tiene que ser a saltos de 6º en 6º, o bien crear una tabla similar para cada ángulo de giro que deseemos.
P.D.: Tienes en mente analizar cosillas de MegaCD o 32x?
BMBx64 escribió:La fase de bonus también tiene un buen efecto de tornado, lo bien que se hacen las cosas cuando tienes gran cantidad de frames y sprites.
BMBx64 escribió:[beer]
@AlbertX tengo más hilos de este tipo, de NES, de la rama Gameboy o algo de análisis poligonal en PS2, pero tendría que ver como desarrollarlos aún, si Diskover quiere encargarse del de NES ya participaría en el suyo
Para ese hilo tengo gifs de este tipo (truco de 2 capas), pero como NES es más prematura está más centrado en hablar de curiosidades, fallos de diseño, inicios de sagas, etc..
Manveru Ainu escribió:Bueno es sólo una forma de llamaro, y una forma de homenajear al que lo puso en el mapa jejeje. Además la gracia no es el efecto en sí, sino el saber hacerlo cuando la máquina no puede por hardware, y eso no es tan fácil de meter en un gameplay... por lo que no es un scroll más ni mucho menos jejeje, al menos en la mega.Eteream escribió:Para mi no sólo se restringe a imitar lo mismo que hizo el juego Axelay, sino cualquier idea similar. En el fondo no es más que otro scroll pero en 3D.
Eteream escribió:En el caso de la Mega además existe el problema que ejecutar una excepción (interrupción) cuesta mucho tiempo de cpu