MEIGA
A downloadable tool for Windows
MEIGA es un conjunto de herramientas para convertir archivos AGD en recursos compatibles con el editor Tiled. Permite representar gráficamente la información del juego (pantallas, bloques, sprites, objetos, controles, mensajes y eventos) de forma visual y estructurada.
Los recursos generados incluyen:
- Tilesets para bloques (Blocks.tsx, Blocks.png)
- Tilesets para sprites (Sprites.tsx, Sprites.png)
- Tilesets para objetos (Objects.tsx, Objects.png)
- Fuente (Font.tsx, Font.png)
- Pantallas (SCREENnnn.tmx)
- Configuración global (ENVIROMENT.tmx)
- Paleta Standard ZX, ULA Plus y CPC.
- Mapa del mundo (MAP.world)
- Mensajes (messages.agd) y eventos (*.event)
El proceso también puede revertirse para generar un archivo AGD válido a partir de los recursos modificados en Tiled.
Requisitos para trabajar con MEIGA en Tiled
El archivo MPAGDClass.json define las clases y propiedades que deben usarse en los recursos de Tiled. Se requiere respetar esta estructura para garantizar una conversión correcta.
1. Bloques (Blocks.tsx, Blocks.png)
- Cada tile representa un bloque de 8x8 píxeles.
- Clase del tileset: MPAGD.Block.
- Cada tile debe tener la propiedad Type con uno de los valores reconocidos por MPAGD: PLATFORMBLOCK, WALLBLOCK, LADDERBLOCK, FODDERBLOCK, DEADLYBLOCK, COLLECTABLE, etc.
2. Sprites (Sprites.tsx, Sprites.png)
- Cada tile representa un frame de animación.
- Clase del tileset: MPAGD.Sprite.
- Clase de tile: MPAGD.Image.
- El último frame de cada secuencia debe tener la propiedad Item of FRAMES = Last Frame.
3. Objetos (Objects.tsx, Objects.png)
- Cada tile representa un objeto del juego.
- Clase del tileset: MPAGD.Inventary.
- Objetos colocados en pantallas deben tener clase MPAGD.Object.
- Si el objeto no tiene posición, debe tener en el tileset la propiedad StartRoom = Hidden o StartRoom = Carrying.
4. Pantallas (SCREENnnn.tmx)
- Cada archivo representa una pantalla del juego.
- Clase opcional: MPAGD.Screen.
- Capas requeridas:
- DEFINETILES: capa de fondo.
- SPRITEPOSITION: clase MPAGD.Position. Cada objeto debe tener la propiedad Type (Player, Enemy, etc.).
- DEFINEOBJECT: objetos colocados, clase MPAGD.Object.
- Propiedades del mapa:
- Nombre = ScreenNNN.
- StartRoom = true si es la pantalla inicial.
5. Fuente (Font.tsx, Font.png)
- Cada tile es un carácter de 8x8 píxeles.
- Clase del tileset: MPAGD.Font.
6. Paleta de colores (paleta_rgb_por_atributo.json)
- Archivo JSON con correspondencias entre atributos y colores RGB.
- Se usa para interpretar correctamente los colores de los tiles.
7. Entorno (ENVIROMENT.tmx)
- Define la configuración global del juego.
- Capas:
- DEFINEWINDOW: debe contener un objeto WINDOW con clase MPAGD.Window.
- DEFINECONTROLS: propiedades como UP, LEFT, FIRE 1, clase MPAGD.Controls.
- STARTSCREEN: propiedad Nombre, clase MPAGD.StartScreen.
8. Eventos y mensajes
- Archivos generados: *.event para cada bloque de eventos, y messages.agd para los mensajes.
- No se editan en Tiled directamente.
9. Mapa del mundo (MAP.world)
- Define la disposición espacial de las pantallas.
- No editable desde Tiled. Se genera o interpreta automáticamente.
Edición de recursos en Tiled para exportar a AGD
Para construir un archivo AGD desde Tiled, deben cumplirse los siguientes requisitos:
- Bloques:
- Tileset con clase MPAGD.Block.
- Todos los tiles con propiedad Type.
- Colores válidos según paleta_rgb_por_atributo.json.
- Pantallas (SCREENnnn.tmx):
- Capa DEFINETILES obligatoria.
- Capa SPRITEPOSITION: objetos con clase MPAGD.Position, propiedad Type.
- Objetos:
- Capa DEFINEOBJECT.
- Cada objeto enlazado a un tile del tileset Objects.tsx.
- Si no tiene posición: StartRoom = Hidden o Carrying.
- Fuente:
- Tiles de 8x8.
- Clase del tileset: MPAGD.Font.
- Controles y ventana:
- Objeto WINDOW en grupo DEFINEWINDOW, clase MPAGD.Window.
- Grupo DEFINECONTROLS, propiedades con clase MPAGD.Controls.
- Paleta:
- Utilizar solo colores definidos en el archivo JSON.
- Genera muestras para PhotoShop y GIMP.
- Mapa del mundo:
- Generado a partir del posicionamiento de pantallas.
Comandos de automatización incluidos en MEIGA
NuevoAGD.bat
Inicializa un nuevo proyecto AGD desde una Plantilla Genérica. Define todos los recursos visuales para editar en Tiled.
ExtractAGD.bat
Extrae todos los recursos de un proyecto AGD. Crea un proyecto Tiled completo: .tsx, .tmx, .png, .json, .event, .agd.
Install.bat
También debes instalar Pillow y numpy modules for Python. Para eso y para crear un acceso directo se incluye Install.bat que hace eso por ti. Este comando está oculto en el directorio AGDTiledMod
Comandos del menú de MEIGA en Tiled
MEIGA añade tres opciones al menú de Tiled que ayudan a preparar y organizar el proyecto de forma sencilla y rápida.
Compila AGD
Desde el menú Archivo
, esta opción genera el archivo final del juego. Se utiliza cuando el proyecto está listo para compilarse y probarse.
Reordena Bloques
Disponible en el menú Tileset
, organiza automáticamente los bloques del tileset activo. Solo aparece cuando estás trabajando sobre un conjunto de bloques.
Armoniza Colores
También en el menú Tileset
, actualiza la paleta de colores a partir del archivo de paleta abierto. Solo se muestra si tienes cargado el tileset correspondiente a la paleta.
Las opciones se activan según el tipo de archivo que estés editando y permiten mantener el proyecto listo para compilar sin desviarte del entorno de trabajo.
Gestión automática de la ventana de juego (DEFINEWINDOW
)
MEIGA asegura que todas las pantallas estén sincronizadas con la ventana de juego definida visualmente, sin pasos adicionales. Solo necesitas asegurarte de editar el objeto WINDOW
dentro del mapa ENVIROMENT.tmx
.
Es recomendable definir la ventana de juego al inicio del proyecto, antes de diseñar las pantallas. Así se evita tener que rehacer o ajustar mapas más adelante si cambian las dimensiones, lo que puede implicar pérdida de contenido o trabajo extra.
Gestión automática de la propiedad StartRoom
MEIGA se encarga de mantener actualizada la pantalla de inicio del juego, sin que tengas que hacerlo manualmente.
Este control evita errores al compilar el juego y garantiza que siempre haya una única pantalla marcada como inicio. Solo tienes que activar o desactivar la propiedad StartRoom en la pantalla que corresponda y guardar: MEIGA se encarga del resto.
Cómo definir los controles del juego
Para configurar los controles AGD en MEIGA, abre el archivo ENVIROMENT.tmx
en Tiled y localiza el grupo llamado DEFINECONTROLS
. Ahí verás una lista de acciones del juego: movimiento, disparos y opciones. Solo tienes que escribir qué tecla quieres usar en cada una.
Con eso, los controles quedarán definidos para el proyecto.
Notas importantes
Para que MEIGA pueda reconstruir correctamente el archivo AGD:
- Todos los recursos deben tener su clase correcta asignada (MPAGD.Block, MPAGD.Sprite, MPAGD.Object, etc.).
- Todos los tiles, objetos y capas deben tener las propiedades obligatorias (Type, StartRoom, etc.).
- Todos los colores deben ser válidos según la paleta definida.
Cualquier error de clases o propiedades hará que la reconstrucción AGD falle.
Flujo de trabajo con MEIGA
Convertir un proyecto AGD a Tiled:
- Ejecuta EstractAGD.bat para extraer todos los recursos de un proyecto AGD. Debe estar dentro de una carpeta fuera del directorio de instalación de MPAGD.
- Edita gráficamente en Tiled respetando clases y propiedades.
- Guarda los cambios.
- Ejecuta GeneraAGD.bat para generar el nuevo GAME.agd.
Crear un proyecto nuevo:
Ejecuta NuevoAGD.bat para generar una plantilla editable.
Instalación
Descomprime MEIGA.rar y copia su contenido en el directorio raiz de tu instalación MPAGD. Algunos antivirus no admiten operaciones peligrosas como borrado de archivos por lotes y cosas así, lee atentamente los mensajes de tu antivirus por seguridad; pero no hay nada peligroso en usar MEIGA, además puedes consultar todo su código para tu tranquilidad.
Para crear un acceso directo se incluye Install.bat dentro de AGDTiledMod que hace eso por ti además de instalar los módulos de phyton necesarios.
Licencia de uso
Respeta mi autoría. No lo redistribuyas.
Sobre mi
Ramón Fernández Ameijeiras autor del libro PAC-MAN ZX SPECTRUM, disponible en Amazon:
Creador del proyecto MEIGA. Participo activamente en la comunidad de MPAGD, incluido el foro oficial. Mantengo una página con recursos descargables y documentación adicional en:
- Itch.io: ramon-fernandez.itch.io
El sitio incluye un proyecto de ejemplo completamente configurado que puede usarse como referencia para aplicar correctamente todas las clases y propiedades descritas en este documento.
Recursos relacionados:
- Canal de YouTube: Ramón Fernández - Desarrollo retro
- GitHub: github.com/rahamon
- En el foro oficial MPAGD: MPAGD FORUM
Recursos
Créditos y dependencias
MEIGA depende del entorno MPAGD (Multi Platform Arcade Game Designer), desarrollado por Jonathan Cauldwell. Sin MPAGD, Tiled ni Python, no es posible ejecutar el proceso final.
Requisitos:
- Python 3 (intérprete para los scripts)
- Módulos externos que debes instalar:
-
Pillow
(para manejar imágenes PNG en muchos scripts) -
numpy
(para cálculos con matrices de píxeles y colores)
-
- Tiled (edición visual)
- MPAGD (formato fuente del proyecto AGD)
Estos elementos permiten manipular datos del juego de forma estructurada y visual para ZX Spectrum o Amstrad CPC.
Updated | 16 days ago |
Status | Released |
Category | Tool |
Platforms | Windows |
Rating | Rated 5.0 out of 5 stars (5 total ratings) |
Author | Ramon Fernandez |
Tags | Amstrad CPC, Arcade, Game Design, Retro, ZX Spectrum |
Download
Click download now to get access to the following files: