MAME

 


[image]
공식 홈페이지
1. 개요
2. 상세
3. 기능 및 특성
4. 변종들
4.1. 목록
5. 경고문의 종류
6. 여담


1. 개요


''''M'''ultiple '''A'''rcade '''M'''achine '''E'''mulator'의 약자. 말 그대로 오락실 게임 기계의 CPU, 비디오, 사운드 등을 가상으로 구현해서 기판에서 PC로 덤프된 롬 파일을 실행시키는 에뮬레이터. 2016년에 BSD/GPLv2 이상으로 갈아타서 현재는 자유 소프트웨어이다.

2. 상세


오락실 게임을 돌리는 에뮬레이터이기 때문에 일단 프로그램 자체는 가볍다. 다만 PC, 맥, XBOX, 플레이스테이션 등 게임을 구동할 수 있는 플랫폼이 어느 정도 한정되어 있는 가정용 게임 산업과는 달리, 오락실 게임들은 업체마다 사용하는 플랫폼이 천차만별이기에 MAME는 버전 업되어 게임이 추가될수록 그 플랫폼들을 하나하나 모두 지원해야 하기 때문에 요구되는 시스템 사양은 점점 늘어나고, 용량이 커질 수밖에 없다.
심지어 0.141을 기점으로 핀볼, 사행성 게임 같이 비디오 입력부를 일부만 사용하거나[1] 전혀 사용하지 않는 아날로그적 게임들이 대량으로 늘어나서 오락실이 아닌 넓은 의미의 '어뮤즈먼트 시설'에서 돌아갈만한건 다 지원하기 시작했다. 그리고 이러한 핀볼이나 비디오슬롯의 종류는 엄청나게 많아서, 이를 기점으로 MAME 롬리스트가 곱절은 더 무거워졌다. 그리고 0.19X대로 가면 80~90년대에 유행했던 게임 & 워치같은 LSI 휴대용 게임기들까지 에뮬레이션하는 지경에 이르렀다.
대부분의 사람들은 이것을 게임을 플레이하는 용도로 사용하지만, MAME 제작진들은 게임플레이는 뒷전이고 기계를 정확하게 그대로 재현하는 데만 신경을 쓰기 때문에 최근에 나온 빠른 기판들은 최적화가 전혀 안 되어 속도가 매우 느려서 애를 먹는 사람들이 많다. 게다가 게임에서 투사체가 많아지는 경우에 발생하는 처리지연까지 재현해 놓았다. 이 경우에 CPU 오버클럭 설정을 변경해 주어야 한다. 다행히도 2000년대 중후반부터 멀티쓰레딩을 지원해서 듀얼코어 CPU 이용자들은 그나마 덕을 본다. 사실 최소 최적화는 구시대 유물이 된 펜티엄4로도 거의 호환된다. 다만 2021년 기준으로 펜티엄 듀얼코어/2기가 램으로 돌릴시 일부 게임들은 렉이 심하다. 특히 데몬프론트 이는 본래 MAME의 목적이 아케이드 게임을 플레이하는 것이 아닌 과거 존재했던 게임들의 '''보존'''이 목적이기 때문이다.이때문에 MAME에서 지원하는 하드웨어에는 아케이드기기외에도 구형PC나 콘솔등도 지원기기에 들어가 있다.
현재 집계된 과거형 오락실 게임만 하더라도 5천 개를 넘었다. 그걸 하나하나 다 해보는 유저들도 대단하다. 70% 이상의 게임이 구동되지만, 일부는 비디오/스트림 덤핑/에뮬레이팅 같은 문제로, 구동은 되는데 제대로 안 돌아가거나 버벅거린다(...). 심지어는 태고의 달인 시리즈는 부팅도 안되고 일부 팝픈뮤직 시리즈는 부팅은 되지만 그상태로 뻗어버리거나,부팅이 되어도 메인보드의 리튬 배터리가 바닥났다고 인식하는지 인증번호를 받으라고 하는데 아직 개선이 안된것 같다. 어떤 게임들은 샘플로 사운드를 재생하는 편법을 쓴다. 모나코 GP처럼 TTL#s-4만 쓰는 비 CPU 기반 게임은 웬만하면 지원하지 않고, 성능 문제인지 세가의 MODEL1은 몇 개의 게임만 불완전하게 지원한다. MAME 0.193 기준 버추어 레이싱은 거의 실행 가능 수준이며, 버추어 파이터는 실행할 수는 있지만 다운공격을 못 한다. MODEL2MODEL3는 아예 지원하지 않다가 2018년 이후로 간신히 구동할 수는 있게 되었으나 즐길 수준이 되려면 10년은 걸릴 것 같다.
2010년에는 개발자들의 노력으로 흑역사하이퍼 네오지오 64도 MAME로 실행할 수 있게 되었으나 완벽하지 않다. 사운드를 지원하지 않고,[2] 특히 시혼 64는 라이프바, 컷인 등등 2D 그래픽들이 폴리곤에 가려지는 처참한 모습도 볼 수 있다. 기기가 처음 출시된 지 20년이 넘었지만 갈 길은 아직 멀어 보인다.
2011년에 케이브 3세대 게임들이 지원되어 뭇 슈팅 덕후들에게 충격과 공포를 안겨줬으나 아무래도 XBLA로 파는 게임도 있는 만큼 케이브 측이 직접 MAME 팀에 케이브 3세대 게임들을 지원 목록에서 삭제해 달라는 요청을 했다. 그리고 2014년 1월 1일 자로 공식 지원 목록에 다시 추가되어서 MAME 0.153부터 다시 공식적으로 지원한다. 다만 처리지연을 아직 지원하지 않아서 MAME로의 구동 시에 처리지연이 일어나야 하는 곳에서 난이도 상승.
구동되는 게임이더라도 출시된 지 5년이 지나지 않은 게임은 지원을 안 하는 것도 일종의 암묵의 룰이다. 솔직히 일부 게임을 제외한 대부분의 롬은 저작권 위반으로 봐야 한다. 최신 게임의 롬 파일이 돌아다니면 개발사 측이 당장이라도 MAME 개발자, 롬 배포자 등에게 고소미#s-2를 시전해서 MAME의 존속과 업데이트를 위협할 테니 그 위험을 피하려고 5년 룰을 만들어 스스로 준수한다고 보면 될 듯. 한 예로, 예전에 CPS2 롬을 덤프한 사람은 3년이 지나지 않은 게임은 덤프된 자료를 아예 공개하지 않았다. 하이퍼 스트리트 파이터 2가 대표적인 예시. 네오지오 때(1998년 ~ 2004년)는 그거 다 무시되고 개조된 버전들이 돌아다니기도 하였지만... 또 케이브 사의 게임인 에스프레이드, 구완게, 도돈파치 역시 이 5년 룰이 위반되어 지원된 적이 있다. 한편, 90년대 후반 이전에 출시된 낡은 게임들은 판매가 중단되면서 주력이 아니게 되었기 때문에 게임 개발사들 측도 그냥 묵인하고 넘어가는 경우가 대부분이다.
0.148 버전까지는 디렉터리 내부 구조를 헤더로써 열어봐도 되는 파일과 안 되는 파일로 구분했지만, 0.150 버전부터는 열람을 아예 못 하게 막아놨다. 불법적으로 여기는 사람들 때문인 듯.
버블 시스템그라디우스트윈비도 지원한다.

