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
- 域：

<image>

- 作者：`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+