돌핀바(DolphinBar)를 통한 오리지널 닌텐도 Wii 리모컨

**돌핀**은 닌텐도 게임큐브와 Wii의 비디오 게임 콘솔 에뮬레이터로서,

2003년 윈도우용으로 프리웨어로 처음 시작되었다. 돌핀은 상용 게임을 성공적으로 구동하는 최초의 게임큐브 에뮬레이터였다. 처음 여러 해 동안은 개발에 어려움이 있은 뒤 돌핀은 자유-오픈 소스 소프트웨어로 되었고 최종적으로 Wii 에뮬레이션을 지원하게 되었다. 얼마 지나지 않아 이 에뮬레이터는 리눅스와 macOS로 포팅되었다. 해가 지남에 따라 모바일 하드웨어가 더 강력해지면서 안드로이드에서 돌핀을 구동하는 것이 지속가능한 선택 사앙으로 되었다.

돌핀은 IT와 비디오 게이밍 미디어에서 높은 호환성, 꾸준한 개발 진행, 특히 오리지널 콘솔에 비해 그래픽이 개선된 게임을 즐길 수 있는 등 사용 가능한 기능의 양 면에서 호평을 받았다.

## 개발

### 기원 (2003년 ~ 2007년)
돌핀은 2003년 9월 첫 출시되었으며

돌핀은 공식적으로 2004년 일시 개발이 중단되었으며, 이 때 개발자가 출시한 이 에뮬레이터의 마지막 버전이 1.01이었다.

### 오픈 소스, Wii 에뮬레이터, 2.0 릴리스 (2008년 ~ 2010년)
돌핀은 2008년 7월 13일 오픈 소스 프로젝트가 되었으며 오픈 소스화할 때 다양한 개발자들이 유혹되어 이 에뮬레이터의 개발은 그 뒤로 계속되고 있으며 정기적인 SVN 빌드 릴리스가 출시되고 있다. 버전 번호(예: 1.03)가 아닌 리비전 번호(예: RXXXX)와 함께 프리뷰 빌드와 비공식 SVN 빌드들이 출시되었다.

돌핀의 Wii 에뮬레이션은 2009년 2월 공식 Wii 시스템 메뉴 v1.0을 구동시키면서 중대한 단계에 들어섰다. 머지 않아 거의 모든 버전의 Wii 시스템 소프트웨어의 부팅이 가능하게 되었다.

2009년 4월, 게임큐브와 Wii처럼 대부분의 사용 게임들이 사소한 문제와 오류와 함께 완전히 플레이가 가능했으며, 수많은 게임들이 실질적으로 문제 없이 동작하였다. 이 에뮬레이터에 대한 개선으로 말미암아 사용자들이 최초로 풀 스피드로 게임을 즐길 수 있게 되었고 오디오가 극적으로 개선되었으며 그래픽 기능의 경우 일부 사소한 문제점을 제외하고 상당히 일정함을 유지했다.

2009년 10월 말, 새로운 기능들이 에뮬레이터에 추가되었는데, 이를테면 에뮬레이터의 성능 개선뿐 아니라 에뮬레이터의 안정정 향상에 기여하는 자동 프레임 무시가 그것이다.

2010년 4월 12일, 돌핀 2.0이 출시되었다.

### 3.0, 3.5 릴리스 (2010년 ~ 2012년)
2010년 11월 말, 개발자들은 깨지는 등의 소리 문제 대부분을 해결하였고 더 많은 게임에 대한 호환성을 추가하였으며 전반적인 에뮬레이션 속도와 정확도를 향상시켰다.

2011년 6월, 버전 3.0이 출시되었다.

2012년 12월 25일, 버전 3.5가 출시되었으며, 게임큐브 브로드밴드 어댑터와 마이크의 에뮬레이션을 추가하였다. FreeBSD 포팅, DSP 펌웨어의 자유로운 교체, WBFS 파일 포맷을 도입하였다.

### 안드로이드의 포팅과 4.0 릴리스 (2013년)
2013년 4월 6일, 에뮬레이터 팀은 구글의 안드로이드 모바일 운영 체제를 위한 최초 빌드를 출시하였다.

2013년 9월 22일, 버전 4.0이 출시되었으며 macOS와 리눅스 빌드에 대해 OpenGL 렌더링 및 OpenAL 오디오의 백엔드 개선, 더 나은 컨트롤러 지원, 네트워크 강화, 성능 트윅이 추가되었다.

