Minilop Retroware

Para juegos de ZX Spectrum hechos con MPAGD · Próximamente

Crea el juego de ZX Spectrum que siempre imaginaste.

MPAGD pone tu juego en marcha. El Minilop Power Desk lo lleva el resto del camino: mundos más grandes, sprites del tamaño de un jefe final, música y efectos de sonido, y una cinta que carga como debe. Una herramienta para Windows, próximamente.

  • Mete más en tu juego. Pasa las pantallas a los bancos de 128K y libera miles de bytes.
  • Crea jefes finales. Sprites grandes hechos de varias piezas que se mueven como una sola.
  • Cuenta una historia más larga. Une varias fases en una sola cinta.
  • Escribe con confianza. Un editor de scripts que revisa tu código mientras escribes.

Ver qué hace

Una herramienta independiente. No está hecha ni respaldada por el autor de MPAGD.

Adónde va la memoria, tras usar bancos

Distribución ilustrativa, no una compilación medida. En Cocoa 3, mover las pantallas a bancos liberó unos 5.200 bytes de memoria principal.

¿Qué puedes hacer con Power Desk?

Crea juegos más grandes

Bancos de memoria de 128K, una vista clara de adónde va cada byte y varias fases en una sola cinta.

Dale espacio a tu mundo para crecer. Tus pantallas pasan a los bancos libres de 128K y se paginan a medida que el jugador camina, así que caben nivel tras nivel.
Haz un juego por capítulos. Compila cada fase como su propio juego de MPAGD y únelas en una sola cinta, llevando vidas, puntuación, llaves y las variables que elijas de una fase a otra.
Conserva solo el motor que tu juego realmente usa. Enlaza tu carpeta del motor de MPAGD, aplica la copia reducida con una copia de seguridad y vuelve a cualquier versión anterior.
Mira exactamente adónde va cada byte. Un mapa en colores de la memoria principal y una ficha para cada banco de 128K, para que sepas qué puedes permitirte antes de la siguiente gran idea.
Un medidor en vivo en cada página. Comprueba cuánto espacio queda en la memoria principal y en cada banco sin dejar lo que estás haciendo.
Encuentra las pantallas que ralentizan tu juego. El Desk ejecuta tu compilación en un emulador, mide el tiempo de cada pantalla, las ordena, señala los mayores costes y compara con una referencia guardada.
Compilaciones de 48K
No todos los juegos necesitan 128K. Genera una cinta para un juego de 48K, con tu cargador y tu pantalla de carga, lista para la máquina clásica.

Crea mejores sprites

Sprites con máscara, jefes enormes y cajas de colisión ajustadas.

Sprites que encajan en la escena, no en un cuadrado de color de fondo. Cada fotograma puede tener una máscara, guardada en los bancos libres.
Ajustes de sprites con máscara
Ajusta el aspecto de tus máscaras: un halo de 0 a 3 píxeles, un límite de máscara, cierre de huecos pequeños y también enmascarado para los objetos.
Crea un jefe para el recuerdo. Un sprite líder y hasta tres piezas, como 2 por 2 sprites de 16 por 16, se mueven y se dibujan juntos sin cortes, con colisión opcional de toda la forma para paredes y golpes.
Deja de morir por un sprite que nunca te tocó. Dibuja una caja de colisión más ajustada para cualquier imagen de sprite, incluso una distinta para cada fotograma de animación.
Haz parpadear a un enemigo cuando le golpean. Un sprite alterna entre dos colores mientras una de sus variables tenga un valor que elijas, con hasta cuatro reglas.
Buscador de datos de sprites
Da a cada sprite sus propios ajustes en cada pantalla, como la longitud de una cuerda o el recorrido de una plataforma, y deja que los lea él mismo sin contar a través de las pantallas anteriores.
Colores del jugador
Haz parpadear al jugador cuando le hagan daño y brillar con colores del arco iris mientras es invulnerable, restaurando el fondo a medida que se mueve.

10 sobre 10 en gráficos

Scroll, efectos y rutinas listas que activas con una marca, cada una con su número USER.

