Novedad
14 de Abril de 2018

¿Qué son los mapas en DIYen?

En el lenguaje DIV original un mapa era simplemente una imagen guardada en un formato propio (archivo .map).
Los mapas podían tener puntos de control y una paleta de colores.
En DIYen actualmente los mapas no existen como archivos (tal vez más adelante sí), pero sí existe una estructura similar que contiene como información la textura (para los gráficos con aceleración) basada en la imagen que se cargó del disco, los puntos de control (igual que DIV), y las definiciones de colisión y de golpe (hit).

Puntos de control

 (image: http://diyen.golazotec.com/images/mapas/mapa_cpoints.png)
En DIYen también están soportados porque pueden ser útiles para "señalar" cosas.
Los puntos de control sirven para ser leídos luego dentro del programa. Los puedes usar para detectar alguna ubicación clave del mapa.
En DIV a su vez el punto de control número 0 (cero) servía para indicarle la posición del centro del mapa. En DIYen no se puede hacer eso debido al sistema de colisión que utiliza (el centro del mapa siempre es al medio).
En DIV la detección de colisión era pixel a pixel pero en DIYen es por figuras por lo tanto cambiar el centro del mapa requeriría más procesamiento y no vale la pena.

Por lo tanto en DIYen el punto de control se puede leer pero no se puede modificar.
DIYen obtiene los puntos de control correspondientes a la imagen del mapa desde un archivo con el mismo nombre (incluyendo la extensión .png) con la extensión .pt.
Ejemplo: Para "02 - Misil Jugador.png", el archivo de puntos de control correspondiente sería: "02 - Misil Jugador.png.pt".

 

Paleta de colores

 (image: http://diyen.golazotec.com/images/mapas/mapa_paleta.png) Una paleta de colores es una estructura de datos ordenada que contiene los valores de los colores de los pixeles. Sirve para "colorear" el mapa. Sin la paleta el mapa no podría tener color.
Esto se hacía así en DIV para trabajar con mapas con menor cantidad de bytes por pixel sin perder cierta definición de colores. Si en lugar de paleta de colores hubieran utilizado color verdadero, es decir, los colores directamente sobre los pixeles sin usar paleta, el procesamiento de datos de imagen hubiera sido muy lento.
Así que básicamente las paletas se usaban antiguamente para acelerar la velocidad de procesamiento en los gráficos de los videojuegos, manteniendo cierta calidad en la imagen resultante.

En los juegos actuales 3D no se usan paletas de colores ya que todo trabaja en base a texturas con sus colores completos y son procesadas en un chip gráfico destinado a tal fin (la GPU).
DIYen tampoco utiliza paleta de colores ya que trabaja directamente con texturas y toda la aceleración gráfica (aunque es 2D) se realiza en la tarjeta aceleradora 3D (en el propio GPU).
Pero aún se pueden producir algunos efectos como los que se podían producir antiguamente con las paletas. DIYen incluye algunas variables para especificar colorizado o fundido que permiten cambiar los pixeles a las imágenes al momento de ser dibujadas en pantalla.

Las variables (dentro de un proceso) para los efectos son las siguientes:

 

alpha
 (image: http://diyen.golazotec.com/images/mapas/mapa_alpha.png)

Puede ser de 255 (totalmente opaco) a cero (totalmente transparente).

 

color.r, color.g, color.b
 (image: http://diyen.golazotec.com/images/mapas/mapa_color.png)

Para cambiar el "pintado" de color (rojo, verde, azul). Por defecto están a 255 las tres, lo que significa que su "pintado" es blanco (sin alteraciones de color).

 

blend
 (image: http://diyen.golazotec.com/images/mapas/mapa_blend.png)

Para cambiar el tipo de "fundido". Puede ser SDL_BLENDMODE_NONE, SDL_BLENDMODE_BLEND, SDL_BLENDMODE_ADD o SDL_BLENDMODE_MOD (fundido por color). Cada valor aplica un efecto distinto de fundido. El modo ADD es útil para "transparentar" las zonas oscuras o negras.

 

flip
 (image: http://diyen.golazotec.com/images/mapas/mapa_flip.png)

Para "invertir" o "espejar" la imagen. Puede ser SDL_FLIP_NONE, SDL_FLIP_HORIZONTAL o SDL_FLIP_VERTICAL.

Definiciones de colisión y golpe (collision bounding y hit bounding)

Por ahora DIYen utiliza para esto unos archivos con extensión .cb y .hb (collision bounding y hit bounding), el mismo nombre del archivo de la imagen (incluyendo su extensión .png) con la extensión mencionada anteriormente (.cb o .hb).
Ejemplo: Para "01 - Nave jugador.png", el archivo de colisiones sería "01 - Nave jugador.png.cb" y el de golpes sería "01 - Nave jugador.png.hb".
Estos archivos contienen en su interior información que definen las figuras que representan la colisión o el golpe, respectivamente. Y corresponden al mapa en cuestión dentro del juego.

Pero no te compliques, DIYen trae un editor visual muy cómodo de usar (DIYen FPG list Editor).

 

    Compartir:

Similares

Al Azar

Video

Roboritmo

23 de Noviembre de 2019
Música
MÚSICA

Créditos

Música
MÚSICA

En Curso

Música
MÚSICA

Introducción

26 de Abril de 2019