¿Por que el helicóptero y el avión no tienen dithering? ¿Da mucho el cante en movimiento o no se aprecia tanto como en una captura?
¿Por que el helicóptero y el avión no tienen dithering? ¿Da mucho el cante en movimiento o no se aprecia tanto como en una captura?
No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.
Porque al crear los sprites se puede elegir que sean dualfield (lo que hace que ocupen el doble, pues para mostrarse correctamente necesitas verlos mezclados con su complementario), o sean singlefield (no usen complementario, y se apañe con los pocos colores que pueda).
En primera instancia pruebo los sprites en modo normal de toda la vida sin dithering, luego con dithering y por último si se siguen viendo mal, pues paso a dualfield.
Por ejemplo, tanto el helicóptero, como el avión, como Marco se ven bien sin usar complementarios; en cambio los soldados ganan colorido...
ya sabéis que las capturas de un sólo fotograma no permiten mostrar el coloreado dualfield; cuando juegas, el fúsil de los soldados se ve de color marrón; cuando en realidad es una combinación de rojo + un color bastante oscuro (en un fotograma) + un color mucho más claro (en el otro fotograma) y el resultado sale marrón. Pero ocupa más memoria por necesitar un segundo fotograma (aunque esto se solucionó en gran medida al guardar sólo los predesplazamientos que se van a utilizar). El mapeado completo emplea esta técnica, pero el mapeado ocupa menos al no haber predesplazamientos.
De todas formas, aparte del colorido; se está avanzando mucho en el dibujado de los sprites; ahora se está llegando a burradas como mostrar un sprite de 256x128 píxeles consumiendo 2/3 del tiempo disponible en un fotograma.
Última edición por masteries; 18/12/2020 a las 10:45
La maestría interior...
Metal Slug para Atari STE: Video-1 Video-2
En venta memorias de 512 KB y 1 MB para Amiga 500 y Amiga 500 Plus
fbustamante (18/12/2020)
Para que veáis que esto continúa en marcha,
Una prueba con el nuevo formato de sprites EMX2, junto con el nuevo sistema de control sobre el limpiado de los gráficos.
Ahora puedes decidir cuando un gráfico limpia su fotograma anterior o no; y puedes activar un sistema de limpiado más óptimo para sprites que se desplazan de maneras sencillas; por ejemplo el tanque. Este gráfico se desplaza sólo en línea recta de derecha a izquierda, por lo tanto sólo limpia el mínimo rastro que va dejando tras de sí, sin tocar el resto. También cuando está quieto, desactivo por código el limpiado
y cuando explota tampoco lo limpio, es el gráfico de la explosión quien limpia el tanque, y aún la explosión no la limpio hasta su quinto fotograma, donde empieza a disminuir de tamaño y ya tienes que limpiar los restos del cuadro anterior.
La explosión pequeña, igual, sólo se activa su limpiado cuando sus fotogramas dejan de crecer en tamaño; y también se desactiva el limpiado de los gráficos que permanecen quietos y sin cambiar de fotograma (esto ya lo hace le engine de forma automática).
Con esto se ha logrado mostrar cantidades ingentes (para un STE) de sprites en pantalla sin que caiga de los 50 cuadros por segundo.
En esta imagen hay el equivalente a unos 28 sprites de 32x32, y como se aprecia (el color verde representa el tiempo que queda sin usar) se podría mostrar otro soldado enemigo (con su código IA, bueno son patrones pseudo aleatorios, ejecutándose también), y un soldado enemigo son dos sprites de 32x32. Lo que hace un total de 30 sprites (de 32x32) a 50 fps en color dualfield.
![]()
Última edición por masteries; Ayer a las 18:19
La maestría interior...
Metal Slug para Atari STE: Video-1 Video-2
En venta memorias de 512 KB y 1 MB para Amiga 500 y Amiga 500 Plus
fbustamante (Ayer), Karkayu (Ayer), romeroca (Ayer), swapd0 (Ayer)
Marcadores