최근 수정 시각 : 2024-10-23 15:55:36

higan

bsnes에서 넘어옴

1. higan
1.1. 지원 기종1.2. 특징1.3. 업데이트 이력
2. bsnes3. ares4. 여담

1. higan

다기종 에뮬레이터. 개발자는 Near.[1] 일본 도쿄에서 소프트웨어 엔지니어로 일하고 있다고 했다.

본래 슈퍼 패미컴 전용 에뮬레이터였으며, 그 당시에는 후술한 'bsnes'라는 이름으로 개발되었지만, 다기종 에뮬레이터가 되면서 이름이 'higan'으로 바뀌었다. 'higan'이라는 이름의 유래는 실행 파일 아이콘으로 추정컨대 천외마경 ZERO의 주인공 'ヒガン(火眼)'으로 보인다.

다만 다기종 에뮬레이터지만 2020년 기준으로 higan은 별로 사용이 권장되지 않는다. 슈퍼 패미컴슈퍼 게임보이 에뮬레이터는 higan의 후속 에뮬레이터인 bsnes(자세한 건 후술)가 권장되고 있으며, 패밀리컴퓨터는 Nestopia와 Mesen, 게임보이·게임보이 컬러는 Gambatte[2]이 권장되고 있다.

2021년 6월 28일경 개발자인 Near가 Kiwi Farms[3]에 서식하는 사람들의 사이버 불링으로 인해 자살로 생을 마감했다고 그의 지인이 밝혔다. # 자살하기 몇 년 전부터 홈페이지에서 계속 악플에 대한 괴로움을 토로했으며 2020년에 은퇴를 선언하고 에뮬레이터 ares의 개발을 중간에 그만둔 것도 이 때문이었는데, 시간이 어느 정도 지나자 'Near'라는 새로운 닉네임으로 돌아와 부활을 선언했기에 아픔을 어느 정도는 추스린 것 같다고 생각되던 찰나에 결국 자살을 선택해서 많은 사람들이 안타까움을 느끼고 있다.

1.1. 지원 기종

1.2. 특징

슈퍼 패미컴을 제외한 다른 지원 기종은 속도를 염두에 두고 정확성을 일부 희생하는 많은 에뮬레이터들처럼 일반적인 에뮬레이터 수준이지만, 슈퍼 패미컴 에뮬레이트만 실기의 CPU 사이클 수준으로, 극단적인 저레벨로 수행한다. 쉽게 말해 호환성 100%. 요컨대 SFC 한정으로는 최고의 에뮬레이터라고 할 수 있다. 예시 영상(왼쪽 위부터 시계 방향으로 슈퍼 패미컴 실기, bsnes(higan), Snes9x 1.52, Snes9x 1.43)[4]

물론 그만큼 높은 사양을 요구하기 때문에 공식 CPU 요구 사양이 기본 2 GHz에서 보조 연산 칩별로는 무려 3 GHz 이상이 필요하다. 또한 다른 에뮬레이터와는 달리 DSP 칩이 있는 게임을 실행할 때 바이오스 파일처럼 DSP 칩이 덤프된 롬 파일도 같이 필요하다.

