higan

 


1. higan
1.1. 지원 기종
1.2. 특징
1.3. 업데이트 이력
2. bsnes
3. byuu
4. 여담


1. higan


다기종 에뮬레이터. 개발자는 byuu.[1]
(공식 홈페이지, 트위터).
본래 슈퍼 패미컴 전용 에뮬레이터였으며, 그 당시에는 후술한 'bsnes'라는 이름으로 개발되었지만, 다기종 에뮬레이터가 되면서 이름이 'higan'으로 바뀌었다.
'higan'이라는 이름의 유래는 실행 파일 아이콘으로 추정컨대 천외마경 ZERO의 주인공 'ヒガン(火眼)'으로 보인다.
2017년 현재 higan은 슈퍼 패미컴슈퍼 게임보이 에뮬레이터로서 권장하고, 권장하는 패밀리 컴퓨터 에뮬레이터는 Nestopia와 Mesen, 게임보이·게임보이 컬러 에뮬레이터는 Gambatte[2]이다..

1.1. 지원 기종



1.2. 특징


슈퍼 패미컴을 제외한 다른 지원 기종은 속도를 염두에 두고 정확성을 일부 희생하는 많은 에뮬레이터들처럼 일반적인 에뮬레이터 수준이지만, '''슈퍼 패미컴 에뮬레이트만''' 실기의 CPU 사이클 수준으로, 극단적인 저레벨로 수행한다. 쉽게 말해 호환성 100%. 요컨대 '''SFC 한정으로는 최고의 에뮬레이터'''라고 할 수 있다. 예시 영상(왼쪽 위부터 시계 방향으로 슈퍼 패미컴 실기, bsnes(higan), Snes9x 1.52, Snes9x 1.43)[3]
물론 그만큼 높은 사양을 요구하기 때문에 공식 CPU 요구 사양이 기본 2 GHz에서 보조 연산 칩별로는 무려 '''3 GHz''' 이상이 필요하다. 또한 다른 에뮬레이터와는 달리 DSP 칩이 있는 게임을 실행할 때 바이오스 파일처럼 DSP 칩이 덤프된 롬 파일도 같이 필요하다.
2017년 기준으로 슈퍼 게임보이를 제대로 지원하는 '''하나뿐인''' 에뮬레이터이기도 하다. 실기의 팔레트 변경 기능 및 슈퍼 패미컴 효과음 변경 출력 대응을 제대로 지원한다. 하지만 SFC와 달리 이쪽은 아직 완벽하지 않아서 열투 더 킹 오브 파이터즈 '95열투 더 킹 오브 파이터즈 '96에서 기 게이지가 안 나오는 문제가 있다.[4][5][6]
higan은 컴퓨터 사양만 괜찮으면 정확함에 가장 가까운 SFC 에뮬레이터라고 할 수 있지만, 실기 SFC 게임을 현 세대 모니터/TV로 그대로 구동하면 그래픽이 별로 좋지 못한지라 SFC 에뮬레이터는 그래픽을 강화하는 그래픽 필터가 필수적 기능이라고 할 수 있는데, higan의 그래픽 필터는 성능을 그다지 잘 내는 편이 아니다.
그래서 다기종 에뮬레이터인 RetroArch에도 higan이 포함되어 있는 것을 이용해 RetroArch의 셰이더 기능으로써 higan을 사용하는 방법도 있다.
Settings - Advanced에서 비디오 드라이버를 OpenGL과 Direct3D 등으로 변경할 수 있는데, 만약 그래픽 카드 드라이버 설정에서 수직 동기화가 켜져 있으면 OpenGL 모드에서는 에뮬레이터 가속 기능이 제대로 작동하질 않는 문제가 생긴다. 그래픽 카드 설정에서 수직 동기화를 끄거나, higan의 비디오 드라이버를 Direct3D로 변경하도록 하자.[7]
실기 기준으로 철저하게 만들다보니 풀스크린시 화면을 꽉 채우지 못한다. 즉 정수 스케일으로만 가능하다.

1.3. 업데이트 이력


2015년 10월 7일에 업데이트된 v095부터는 '''64비트 운영체제만 지원한다.'''
v098까지의 higan은 내려받으면 폴더 안에 실행 파일 3가지를 찾을 수 있는데, 이것의 이름이 '코어'이다.
각 코어의 차이점은 다음과 같다. #
  • accuracy: 모든 것을 슈퍼 패미컴 실기의 사이클에 맞추는 에뮬레이션. 이거로 안 돌아가는 게임은 실기 슈퍼 패미컴으로도 안 돌아간다고 보면 되지만, 반대급부로 매우 느리다. 최소가 코어 i5로서, Dolphin급 요구 사양으로 보면 된다.
  • balanced: 속도와 조금 타협하는 에뮬레이션. accuracy와 달리 사이클 기반 렌더링이 아닌 스캔라인 기반 렌더링을 한다. 정식으로 발매된 게임 가운데 데저트 파이터(영문명: A.S.P. Air Strike Patrol)에서 그림자가 안 나오는 문제가 있다. 이것은 닌텐도의 권고사항을 어기고 해당 게임이 스캔라인 렌더링 도중에 PPU를 조작하는 방식을 썼기 때문에 실기나 accuracy 코어가 아니면 그림자가 나오지 않는 것이다. 다른 에뮬도 마찬가지. 이 게임 말고는 정식 발매된 게임이 실기로와 다르게 동작하는 문제가 없어서, 가장 기본적으로 쓰이는 코어라고 할 수 있다.
  • performance: 속도랑 상당히 많이 타협하는 에뮬레이션. 이쪽은 모탈 컴뱃 2 등의 일부 게임에서 버그가 나타난다. higan의 코어 가운데에서는 가장 빠르지만, Snes9x 같은 다른 에뮬과 비교하면 여전히 고사양인 편.
