RetroArch

Retroarch（レトロアーチ）はフリーかつオープンソースで開発されているゲームエミュレータ、メディアプレーヤー、ゲームエンジンである。

これまでに様々なプラットフォームに移植されており、Windows、macOS、Linux、iOS、Androidなどのプラットフォームにとどまらず、ゲームキューブ、Wii、Wii U、Switch、PS2、PS3、PS4、PS5、Xboxシリーズなどの据置型ゲーム機、3DS、PSP、PS Vitaなどの携帯ゲーム機、Web版など、多くのプラットフォームに移植されている。

 概要 
エミュレータ、ゲームエンジン、メディアプレーヤーや、その他のアプリケーションの起動が可能な、クロスプラットフォームのフロントエンドとして設計されている。また、高速、軽量、ポータブルで、依存関係のないように設計されたLibretro APIのリファレンス実装として作られたソフトウェアである。

オープンソースで自由な改変が認められているため、Raspberry Pi、ODROIDなどでも動作し、あらゆるデバイスで動作させることができる。また、RetroArchを組み込んだOSであるLakkaなども存在する。

 特徴 

 コア 
RetroArchで最も特徴的なのが、Libretro Coreといわれるエミュレータの機能を搭載したプログラム群を取り込むことで、多くの機種のソフトを動作させている点である。

入力、オーディオ、ビデオドライバー、さらにダイナミックレートコントロール、オーディオフィルター、マルチパスシェーダー、ネットプレイ、ゲームプレイリワインディング、チートなどの他の洗練された機能を、動的ライブラリであるLibretro Coreに変換し、多くの機能を搭載している。

 ユーザーインターフェース 
CUIや、ゲームパッドに最適化されたGUIを複数搭載する。同じUI構造を複数のプラットフォーム間で採用し、一貫性を保っている。

ソニーのXMBのデザインを取り入れた「XMB」や、Nintendo  Switchのデザインに近い「Ozone」、一部機種ではデフォルトとなっているシンプルな「RGUI」、そしてモバイルOSとの親和性の強い、Material Designを採用した「GLUI」が存在する。他にもPC向けのインターフェースとして、バージョン1.7.3のリリース前に発表された、QTベースの「WIMP」もある。

スマートフォンなどのタッチスクリーンを備えるデバイスでは、ボタンオーバーレイによりタッチ操作だけでゲームを遊ぶことができる。

 Libretroデータベース 
Core、ゲーム、チートなどのリブレトロデータベースを備えている。ディレクトリのファイルのハッシュサムを、既知のゲームのハッシュサムのデータベースと比較することにより、プレイリストを自動的に構築する。ゲームのボックスアートのサムネイルも自動取得する。

 主な機能 

 グラフィックス 
高度なGPUシェーダーへの対応、効率的に活用される画像スケーリングアルゴリズム、複雑なCRTのエミュレーション、NTSCビデオアーティファクト、その他の効果を可能にするマルチパス後処理シェーダーパイプライン、タイミングの欠陥を滑らかにしながら、ビデオとオーディオを同期させるダイナミックレートコントロールなどの機能を備える。

また、OpenGLとVulkanの両方に対応している。

FFmpegのlibavcodecを使用したロスレスビデオ録画の機能を組み込んでいる。

 ゲームパッド 
Retropadと呼ばれるゲームパッド抽象化レイヤーを備え、ゲームパッドを接続した後にすぐ使えるようになっている。XInputコントローラーの自動設定は、RetroArch自体に組み込まれており、他のコントローラータイプは外部プロファイルとして利用できる。

 ネットプレイ 
GGPOに似たロールバック技術を使用し、既存のゲームでP2Pネットプレイを楽しむことができる。

 ユーザー体験 
自動で途中セーブを行ったり、SRAM上書きの無効化などができる機能や、フレームごとにゲームプレイを巻き戻す機能を備える。また、トロフィーやバッジのロックを解除する、RetroAchievementsサービス、アチーブメントトラッキングに対応する。

Run-Ahead機能により、セーブステートと早送りの両方を使用して、エミュレートされたシステムの入力遅延を軽減させられる。

他にも、外部の機械翻訳サービスを利用して、画面上のゲームテキストを翻訳できる機能を備える。

 その他 
イコライザー、リバーブ、その他のエフェクトなどのオーディオDSPプラグインや、低入力とオーディオラグオプションを備える。

 対応するエミュレータ 
