90年代後半、NINTENDO64のエミュレーションを開発しているという噂は流れていたものの、当初は実際に遊べるようなものはありませんでした。その後プレイアブルなエミュレーターが登場し始め、かなり驚いた記憶があります。
初代PlayStationやドリームキャストといたゲーム機のエミュレーターは年々進化をしており、その正確さもかなり向上してきています。しかし、NINTENDO64のエミュレーターにはひと筋縄ではいかに根本的な問題をはらんでいると、YouTuberのModern Vintage Gamer氏が自信の動画の中で解説しています。
エミュレーターそのものを動かすための能力は備わっているハードは、最新のゲーミングPCでなくても無数に存在しています。しかし、ハードの能力だけでは解決することが出来ない問題があるのです。
オリジナルのNINTENDO64では、「マイクロコード」を入れ替えることでRCP(Reality Co Processor)をカスタマイズできるようになっていました。当時の開発者たちはこちらを活用し、ゲームのパフォーマンスを実現していたのです。その最も優れた例が、ファクター5が開発したNINTENDO64向けゲームの『Indiana Jones and the Hell Machine(日本未発売)』です。
同社は、ゲームを最適化するために、メモリー拡張パックを使用しただけではなく、独自にカスタマイズした「「マイクロコード」を設計。こちらの「マイクロコード」では、リアルタイムで照明効果の制御が行われていました。
2000年代に入り、エミュレーターの開発者たちは、当時まだマシンのパワーが足りなかった分の実行サイクルを正確なものにするためにハイレベルエミュレーションまたはHLEというアプローチを採用します。これにより、それぞれのゲームで発生していた問題に対応していました。
これはNINTENDO64というハードウェアを正確なものとしてエミュレートするというよりも、特定のゲームを動かすことに重点をおいたものだったのです。これにより、特定のゲームにおいては動作速度が向上し互換性もたかくなったものの、当然のことながらすべてのゲームには対応することはできません。
もうひとつ、NINTENDO64やPlayStationが多くの問題を解決するために導入したのが「プラグイン」という概念です。開発者たちはAPIを公開し、様々な機能を追加で構築できるようにしたのです。その後zilma仕様と呼ばれるようになったこれらのプラグインは、他のエミュレーターでも使用できるようになり、それが広がっていったのです。
こうしたプラグインは、ひとつのゲームを動かすときには非常にうまくいくものの、別のゲームでは問題が発生してしまう要因にもなります。そして、これ自体が現在もNINTENDO64のエミュレーターが抱えている問題でもあるのです。Modern Vintage Gamer氏は、こうしたものを廃止する必要があると動画の中で述べています。
via.Reddit