3. 기능 및 특성


마메가 제공하는 게임들은 동전이 필요한 오락실 게임이고, MAME의 특성상 크레딧을 무한히 사용할 수 있는 덕분에 오락실에서 못 깨온 수많은 게임의 엔딩을 볼 수 있게 되었다. 발컨이라도 무한 코인 러시로 게임을 클리어할 수 있지만, 게임에 따라서는 코인 러시로도 해결하지 못할 정도로 악랄한 구간이 있거나 컨티뉴 자체가 없는 게임도 있으므로 게이머의 실력 을 요구하는 경우가 있다.
MAME도 창 모드로 실행할 수 있다. 커맨드 창에 'mame.exe -createconfig'를 입력하면 'mame' 디렉터리 내에. mame.ini가 생성된다. 이 파일 내부에 window 다음에 '0'인 부분을 '1'로 수정하고 MAME를 구동시키면 창 모드로 플레이가 된다. 다만 프론트엔드와 같이 쓰는 게 일반적이거니와 한참 더 편하기도 해서 딱히 알아둘 필요는 없고, 아는 사람도 적다.
MAME 0.142u4 버전부터 HLSL 기능을 지원하는데, GPU가 픽셀 셰이더 3.0 이상을 지원하는 경우에 이걸 통해서 CRT스럽게 화면을 볼록하게 할 수도 있고 화면 뭉개기 등을 사용할 수 있어서 좀 더 새로운 화면으로 게임을 플레이할 수 있다. 물론 MAME와 소스 및 버전 번호를 공유하는 MESS도 마찬가지. 다만 MESS는 0.162부터 MAME에 통합.
버전업데이트 마다 롬파일의 업데이트가 많은 편이다. 기존 버전 잘되던 게임이 업데이트 후 롬파일이 없다면서 실행이 안되는 경우가 생기는데 이것은 버전업하면서 해당 게임에 추가 롬덤프가 생겨서 그런 것으로 매번 업데이트 할때마다 추가 롬 덤프를 참고해서 업데이트하기에 업데이트 하기전 미리 화면 캡쳐등을 해서 저장하고 업데이트 후 롬 재검색한 다음 빠진 게임을 찾아서 해당 게임의 최신 롬 덤프를 하면 해결 된다. 정확성을 중시하는 에뮬레이터의 특성상 해당 게임의 롬에 추가 롬파일이 있다면 그것을 기준으로 다시 재 수정하기 때문이다. 문제는 롬파일이 덤프도 안되었는데도 대놓고 아직 덤프는 안되었는데 일단 이런 추가 롬파일이 필요하다라고 표시하는 것도 있다. (...) 하여튼 이런 문제로 롬덤프 업데이트를 전문으로 하는 사이트들도 있다.

