¿Qué herramientas usáis para el desarrollo de software? ¿Cuáles habéis programado vosotros mismos y cómo es vuestra canalización de compilación (build pipeline)?
Empiezo yo mismo:
Emuladores de CPC 6128:
caprice32
Retro Virtual Machine
Ensamblador: rasm
Compilación: Makefile / make / shell (<-- principalmente) / python.
Editor de código: vs code
Editor de sprites: SpriteBuilder.html.zip (20,6 KB) Desarrollo propio. Solo es un archivo HTML que implementa todas las funciones importantes mediante JavaScript.
El editor de sprites está inspirado en muchos editores existentes, pero adaptado específicamente al CPC y a los lenguajes de programación que utilizo (C y ensamblador).
Mis proyectos usan todos CPCtelera (tengo que probar CPCtelera next pronto).
Escribo casi exclusivamente en C, pero tengo la aspiración de programar algo en Z80 ASM, aunque todavía no lo he implementado en ningún proyecto.
La música y el sonido los hago con Arkos 2.
Como emuladores utilizo WinAPE y CPCEC.
El código lo escribo principalmente en Visual Studio con Wincpctelera, aunque a veces uso VSCode.
Los gráficos los diseño con RGAS 1.2.5.
Los niveles los creo en un editor de mapas personalizado que exporta el mapa a archivos fuente en C que puedo incluir en el proyecto del juego. También lee los archivos de RGAS directamente, lo cual es muy cómodo.
Para gestionar el código fuente, el seguimiento de tareas y los pipelines de compilación uso Azure DevOps Server (creo que algún día podría pasarme a Forgejo, pero requiere mucho esfuerzo).
solo quería comentar que estoy intentando ponérselo un poco más fácil a quienes usan CPCtelera_next y SDCC/z88dk en Windows con mi emulador CPCSyntaxError… puedes programar en BASIC, ASM (con RASM integrado) y código C, compilarlo/construirlo y enviarlo directamente a la memoria, y luego ejecutarlo, todo en un solo clic y con depuración completa.
Esto se lo pone mucho más fácil a los usuarios de Windows, que ya no tendrán que instalar Cygwin ni otras dependencias… ni ejecutar líneas de comandos, etc., etc. En Linux y macOS, deberán instalar cpctelera y SDCC/z88dk en el sistema como lo harían habitualmente.
En Windows, no necesitas instalar CPCtelera de la forma habitual; basta con descomprimir el archivo zip e indicarle la ruta al emulador. Instala SDCC y z88dk como de costumbre en el sistema, y luego indica su ubicación en CPCSyntaxError.
NTC BASIC ahora puede dirigirse a lo siguiente prácticamente con el mismo código fuente, y puedes incluir compilación condicional con ensamblador en línea (inline assembly). Crear juegos con calidad comercial nunca ha sido tan fácil.
Me interesaban herramientas que fueran agnósticas al sistema operativo (OS-agnostic) y que pudieran funcionar en cualquier sistema sin demasiadas complicaciones. Al final, escribí mis propias herramientas en Python para ese propósito, aunque ya utilizo emuladores existentes. Actualmente, mi cadena de herramientas (toolchain) es:
Emuladores de CPC 6128/6128+:
Retro Virtual Machine (versión 2.0 para depuración en el 6128)
WinAPE
Ensamblador:
ABASM
Compilador de BASIC:
ABASC (incluye enlaces para CPCTelera y CPCRSLib)
Empaquetado:
DSK.py (herramienta propia)
CDT.py (herramienta propia)
Compilación (Build):
Scripts de Batch/Bash
Editor de código:
VS Code
Editor de sprites:
Tixel para la edición (otra herramienta en Python)
IMG.py para la conversión de imágenes
Sin embargo, no estoy del todo satisfecho con las herramientas de imagen que uso/desarrollo, así que le daré una oportunidad a tu herramienta HTML. Además, no tengo ninguna herramienta para la creación/edición de música. No estoy seguro de qué sería lo mejor para alguien totalmente novato en este campo.
Soy bastante nuevo en el desarrollo moderno para CPC, pero en los últimos años he hecho bastante desarrollo para Vic 20.
Mi herramienta principal/IDE para programar es Turbo Rascal.
Para los gráficos, utilizo mis propias herramientas (creadas con la ayuda de IA) llamadas Imagery y 8bit pixel lab. Esta última tiene conectividad con Turbo Rascal, por lo que puedes exportar gráficos como parte del proceso de compilación.
Uso Caprice, en el que trabajamos con Colin para conseguir inyección de memoria y así poder compilar y ejecutar rápidamente desde Turbo Rascal. También uso ahora el emulador CPC Syntax Error, que tiene un buen depurador y también cuenta con la función de inyección.