RetroArch

RetroArch
RetroArchのインタフェース(XMB
開発元 Libretro
初版 2010年5月26日 (14年前) (2010-05-26)
最新版
1.15.0 / 2023年3月11日 (19か月前) (2023-03-11)
リポジトリ github.com/libretro/RetroArch
プログラミング
言語
C, C++
対応OS

Windows, macOS, Linux, Unix-like, FreeBSD, iOS, Android, tvOS, webOS


ニンテンドーゲームキューブ, Wii, Wii U, Nintendo Switch, ニンテンドー3DS, PSP, PS Vita, PlayStation 2, PlayStation 3, PlayStation 4, PlayStation Classic, Xbox, Xbox One, Xbox Series X/S
プラットフォーム IA-32 (x86), x86 (x64), ARM, AArch64, PowerPC, MIPS, Cell
対応言語 English, Mandarin, Spanish, German, French, Italian, 日本語, Korean, Dutch, Polish, Portuguese, Russian, Vietnamese, Turkish, Arabic, Greek, Persian, Hebrew, Asturian
種別 ゲームエミュレータ
ライセンス GNU GPL v3
公式サイト www.retroarch.com, www.libretro.com
テンプレートを表示

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

これまでに様々なプラットフォームに移植されており、WindowsmacOSLinuxiOSAndroidなどのプラットフォームにとどまらず、ゲームキューブWiiWii USwitchPS2PS3PS4PS5Xboxシリーズなどの据置型ゲーム機3DSPSPPS Vitaなどの携帯ゲーム機、Web版など、多くのプラットフォームに移植されている。

概要

[編集]

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

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

特徴

[編集]

コア

[編集]

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

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

ユーザーインターフェース

[編集]

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

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

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

Libretroデータベース

[編集]

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

主な機能

[編集]

グラフィックス

[編集]

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

また、OpenGLVulkanの両方に対応している。

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

ゲームパッド

[編集]

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

ネットプレイ

[編集]

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

ユーザー体験

[編集]

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

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

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

その他

[編集]

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

対応するエミュレータ

[編集]

各プラットフォームに対応するLibretro Coreを、RetroArchアプリ内でダウンロード・インストールできる。

機種 Core (エミュレータ)
3DO 4DO
Amstrad CPC Caprice32

CrocoDS

Arcade MAME

MESS FinalBurn Neo FinalBurn Alpha

Atari 2600 Stella
Atari 5200 a5200

Atari800

Atari 7800 ProSystem
Atari Falcon Hatari
Atari Jaguar Virtual Jaguar
Atari Lynx Mednafen

Handy

Atari ST Hatari
ワンダースワン Mednafen
コレコビジョン blueMSX

Gearcoleco

コモドール64 VICE

Frodo

Commodore 128 VICE
Amiga PUAE

UAE4ARM

Commodore CBM-II VICE
Commodore PET VICE
Commodore Plus/4 VICE
VIC-20 VICE
MS-DOS and compatible operating systems DOSBox

DOSBox-Pure DOSBox-SVN

Electronika - BK-0010/BK-0011 M
Fairchild Channel F FreeChaF
Vectrex vecx
Handheld electronic game GW
Mac II minivmac
Odyssey² O2EM
Intellivision FreeIntv
Mega Duck SameDuck
MSX fMSX

blueMSX

NEC PCエンジン / CD Mednafen
NEC TurboGrafx-16 / SuperGrafx Mednafen
NEC PC-8000 / PC-8800 QUASI88
NEC PC-98 Neko Project II Kai

Neko Project II

NEC PC-FX Mednafen
NEC TurboGrafx-CD Mednafen
Nintendo 3DS Citra

Citra 2018

Nintendo 64 Mupen64Plus

Mupen64Plus-Next ParaLLEl N64

Nintendo DS DeSmuME

DeSmuME 2015 melonDS

ファミリーコンピュータNintendo Entertainment System higan

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 System higan

Mednafen bsnes Snes9x Mesen-S

バーチャルボーイ Mednafen
Wii Dolphin
Palm OS Mu
Philips CD-i SAME CDi

Cdi 2015

32X PicoDrive
Dreamcast Redream

Flycast (formerly Reicast)

ゲームギア Genesis Plus GX

PicoDrive SMS Plus GX Gearsystem

セガマスターシステム PicoDrive

Genesis Plus GX SMS Plus GX Gearsystem

メガCD/セガCD Genesis Plus GX

PicoDrive

メガドライブ/ジェネシス Genesis Plus GX

BlastEm PicoDrive

セガサターン uoYabause

Mednafen YabaSanshiro Kronos

Sega ST-V Kronos
Sega VMU VeMUlator
SG-1000 blueMSX

Gearsystem

Sharp X1 X Millennium
X68000 PX68k
ZX81 EightyOne
ZX Spectrum Fuse
PlayStation Mednafen

PCSX ReARMed DuckStation SwanStation

PlayStation 2 Play!

PCSX2

PlayStation Portable PPSSPP
ネオジオポケット / カラー Mednafen

RACE

Spectravideo blueMSX
3DO Interactive Multiplayer Opera
Thomson computers Theodore
Uzebox Uzem
光速船 VecXGL
Watara Supervision Potator

歴史

[編集]

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

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

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

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

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

同年11月27日、Libretroチームは、Lakka[注 1]と同時並行で、Patreonバグ修正に協力する開発者に報奨金を提供し、マッチメイキングサーバーのコストをカバーすることを発表した[16]

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

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

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

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

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

評価

[編集]

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

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

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

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

脚注

[編集]

注釈

[編集]
  1. ^ LibreELECベースのRetroArchを組み込んだOS。

出典

[編集]
  1. ^ RetroArch, Libretro, (2023-06-08), https://github.com/libretro/RetroArch/blob/8a6f7e6fffce7e9ea5bffcb24a4a797fc9635781/libretro-common/include/libretro.h 2023年6月9日閲覧。 
  2. ^ libretro/libretro-samples, Libretro, (2023-01-31), https://github.com/libretro/libretro-samples 2023年6月9日閲覧。 
  3. ^ Hans-Kristian Arntzen (2012年12月12日). “Dynamic Rate Control for Retro Game Emulators (PDF)”. Libetro. 2023年6月9日閲覧。
  4. ^ (日本語) RetroArch 1.7.3 - New Desktop UI For PCs!, https://www.youtube.com/watch?v=hfuioGjCItw 2023年6月9日閲覧。 
  5. ^ RetroArch Database, Libretro, (2023-06-08), https://github.com/libretro/libretro-database 2023年6月9日閲覧。 
  6. ^ Playlists and Thumbnails - Libretro Docs”. docs.libretro.com. 2023年6月9日閲覧。
  7. ^ RetroArch”. retroarch.com. 2023年6月9日閲覧。
  8. ^ RetroAchievements” (英語). retroachievements.org. 2023年6月9日閲覧。
  9. ^ RetroArch 1.7.8 – AI Service – How To Set It Up – Libretro” (英語) (2019年9月14日). 2023年6月9日閲覧。
  10. ^ Libsnes” (英語). GitHub. 2023年6月9日閲覧。
  11. ^ SSNES · libretro/RetroArch@eed8e2b” (英語). GitHub. 2023年6月9日閲覧。
  12. ^ SSNES - The SNES emulator that sucks less. / Community Contributions / Arch Linux Forums”. bbs.archlinux.org. 2023年6月9日閲覧。
  13. ^ SSNES => RetroArch. · libretro/RetroArch@9ab51ad” (英語). GitHub. 2023年6月9日閲覧。
  14. ^ RetroArch v1.0.0.0 release information – Libretro” (英語) (2014年1月11日). 2023年6月9日閲覧。
  15. ^ Day 1 Vulkan support – Libretro” (英語) (2016年2月16日). 2023年6月9日閲覧。
  16. ^ We are now on Patreon! – Libretro” (英語) (2016年11月27日). 2023年6月9日閲覧。
  17. ^ “Sega releases classic games on mobile, for free, but at what cost?” (英語). Eurogamer.net. (2017年6月21日). http://www.eurogamer.net/articles/2017-06-21-sega-releases-classic-games-on-mobile-for-free-but-at-what-cost 2023年6月9日閲覧。 
  18. ^ “Sega defends Sega Forever launch after fan outcry” (英語). Eurogamer.net. (2017年6月26日). http://www.eurogamer.net/articles/2017-06-26-sega-defends-sega-forever-launch-after-fan-outcry 2023年6月9日閲覧。 
  19. ^ Orland, Kyle (2018年4月19日). “Better than reality: New emulation tech lags less than original consoles” (英語). Ars Technica. 2023年6月9日閲覧。
  20. ^ Hacker vandalised our buildbot and Github organization – Libretro” (英語) (2020年8月16日). 2023年6月9日閲覧。
  21. ^ Campbell, Ian Carlos (2020年11月30日). “Enterprising developers are emulating PS2 games on the Xbox Series S and X” (英語). The Verge. 2023年6月9日閲覧。
  22. ^ Steam:RetroArch”. store.steampowered.com. 2023年6月9日閲覧。
  23. ^ Machkovech, Sam (2019年7月13日). “RetroArch will be Steam’s biggest emulation launch yet, coming July 30” (英語). Ars Technica. 2023年6月9日閲覧。
  24. ^ a b Pot, Justin (2017年7月5日). “How to Set Up RetroArch, The Ultimate All-In-One Retro Games Emulator” (英語). How-To Geek. 2023年6月9日閲覧。
  25. ^ a b How to Set Up an All-In-One Retro Game Emulator with RetroArch” (英語). Lifehacker (2015年12月3日). 2023年6月9日閲覧。
  26. ^ The Best Console Emulators (NES, SNES, Genesis, and More) | Page 2 | Digital Trends”. web.archive.org (2017年8月3日). 2023年6月9日閲覧。
  27. ^ a b RetroArch Emulates Nearly Every Classic Gaming Console on Android” (英語). Lifehacker (2013年3月6日). 2023年6月9日閲覧。
  28. ^ Pot, Justin (2017年6月26日). “Eight Advanced RetroArch Features that Make Retro Gaming Great Again” (英語). How-To Geek. 2023年6月9日閲覧。
  29. ^ RetroArch Emulates NES, Playstation, Gameboy Color/Advance And A Whole Lot More [Android]” (英語). MUO (2013年3月1日). 2023年6月9日閲覧。
  30. ^ Orland, Kyle (2018年4月19日). “Better than reality: New emulation tech lags less than original consoles” (英語). Ars Technica. 2023年6月9日閲覧。

関連項目

[編集]

外部リンク

[編集]