4. 변종들


MAME는 오픈소스라서 윈도우즈가 아닌 다른 OS용으로, PC가 아닌 다른 기종용으로도 많이 나왔고, 나아가 GP32용과 PSP용도 있다(하드웨어 성능 때문에 실행되는 게임들이 보통 고전 게임에 한정되나 소스를 잘 다듬으면 현재 나온 게임기로도 구동은 할 수 있다고 한다.). 그래서 몇몇 게임 제작사에서 자사의 고전 게임 모음 컬렉션에 MAME 소스를 사용하기도 한다.
게임 개발사들과의 저작권 분쟁을 피하기 위해서 2016년까지는 소스 코드를 열람하고 수정할 수는 있었지만 상용으로 재배포할 수 없었다. 시간이 지나면서 새로운 문제가 생겼는데, 가령 입장료를 받는 게임 박물관에서 고전 게임을 전시하거나, 게임 제작사에서 자사의 게임을 MAME를 통해서 배포하고 싶어도 상용 배포 금지 조항이 문제가 되었다. 그래서 MAME 프로젝트 측에서는 2015년부터 거의 1년 동안 모든 개발자들을 찾아다니면서 BSD/GPLv2 이상으로의 라이선스 변경 동의를 얻었고, 그 결과 2016년 3월에 라이선스 변경이 확정되었다. 가마수트라의 관련 글. 물론 100% 해결된 것이 아니라서 플라워처럼 드라이버 개발자가 불명인 게임은 에뮬레이션 코드 라이선스가 해결되지 않아 결국 빠졌다.[3]
오락실로 가면 400가지 게임기니 매직박스니 여러 게임 가운데 하나를 골라 플레이할 수 있는 기계를 종종 볼 수 있는데, 다름아닌 이 MAME를 베이스로 둔 컴퓨터를 캐비닛에 넣어 구동하는 위대한 대륙의 물건이다. 키 설정을 게임별로 저장할 순 없는 건지 KOF 시리즈에 맞춰 나이키 키배열(위에서부터 4 5 6 1 2 3 배열)로 되어 있는지라 스파 시리즈를 비롯한 캡콤의 6버튼 격투 게임들은 위아래가 뒤바뀐 키배열이 되니 정신건강상 없는 셈 치는 게 좋다. 또한 반응 속도가 조금 느리다는 이야기도 있다. 이런 기기 가운데 월광보합 같은 물건들은 인터넷 쇼핑으로 쉽게 구할 수 있다. 물론 게임 제작사들과의 저작권 협의는...
덤으로 포포루에서도 MAME의 소스를 쓱싹하여 서비스를 제공하는 데에 쓰기도 했다. 포포루 초기 시절에 GM이랑 대결하는 이벤트방을 열었는데, 거기서 몇몇 유저가 마메 베낀 거냐고 질문하자 대답은 그런 오해를 많이 받지만 베끼지 않았고 독자적인 소스를 사용하고 있다고 했다(...). 모든 게임은 롬 파일로 구동되며 특정 지점에서 세이브 된 파일을 로드하면서 게임이 시작된다. 한 예로, 날짜에 따라 바뀌는 킹오파 98의 캐릭터 사이의 상성도 포포루에선 365일 언제나 고정이었다. 제작자와의 협의는 벌이지 않은 듯. 포포루도 사실 불법의 여지가 있었다. 사실상 그들도 저작권 준수, 적법성에는 아무런 책임을 지지 않는다고 언급했으니.

