Especial 1: Port grafico de un escenario

del last Blade 2 en Megadrive

 

Como ya vimos en el tutorial de tiles, y en los tutoriales de programación de mapas, basicamente, si queremos poner un fondo de pantalla en MD, simplemente agarramos cualquier imagen, redimensionamos a 320×224, le adaptamos los colores a la paleta de megadrive, y listo. Ocupamos 1120 tiles.

Pero que pasa si, necesitamos mostrar, por ejemplo, un escenario de un juego de peleas? porque el escenario, es mas amplio que 320×224, 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). SI no necesitamos texto, podemos comenzar a usar desde el tile 1, lo que nos deja 1343 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 transparencia, lo que nos deja solo 15 colores usables.

Como ejemplo de tiles, voy a hacer un fondo de un videojuego muy conocido, el Last Blade 2, y dos personajes.

 

 

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 cada uno. * Y aclaro, solo hablamos de un frame de animacion *

 


Asi que habría que reservar como mínimo 220 tiles para personajes, y al menos 140 mas para varios (barras, pequeñas animaciones..etc)

Asi que de los 1343 tiles útiles, le restamos los 360 que nos reservamos, y nos quedarian = 983 tiles para el fondo.

Ya tenemos calculados y echos los sprites, ahora vallamos al fondo de NeoGeo “Fire at Wadamoya” de 640×224 pixeles.

Fondo: 640×224 = 143360 pixeles / 64 = 2240 tiles
Maximo disponible: 983 tiles

O sea, que solo disponemos de un 40% aprox de tiles para trabajar, o lo que es lo mismo, tenemos que descartar un 60% de la imagen original.
Eso sin contar que la neogeo tiene 256 colores, mientras que nosotros solo disponemos de 15 para el plano de fondo.

Aqui viene el trabajo sucio connuestro editor grafico, ya hay que abrir la imagen original del fondo del NeoGeo, dividir en una cuadricula de 8×8 y buscar patrones, tiles similares, sitios muertos…

Que significa esto? pues, que basicamente si dos trozos de 8×8 (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 40×24 pixeles, 15 tiles original de neogeo

 


El mismo trozo, modificado, usando solo 6 tiles. Se aprecia la perdida de información, 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 pegue 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 utiles. 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 (Gracias Mairtrus por el codigo)

Descargar Ejemplo fondo "Fire at Wadamoya" megadrive

 

2010 - TheElf