各プラットフォームに対応するLibretro Coreを、RetroArchアプリ内でダウンロード・インストールできる。
機種Core (エミュレータ)3DO4DOAmstrad CPCCaprice32
CrocoDSArcadeMAME
MESS
FinalBurn Neo
FinalBurn AlphaAtari 2600StellaAtari 5200a5200
Atari800Atari 7800ProSystemAtari FalconHatariAtari JaguarVirtual JaguarAtari LynxMednafen
HandyAtari STHatariワンダースワンMednafenコレコビジョンblueMSX
Gearcolecoコモドール64VICE
FrodoCommodore 128VICEAmigaPUAE
UAE4ARMCommodore CBM-IIVICECommodore PETVICECommodore Plus/4VICEVIC-20VICEMS-DOS and compatible operating systemsDOSBox
DOSBox-Pure
DOSBox-SVNElectronika - BK-0010/BK-0011MFairchild Channel FFreeChaFVectrexvecxHandheld electronic gameGWMac IIminivmacOdyssey²O2EMIntellivisionFreeIntvMega DuckSameDuckMSXfMSX
blueMSXNEC PCエンジン / CDMednafenNEC TurboGrafx-16 / SuperGrafxMednafenNEC PC-8000 / PC-8800QUASI88NEC PC-98Neko Project II Kai
Neko Project IINEC PC-FXMednafenNEC TurboGrafx-CDMednafenNintendo 3DSCitra
Citra 2018Nintendo 64Mupen64Plus
Mupen64Plus-Next
ParaLLEl N64Nintendo DSDeSmuME
DeSmuME 2015
melonDSファミリーコンピュータNintendo Entertainment Systemhigan
Emux
FCEUmm
Nestopia UE
QuickNES
MesenファミコンディスクシステムFCEUmm
Mesen
Nestopia
higan
QuickNESゲームボーイ/カラーEmux
Gambatte
SameBoy
TGB Dual
higan
Mesen-SゲームボーイアドバンスMednafen
gpSP
Meteor
mGBA
VisualBoyAdvanceゲームキューブDolphinポケモンミニPokeMiniスーパーファミコンSuper Nintendo Entertainment Systemhigan
Mednafen
bsnes
Snes9x
Mesen-SスーパーカセットビジョンLibretro-EmuSCVバーチャルボーイMednafenWiiDolphinPalm OSMuPhilips CD-iSAME CDi
Cdi 201532XPicoDriveDreamcastRedream
Flycast (formerly Reicast)ゲームギアGenesis Plus GX
PicoDrive
SMS Plus GX
GearsystemセガマスターシステムPicoDrive
Genesis Plus GX
SMS Plus GX
GearsystemメガCD/セガCDGenesis Plus GX
PicoDriveメガドライブ/ジェネシスGenesis Plus GX
BlastEm
PicoDriveセガサターンuoYabause
Mednafen
YabaSanshiro
KronosSega ST-VKronosSega VMUVeMUlatorSG-1000blueMSX
GearsystemSharp X1X MillenniumX68000PX68kZX81EightyOneZX SpectrumFusePlayStationMednafen
PCSX ReARMed
DuckStation
SwanStationPlayStation 2Play!
PCSX2PlayStation PortablePPSSPPネオジオポケット / カラーMednafen
RACESpectravideoblueMSX3DO Interactive MultiplayerOperaThomson computersTheodoreUzeboxUzem光速船VecXGLWatara SupervisionPotator

 歴史 
かつてはSSNESという名称で開発されており、プログラマーのNearによって開発されたLibretroの前身「Libsnes」に基づくスーパーファミコン対応のエミュレータであった。

2010年にHans-Kristian Arntzen (themaister) が、GitHubで最初の変更をコミットして開発が始まった。スーパーファミコンソフトを動作させるエミュレータ、bsnesのQtベースのインターフェースの置き換えを指向していたが、のちにより多くの機種に対応するための「Core」を組み込む、マルチエミュレータに成長していった。

2012年4月21日、こうした変化を反映するために、SSNESは正式にRetroArchに改名された。

バージョン1.0.0.0は2014年1月11日にリリースされ、当時から7つの異なるプラットフォームで利用可能だった。

2016年2月16日、Vulkanのサポートを公式でのリリース開始と同時に実装した。

同年11月27日、Libretroチームは、LakkaLibreELECベースのRetroArchを組み込んだOS。と同時並行で、Patreonでバグ修正に協力する開発者に報奨金を提供し、マッチメイキングサーバーのコストをカバーすることを発表した。

翌12月、セガと契約していたGoGamesが、SEGA ForeverプロジェクトにRetroArchを採用しようと、Libretroチームに接触した。ただ、最終的にはライセンスの意見の相違により、実現しなかった。

2018年4月、「Run-Ahead」と呼ばれる入力遅延補償機能が追加された。

2020年8月、悪意あるユーザーが信頼できるチームメンバーになりすまし、LibretroチームのbuildbotサーバーとGitHubアカウントにアクセスし、サーバーを初期化する事態が発生した。

同年11月、PCSX2の Libretro Coreと組み合わせすることで、Xbox Series X/SがPlayStation 2ソフトの動作に対応した。なお当時は、PS2の開発元であったSIEのPlayStation 5ですら対応していなかった。

2021年9月14日、Steamでリリースされた。2年前の2019年7月から、Steamworksの機能をプラットフォームの統合と、Steamでの無料配布が計画されていた。

 評価 
RetroArchを起動するだけで、多くのプラットフォームの数多くのゲームを遊べる点が評価されている。

また、多機能である点も賞賛される一方で、広範な数のオプションがあるため、設定が難しい点も指摘されている。

Android向けアプリとしては、オーバーレイをカスタマイズできる点、拡張性、いくつかのUSBおよびBluetoothコントローラ・周辺機器との互換性、無料で広告がないという点が評価されている。

Tyler LochはArs Technicaに寄稿し、RetroArchの「Run-Ahead」機能は「おそらくレトロゲームコミュニティがこれまでに見てきた経験の最大の改善」であると述べた。

 脚注 

 注釈 

 出典 

 関連項目 

 ゲームエミュレータ
 XMB

 外部リンク 

 GitHub
 YouTube (LibRetro)
 YouTube (RetroArch)
 YouTube (Lakka)

Category:エミュレーションソフトウェア
Category:フリーウェア