4.1. 목록


  • MAME Plus!: 개발 중단. 컴퓨터에 큰 부하를 가져오고 MAME의 기본 원칙들을 모두 어겼기 때문에 공식 포럼에서 저 에뮬레이터 이야기를 하면 달갑지 않게 보는 상황이 종종 보인다.
  • MAME Plus Plus!: 일본에서 제작. 넷플레이 기능을 제공하여 상당한 인기를 끌었으며, 원래 극악한 프레임 수를 보여주는 3D 게임에 Zinc 플러그인 기능을 제공하여 마메 최초로 3D 게임을 원활하게 구동하게끔 한 놀라운 변종이다. 허나 당연하게도 Zinc 제작자가 무단으로 배포했다며 분노하였고, MAME Plus Plus!를 계속 업데이트하면 Zinc를 더 이상 개발하지 않는다고 엄포를 놓은 관계로, 한 때 이 버전이 개발이 중단되어 있다가 3D 게임 기능만 빠진 채로 2015년에 버전 업을 재개했다. 변종 마메의 하나인 MAMEhub는 한 기기 안에 두 명 이상의 플레이어와 협력/대전 플레이를 지원한다. 이 경우에는 까임보다 옹호가 오히려 더 많다.
  • MAMEUI64 모든 UI 마메의 기반이 되는 에뮬레이터 마메 GUI 관련의 기본 인터페이스와 소스는 대부분 이것을 기본으로 하고 있다. 순 마메의 기본 기능에 충실하면서도 윈도우에 맞게 GUI인터페이스를 하고 있다. 대부분의 마메는 마메UI를 기반으로 포크된 것이라 보면 된다.
  • MAME32k 카일레라 넷플레이를 위한 마메이다. 카일레라 시대부터 그대로 업데이트 되어온 마메이다. 초창기엔 저사항이 많았던 시대라 MAME32k도 무거운 편이라서 마메론으로 갈아타는 경우가 많았었다. 32bit dll 기반의 카일레라 마메의 특성상 어쩔 수 없이 32Bit 에뮬레이터이다. 대신 구형을 기반으로 하고 있기에 매우 가볍고 빠른 성능을 자랑한다.
  • PINMAME: 핀볼을 구현. 기본 롬은 전광판과 I/O 관련밖에 표시되지 않지만 핀볼 기계에 새겨진 그림들과 LED 점등 여부를 구현한 아트웍 파일들이 있어야 제대로 구동되는 식인 듯한, 곧 비주얼 핀볼로 핀볼 에뮬통을 만들라는 의도인 듯하다. PINMAME용 롬들이 수천 개 단위이다 보니 이 PINMAME 전용 롬이 편입된 0.141버전부터 전체 롬 스캔 속도를 올리는 데에 일조하였다.
  • 울프마메: 스코어링의 신뢰성을 위해 TAS와 강제 세이브 같은 기능을 제거.
  • HBMAME: MAME가 지원하지 않는 일부 기판과 홈브류, 핵롬들을 지원한다. 모나코 GP처럼 사운드 샘플이 있어야 하는 게임도 물론 있지만.
  • houba: 철권 태그 토너먼트 멀티플레이 시에 많이 사용. 카일레라를 이용하는 넷플레이를 지원한다. 더불어 일부 게임들에 있는 핵롬을 구동하게 해주는 변종이다. 이를테면, 보스를 바로 고를 수 있는 킹오파 핵롬과 같은 것들.