Añade funciones sin programar. Marca lo que quieras de una biblioteca de rutinas ya hechas, agrupadas por categoría. El Desk escribe tu user.asm, muestra un mapa de números USER y avisa de los números que nada gestiona.
Scroll vertical Lab
Vuela hacia arriba por tu mapa. La ventana de juego se desplaza hacia abajo, con suavidad y sin cortes, con sprites con máscara. Se mueve en pasos pequeños, con un color por ventana.
Scroll horizontal Lab
Desplázate hacia los lados, solo a la derecha, solo a la izquierda o en ambos sentidos, con suavidad y sin cortes, con sprites con máscara. Se mueve en pasos pequeños, con un color por ventana.
Scroll en cuatro direcciones Lab
Desplaza una cuadrícula de pantallas hacia arriba, abajo, izquierda y derecha. Muévete en pasos de 8 píxeles (una celda entera, a todo color), o de 4 o 2 píxeles para un movimiento más suave. Cada bloque conserva su propio color. Solo 128K.
Deja que tus héroes pasen por detrás del escenario, como árboles, columnas y puertas, incluso con sprites con máscara.
Bloques animados
Dale vida al escenario. Los bloques elegidos recorren cíclicamente los siguientes uno a tres bloques allí donde se dibujen, para cintas transportadoras, antorchas y agua, con una velocidad y una dirección que pueden seguir a una variable.
Oscuridad con arcos de antorcha Lab
Apaga las luces. Ilumina un círculo alrededor del jugador, o un semicírculo que sigue hacia donde mira.
Transiciones de pantalla
Cambia de escena con estilo. Transiciones de persianas, triángulo, cuadrado, círculo y rectángulo en el color que elijas, opcionalmente después de las imágenes de escenas intermedias.
Objetos parpadeantes y arcoíris
Haz que los objetos sean imposibles de pasar por alto. Los objetos parpadean entre blanco y su propio color, o recorren una lista de colores.
Texto desplazable
Haz subir tu historia por la pantalla. Una serie de mensajes se desplaza hacia arriba por una ventana, línea de píxeles a línea de píxeles, al estilo del texto inicial de una película.
Sangre que se seca
Deja huella en el mundo. Charcos de tinta de colores sobre bloques vacíos se secan hasta recuperar el color del bloque, de los bordes hacia dentro.
Nueve rutinas de Jonathan Cauldwell
Nueve rutinas clásicas listas para marcar: animated fodder, fade, merge room, reset objects and variables, lives counter effect, rotational movement, 64-column text y ColdSnap Audio.

Añade música y efectos de sonido

Música y efectos AY, con herramientas para crear ambos.

Dale una banda sonora a tu juego. Añade canciones de Vortex Tracker II o ProTracker 3, que se reproducen desde la interrupción de fotograma y se controlan desde tu script con una variable.
Escribe tú mismo la melodía. Compón y edita canciones PT3 dentro del Desk, con una línea de tiempo de la canción de arrastrar y soltar. Más sencillo que Vortex Tracker II.
Sigue usando SOUND n, ahora con efectos AY reales. Añade bancos de AY Sound FX Editor y elige qué canales del chip pueden tomar prestados los efectos.
Diseña tus propios láseres y explosiones. Dibuja un efecto fotograma a fotograma, parte de preajustes, escúchalo y añádelo a tu juego con un clic.
Importación MIDI y exportación WAV
Empieza desde un archivo MIDI. Conviértelo en un primer arreglo en el tracker y exporta un WAV para escucharlo o compartirlo.
Empaquetado de canciones
Mete más canciones en el banco con compresión ZX7 opcional. Viene desactivada por defecto.

Crea pantallas preciosas

Las reglas de color del Spectrum se aplican por ti.

