Little Sisyphus:1ヶ月で完成したNESプラットフォーマー

2025-02-19

2023年のNESDev Compoのために、わずか1ヶ月で物理演算ベースのNESプラットフォーマー「Little Sisyphus」が開発されました。ゲームはボールを山の上まで転がすというシンプルなものですが、古代ギリシャの陶器からインスピレーションを得た独特の芸術性と、挑戦的なゲームプレイを提供します。開発者は、NESFabの使用、インパルスベースと位置ベースの物理演算、水の表現、音楽制作など、開発工程の詳細を説明しています。NESハードウェアの制約により妥協点もありましたが、完成品は効率的な開発と創造的な問題解決の証であり、AI生成アートも活用されています。

続きを読む

6502コードジェネレータがGCCとLLVMを凌駕

2025-02-16

ある開発者が6502アーキテクチャ向けのコードジェネレータを構築したところ、驚くべきことにGCC、LLVM、その他のコンパイラを上回るパフォーマンスを示しました。この速度の優位性は、高度な最適化によるものではなく、革新的なコード生成技術によるものです。「不正」命令、計算コストの高い命令選択、時間と引き換えの空間最適化などを活用しています。中心となるアルゴリズムは、命令選択とレジスタ割り当てを組み合わせ、継続渡しスタイルを巧みに用いています。DAGとSSA形式の中間表現を用いて、複数のアセンブリコードの組み合わせを生成し、動的計画法と分枝限定法で枝刈りを行い、最終的にPBQP問題を解いて最適な組み合わせを選択します。いくつかの「裏技」を使っていますが、このコンパイラはベンチマークテストで優れた結果を示し、コード生成技術に新たな視点を与えています。

続きを読む
開発

NESFab:NESゲーム向け高性能プログラミング言語

2025-02-13

NESFabは、NESゲームを作成するために設計された新しいプログラミング言語です。8ビットの制約に合わせて最適化されており、C言語よりも使いやすく、より高速なアセンブリコードを生成します。使いやすいライブラリを備えており、最初のNESゲームでも100個目のNESゲームでも簡単に始めることができます。自動バンク切り替え、簡素化されたアセット読み込み、開発速度を向上させるMapFabレベルエディターとの統合などの機能があります。現在ベータ版ですが、NESFabはGCCやLLVMなどのコンパイラをベンチマークで上回り、最高の6502コンパイラになる可能性があります。

続きを読む
開発