### 레거시 기술의 개발 중단, 정확도 향상, 그리고 5.0 릴리스 (2013년 ~ 2016년)
2013년 10월 12일 (4.0-155), Direct3D&nbsp;9 지원이 프로젝트에서 제거되었으며 Direct3D&nbsp;11 및 OpenGL이 비디오 백엔드로 남게 되었다. 돌핀 팀은 D3D9가 태생적으로 결함이 있으며 이 문제를 해결하는 것은 시간 낭비이고 개발 속도를 떨어트린다고 언급하였다.

2014년 5월 19일, 돌핀 팀은 마이크로소프트 윈도우와 리눅스의 32비트 지원을 중단하였다고 발표하였다. ARMv7 지원

2014년 동안 정확도에 상당한 진전이 있었는데, 디스크 로딩 에뮬레이션, 게임큐브 컨트롤러의 네이티브 지원,

비주얼보이어드밴스 게임보이 어드밴스 에뮬레이터 개발자들과 조율하면서 게임큐브와 게임보이 어드밴스 타이틀의 연동 지원이 2015년 3월 도래하였다.

2015년 5월 25일, 돌핀 프로젝트는 다른 FOSS 프로젝트들과의 라이선스 호환성을 개선하기 위해 코드 교환 공유가 가능하도록 GNU 일반 공중 사용 허가서 전용 코드 베이스를 GPLv2 이상으로 리라이선스를 성공했다고 발표하였다.

2015년 8월 돌핀 개발자들은 오디오에 대한 추가 개선사항을 발표하였으며

2016년 6월 24일, 버전 5.0이 출시되었으며 다양한 픽스와 추가 기능이 포함되었다.

### 5.0 이후
벌칸 기반 그래픽스 렌더러의 개발이 2016년 6월 시작되었다. 1개월 뒤 개발자는 "이제 기능이 완전하고 클린업/버그 수정/성능 작업을 할 때가 왔다"고 발표하였다.

2016년 9월, 돌핀의 개발자들은 이 에뮬레이터가 모든 공식 게임큐브 타이틀을 부팅할 수 있다고 발표하였다. 부팅을 지원할 마지막 타이틀 Star Wars: The Clone Wars는 특히 에뮬레이트하기가 어려웠는데 게임이 메모리 관리 장치를 사용하고 있었기 때문이다.

Clone Wars 마일스톤 이후 6개월 째 되던 돌핀은 Wii 숍 채널과의 호환성에 도달하는 다른 마일스톤을 세웠다.

2개의 실험적인 기능들이 성숙하진 않았으나 2017년 5월 제거되었다: DirectX 12 렌더러(벌칸 백엔드로 적절하게 대체될 수 있기 때문), 대체 CPU 에뮬레이터 JIT IL.

같은 해에 그래픽 성능 관련 문제에 대해 작업하던 중, 돌핀 개발자들은 셰이더 컴파일 스터터링으로 알려진 장기간의 문제에 대한 솔루션을 구현하였다.

허나 2022년에도 돌핀 에뮬레이터는 일부 게임을 구동하는 데 그래픽적인 지장이 있는데, 이는 대부분 하드웨어 가속 기능이 켜져 있어서 발생한다. 돌핀이 구동하는 에뮬레이터에서는 하드웨어 가속 기능과 충돌하는 경우가 많다.

## 기능
돌핀의 기능에는 지역 관계 없이 게임을 시작할 수 있는 기능, TAS(tool-assisted speedrun) 기록,{{웹 인용

돌핀은 확장 기기가 있든 없든 오리지널 게임큐브 컨트롤러와 Wii 리모컨의 기능을 PC 컨트롤러에 매핑할 수 있다.

두 종류의 네트워크 플레이가 돌핀에 의해 지원된다: 에뮬레이트된 로컬 멀티플레이어

게임 진행은 가상 게임큐브 메모리 카드, 에뮬레이트된 Wii 플래시 메모리, 세이브 스테이트에 저장할 수 있다. 돌핀은 메모리 카드 관리자를 갖추고 있어서 세이브 파일을 게임큐브 메모리 카드로 전송할 수 있게 한다.

비주얼보이어드밴스 게임보이 어드밴스 에뮬레이터와 결합하여 돌핀은 게임큐브와 게임보이 어드밴스 타이틀 연동을 지원한다.