그러나 2016년 6월 10일에 업데이트된 v099부터 balanced와 performance 코어가 삭제되고 accuracy 버전만 남게 되었다.
이 버전을 공개하면서 개발자는 앞으로 higan은 슈퍼 패미컴을 정확하게 구현하는 에뮬레이터로서의 의의만을 지니며, 일반적인 게임 플레이를 바라거든 구버전(v098)이나 Snes9x를 쓰라고 선언했다.[8] 지금은 새로운 에뮬레이터인 bsnes가 공개되어서 이것도 전부 옛말이 되었지만.

2. bsnes


bsnes는 higan의 초창기 개발 버전 이름이자, higan의 개발이 일단락된 다음에 후속 프로젝트로 개발이 시작된 슈퍼 패미컴 전용 에뮬레이터다.
본 문단에서는 과거의 higan이 아니라 새로 나온 bsnes를 다루었다.
기존 higan은 SFC 게임을 실기와 똑같이 구동할 수 있는 에뮬레이터이지만, 비교적 고사양 컴퓨터를 요구하는 점과 그래픽 필터의 기능이 별로 좋지 않은 단점이 있다. 제작자는 이러한 문제들을 해결하고자 higan의 하위 프로젝트로서 개발을 시작하였다. 지금은 없는 higan 구버전의 balanced 코어를 대체하는 새로운 에뮬레이터라고 밝혔다.
기본적으로 higan과 똑같은 에뮬레이터라고 할 수 있지만, 사양을 비교적 덜 먹는 점[9]과 그래픽 필터의 기능이 강화된 점 같은 차이점이 있다. 특히 보통 필드맵이나 레이싱 게임에서 자주 나오는 3D를 고해상도로 렌더링하는 기능인 HD Mode 7이 추가되었다.
higan과 비교하면 극소수 게임들에서 사소한 버그가 발생하기는 하나 극소수[10]이기에 SFC 게임을 구동하는 게 목적인 일반 유저들에게는 higan 대신 bsnes를 사용하는 것이 추천된다.
이후로도 개발자가 지속적으로 업데이트를 하여서 기존 higan과의 기능 차이가 점점 더 벌어졌으며, 사양은 그대로인데 호환성도 더욱 개선되어서 일반 사용자는 higan을 사용할 의미가 완전히 사라졌다.
최종 버전은 1.15 버전.

3. byuu


higan과 bsnes의 개발이 일단락된 다음에 higan의 후속 프로젝트이자 형제 프로젝트로 개발이 시작된 다기종 에뮬레이터다.
기본적으로는 higan과 동일한 에뮬레이터(다기종 에뮬레이터)이나 bsnes에서 추가된 각종 신 기능이 추가될 예정이라고 한다.
이로 인해 일반 사용자들은 SFC 게임을 구동할 때는 bsnes를, 다른 기종의 게임을 굳이 higan 계통으로 구동하고 싶을 때는 byuu를 사용하는 것을 추천한다.
그러나 2020년 7월, 개발자가 은퇴함에 따라 업데이트가 중단되었다.

4. 여담


