Little Sisyphus: Ein NES-Plattformer-Abenteuer in einem Monat

2025-02-19

Little Sisyphus, ein physikbasiertes Plattformspiel für das NES, wurde in nur einem Monat für den NESDev Compo 2023 entwickelt. Das Spiel dreht sich darum, einen Ball einen Berg hinaufzurollen und bietet herausforderndes Gameplay mit einem einzigartigen Kunststil, der von antiker griechischer Keramik inspiriert ist. Der Entwickler beschreibt den Entstehungsprozess von der Konzeption bis zur Fertigstellung und hebt die Verwendung von NESFab, impulsbasierter und positionsbasierter Physik, Wassereffekte und Musikkomposition hervor. Die Einschränkungen der NES-Hardware führten zu Kompromissen, aber das Endergebnis ist ein beeindruckendes Beispiel für effiziente Entwicklung und kreative Problemlösung, einschließlich KI-generierter Kunst.

Mehr lesen

6502-Codegenerator übertrifft GCC und LLVM

2025-02-16

Ein Entwickler hat einen 6502-Codegenerator gebaut, der überraschenderweise GCC, LLVM und andere Compiler übertrifft. Der Geschwindigkeitsvorteil liegt nicht an überlegenen Optimierungen auf hoher Ebene, sondern an innovativen Codegenerierungstechniken. Der Compiler nutzt „illegale“ Instruktionen, rechenintensive Instruktionsauswahl und Optimierungen, die Speicherplatz gegen Geschwindigkeit eintauschen. Der Kernalgorithmus kombiniert Instruktionsauswahl mit Registerallokation und verwendet geschickt Continuation-Passing Style. Er arbeitet mit einer DAG- und SSA-Form der Zwischenrepräsentation, erzeugt mehrere Assemblercodekombinationen, reduziert diese mit dynamischer Programmierung und Branch-and-Bound und löst schließlich ein PBQP-Problem zur optimalen Auswahl. Obwohl einige „Tricks“ verwendet werden, zeigt der Compiler bemerkenswerte Benchmark-Ergebnisse und bietet neue Perspektiven auf die Codegenerierung.

Mehr lesen
Entwicklung

NESFab: Eine Hochleistungs-Programmiersprache für NES-Spiele

2025-02-13

NESFab ist eine neue Programmiersprache zum Erstellen von NES-Spielen. Optimiert für die 8-Bit-Beschränkungen, ist sie ergonomischer als C und erzeugt gleichzeitig schnelleren Assembler-Code. Sie bietet benutzerfreundliche Bibliotheken, die den Einstieg erleichtern, egal ob es Ihr erstes oder hundertstes NES-Spiel ist. Zu den Funktionen gehören automatisches Bankswitching, vereinfachtes Laden von Assets und die Integration mit dem MapFab-Level-Editor für schnellere Entwicklung. Obwohl sich NESFab derzeit in der Beta-Phase befindet, übertrifft es Compiler wie GCC und LLVM in Benchmarks und ist möglicherweise der leistungsstärkste 6502-Compiler.

Mehr lesen
Entwicklung