물론 그것도 아무거나 집어넣고 돌아가길 바라지는 말아야 한다. 후바가 지원하는 핵롬이어야만 후바로 돌아갈 수 있기 때문. 게다가 핵롬의 경우 부모롬(순정롬 또는 일반롬)을 요구하기 때문에 부모롬도 필요하고, 일부 핵롬은 아예 핵롬을 요구하는 경우도 있다. 즉, 부모롬과 핵롬A를 요구하는 핵롬B가 있다. 일반적으로 핵롬은 "보스 선택"을 할 수 있게 만든 핵롬부터, '기술변경 및 삭제', '커맨드 변경', '대미지 증가', '무적', '적 변경'과 같은 기능을 제공한다.
  • ARCADE : MAMEUIFX의 변종. 실행 가능 아케이드 게임만 남겨놓고 모두 쳐내서 가벼워졌다.
한글판 마메로 ARCADE와 HBMAME에서 지원하는 게임들을 모두 포함하고있다.
  • 특징
    • 콤보키 : 대전 게임이나 각종 해킹된 게임의 버튼을 쉽게 조작할 수 있도록 지원한다.
    • 화면 향상효과 : glsl 나 bgfx 와 같은 복잡한 화면 효과가 어려운 사람들이 쉽게 원클릭으로 설정할 수 있다.
    • 다이렉트X 8 입력 지원 : 현재는 공식마메에서 지원 중단
    • 모든 메뉴 및 게임 리스트가 한글화되어 있어 영어를 못하는 어린이들도 쉽게 할 수 있다는 장점이 있다.
    • EKGUI 제공 : 복잡하고 어려운 설정을 쉽게 할수 있도록 지원하는 별도의 실행기.

5. 경고문의 종류


에뮬레이션에 이상이 있는 경우에 "There are known problems with this game:"(이 게임에는 다음과 같은 문제점이 있습니다.)이라는 문구 밑에 종류에 따라 아래와 같은 경고문이 나온다. 키보드의 'o', 'k'키를 누르거나 조이스틱을 좌우로 움직이면 그냥 넘겨진다.
  • One or more ROMs/CHDs for this game are incorrect. The game may not run correctly. (롬/CHD 하나 이상이 그릅니다. 게임 실행이 부정확할 수 있습니다.)
  • The video emulation isn't 100% accurate. (화면 에뮬레이션의 정확성이 100% 미만입니다.)
  • The sound emulation isn't 100% accurate. (사운드 에뮬레이션의 정확성이 100% 미만입니다.)
  • The colors aren't 100% accurate. (색의 정확성이 100% 미만입니다.)
  • The game lacks sound. (게임이 소리가 나지 않습니다.)
  • The colors are completely wrong. (색이 완전히 다릅니다.)
  • Screen flipping in cocktail mode is not supported. (칵테일 모드로의 화면 뒤집기를 지원하지 않습니다.)