Crea un cargador que sea tuyo. Edita el cargador BASIC, elige tu propia pantalla de carga y el nombre del archivo de cinta, y añade un mensaje y una espera de tecla.
Cuenta la historia con imágenes a pantalla completa desde archivos .scr, PNG, JPG o GIF. Cada una puede esperar una tecla o controlar su propio tiempo.
Dibuja una pantalla de carga que siga las reglas del Spectrum. Un editor de 256 por 192 píxeles que respeta por ti los límites de color.
Suelta una imagen y muévela. Las imágenes PNG, JPG o GIF entran como capas móviles ajustadas a los colores del Spectrum.
Pon texto en tus pantallas con cualquier fuente del Spectrum. Una herramienta de texto con selector de fuentes, archivos de fuente .ch8 y un editor de fuentes integrado.

Escribe mejor código MPAGD

Un editor para events.a00 a a20 y events.msg que conoce MPAGD.

Un editor de código que conoce MPAGD. Edita events.a00 a a20 y events.msg con colores de sintaxis, plegado, deshacer por archivo y un guardado cuidadoso que solo escribe lo que cambió.
Vistas previas al pasar el ratón
Pasa el ratón para ver. Apunta a una imagen, bloque, pantalla, objeto, color o número USER para ver a qué se refiere.
Renumerar imágenes de sprites
Borra o inserta una imagen de sprite y se actualizan todos los números IMAGE de tus scripts, con vista previa y deshacer.
Insertar rutina de usuario
Elige una de tus rutinas de usuario de una lista y se añade por ti su línea USER.
Diálogo de guardado cuidadoso
Guarda con confianza. Se muestra cada paso (comprobar, buscar cambios externos, copia de seguridad, escribir, historial) y se lista lo que se guardó.
Barra de búsqueda y reemplazo en todo
Encuentra cualquier cosa rápido. Se resalta cada coincidencia y puedes recorrerlas, o buscar y reemplazar en todos los scripts, solo en el código o solo en los comentarios.
Sugerencias de comandos y ayuda
No olvides nunca un comando. Una lista emergente de comandos de MPAGD muestra cómo se escribe cada uno y sigue el contexto.
Mira dónde se usa todo. Cada lugar donde aparece una variable, un número USER, un mensaje o un comando, con recuentos.
Revisión del juego
Una revisión de salud para todo el juego. Comprobaciones en todos los scripts y en el archivo del juego, por ejemplo de variables que nunca se asignan o pantallas a las que el jugador no puede llegar.
Pon nombres fáciles de recordar a las variables y a los tipos de sprite, que se ven en el editor y en los informes sin cambiar tus scripts. Copia etiquetas desde otro proyecto abierto.
Scripts de prueba y biblioteca de scripts
Prueba ideas sin riesgo. Los scripts de borrador nunca forman parte del juego, y la Library compartida guarda tus fragmentos.
Comparar scripts
Muestra el mismo script de dos proyectos lado a lado, con botones para copiar líneas de uno a otro.
Verificador de scripts
Detecta los errores antes que el compilador. Los errores y avisos aparecen mientras escribes, siguiendo las reglas del compilador. Coincidió con el compilador real en 22 archivos de eventos, 99 fallos hechos a mano y 1,350 copias dañadas al azar. El compilador sigue teniendo la última palabra.
Pestaña de mensajes
Mueve, inserta o borra mensajes y se renumera cada referencia, con vista previa antes.

Conoce tu juego

Análisis de solo lectura, más unas pocas herramientas cuidadosas que reescriben el proyecto.

Tu juego de un vistazo. Una primera página con la imagen de tu juego y sus cifras: pantallas, sprites, bloques y más. Cada ficha abre la pestaña correspondiente.
Mira todo tu mundo. Cada pantalla se dibuja con tus bloques y se coloca como en tu mapa de MPAGD, con sprites, objetos y bordes, y exportación a PNG.
Sabe dónde está cada cosa. Mira dónde está colocado o aparece cada sprite y objeto, y cuáles parecen sin usar.
Descubre qué bloques merecen su sitio. Cuántas veces se usa cada bloque, con un filtro para los bloques usados menos de un número de veces.
Combina lo mejor de dos juegos. Genera un .agd nuevo a partir de partes de dos archivos de juego, por ejemplo para llevar pantallas de una fase a otra, con comprobaciones.
Documentación con un clic. Un README y hojas de imágenes de cada bloque y de cada fotograma de sprite.

