En este caso estuve trabajando para Megadrive
Estuve muy ocupado este ultimo mes, pero como este fin de semana dispuse de algun tiempo, decidi al menos, intentar algunos graficos.
Seguro muchos ya saven que son los tiles, y como se trabajan.
Para los que no, los tiles son pequeñas unidades graficas, de 8x8 pixeles, en el que se divide la pantalla. Agarrando la calculadora, la megadrive tiene 320x224 pixeles de resolucion asi que:
1 Tile : 8x8 pixeles = 64 pixeles
Pantalla: 320x224 = 71680 pixeles
Cantidad de tiles necesarios para llenar la pantalla: 71680/64 = 1120 tiles
Basicamente, si queremos poner un fondo de pantalla en MD, simplemente agarramos cualquier imagen, redimensionamos a 320x224, le adaptamos los colores a la paleta de megadrive, y listo. Ocupamos los 1120 tiles.
Pero que pasa si, necesitamos mostrar, por ejemplo, un escenario de un juego de peleas? porque el escenario, es mas amplio que 320x224, basicamente, son como poco 2 pantallas de largo.
Ahi es donde viene el calvario, ya que hay que lograr que aunque el fondo sea mucho mas grande que la pantalla, no ocupe mas de los 1120 tiles.
Luego viene otro problema, querremos poner, los personajes, las barras de energia..etc
Asi que hice calculos: La megadrive puede guardar en memoria un maximo de 1344 tiles (43008 bytes de VRAM), pero los tiles 0 a 255 son reservados para fuentes (texto). Con un truco se pueden usar tiles a partir del numero 128. Asi que nos quedarian un total de 1216 tiles utiles.
Otro punto a tomar en cuenta son los colores. Megadrive puede mostrar en pantalla 64 colores, pero con condiciones. No se puede usar una paleta de 64 colores, si no 4 de 16 colores.Pero en cada paleta hay un color de fondo y otro de transparencia, lo que nos resta 8 colores, que nos da un total de 56 colores utiles. En caso de los sprites se puede usar el color de fondo.
Como muestro en el siguiente grafico, un personaje ocupan un promedio de unos 90-100 tiles cada uno
, y se podria decir que un maximo de 110 tiles.
Asi que habria que reservar 220 tiles para personajes, y al menos 30 mas para varios (barras, animaciones..etc)
Asi que de los 1216 tiles utiles, solo nos quedan 1216 - 250 = 966 tiles
Volvemos al fondo. Tenemos el fondo de NeoGeo "Fire at Wadamoya" de 640x224 pixeles.
Fondo: 640x224 = 143360 pixeles / 64 = 2240 tiles
Maximo disponible: 966 tiles
O sea, que solo disponemos de un 43% de tiles para trabajar, o lo que es lo mismo, tenemos que descartar un 67% de la imagen original.
Eso sin contar que la neogeo tiene 256 colores, mientras que nosotros solo disponemos de 14 para el plano de fondo.
Aqui viene el trabajo sucio
con photoshop, paint shop pro..etc, hay que abrir la imagen original del fondo del NeoGeo, dividir en una cuadricula de 8x8 y buscar patrones, tiles similares, sitios muertos...Que significa esto? pues, que basicamente si dos trozos de 8x8 (1 tile) son iguales, solo ocupan el espacio de 1 tile, si varios tile tienen un mismo color, ocupan solo 1..etc
Por ejemplo:

Trozo de 40x24 pixeles, 15 tiles original de neogeo

El mismo trozo, modificado, usando solo 6 tiles. Se aprecia la perdida de informacion, pero al menos se mantiene la "escencia" original
Asi que despues de 6 o 8 horas de trabajo, logre que este escenario de NeoGeo de 2240 tiles, quedara en solo 960 tiles!!
menuda paliza me pege buscando patrones, copiando pegando trozos... Y lo mas dificil, adaptar los 256 colores del NeoGeo a 14 colores. Lo peor fue que dentro de la paleta de la MD no encontre todos los colores necesarios, solo encontre 11. Asi que tuve que trabajar la imagen, y reducirla a 11 colores.

Original NeoGeo, 256 colores, 2240 tiles

Modificado para Megadrive, 11 colores, 960 tiles
Aqui dejo la rom de megadrive, si alguien quiere provarla en un emulador. Solo muestra el fondo, y presionando A y izquierda+derecha se hace el scroll
Espero que esta informacion sea util a alguien, o al menos, alguien le encuentre algun interes!!