6. 여담


  • 발음의 경우 한국에서는 '마메'로 굳었기 때문에 '메임'이라고 하면 못 알아듣는다. 어차피 주로 인도유럽어족계 말로도 '마메'라 발음하니 언어마다 다르다고 할 수 있다. 'MAME'는 약자이므로 발음이 정확히 규명된 게 아니다. 그래서 국내에서도 MAME 개발 초기에 발음을 다룬 병림픽이 한참 일었다. 특히 천리안 컴퓨터소그룹의 에뮬레이터 소모임(에뮬스트라이크, comgo.es)에서도 '마임', '메임', '마메' 등으로 MAME 개발과는 하등 관계없는 국내 유저들끼리 열띈 토론이 일었으나 결국 당시에 mamedev를 이끌던 Nicola Salmoria에게 e-mail을 보내어 'MAME'의 공식 발음을 Nicola Salmoria에게서 'mah-meh(마메)'로 확답 받았다. 그 뒤로 국내에서 '마메'로 굳은 것이다. 당시에 Nicola Salmoria에게서 받은 메일은 천리안 해당 소모임 게시판에 공개되어 있었으나 현재는 해당 자료를 찾을 수 없다.
  • 김마메의 이름은 이 에뮬레이터의 이름에서 따왔다고 한다.
  • 2017년 2월을 기점으로 20주년을 맞았다.
  • 신기하게도 애플의 일부 구형 컴퓨터, 코모도어 일부제품, 팜OS, 아이폰 1세대 등도 지원한다. 하지만 목록에만 있고 안되는경우도 많다. 아이폰 같은경우는 롬도 구하기 힘들다. 그냥 전용 에뮬레이터를 쓰자. 이외에도 닌텐도DS, 게임보이, PS2, PS1, IBM의 PC들, 대우, 골드스타, 삼성, 파나소닉, 미쓰비시 등의 MSX, 마그나복스 오디세이 시리즈, CDi, 같은것도 있는데 작동하는것도 있으니 잘 찾아보자.[4]
[1] 나머지는 LCD 표시 에뮬레이션같은것에 해당한다.[2] 2016년 1월 24일 기준으로 최신 버전은 사운드가 나오지만 제대로 나오진 않고 그나마 나오는 것도 굉음 수준이다.[3] 0.172 버전에서 SD/GPLv2로 라이센스를 바꿀 때 라이센스 문제로 구동 목록에서 없어졌었다가 0.192 버전으로 판올림할 때부터 다시 구동된다.[4] 별 신기할 것도 없는 게 MAME 는 저 외에도 보통 사람들이 이름도 잘 모르는 수 많은 고전 컴퓨터들을 파생 버전까지 구현하고 있다.(RadioShack, Sinclair, Amstrad 등 다양한 회사 컴퓨터) 정확히는 원래 MESS 라는 별도의 프로젝트가 있었으며, MAME 0.136 버전부터 MAME 에 통합된 것이다. 물론 일부 구현이 제대로 안 되어 있거나 롬 덤프가 미흡한 것도 있다. 제대로 구현된 것들의 경우 당연히 해당 컴퓨터용 게임들도 대부분 돌아간다. Apple II 와 같이 서드파티 확장 슬롯 장치가 많이 판매된 경우 그런 확장 슬롯 장치도 자주 쓰던 것을 포함해서(MockingBoard 라든지) 나름 잘 구현되어 있다. 많은 구형 기종들을 각각의 좀 더 좋은 에뮬레이터를 쓰는 것도 좋지만 MAME 하나로 통합해서 쓰면 편리한 점이 많으므로 생각보다 괜찮은 편이다. 덤으로 대부분 MAME 의 디버거 환경을 그대로 지원하게 되므로 개발 등 특수한 목적으로는 더 편하기도 하다.