ブラウザだけで動くゲームボーイエミュレーター「Retro Boy」

任天堂が1989年に発売した携帯ゲーム機・ゲームボーイのエミュレーター「Retro Boy」が登場しました。ブラウザ上で動くエミュレーターですが、別途ゲームのROMデータが必要になります。
Retro Boy
https://smparsons.github.io/retroboy/

Retro Boyはプログラミング言語のRustで書かれたゲームボーイエミュレーターです。Rustで書かれたコードをWebAssemblyに変換することで、ウェブ上で利用できるようになっています。
ウェブフロントエンドは、オーディオとグラフィックにWeb Audio APIとHTMLのCanvas要素を採用。ブラウザのローカルストレージを活用することで、バッテリーバックアップMBCカートリッジのカートリッジRAMデータを永続化しているそうです。

実装をWebAssemblyにコンパイルするには、 wasm-packをインストールする必要があります。次に、コアプロジェクトをビルトし、ウェブフロントエンドディレクトリにJavascriptのバインディングコードを生成する必要があるとのこと。
Retro Boyのウェブフロントエンドは、Material UIで設計されたReact・TypeScriptアプリです。UIではROMをロードしたり、エミュレータを再生、一時停止、リセットしたりすることができます。また、フルスクリーンでのゲームプレイも可能です。
なお、プレイするにはプレイするゲームのROMデータが必要となります。

Retro BoyのソースコードはGitHub上で公開されています。
GitHub - smparsons/retroboy: A Game Boy emulator written in Rust.
https://github.com/smparsons/retroboy

なお、ソーシャルニュースサイトのHacker Newsでは「オーディオエミュレーションにいくつか問題があるようですが、とてもよくできている」といったコメントや、Retro Boyでプレイするのにオススメなゲームボーイタイトルを紹介し合うコメントなどが投稿されていました。
・関連記事
任天堂の「たった1通」の通知でエミュレーター関連のリポジトリ4238件が一気に消滅 - GIGAZINE
Appleがレトロゲーム機のエミュレーターアプリをApp Storeでリリースすることを認める - GIGAZINE
Nintendo SwitchのゲームがPCで遊べてしまうエミュレーター「Ryujinx」とは? - GIGAZINE
任天堂による「Yuzu」への訴訟はエミュレーターの開発コミュニティにどんな影響を与えたのか? - GIGAZINE
簡単にSteam Deckをレトロゲーのエミュレーターにできる「EmuDeck」 - GIGAZINE
・関連コンテンツ
in ソフトウェア, ゲーム, Posted by logu_ii
You can read the machine translated English article Retro Boy is a Game Boy emulator that ru….