Dolphin (模擬器)

Dolphin是一個能執行於Windows、Linux、macOS和Android作業系統的任天堂GameCube與Wii的開源模擬器。它是歷史上第一個可完美執行任天堂GameCube與Wii遊戲的模擬器。程式的名稱來源於GameCube的研發代號。

## 歷史

### 誕生（2003-2007）

2003年9月，由Henrik Rydgård (ector)與F|RES發佈的任天堂GameCube模擬器Dolphin的試驗版本，最初可以執行幾個遊戲，但無法支援音訊模擬，也會表現出嚴重的效能問題。許多遊戲剛啟動就崩潰了，無法執行；FPS平均在2與20FPS之間。

2004年，開發團隊決定停止開發，發佈1.01版作為最終版本。在2005年，開發團隊決定繼續開發。2007年，他們發佈了1.03版，加入了一些小改進，也開始支援音訊模擬。

### 開源、Wii模擬與2.0版發布（2008-2010）

2008年7月13日，開發團隊在Google Code上公開了Dolphin的原始碼，使用GPLv2許可。這時，該模擬器已經有基本的Wii模擬功能。軟體的開源吸引了不少開發者，Dolphin也得以定期更新發布。從此，該模擬器更新速度加快。

2009年2月，Dolphin成功啟動並運行Wii的官方系統菜單1.0版，這是Dolphin發展史上的一個里程碑。此後，幾乎所有Wii系統版本可以啟動。

2009年4月，除了有些遊戲還存在一些小問題以外，大部分GameCube與Wii的商業遊戲都能運行，並且幾乎沒有任何問題。模擬器的改進能讓使用者流暢運行遊戲，聲音與圖形功能模擬顯著改善。

2009年10月，許多新功能獲加入模擬器，如自動跳幀能夠提高模擬器的性能以及穩定性。模擬器的NetPlay（聯機對戰）功能得以改善，只要遊戲不要求使用Wii遙控器，玩家就可以與朋友在線玩GameCube和Wii的多人遊戲。模擬器的圖形使用者界面得以重新設計，操作更人性化。DirectX插件功能也得到完善。

2010年4月12日，Dolphin 2.0版本發布。

### 3.0與3.5版（2010-2012）

2010年11月底，開發者修復了大部分的聲音問題（如爆音），更多的遊戲能夠運行，並提高了模擬速度與精確度。

2011年6月，Dolphin官方發布了3.0版。模擬的許多問題獲修復，例如崩潰、圖像錯誤，很多之前無法運行的遊戲都可以運行了。配置對話框進行了調整，能讓新使用者很方便地使用Dolphin。影片配置對話框完全重構，給每個選項配說明面板。模擬器加入了各種新功能，包括Wiimote揚聲器、EFB格式轉換模擬和圖形調試器的支持，以及音訊轉儲等。由於LLE模擬器引擎經過不斷的改進，此時的Dolphin音訊模擬已經基本完美（只要有必要的DSP轉儲）。開發者還為Dolphin加入了Direct3D 11影片後端和XAudio2音訊後端。2.0版發布前，插件的重寫工作就已全面展開；隨著插件的不斷改進，Dolphin開發者決定將所有插件整合進模擬器核心，這使得插件能與程序的其他部分有著更好的集成性。儘管開發者對性能做了一定的優化（尤其是紋理解碼器），但為了提高模擬精確度，模擬器綜合性能較2.0版有所降低。

2012年12月25日，3.5版本發布，該版本改進了配件的支持，提供了FreeBSD移植版，並修復部分的模擬問題。

### 移植到Android、更新4.0版（2013）

2013年4月6日，開發者首次發布Google Android版。在當時只有一小部分設備支持OpenGL ES 3.0，並且在2013年7月，Google才通過新發布的Android 4.3提供該標準的官方支持。遊戲運行的平均幀率為1FPS左右。開發者表示三星Galaxy S4等手機的模擬速度更快，但仍有相當大的速度限制。

2013年9月22日，4.0版本發布，改進了OpenGL渲染、OpenAL音訊、後端控制器支持、網路功能以及macOS和Linux版本的性能。但4.0有一些嚴重的錯誤，開發者隨後發布了錯誤修復版本4.0.1和4.0.2。

### 放棄舊平台、提升精確度與5.0版（2013-2016）

2013年10月12日（4.0-155版），項目移除了Direct3D 9的支持，只剩下Direct3D 11與OpenGL兩個影片後端。Dolphin團隊表示D3D9本身有缺陷，解決這些問題費時，並影響開發速度。

2014年5月19日，開發者宣布對32位的Windows與Linux系統停止支持。但當時Android的32位ARMv7支持仍保留，直到次年AArch64 JIT完善，相關設備發布。

2014年間，Dolphin模擬的精確度取得了很大的提升，實現了光碟加載模擬，原生GameCube控制器支持，接近完美的音訊模擬，並修復了不少問題錯誤。記憶體管理單元的改進使得之前許多無法運行的遊戲首次啟動並正常工作。至於Android設備，Dolphin能在當時使用NVIDIA Tegra處理器的設備上運行，不過有一些困難。

通過與VisualBoyAdvance-M模擬器的開發人員合作，Dolphin開發者在2015年3月提供了GameCube與Game Boy Advance的聯動功能。

