-
-
Notifications
You must be signed in to change notification settings - Fork 0
Tiles
Para crear mapas en Next_MS_Engine, vamos a usar el editor de mapas Tiled (que ya deberías tener instalado, si no, ve a la sección 3), pero antes de eso, debemos crear un conjunto de gráficos para dibujar nuestros mapas: un tileset.
Los tilesets son el conjunto de tiles (casillas de 16x16) que se usan para crear los mapas del juego.
A efectos prácticos, son como los spritesets tango a nivel del PNG, como en el formato al que los exportaremos (.spr). O sea, que todo lo que has aprendido en la sección anterior te sirve para ésta.

Entonces, ¿dónde está la diferencia? Veamos algunos aspectos de los tilesets:
- A la hora de exportarlos, debemos sobre escribir esta vez el fichero /mi_proyecto/data/spr/tiles_0.spr
- Al igual que en los spritesets de enemigos, podemos crear tantos tilesets como queramos, solo hay que exportarlos con el formato tiles_X.spr siendo X un número entero.
Esto te puede servir, por ejemplo, para tener un tileset para cada mapa o bien compartir uno para varios mapas que formen un "mundo" y crear otros diferentes para cada "mundo" o "zona", eso ya es a tu elección.
Todo eso se puede configurar en el motor.
-
Un tileset puede contener hasta 128 tiles (se numeran del 0 al 127), a diferencia de los spritesets, que tenían 64 imágenes.
-
Los tiles pueden animarse, para tener fondos con cierto movimiento que le de más "vidilla". Los tiles que se vayan a animar van al final del tileset. Observa como los "fotogramas" que componen la animación del agua de las cascadas están puestos del tile 124 al 127. En el motor se puede configurar cuantos fotogramas componen las animaciones de tiles y cada cuantos frames cambia el dibujo.
-
Los tiles, para el motor, tienen diferentes comportamientos, de forma que pueden ser:
-
bloques traspasables (tipo 0): los personajes (sprites) pasan por delante de ellos sin ningún efecto.
-
bloques dañinos o pinchos (tipo 1): si contactamos con ellos, el player sufre daño.
-
bloques plataforma (tipo 4): son traspasables en todos los sentidos menos desde arriba hacia abajo, de forma que el player se puede "subir" a ellos, de ahí su nombre.
-
bloques sólidos (tipo 8): los personajes no pueden atravesarlos y chocan contra ellos.
-
bloques escalera (tipo 2): el jugador puede trepar por ellos.
NOTA: Esta numeración viene heredada del MK1, para comodidad de los que ya lo conocieran de antes.
Para asignar un comportamiento a cada tile, se incluye una herramienta llamada Tiles_Behaviour.exe dentro de la carpeta "_Mapas"
Nota: si no usas Windows, tienes el fichero Python en la carpeta "utils" con el código fuente de la herramienta.
Esta herramienta nos permitirá asignar, de manera visual, el tipo de comportamiento de cada tiles de nuestros tilesets, y luego exportar esa información a un archivo binario que guardaremos.
Si la ejecutamos, se nos abre una pequeña aplicación con solo 3 opciones:
- Abrir PNG: para cargar nuestro PNG del tileset. Cuando lo abramos, te pedirá el tamaño de los tiles (16)

y daremos a OK. Entonces se verán los tiles en pantalla con un número sobre escrito encima de cada uno de ellos.

Nota: si ya has usado ese PNG anteriormente, te detectará que ya hay un binario asociado a ese PNG y te preguntará si quieres usarlo, de forma que no tendrás que asignar los comportamientos desde cero, sino modificar lo que ya habías hecho.
Ahora solo tenemos que ir pinchando los tiles a los que queramos cambiar su comportamiento (por defecto todos son tipo 0, o traspasables) e introducir el valor nuevo: 1,4 u 8 y pulsar OK.

-
Importar BIN: si ya tienes un fichero binario con los comportamientos de los tiles o de otro tileset que quieras reutilizar, puedes importarlo con esta opción y aparecerán los numeritos encima de los tiles correspondientes.
-
Guardar BIN: con esta opción guardaremos el fichero bin en la siguiente ruta:
/mi_proyecto/data/bin/beh/behX.bin siendo X el número del tileset al que se aplican estos comportamientos.
IMPORTANTE: todos estos nombres de ficheros hay que respetarlos (behX.bin, tiles_X.spr, enemies_X.spr), porque el motor va a buscarlos por esa nomenclatura y no otra, si cambiamos algún fichero a un nombre que no cumpla esos formatos obtendremos un error de carga cuando el juego necesite cargar alguno de ellos.
Estos tiles se pueden activar o desactivar si no se van a usar (ver capítulo configurando el motor).
Si quieres usarlos, debes saber que estos tiles son traspasables en principio, y se activan como escaleras cuando el jugador está sobre ellos y pulsa arriba o abajo.
Para poner una escalera, debemos usar estos tiles tipo 2 pero siempre debería ir un tile tipo 4 (plataformas) en su parte superior, para que el jugador pueda caminar sobre ella sin caer por el hueco.

Si has entendido esta sección bien, vamos a pasar a ver como crear y exportar los mapas.
This is an early version of the engine. Some features may change or be removed in the near future if necessary.
🎨 ABOUT THE GRAPHIC SETS INCLUDED IN THE ENGINE
All graphic sets, sprites, tiles, and static screens are copyrighted and are provided exclusively for educational purposes and to demonstrate the demo game. They may not be used, either as-is or modified, to create any other game or project — whether free or commercial — without prior authorization from the author.
- ¿Qué es Next MS Engine?
- Preparando el entorno de desarrollo: Visual Studio Code
- Preparando el entorno de desarrollo: Tiled
- Preparando el entorno de desarrollo: Aseprite
- Sprites
- Tiles
- Mapas
- Enemigos y objetos en el mapa
- Música y sonido
- Configurando el motor
- Animaciones de sprites
- Custom code I: ficheros
- Custom code II: variables y comandos