개요
이전에 집에서 노는 라즈베리 파이에 ArcadePunks와 같은 곳에 올려진 소위 한방팩 롬이라 불리는 패키지를 이용하여 손쉽게 레트로 게임 환경을 구축해본 적이 있다. 이러한 한방팩은 특별하게 설정을 신경쓸 필요 없이 이미지를 복사하는 것만으로도 레트로 게임 환경을 구축할 수 있게한다.
나는 아주 오래전에 마메 에뮬을 이용하여 게임을 해본것 말고는 수 많은 기기의 에뮬레이터가 등장한것도 모른채 오랫동안 큰 관심이 없었는데 그동안 Retroarch와 같은 에뮬 게임을 위한 전용 프론트엔드와 Batocera와 같은 리눅스 기반의 레트로 게임 전용 운영체제가 등장할 정도니 이 분야의 발전도 상당해 보인다.
나의 대부분의 작업환경은 macOS이다 보니 맥 환경에서 에뮬 게임 환경을 구축해본 기록을 남겨본다. 깔끔하고 쉽게 사용 가능한 GUI 기반인 OpenEmu를 이용할 수도 있지만 업데이트가 뜸해 지원이 부족하고 많은 사람들이 만들어 놓은 테마를 사용하는데도 문제가 있다.
그래서 다른 운영체제에서 레트로 게임환경을 구성하는 방식과 동일하게 멀티 플랫폼을 지원하는 Retroarch와 Attract-Mode를 이용하여 macOS 환경에서 구성해보았다.
준비
- macOS 12.3 (Monterey), Intel
- Attract-Mode 2.6.1
- Retroarch Metal 1.10.3
Attract-Mode와 Retroarch는 홈페이지에서 macOS용으로 빌드된 DMG 파일을 다운로드 후 설치를 진행하였다.
설정
한글 메뉴 적용
Attaract-Mode를 실행하면 언어를 설정하게 된다. macOS에서 실행한 Attract-Mode는 Arial 폰트가 기본으로 설정되어 있는데(나의 영문 macOS 기준) 해당 폰트는 한글이 표시되지 않는다. Font 설정에서 한글 폰트를 지정하여 한글을 사용할 수 있다.
내 경우에는 유저 폰트 디렉터리에 이미 설치되어 있는 D2Coding을 사용하였다. 취향에 따라 폰트를 지정하고 사용 언어를 한국어로 변경한다.
Retroarch는 설정 (Settings) – 사용자 (User) 항목에서 Language를 한국어로 바꾸는 것 만으로 한글 메뉴가 적용된다.
에뮬레이터 설정
Attract-Mode는 게임 구동을 위한 에뮬레이터가 포함되어 있지 않기 때문에 Retroarch를 사용하여 에뮬레이터를 설치한다. macOS의 Retroarch도 Windows나 Linux와 크게 다르지 않다. 온라인 업데이터 메뉴에서 코어 다운로더를 선택하여 원하는 에뮬레이터(코어)를 설치할 수 있다. macOS를 지원하지 않는 일부 에뮬레이터의 경우는 목록에 표시되지 않는다.
시험을 위하여 MAME와 SNES9X를 설치하였다.
Retroarch에서 설치한 에뮬레이터를 Attract-Mode에서 사용하기 위해서는 설정이 필요하다. Attract-Mode의 설정의 에뮬레이터 메뉴에서 새 에뮬레이터 등록
으로 게임 에뮬레이터를 등록할 수 있다. snes라는 이름으로 등록한 에뮬레이터의 초기 설정은 아래와 같다.
주요 설정으로는 게임 구동을 위한 에뮬레이터 실행 파일과 인자, 게임롬이 위치한 롬 파일 경로이며. 나머지는 필요에 따라 설정하면 된다.
에뮬레이터는 Retroarch를 이용할 것이기 때문에 에뮬레이터 실행 파일 경로는 아래와 같다.
/Applications/RetroArch.app/Contents/MacOS/RetroArch
실행 인자에는 SNES 에뮬레이터 구동을 위한 설정과 롬 파일이 필요하다. SNES 구동을 위한 에뮬레이터는 $HOME/Library/Application Support/RetroArch/cores
경로에 위치한다. 인자는 아래와 같이 설정된다.
-f -L $HOME/Library/Application\ Support/RetroArch/cores/snes9x_libretro.dylib "[romfilename]"
-f
는 게임선택 후 전체 화면으로 구동하기 위하여 사용하였다. -L
옵션으로 롬 구동을 위한 에뮬레이터를 지정한다. MAME의 경우 mame_libretro.dylib
와 같이 변경할 수 있다.
설정은 사용자 홈디렉터리의 ./attract/emulators/snes.cfg
에 아래와 같이 저장된다.
executable /Applications/RetroArch.app/Contents/MacOS/RetroArch
args -f -L $HOME/Library/Application\ Support/RetroArch/cores/snes9x_libretro.dylib "[romfilename]"
게임 롬 경로에 시험을 위한 게임을 넣어두고 에뮬레이터 설정에서 롬 목록 생성
으로 롬 목록을 생성하면 아래와 같이 게임 목록이 나타난다.
한글 게임명 출력
시중의 월광보합처럼 한글로 게임명이 나오는걸 선호할 수 있다. 맥에서 한글 파일명이 포함된 롬을 다운로드 후 목록을 갱신한 결과 아래와 같았다.
macOS의 한글 파일명 표기 방식으로 자소가 분리된 파일명을 수정하고 다시 롬 목록을 생성하거나 $HOME/.attract/romlists
에 위치한 롬 목록 파일에서 UTF-8 형식에 맞추어 직접 타이틀을 수정하면 된다.
테마 적용 시험
인터넷에 공개된 유명 테마를 적용하고 시험해보았다. 기본 설정으로는 한글 출력에 문제가 있어 테마 레이아웃 옵션에서 폰트를 재설정 하였다.
한글 게임명 출력에 문제가 있는 경우 폰트가 제대로 설치되어져 있는지와 폰트명이 올바르게 설정 되어있는지 확인해보고 수정한다.
기타
에뮬레이터 설정 중 Non-Blocking Mode Wait 설정이 0인 경우에는 에뮬레이터가 정상 구동되지 않는 경우가 있다. 해당 값을 10 정도로 수정하여 실행한 결과 문제가 발생되지 않았다. 문제가 발생되는 경우 구동 환경에 따라 알맞은 값을 설정한다.
D2Coding 폰트를 사용할 때 일부 문제가 발생된 경우가 있다. 일부 테마는 특정 폰트를 요구하기도 하니 다른 폰트 (ex: 나눔폰트 등)를 설치하여 적용해보도록 한다.
롬 목록 생성 후 팬 아트워크 다운로드를 실행하면 관련된 이미지 등을 다운로드 후 알아서 적용하게 된다.
결론
Retroarch와 Attract-Mode가 멀티 플랫폼을 지원하기 때문에 당연히 쉽게 구성이 될거라 생각했지만 macOS에서 직접 구성한 사례를 찾기가 쉽지 않았다. 어려운 일은 아니지만 나 역시 매뉴얼을 제대로 읽어보지 않았기 때문에 제대로 설정한 것인지는 알 수 없다. 하지만 나처럼 설치해보고 대충 설정해보고자 하는 사람도 있을거 같아 기록을 남겨둔다.
(사실 맨땅에 헤딩해가며 설정했지만 문서를 쓰면서 검색을 해보니 비슷한 설정 방법이 Windows용으로 잘 나와 있는걸 보았지만 정리해둔게 아까워 남겨둔다…)
테마 작성은 상당한 노력이 들기 때문에 왠만하면 한방팩과 같이 미리 만들어 놓은것을 적용하는 것이 좋을듯 하다. 개인적으로는 특별히 테마나 설정에 관심 있거나 게임 구동에 문제가 있는 사람이 아니라면 그냥 OpenEmu를 사용하는 것이 제일 편하다.