Trabajar con tu proyecto

La aplicación de escritorio para Windows y las ayudas que la rodean.

De la compilación a la cinta con un clic. Genera un .tap con un cargador BASIC editable, listo para cargar. Avisa con claridad cuando el archivo principal no es un juego compilado.
Ayuda justo donde estás. Un botón ? en cada página (o F1) abre la guía de usuario en la parte correspondiente a la página en la que te encuentras, en inglés, español y portugués.
Idiomas
Inglés, español y portugués europeo en cada página, en los mensajes del verificador de scripts y en el panel de ayuda.
Pestañas de proyecto
Mantén abiertos a la vez varios juegos, o varias fases de un mismo juego.
Configuración guiada del proyecto
Empieza un proyecto en un minuto. Una ventana emergente pide el nombre, 128K o 48K, y tu carpeta de MPAGD una sola vez. El Desk encuentra solo el motor, la carpeta de compilación y build.bat.
Copias de seguridad y carpeta de proyectos del Desk
Experimenta sin miedo. Se hacen copias con fecha de los archivos de tu proyecto antes de cambios arriesgados, con restauración y zip. Save project guarda versiones anteriores en una carpeta backups.
No pierdas nunca una buena idea. Una lista de ideas, errores y tareas en cada proyecto, guardada en el archivo del proyecto.
Probar el juego
Pruébalo antes de lanzarlo. Tu cinta se carga en un emulador dentro de la página, como una máquina de 48K o 128K.
Configuración de la carpeta del juego
Un hogar ordenado para cada juego. Crea una estructura de carpetas (DevEnvironment, Code and UserRoutines, Art, Music, Tapes) donde elijas, con el consejo de usar un MPAGD por juego.
Tu página de proyecto
Enlaza una sola vez los archivos y carpetas que escribe MPAGD, y el Desk vuelve a leer las copias más recientes cada vez que compilas.
Biblioteca
Una carpeta compartida de canciones, efectos, pantallas y scripts para todos tus proyectos, con autores en los que puedes buscar.
Usa tu propio emulador
¿Prefieres el tuyo? Elige tu emulador de Spectrum en Preferences y abre la cinta generada en él con un clic.
Guardar y abrir proyecto
Un único archivo de proyecto contiene tus archivos, canciones, efectos, imágenes y todos los ajustes.
Haz una visita
Un breve recorrido guiado por las secciones principales para usuarios nuevos, en inglés, español y portugués.
Lista de novedades
Notas en lenguaje sencillo de cada versión, en el menú de usuario.
Aspectos (temas)
Hazlo tuyo. Esquemas de color Classic, ZX Spectrum homage, Midnight o Focus. Solo cosmético.
Aplicación de escritorio para Windows
El Desk en su propia ventana, con acceso directo a las carpetas que elijas, sin avisos de permisos y con un número de versión junto al logotipo.

Adónde van los bytes: Cocoa 3 como ejemplo

Cocoa 3 llenó la memoria de MPAGD, y de ahí nació el Power Desk. Aquí es donde puede devolver espacio, y lo que hizo por Cocoa 3 donde lo hemos medido.

Parte del juegoNormalmenteCon el Power DeskEn Cocoa 3
Pantallas de nivelLos datos comprimidos de las pantallas están en la memoria principal.Pasan a los bancos libres de 128K y se paginan a medida que el jugador camina.Se movieron 5,744 bytes de datos de pantalla, liberando unos 5,200 bytes de memoria principal.
Máscaras de spritesCada fotograma con máscara ocupa 384 bytes de memoria principal.Se guardan en un banco libre, 42 fotogramas por banco, copiando solo lo que necesita cada sprite en movimiento.No queda ningún dato de máscara en la memoria principal. Entre un 7 y un 9 por ciento más de tiempo en las pruebas.
Música y efectos de sonidoLas canciones y los efectos compiten con el juego por la memoria.Las canciones y los efectos viven en un banco libre. Solo el reproductor permanece en la memoria principal.El reproductor PT3 ocupa de 260 a 300 bytes de memoria principal aproximadamente.
Código del motorSe incluye todo el motor de MPAGD, se use o no.El Engine Trimmer elimina las rutinas que tu juego nunca llama, de tu propia copia del motor.Estimado a partir del archivo de tu juego, exacto a partir del .asm compilado.
Rutinas de usuarioCada rutina que añades ocupa espacio.Solo las rutinas que marcas se escriben en user.asm, cada una con su coste a la vista.Depende de las rutinas elegidas.
El juego completoUn solo programa tiene que contener todos los niveles.Divide un juego grande en fases, cada una su propio juego de MPAGD, unidas en una sola cinta.Cada fase tiene una memoria completa para ella sola.