2017년 기준으로 슈퍼 게임보이를 제대로 지원하는 하나뿐인 에뮬레이터이기도 했다. 실기의 팔레트 변경 기능 및 슈퍼 패미컴 효과음 변경 출력 대응을 제대로 지원한다. 하지만 SFC와 달리 이쪽은 아직 완벽하지 않아서 열투 더 킹 오브 파이터즈 '95열투 더 킹 오브 파이터즈 '96에서 기 게이지가 안 나오는 문제가 있다.[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가 새로 나오고 Snes9x 대신은 bsnes를 사용하는 것이 일반적이 되었기에 이것도 이제는 전부 옛말이지만.

2. bsnes

GitHub 페이지

bsnes는 higan의 초창기 개발 버전 이름이자, higan의 개발이 일단락된 다음에 후속 프로젝트로 개발이 시작된 슈퍼 패미컴 전용 에뮬레이터다.

본 문단에서는 과거의 higan은 아니라 새로 나온 bsnes를 다루었다.

기존 higan은 SFC 게임을 실기와 똑같이 구동할 수 있는 에뮬레이터이지만, 비교적 고사양 컴퓨터를 요구하는 점과 그래픽 필터의 기능이 별로 좋지 않은 단점이 있다. 제작자는 이러한 문제들을 해결하고자 higan의 하위 프로젝트이자 후속 프로젝트로서 개발을 시작하였다. 지금은 없는 higan 구 버전의 balanced 코어를 대체하는 새로운 에뮬레이터라고 밝혔다.

기본적으로 higan과 똑같은 에뮬레이터라고 할 수 있지만, 사양을 비교적은 덜 먹는 점[9]과 그래픽 필터의 기능이 강화된 점 같은 차이점이 있다. 특히 보통 필드맵이나 레이싱 게임에서 자주 나오는 3D를 고해상도로 렌더링하는 기능인 HD Mode 7이 추가되었다.

higan과 비교하면 극소수 게임들에서 사소한 버그가 발생하기는 하나 극소수이기에 SFC 게임을 구동하는 게 목적인 일반 유저들에게는 higan 말고 bsnes를 사용하는 것이 추천된다.[10]

이후로도 개발자가 지속적으로 업데이트하여서 기존 higan과의 기능 차이가 점점 더 벌어졌으며, 사양은 그대로인데 호환성도 더욱 개선되어서 일반 사용자는 higan을 사용할 의미가 완전히 사라졌다.

사용 시 주의점으로, 컨트롤러 기본 설정이 잡혀 있지 않으므로 먼저 Input에서 키 설정을 잡아줘야 하고 전체화면등의 기능도 처음엔 전부 공백 상태라 단축키 설정에서 지정해 줘야 작동한다.

거의 모든 게임이 구동된다는데, 실제로는 가끔 안 구동되는 경우도 있다. 단지 최종 버전인 1.15 기준으로 그래픽은 부드럽고 사운드도 매끄러운 데다 음량 조절 기능이 있어서 플레이는 상당히 쾌적하다.

3. ares

higan과 bsnes의 개발이 일단락된 다음에 higan의 후속 프로젝트이자 형제 프로젝트로 개발이 시작된 다기종 에뮬레이터다.

기본적으로는 higan과 동일한 에뮬레이터(다기종 에뮬레이터)이나 bsnes에서 추가된 각종 신 기능이 추가될 예정이라고 했다.

이로 인해 일반 사용자들은 SFC 게임을 구동할 때는 bsnes를, 다른 기종의 게임을 굳이 higan 계통으로 구동하고 싶을 때는 ares를 사용하는 것을 추천한다.

그러나 2020년 7월, 개발자가 은퇴함에 따라 업데이트가 중단되었다.

개발자 Near의 사후에도 다른 개발자들에게서 업데이트는 이어진다.

4. 여담

개발자가 이 에뮬레이터를 개발하게 된 계기는 바하무트 라군의 비공식 영문화라고 했다. 개발자의 이름인 'byuu'도 바하무트 라군의 주인공에게서 따온 이름. 개발자 byuu는 어린 시절에 바하무트 라군에게서 큰 감명을 받았고 이 게임을 영문화하기 위해서 프로그래밍을 공부하기 시작해 프로그래머가 되었고 에뮬레이터 개발도 시작하게 되었다고 했다. 12년 동안 에뮬레이터 개발에만 심혈을 기울여서 정작 영문화는 진척이 없었으나 bsnes의 개발이 일단락되어 ares의 개발이 시작된 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비트 호환 기능을 언젠가 제거하는 순간[12]죽은 콘솔을 유지한다는 존재 가치를 잃고 죽은 에뮬레이터가 되는 것이다. ZSNES가 기반으로 이루어진 팬 작업물들은 묻히는 것이다.

3 GHz의 CPU 클럭으로 '최고 정확도'의 슈퍼 패미컴 에뮬을 돌리면 스타폭스에서 슬로우 다운이 일어나는데, 실기로도 똑같은 문제가 일어나기 때문이다. 이렇게 정확한 에뮬레이터를 만들어냈지만 개발자는 아직도 길 길이 멀다고 자처했다. 트랜지스터 수준으로 못 구현해서랬는데, 그런 에뮬레이션은 처음으로 상업화에 성공한 비디오 게임에 구현되어 있으며, 3 GHz 프로세서를 사용하면 5~10 FPS를 얻을 수 있다고 했다.

물론 이러한 수준에 다다르면 순전히 현실성과 제작자의 취향에 달린 것이 된다. 트랜지스터 수준의 정확성이 필요하다고 기준을 정하면 사실상 클럭 및 전기 신호, 나아가서는 전기 펄스의 엣지 퀄리티 및 노이즈의 수준을 재현하고자 한다는 이야기가 된다. 이미 기판과 부품의 배치, 거리, 배선 상태나 회로의 선구조에 따라 차이나는 전기신호의 도달시간 및 품질이 마찬가지로 재현되어 입력되어야 트랜지스터 각각의 동작이 엄밀히 재현된다.

2021년 4월, 개발자 Near는 higan과 bsnes의 후계자 격으로 다기종 에뮬레이터 ares(구 홈페이지, 깃허브)를 개발했다. 오픈소스이기는 하지만 앞의 둘과 달리 자유 소프트웨어가 아니다. 라이선스가 CC-BY-NC-ND 4.0으로 영리 목적으로 쓰거나 내용을 변경해서 배포하는 것이 금지되어 있었다.

개요 문단에도 들어 있지만 개발자가 안타깝게도 자살하여 앞으로 그가 개발하던 에뮬레이터들의 향후 업데이트가 어떻게 될지는 불확실해 보였다. 그나마 SFC 에뮬 기능은 이미 완성되어서 업데이트 필요성이 거의 없지만, 다른 에뮬레이터들은 한창 개발이 진행되고 있었기 때문. 상술한 셋 다 깃허브에 오픈 소스로 공개되어 다른 이들이 이어서 개발하긴 하며, ares는 ISC 라이선스로 바뀌고 깃허브에 오픈 소스로 공개되었다.
[1] 2020년까지는 'byuu'라는 닉네임이었다. 바하무트 라군의 주인공인 에게서 따온 이름.[2] 다만 Gambatte는 2대의 기기 연결을 지원하지 않기 때문에 게임을 연결해야 하면 BGB나 유료판 My OldBoy! 등이 권장된다.[3] 인터넷에서 유명인들을 비롯한 특정 사람들을 꼽아서 미친 듯이 스토킹하며 신상을 털고 공격하는 것으로 악명 높은 포럼 사이트다. 실제로 이들의 행동으로 사이버 불링을 당하던 사람이 견디지 못하고 자살한 사례가 이전에도 여러 번 있었다.[4] 슈퍼 마리오 요시 아일랜드의 오프닝. 다만 옛날 버전이기 때문에 이 당시에는 higan도 실기와 달리 완벽하지는 않았다. 같은 업로더가 슈퍼 마리오 RPG 비교 영상도 올렸는데, 타이틀 화면에서 쿠파 성에 박힌 칼리버가 안 나오는 문제가 보인다.[5] 게임보이 초창기 에뮬레이터였던 VGB도 겪었던 문제이며, 위 내용처럼 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가 정식으로 나오기에 앞서 나온 같은 이름의 해적판 기반 게임이 바로 이 게임이다.[12] 하위 호환성을 중요시하는 윈도우에서 설마 그런 조치를 하겠느냐고 생각할 사람들이 많겠지만 실제로 x64로 이행하면서 16비트 호환 레이어를 제거한 사례가 있어서 앞으로 완전히 있을 수 없는 일이라고 단정하기는 어렵다. 하드웨어 환경이 어떻게 변해갈지 모르는 일이기 때문에 더더욱 그렇다. 윈도우의 16비트 호환 레이어 제거 결정 역시 x64의 롱 모드가 가상8086 모드를 지원하지 않기 때문에 생긴 일이다.