2015年5月25日，Dolphin成功將代碼從「GPLv2」重新授權為「GPLv2+」許可，改進了與其他自由及開放原始碼軟體項目的許可證兼容性，以便共享交換代碼。

2016年6月24日，5.0版本發布。加入 Vulkan , 修復了一些錯誤以及更新了一些內容。

### 5.0版後的發展（進行中）

2016年9月，開發者表示，模擬器能夠啟動所有官方的GameCube遊戲，但由於Triforce街機板模擬代碼長時間沒有維護，Triforce模擬功能被移除。次月，Dolphin提供了Wiimote藍牙直通功能，支持Wiimote Motion+，提升兼容性。

2017年3月，Dolphin能夠訪問Wii商店頻道並下載軟體。

## 功能

Pixel Shader 3.0，且支持DirectX 10或OpenGL 3

開發版本提供最新的功能和改進，將來可能獲加入Dolphin穩定版本。

Dolphin可以解除遊戲區域限制（鎖區），記錄TAS競速，使用Action Replay與Gecko作弊碼。

Dolphin可以通過藍牙來支持真實的Wii遙控器，也支持其擴展，如MotionPlus的適配器，左手手柄（Nunchuk），傳統手柄，吉他，鼓，以及轉盤。

Dolphin可以讓GameCube控制器和Wii遙控器代替PC滑鼠鍵盤，並映射基本按鈕。

有兩種多人遊戲方式獲得Dolphin支持，一是模擬本地多人遊戲，二是任天堂Wi-Fi連接。第一種只提供給Dolphin使用者，它適用於那些在默認情況下沒有在線選項的遊戲。

第二種支持Wi-Fi連接的Wii遊戲，與其他Dolphin使用者以及真正的Wii使用者玩。

遊戲進度可以保存在模擬的GameCube存儲卡、Wii快閃記憶體上，或者使用即時存檔。Dolphin自帶的存儲卡管理器能訪問與修改模擬的GameCube存儲卡文件。

### 圖形改進

即使GameCube和Wii支持的最高解析度為480p，Dolphin與大多數在PC上運行的遊戲機模擬器類似，能支持任意解析度。由於Dolphin超越原始的遊戲機的極限，這功能在遊戲社區中受了不少好評，而且許多遊戲網站也提示了此功能。

Dolphin可以載入自定義紋理貼圖，解析度可以比原始的更高。而且該模擬器能導出遊戲的紋理貼圖，再進行修改。

Dolphin能輸出3D圖形，支持3D眼鏡及如NVIDIA 3D Vision等特殊硬體。

Dolphin還提供其他功能，以提升顯示的品質，比如反鋸齒，各向異性過濾，後處理像素著色器，及強制遊戲寬屏輸出的補丁。

### 模擬軟體功能

- 在啟動遊戲時，能夠跳過Wii頻道或GameCube遊戲機的BIOS
- NAND模擬
- 支持WAD（下載遊戲，主要用於WiiWare遊戲，Virtual Console等等）
- 支持自製遊戲

## 評價

Dolphin從各個獨立的遊戲網站獲得了廣泛的好評。Eurogamer和1UP.com讚揚模擬器能在高畫質解析度下玩遊戲。它也獲稱讚對GameCube和Wii有極高的兼容性。它也受到了許多網站的關注，因為它是歷史上第一個正確模擬第七代主機的模擬器。

## 衍生版本

### Dolphin VR

Dolphin VR是一個提供虛擬實境功能的Dolphin衍生版本，支持全視野（FOV），3D HUD顯示，獨立瞄準。

### Ishiiruka

在官方停止Direct3D 9支持之後，2013年10月18日，Dolphin開發者之一Tino發布了一個名為Ishiiruka的非官方版本，名字來自於日語的多爾鼠海豚，重點完善Direct3D 9和11，提升流暢度。

此分支糾正Dolphin中存在的性能問題，如著色器編譯器引起的微型卡頓。任天堂明星大亂鬥DX聯機遊戲社區Faster Melee與SmashLadder官方客戶端也是基於Ishiiruka。

2016年10月，在Digital Foundry：銀河戰士Prime節目中，Eurogamer的約翰·林內曼（John Linneman）談到了關於Ishiiruka的。他運用比較，在Ishiiruka及原始遊戲機Wii和GameCube上運行銀河戰士Prime，林內曼認為，「模擬器的優勢大大超過它的任何小問題」。他還指出Ishiiruka的特點，「其視覺效果超出了Dolphin所能達到的。例如，你可以加入一些改進，如景深，環境遮擋，各種顏色校正等等」。

與Dolphin一樣，Ishiiruka的代碼也存放於GitHub。

## 參見

- 遊戲機模擬器列表
- Xenia，第七代主機Xbox 360模擬器
- RPCS3，第七代主機PlayStation 3模擬器

## 基本資料

- 日語原文：Dolphin
- 域：
- 作者：`F|RES`、ector
- 開發者：Dolphin團隊
- 發行日期：2003年9月22日
- 程式語言：C++、C、Objective-C++
- 作業系統：Windows 7及以上、OS X 10.10及以上、Linux、Android 5.0及以上
- 平台：x86-64、ARM64
- 語言：29
- 類型：遊戲機模擬器
- 許可協議：GPL v2+