Creado porque un juego lo necesitaba

MPAGD te permite tener un juego funcionando rápidamente. A medida que el juego crece, las tareas que lo rodean se llevan el tiempo: quedarte sin memoria, encontrar lo que no se usa, mantener los scripts ordenados, añadir música y generar una cinta que cargue bien. El Power Desk nació con Cocoa 3 y creció con lo que ese juego fue encontrando.

Compilas en MPAGD como siempre. El Desk lee el resultado y la carpeta donde vive tu proyecto. No sustituye a MPAGD, y solo escribe en la carpeta de tu proyecto cuando se lo pides, haciendo antes una copia de seguridad con fecha.

Cómo encaja con MPAGD

  1. PrepararArrastra y suelta las funciones que necesites y crea tu archivo de rutinas de usuario sin programar. Más de 30 rutinas para jugar.
  2. Compilar en MPAGDPower Desk funciona de la mano con MPAGD y mejora tu juego de MPAGD.
  3. Añadir los extrasMúsica, efectos de sonido, imágenes de escenas intermedias y una pantalla de carga, listos para ejecutarse.
  4. Generar la cintaEl Desk genera el .tap con un cargador que puedes editar. Incluso crea juegos de varias fases combinando varios archivos .tap para alargar tu partida.
  5. Probar y descargarEjecútalo en el emulador integrado y descarga el .tap. Producción profesional en un momento.

Míralo en marcha

Vídeos de demostración de la beta del Power Desk. Cada uno se carga desde YouTube solo cuando pulsas reproducir.

Crear un juego de varias fases

Varios juegos de MPAGD unidos en una sola cinta, con valores que pasan de una fase a otra.

Scroll en cuatro direcciones, prueba de concepto

Un primer vistazo al scroll en cuatro direcciones.

Matamarcianos de scroll horizontal

Un shooter de scroll lateral hecho en MPAGD con el Power Desk.

Demo de matamarcianos con scroll

Un recorrido más largo por un matamarcianos con scroll.

Sprites grandes y combates contra jefes

Sprites del tamaño de un jefe en MPAGD.

Bloques animados

Bloques que se animan en el juego.

Caminar por detrás de los bloques

El jugador caminando por detrás del decorado.

Mejorar Cocoa and the Time Machine

Una demostración completa de cómo mejorar un juego existente con el Power Desk.

Lista de reproducción completa en YouTube

Créditos

El Power Desk se apoya en el trabajo de otras personas. Sus avisos se conservan en el código fuente generado y en la aplicación.

MPAGD de Jonathan Cauldwell. El Desk lee su salida. Nueve rutinas proceden de su colección.

ZX7, formato y decodificador de Einar Saukas.

Reproductor PT3 de Sergey Bulba, adaptado por Stefan Bylund (MIT).

Formato AYFX de Shiru (AY Sound FX Editor).

JSSpeccy 3 de Matt Westcott (GPL-3.0), usado para Probar el juego.

CodeMirror 6 y Lezer de Marijn Haverbeke y colaboradores (MIT).

z80-emulator de Lawrence Kesteloot (MIT), usado en el AY Tracker.

Fuentes Press Start 2P, IBM Plex Mono, Manrope y Plus Jakarta Sans, bajo la SIL Open Font Licence 1.1.

sjasmplus se menciona pero no se incluye.