Tutorial sobre Tiles en Megadrive
Para consultas y debates sobre el contenido de este artículo, visita el Hilo oficial.
Contenido |
Introducción
- Seguro muchos ya saben que son los tiles, y como se trabajan.
- Para los que no, los tiles son pequeñas unidades gráficas, de 8x8 pixeles, en el que se divide la pantalla. Agarrando la calculadora, la Megadrive tiene 320x224 pixeles de resolución asi que:
- 1 Tile : 8x8 pixeles = 64 pixeles
- Pantalla: 320x224 = 71680 pixeles
- Cantidad de tiles necesarios para llenar la pantalla: 71680/64 = 1120 tiles
- Básicamente, 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.
Problemática
- Pero que pasa si, necesitamos mostrar, por ejemplo, un escenario de un juego de peleas? porque el escenario, es mas amplio que 320x224, básicamente, son como poco 2 pantallas de largo. Ahí 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 energía, etc.
- Así que hice cálculos: La megadrive puede guardar en memoria un máximo 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. Así que nos quedarían un total de 1216 tiles utiles.
Colores
- 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 útiles. En caso de los sprites se puede usar el color de fondo.
- Como muestro en el siguiente gráfico, un personaje ocupan un promedio de unos 90-100 tiles cada uno, y se podría decir que un máximo de 110 tiles.
- Así que habria que reservar 220 tiles para personajes, y al menos 30 mas para varios (barras, animaciones, etc).
- Así que de los 1216 tiles útiles, solo nos quedan 1216 - 250 = 966 tiles.
Tutorial
- Volvemos al fondo. Tenemos el fondo de NeoGeo "Fire at Wadamoya" de 640x224 pixeles.
- Fondo: 640x224 = 143360 pixeles / 64 = 2240 tiles
- Máximo 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.
- Aquí 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, etc.
- ¿Qué significa esto? pues, que básicamente 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:
- Así que después de 6 o 8 horas de trabajo, logre que este escenario de NeoGeo de 2240 tiles, quedara en solo 960 tiles.
- Y lo mas difícil, adaptar los 256 colores del NeoGeo a 14 colores. Lo peor fue que dentro de la paleta de la MD no encontré todos los colores necesarios, solo encontré 11. Así que tuve que trabajar la imagen, y reducirla a 11 colores.
- Aquí dejo la rom de megadrive, si alguien quiere probarla en un emulador. Solo muestra el fondo, y presionando A y izquierda+derecha se hace el scroll.