Super ZSNES - GPUベースのSNESエミュレーター
(zsnes.com)- 既存のZSNESを新たに書き直したGPUベースのSNESエミュレーターで、より正確なCPU・オーディオコアとGPUベースのPPUコアを備える
- hi-res Mode 7とゲームごとの特別な拡張機能をサポートし、高解像度UIと改善されたUXに加えて、早送り・巻き戻し・save states・自動保存履歴といった利便機能も搭載している
- Super Enhancement Engineは現在7本の人気ゲームに対応しており、高解像度の手動ディテール補強・texture/normal map・overclock・widescreen・非圧縮オーディオへの差し替え・Mode 7ベースの3D効果まで提供する
- すべての拡張機能は個別に無効化でき、拡張データにはROMや著作権データは含まれていないため、ROMはユーザーが自分で用意する必要がある
- Windows・Mac・Linux・Androidでダウンロード可能で、まだearly build段階のためエミュレーションバグや未実装のspecial chips、追加の最適化やNetplayなどの予定作業が残っている
ダウンロードと対応プラットフォーム
- Windows: Download
- Mac: Download
- Linux: Download
- Android: Google Play
- iOSはComing Soonの状態となっている
開発状況と今後の機能
- 現在はearly build段階のため、エミュレーションバグが残っている
- special chipsであるDSP1、SuperFXなどはまだ実装されていない
- 最適化作業が多く残っているため、性能はやや遅い可能性がある
- 今後はbug fixes、special chip emulation、追加の最適化、さらに多くの拡張機能、Netplayなどが追加される予定
1件のコメント
Hacker Newsの意見
無圧縮オーディオへの差し替えはかなり面白そうで、ここからどんな成果物が出てくるのか気になる
Mathew Valente、つまりTSSFは、Nobuo UematsuがSNESとPSX時代のFinal Fantasyで使った元のサンプルを追跡するのに驚くほど力を注いでいた
ほとんどすべてが当時のハードウェア・ソフトウェアシンセサイザー由来のサンプルで、それを見つけて元サンプルで曲を磨き直していたが、単なるドラッグ&ドロップではなく、技術的・音楽的・主観的な判断が数多く入っている
仕上がりは本当に美しく、クラシックなFinal Fantasy音楽が好きならチャンネルも大いに楽しめると思う
私が特に好きな動画のひとつはこれ: https://www.youtube.com/watch?v=XQhxNkZH-DE
PitchforkがDonkey Kong Countryの古典的トラック Stickerbush について書いたことに共感する
圧縮を外した楽器をFL Studioで再現すると、作曲そのものは残っていても、意図的に不純にされた音色のパレットが失われる
普通のピアノや、本物のサックスのように聞こえるリードに置き換わることで、超現実的な質感と緊張感が消えてしまい、だから「復元」という表現自体が誤りだと思う
WiseはもともとSNESの制約に縛られた状態でこの曲を意図しており、限られた音を無限に感じさせたかったのだ
https://pitchfork.com/reviews/tracks/david-wise-stickerbush-symphony/
原曲と比べると、3小節目で遅れて追従しているのが聞こえる: https://www.youtube.com/watch?v=JLrsUOA4Vb4
下のタイムスタンプリンクを見ればよく、Super ZSNES全体を扱った動画もある
https://youtu.be/r5twUkvYFpA?t=617
彼のトラックが入ったMSU-1パックもあるので、強化されたオーディオでゲームをプレイできる
ZSNESは私の子ども時代そのもののような存在だった
90年代末〜2000年代初頭に出たばかりの頃にダウンロードして、好きだったゲームをエミュレートし、Star OceanやTales of Phantasiaのようなファン翻訳プロジェクトもそこで楽しんでいた
雲のような半透明オブジェクトが画面全体を覆ってしまい、上のレイヤーを手動で切らなければならない場面もあった
両親が家にいない時はセーブステートをフロッピーに入れてPentium 166MHzへ移し、音と透明効果を有効にしたままこっそり続きを遊んだものだ
Super Mario Worldの大半と、いくつかのFinal Fantasyもそうやって遊んだ気がするし、本当に楽しい時代だった
翻訳コミュニティがソースコードもなしに日本のゲームへパッチを当て、自分たちの市場になかった宝石のような作品を持ち込んだのは、ほとんど狂気じみた執念だった
翻訳にはやや自由な脚色もあるが、あの船のシーンひとつだけでも十分に価値があると感じる
しかもZSNESのおかげでいつでも速度調整、クイックセーブ/ロードができたのは本当に最高だった
学校でノートPCを教育ツールとして試験導入していた年、数学の講義を受けていたのだが、本来は講義資料を表示しておくはずだった
ところがある学生がノートPCにZSNESを入れていて、講義中にKiller Instinctを遊んでいた
ホームページはこのプロジェクトのすごさをかなり過小評価している
MVGがとても良い概要動画を作っている: https://www.youtube.com/watch?v=r5twUkvYFpA
SNESエミュレータでの正確性はすでにhigan/bsnesが市場を押さえているので、見慣れた道をなぞるより自分たちなりの方向へ進むということだ
ただ気になるのはハードウェア要件だ
もともとのZSNESの評判は、限られたハードウェアでもあらゆる巧妙なハックでよく動くことにあったのだから
ノスタルジーの力は本当に強い
https://imgur.com/a/R63BKTe
PPUエミュレーションがピクセルごとの最終レジスタ状態をすべてキャプチャし、その状態だけを使ってGPUが各ピクセルをレンダリングし、レイヤーブレンディング、color math、mode 7計算を処理する方式も可能だと思う
正確性がそれほど重要でないならスキャンライン単位でも可能だ
MVGの動画でdraw commandを分析した内容を見る限り、Super ZSNESのPPU実装はそうはなっていないようだ
BGはタイル単位、OBJもおそらくそうで、mode 7はライン単位でレンダリングしているように見える
正確性は少し落ちるだろうが、自分たちが入れた視覚強化トリックを実装するにはたぶんそのほうが必要だったのだろう
今の方式は古いfixed-function APIでクアッドを描いて最終画像にbump mapを混ぜるというもので、かなり奇妙だ
GPUで本当に面白いことをできる道具はすでにたくさんあるのに、あえてこの道を選んだことになるし、私は他のエミュレータで人々が作った後処理シェーダーのほうがもっと印象的だと思う
SNESエミュレータはあまりに長いこと存在しているので、ときどき実機のNintendoコンソールよりエミュレータでNintendoゲームを遊んだ人のほうが多いのではと思ってしまう
とてもクールだし、特に正確性の改善が良い
ただ、本当にGPUが必要なのかは気になる
SNESは非常に古いシステムなのでCPUだけでも十分ではないかと思うし、GPUのほうが効率的だとしても、はるかに多くのハードウェア構成をサポートしなければならない負担に見合うのか分からない
しかもUnityを使っているので、低レベルGPUサポートをすべて自前で処理する必要もない
higan(bsnes)はすでに10年以上前からCPUだけでサイクル精度のSNESエミュレーションを実現してきたので、その程度なら確実に可能だ
それ以上、たとえばトランジスタレベルまで下りると話は複雑になる
AFAIK、そのレベルではpong程度はできてもMetalNESはリアルタイムにはほど遠いので、限界はそのあいだのどこかにある
たぶんこういうのは「面白いからやる」に近いプロジェクトなのだろう
機能一覧にNo vibe codingとclassic development styleが入っているのはかなり興味深い
レトロ復興的な性格のプロジェクトを作っているという文脈ではなおさらだ
ただ、これが本当にAIを一切使っていないという意味なのかは気になる
たとえばコードレビューのような用途でも全く使っていないのか、ただ明確に知りたいだけで、どちらにしても判断するつもりはない
冗談はさておき、LLMはこういう特殊で難解な分野ではかなり出来が悪い
特にレトロ系では、すごい、ノスタルジックだ、といった話を勢いよく並べ立て、重要でもないか、すでに知っている断片的事実を誤解したまま繰り返すことが多い
Redditのコメント欄を見せられている感じに近い
家具やカーペット、その他の工芸品、さらにはLamborghiniまでそういう売り方をするのと同じだ
つい先月まで、DLSS5への大きな反発理由のひとつはアーティスト本来のビジョンを壊すことだったのに、1か月後にはカジュアルプレイヤーがポイント&クリックUIでゲームのビジュアルを好き放題変えられるエミュレータに感嘆している
ここにMCPサーバーまで付いていたら大騒ぎになっていただろう
楽しさが目的なら自分で作るほうがいい
No Vibe Coding. Classic development style
これがだんだん人々が実際に求める機能になってきている気がする
あるいは、私が承認しない別のアルゴリズムでも使ったのか、ということだ
ヴィンテージハードウェアのエミュレータを考えると夜も眠れなくなるほどの大問題だ
ZSNES作者が数か月前にZophar's DomainのZopharと行ったインタビューはかなり興味深かった
https://www.youtube.com/watch?v=iG-oqvj4Tqk
子どもの頃、この人たちは初期に本当にすごかった
初めてZSNESを起動して、ファン翻訳された日本限定RPGを遊んだ瞬間を今でも覚えている
まったく新しい世界が開けたし、その点では本当に感謝している