개발자가 이 에뮬레이터를 개발하게 된 계기는 바하무트 라군의 비공식 영문화를 위해서였다고 한다. 개발자의 이름인 byuu도 바하무트 라군의 주인공에서 따온 이름. 개발자 byuu는 어린 시절에 바하무트 라군에 큰 감명을 받았고 이 게임을 영문화하기 위해서 프로그래밍을 공부하기 시작해 프로그래머가 되었고 에뮬레이터 개발도 시작하게 되었다고 한다. 12년 동안 에뮬레이터 개발에만 심혈을 기울여서 정작 영문화는 진척이 없었으나 bsnes의 개발이 일단락되어 byuu의 개발이 시작된 2020년, 다시 본래의 목표였던 바하무트 라군의 영문화를 시도하겠다는 발표를 하였다.
개발자가 정확한 에뮬레이션의 중요성을 토로한 적이 있다(One man's 3GHz quest to build a perfect SNES emulator, 번역글).
글의 요지는 비록 빠른 에뮬레이터가 많은 게임들을 충분히 잘 구동할 수 있어도 호환성과 보존을 위해 정확한 에뮬레이터를 사용해야 한다는 것이다. 이 글에는 bsnes(higan의 전신)를 제외한 다른 에뮬레이터에서 오류 때문에 게임 진행에 어려움이 있거나 진행을 아예 할 수 없는 한 플랫포머 게임 <Speedy Gonzales: Los Gatos Banditos>를 소개했다.[11]
또한 시간이 흘러 슈퍼 패미컴 실기를 접하기 어려워지면서 ZSNES와 Snes9x를 기반으로 한 여러 번역 패치와 개조 롬이 나왔는데, 이들 가운데 상당수는 실기의 클럭 수 제한과 신호 지연 등이 무시된 채로 개발되어 개발에 사용된 에뮬레이터의 해당 버전으로만 구동된다. 이렇게 되면 미래에는 팬 작업물을 이용하려면 각각 대응되는 에뮬레이터를 모두 갖추어야 하는 상황이 연출될지도 모르고, 더 심각한 것은 x86 어셈블리어로 작성된 ZSNES는 모바일을 비롯한 어떤 플랫폼으로의 이식에도 지장이 있어서 윈도우에서 32비트 호환 기능을 언젠가 제거하는 순간에 '''죽은 콘솔을 유지한다는 존재 가치를 잃고 죽은 에뮬레이터가 되는 것이다.''' ZSNES가 기반으로 이루어진 팬 작업물들은 묻히는 것이다.
3 GHz의 CPU 클럭으로 '최고 정확도'의 슈퍼 패미컴 에뮬을 돌리면 스타폭스에서 슬로우 다운이 일어나는데, 실기로도 똑같은 문제가 일어나기 때문이다. 이렇게 정확한 에뮬레이터를 만들어냈지만 개발자는 아직도 길 길이 멀다고 자처한다. 트랜지스터 수준으로 구현을 못 했기 때문이라는데, 그런 에뮬레이션은 처음으로 상업화에 성공한 비디오 게임에 구현되어 있으며, 3 GHz 프로세서를 사용하면 '''5 ~ 10 FPS'''를 얻을 수 있다고.
물론 이러한 수준에 다다르면 순전히 현실성과 제작자의 취향에 달린 것이 된다. 트랜지스터 수준의 정확성이 요구되어야 한다고 기준을 정하게 되면 사실상 클럭 및 전기 신호, 나아가서는 전기 펄스의 엣지 퀄리티 및 노이즈의 수준을 재현하고자 한다는 이야기가 된다. 트랜지스터 각각의 동작이 엄밀히 재현되어야 한다면 이미 기판과 부품의 배치, 거리, 배선 상태나 회로의 선구조에 따라 차이나는 전기신호의 도달시간 및 품질이 마찬가지로 재현되어 입력되어야 한다.

[1] 바하무트 라군의 주인공인 에서 따온 이름. 일본 도쿄에서 소프트웨어 엔지니어로 일하고 있다고 한다.[2] 다만, Gambatte는 2대의 기기 연결을 지원하지 않음. 게임을 연결해야 하면 BGB나 유료판 My OldBoy! 등을 권장함.[3] 슈퍼 마리오 요시 아일랜드의 오프닝. 다만 옛날 버전이기 때문에 이 당시에는 higan도 실기와 달리 완벽하지는 않았다. 같은 업로더가 슈퍼 마리오 RPG 비교 영상도 올렸는데, 타이틀 화면에서 쿠파 성에 박힌 카리바가 안 나오는 문제가 보인다.[4] 게임보이 초창기 에뮬레이터였던 VGB도 겪었던 문제이다.[5] 위 내용처럼 higan이 완벽하게 100%인 것은 슈퍼 패미컴 한정이다. 그래도 다른 기종들은 다른 에뮬레이터를 사용하는 게 낫지만 슈퍼 게임보이는 완벽하지는 않아도 다른 에뮬레이터가 없기 때문에 higan이 권장된다.[6] 다만 higan이 되기 전의 bsnes 0.73로는 이 문제가 없이 잘 돌아가는데, 이 때의 bsnes는 슈퍼 게임보이 에뮬레이션을 위해서 Gambatte라는 다른 게임보이 에뮬레이터의 소스를 썼기 때문이다.[7] 딱히 higan과 bsnes만의 문제점은 아니고, OpenGL이 원래 이런 듯 하다. PCSX2 등의 다른 에뮬레이터도 OpenGL을 사용하면 동일한 현상이 발생한다.[8] 최신 Snes9x의 정확성이 높은 수준으로 치고 올라온 것도 개발자의 결정에 영향을 주었다.[9] 멀티 스레드가 지원된다. 다만 HD Mode 7을 적용하면 사양을 오히려 더 먹을 수도 있다.[10] 상술한 것처럼 정식으로 발매된 게임 중에는 '데저트 파이터' 단 하나뿐이고, 그 외에는 개조 롬뿐이다.[11] 소닉 더 헤지혹 4가 정식으로 나오기에 앞서 나온 같은 이름의 해적판 기반 게임이 바로 이 게임이다.