dmars: un simulador de Core War escrito en Rust, compatible con pMARS

Fuentes: dmars: a Rust-based Redcode assembler and Core War simulator

dmars es una reimplementación en Rust de pMARS, la cadena de herramientas canónica para Core War, el juego de programación creado en 1984 en el que programas auto-modificables, escritos en un lenguaje pseudo-ensamblador llamado Redcode, compiten por el control de una memoria circular conocida como el core. Gana el último programa (o «warrior») que mantenga un proceso en ejecución.

El proyecto consiste en un ensamblador y un simulador de batallas. El ensamblador procesa el preprocesador completo del estándar ICWS'94 y genera archivos de carga byte-compatibles con la salida de «pmars -A». El simulador ejecuta combates entre warriors ensamblados y, mediante una opción de línea de comandos, aplica las restricciones del estándar ICWS'88.

El mismo código se compila a WebAssembly, lo que permite ejecutar batallas directamente en el navegador e incluye un playground donde el usuario puede escribir y enfrentar sus propios warriors. En una batalla individual, dmars alcanza un rendimiento comparable al de pMARS; al ejecutar muchas batallas en paralelo, es significativamente más rápido.

La instalación se realiza mediante un instalador de shell para macOS y Linux, a través de cargo install desde el repositorio de GitHub, o descargando binarios precompilados. dmars se distribuye bajo la licencia GPL-2.0-or-later.