Little Sisyphus: Una odisea de plataformas NES en un mes

2025-02-19

Little Sisyphus, un juego de plataformas basado en física para NES, se desarrolló en solo un mes para el NESDev Compo 2023. El juego gira en torno a rodar una bola cuesta arriba, ofreciendo una jugabilidad desafiante con un estilo artístico único inspirado en la cerámica griega antigua. El desarrollador detalla el proceso de creación, desde el concepto hasta la finalización, destacando el uso de NESFab, física basada en impulsos y basada en posiciones, efectos de agua y composición musical. Las limitaciones del hardware de NES llevaron a concesiones, pero el producto final es un testimonio pulido de desarrollo eficiente y resolución creativa de problemas, incluso incorporando activos de arte generados por IA.

Leer más

Generador de código 6502 supera a GCC y LLVM

2025-02-16

Un desarrollador creó un generador de código para la arquitectura 6502 que, sorprendentemente, supera a GCC, LLVM y otros compiladores. La ventaja de velocidad no proviene de optimizaciones de alto nivel superiores, sino de técnicas innovadoras de generación de código. El compilador utiliza instrucciones "ilegales", selección de instrucciones con alto costo computacional y optimizaciones que intercambian espacio por tiempo. El algoritmo principal combina la selección de instrucciones con la asignación de registros, utilizando de forma inteligente el estilo de paso de continuación. Trabaja con una representación intermedia DAG y SSA, generando múltiples combinaciones de código ensamblador, podando con programación dinámica y branch-and-bound, y finalmente resolviendo un problema PBQP para una selección óptima. Aunque emplea algunos "trucos", el compilador muestra resultados de benchmark notables, ofreciendo nuevas perspectivas sobre la generación de código.

Leer más
Desarrollo

NESFab: Un lenguaje de programación de alto rendimiento para juegos NES

2025-02-13

NESFab es un nuevo lenguaje de programación diseñado para crear juegos NES. Optimizado para las limitaciones de 8 bits, es más ergonómico que C a la vez que produce código ensamblador más rápido. Cuenta con bibliotecas fáciles de usar, lo que facilita su aprendizaje, tanto si es tu primer juego NES como si es el centésimo. Incluye funciones como conmutación automática de bancos, carga optimizada de recursos e integración con el editor de mapas MapFab para acelerar el desarrollo. Aunque actualmente está en versión beta, NESFab supera a compiladores como GCC y LLVM en las pruebas de rendimiento, convirtiéndose posiblemente en el compilador 6502 de mayor rendimiento disponible.

Leer más
Desarrollo