본문 바로가기

에뮬 , 게임 TIP

[MAME] 오락실 게임 에뮬레이터 MAME.. 오락실 화면처럼 즐겨봅시다!! 옵션 완전분석

사용자 삽입 이미지

사용자 삽입 이미지

위 두개의 화면중 어떤게 더 마음에 드시나요? 오락실을 많이 다녀본 분들은 두번째 화면에서 마치 브라운관 화면을 보는듯한 친숙함과 추억이 물씬 느껴지실겁니다. 이는 마메(MAME)에서 그래픽 옵션을 조절하므로써 쉽게 가능한 것인데.. 옵션을 어떻게 주느냐에 따라 같은 게임이라도 이처럼 그 느낌은 천차 만별로 달라집니다. (MAME는 오락실 아케이드 기판을 파일로 추출한 ROM을 Emulate해서 과거 오락실의 고전 게임들을 PC에서 즐길 수 있도록 해주는 프로그램입니다)


이 글에서 다루는 마메는 MAME32 PLUS! v0.97 입니다. MAME 0.100 버전 부터 현재(2008.8) MAME 0.126 버전 까지 MAME의 내부 시스템은 베타 테스트를 하듯 시시때때로 변하고 있기 때문에 사운드, 그래픽 시스템쪽은 특히 불안하고 오히려 퇴보된 부분도 있습니다. 특히 CAPCOM의 명작들이 몰려있는 CPS1 게임 사운드에 잡음이 끼는 버그가 있으므로.. 올드 유저분들은 제가 위에 첨부한 0.97 버전을 사용하는것을 강력히! 추천하는 바입니다. 아래에서 자세한 설명을 하겠지만 위의 링크한 마메는 개인적으로 아직까지도 가장 안정적이라 생각하는 MAME32 PLUS! 0.97 을 기반으로 게임을 60Hz로 부드럽게 구동시켜주는 SmoothMAME (스무스 마메)의 기능까지 추가시켜 컴파일한 것입니다.
 
2008/03/31 - [Emulator의 모든 것] - 최신 MAME의 CPS1(스파2, 파이널 파이트, 캡틴 코만도....) 사운드 노이즈 버그



사용자 삽입 이미지

일단 중요한 그래픽 옵션부터 살펴보겠습니다. 위 스샷처럼 Triple Buffering(트리플 버퍼링)과 Kreed's Super Eagle을 선택하는게 핵심입니다. 트리플 버퍼링은 설명이 좀 길어지니 잘 이해가 안되는 분들은 대충 넘어가셔도 됩니다. 트리플 버퍼링은 화질엔 영향을 주지 않지만 60Hz의 LCD, CRT모니터에서 물결처럼 화면이 쫙 갈라지는듯한 현상이 나타나는걸 막아줍니다. 눈썰미가 있는 분들은 FPS 장르의 게임을 할때도 이 물결 현상을 경험한적이 있을겁니다. 이럴 경우 게임내의 옵션이나 디스플레이 등록정보에서 V-SYNC 옵션을 켜거나 아니면 모니터의 리프레쉬율(주사율)만 75Hz 이상으로 올리면 해결이 되었죠. V-SYNC를 60Hz로 동기화하는 전자의 방법보다는 모니터 주사율을 높이는 후자의 방법이 60 프레임 제한도 없어져 일석 이조의 효과가 있었습니다.
 
에뮬 게임에서도 같은 방법으로 물결 현상을 없앨 수 있습니다. 하지만 에뮬에서는 모니터 주사율을 75Hz나 85Hz로 올리는 방법은 비추하고 무조건 V-SYNC 를 동기화 하기를 권장합니다. 왜냐하면 에뮬레이터 게임을 할때는 CRT건 LCD건 간에 모니터 주사율이 60Hz일때에만 움직임이 굉장히 부드럽게 보이기 때문입니다. 모니터 주사율이 75나 85Hz일때는 게임의 움직임이 60Hz 일때보다 부드럽지 못한데.. 이는 MAME의 오락실 게임들이 NTSC방식의 60Hz 브라운관에서 최적으로(초당 60프레임) 보여지도록 제작되었기 때문입니다. 지금 CRT를 75Hz이상으로 사용하는 분들은 60Hz로 설정하고 에뮬 게임에서 한번 비교해보십시요. (결론은 모니터 주사율은 60Hz로 하고.. 이로 인해 생기는 물결 현상은 에뮬레이터내의 옵션에서 V-SYNC나 Triple Buffer 옵션을 체크해서 방지하라는 뜻입니다. 마메에서는 V-SYNC관련 옵션들이 있지만 이상하게 제대로 작동하지 않기에 꼭 트리플 버퍼 관련 옵션에만 체크하십시요)

일부 게임들은 50Hz대의 주파수에 맞추어 제작된 게임들이 있는데 어떤 옵션을 주더라도 일정 주기로 뚝~ 뚝~ 끊기게 됩니다. 이런 현상을 극복하기 위해 SmoothMAME라는 변종 마메가 나와 50Hz대의 게임들을 강제로 60Hz로 구동시키는게 가능했는데 몇년째 업데이트가 안되고 있습니다. 하지만 제가 첨부한 Mame32 PLUS! 0.97 버전은 제가 이 스무스 마메의 기능을 추가시켜 컴파일한 것이기 때문에 이런 문제들이 다 해결되어 있습니다. 넷플이 가능한 한때 세계 최고의 마메였던 EK-MAME에도 제가 이 기능을 건의해서 제작자분들이 이 기능을 추가하셨습니다. 한글 메뉴에 넷플, 3D플러그인이 가능한 EK-MAME 0.90U1 버전도 제가 올린 마메와 함께 사용하시길 강력히 권해드립니다. 이후의 버전은 소스가 많이 바뀌었습니다. http://cafe.naver.com/emulk EK-MAME 공식 카페에 가시면 모든 정보를 찾을 수 있고 2003~4년쯤 활발하게 활동했던 저의 흔적을 찾으실 수도 있습니다.

(참고로 0.97버전에서는 세로 해상도가 1000정도는 되어야 스캔라인이 아주 자연스럽게 표현됩니다. CRT유저중 낮은 해상도를 사용하는 분들은 MAME만 고해상도로 구동되도록 Resolution 항목의 Size1280x1024나 1280X960으로 설정하시기를 권합니다. 이럴 경우 Switch resolutions에도 체크해야 합니다. 참고로 최신 버전의 마메에서는 그래픽 시스템이 바뀐 덕분에 모든 해상도에서 스캔라인이 자연스러워졌지만.. V-SYNC가 잘 맞지 않아 끊기는 문제들이 생겼습니다)



사용자 삽입 이미지
[# 1]

사용자 삽입 이미지
[# 2]

트리플 버퍼링에 대한 설명이 너무 길었는데 다시 옵션으로 돌아가서.. Kreed's Super Eagle 은 1번의 기본 MAME화면을 2번 화면처럼 만들어 줍니다. 오락실 화면이라고 하기엔 무언가가 아직 부족하지만 눈에 뭐가 뿌연게 씌어있듯 답답했던 느낌이 확 사라지고 깔끔해졌죠. 창 화면으로 축소해 찍은거라서 조금 심하게 깔끔해 보이지만 전체 화면일 경우 더욱 자연스러워집니다. 다른 필터들과 다르게 MMX에 최적화된 필터이기 때문에 HQ3~4X 필터를 제외하고 효과가 가장 뛰어나고 추가로 2~3배 정도로 시스템 부하를 대폭 줄여줍니다. 그래픽을 향상시키는 동시에 시스템 부하까지 줄여주는 놀라운 필터죠. 이는 요즘 최신 마메에서는 해당되지 않는 사항인데 제가 계속 0.97 버전을 사용하는 이유중 하나입니다.



사용자 삽입 이미지

이제 오락실 화면처럼 만들어주는 마지막 핵심 옵션입니다. Use Direct3D 항목을 꼭 체크하십시요. Texture management 항목도 체크를 해야 대부분의 게임이 D3D 모드로 구동시 문제가 생기지 않으며.. 간혹 실행이 안되는 게임이 있을 경우에만 체크를 꺼줍니다. 그리고 Effect 항목에서는 여러가지의 그래픽 옵션을 설정할 수 있는데.. 이 중 Scanlines 을 고르면 브라운관 화면처럼 변합니다.

이 스캔라인 효과는 화면에 미세한 검은 줄을 분포시켜 도트가 튀어 보이는 현상을 신기할 정도로 상쇄시켜 줍니다. 25% , 50% , 75% 농도의 스캔라인을 선택할 수 있는데 이 농도는 검은 줄의 진하기로.. 줄이 진해질 수록 화면이 쨍한 느낌이 들고 도트가 더욱 상쇄되지만 화면이 어두워지기에 여러가지 농도로 분류해놓은 것입니다. 좀더 세밀하게 조절을 하려면 아래 Effect overrides 항목의 스캔라인을 선택합니다. 농도 조절 역시 최신 버전의 마메에서는 없는 기능으로 제가 0.97을 사용하는 이유중 하나입니다.



사용자 삽입 이미지
[# 3]

사용자 삽입 이미지
[# 4]

어떻습니까? 스캔라인 옵션을 주니 1번의 이미지가 3번으로.. 2번의 이미지가 4번으로 변화되었습니다. 3번 이미지는 여전히 뿌연 느낌이 있는 반면 4번 이미지는 수퍼 이글 + 스캔라인의 환상적인 시너지 효과로 오락실의 브라운관 스크린틱한 화면처럼 변했죠. 앞에서 말씀드렸지만 전체 화면으로 볼 경우엔 더욱 자연스럽습니다.

Rotate Effect 옵션은 이런 스캔라인같은 효과를 90도 방향으로 회전시키는 것으로.. 스캔라인의 경우 가로가 아닌 세로 방향으로 줄이 그어지게 되는데.. 이는 세로의 길이가 긴 슈팅게임 등에서 적용할만한 것입니다. 하지만 가로일때보다 굵기가 조밀하지 못한데다 굳이 세로로 하지 않더라도 별 느낌의 차이는 안납니다. 참고로 제가 오락실에 가서 직접 관찰을 해본적이 있는데 슈팅게임의 경우 정말로 세로로 스캔라인이 그어져 있더군요. 최신 버전의 마메에서는 세로의 길이가 긴 슈팅 게임 등에서는 자동으로 Rotate Effect 기능이 적용됩니다. 그래서 옵션에서는 아예 사라졌더군요. 구버전과는 다르게 선들도 조밀하게 그어져서 자연스러워졌지만.. 그래도 최신 버전의 마메는 여러가지 이유로 비추천합니다.



사용자 삽입 이미지
[# 5]

사용자 삽입 이미지
[# 6]

5번 이미지는 Prescale 항목의 값을 설정할 경우 보여지는 화면입니다. 이 Prescale항목은 사실 중요하지 않은데 그 이유는 Super Eagle 같은 그래픽 향상 필터를 적용하게되면 아무런 영향을 주지 못하기 때문입니다. 하지만 그래픽 필터를 싫어할 수도 있는 분들을 위해 설명을 해보겠습니다. Prescale값을 설정하면 마메의 기본 화면에서 보여지던 뿌옇게 뭉개지는 현상이 사라지고 고전 도스 PC게임을 하는것 처럼 도트가 보이는 순수한 화면이 그대로 보여집니다. 이런 그림을 좋아하는 분들도 계시리라 생각합니다.

6번 이미지는 Prescale값을 2로 설정하고 스캔라인 옵션을 준 화면인데.. 스캔라인을 넣었음에도 투박한 도트의 느낌이 약간 묻어납니다. 예전 2001~2년도에 인기가 많았던 마메론(MAMELON) 같은 에뮬레이터는 기본 화면이 이런식으로 도트가 느껴지는 화면이었죠. 당시 마메는 D3D 관련 옵션도 없었고 그래픽 향상 필터를 쓸 수 있는 MAME32 PLUS! 같은 변종 마메도 없었기 때문에 아무리 옵션을 설정해도 6번 이미지와 같은 화면으로 할 수밖에 없었던 시절이었습니다.


 
사용자 삽입 이미지
[MAME의 기본 화면]

사용자 삽입 이미지
[Kreed's Super Eagle + Scanlines 75% 옵션 적용]

이로써 그래픽 옵션에 대해 자세히 알아봤는데.. 이 글의 결론은 Kreed's Super Eagle 필터 + D3D의 Scanlines 옵션을 사용하면 화면이 오락실에서 브라운관을 보는듯한 화면과 흡사하게 바뀐다는 내용입니다. 이는 MAME에만 적용되는 사항이 아닌 패미컴, 슈퍼패미컴, 메가드라이브 같은 여러 게임기 에뮬레이터에도 적용됩니다. 요즘 에뮬레이터들은 이런 그래픽 향상 필터나 스캔라인 옵션을 기본적으로 내장하여 나오고 있으니까요. 지금까지 그냥 기본 설정의 화면으로 에뮬 게임을 하셨다면.. 이번 기회로 오락실의 화면으로 설정하여 즐겨보시기 바랍니다.

이제부터는 마메의 다른 옵션 항목에 대해 추가적으로 설명을 해보겠습니다. 화면이나 사운드에 영향을 주지는 않지만 설정해주면 몸이 편해지는 옵션들이 분포해 있으니.. 자세히 모르셨던 분들은 도움이 되셨으면 하네요.



사용자 삽입 이미지

Display 항목에서는 위처럼 ThrottleSleep when idle 항목에 꼭 체크를 하십시요. Sleep when idle 을 체크하면 게임을 할때 CPU사용률을 대폭 줄일 수 있습니다. 체크하지 않으면 1942나 보글보글 같은 에뮬레이션이 가벼운 게임을 하건.. CPS3 같은 에뮬레이션이 벅찬 게임을 하건 무조건 CPU 자원을 100% 사용하기 때문에 전기도 많이 먹고 비효율적입니다. Enforce aspect ratio 항목을 체크하면 게임의 해상도 비율에 맞게 보여져 위 아래로 검정 여백이 생깁니다.



사용자 삽입 이미지

기타 항목에서 Enable game cheat 에 체크를 하면 게임에서 치트를 사용할 수 있습니다. 치트란 저도 대강 알고 있는 정도이지만.. 게임 개발자들이 게임 출시전에 여러가지 테스트를 하기 위해 캐릭터를 무적으로 만든다거나 하늘을 날 수 있게 하는등 개발자용으로 만들어놓은.. 스타크래프트로 치자면 show me the money 같은 존재라 보면 됩니다. 개인적으론 치트를 사용해서 게임을 즐기지는 않지만 여러가지 테스트를 할때는 유용하게 사용하는 기능입니다. 저와는 달리 치트를 좋아하는 분들도 많이 계시고요.. http://www.emulcrash.com 같은 대표적 에뮬 사이트에서 cheat.dat 파일을 다운 받아서 MAME가 설치된 폴더에 넣은뒤.. 게임 내에서 TAB키를 눌러 치트 메뉴를 활성화하면 치트를 사용할 수 있습니다.

M68K Core 항목은 기본이 C 로 되어있는데 ASM으로(어셈블리언어) 설정하면 좀 더 효율적인 에뮬레이션이 가능합니다. 요즘의 컴 사양으로는 에뮬레이션이 벅찬 게임이 거의 없으므로 그리 유용하지는 않지만 펜티엄3 같은 낮은 사양의 컴퓨터에서는 아주 유용한 옵션이죠. 단 일부 게임은 ASM으로 설정시 작동이 안되는 경우가 있습니다. Conform on exit나 Skip 관련 두 옵션은 스샷처럼 해주시면 게임 실행이나 종료시에 확인 메세지를 누르는 수고를 줄일 수 있습니다.
 
Use transparent in-game 옵션에서는 게임내에서 TAB키를 누를시 나오는 메뉴의 투명도를 조절할 수 있습니다. Use additional game artwork 옵션은 체크를 할 경우 게임 실행시 아트웍 이라는 게임 표지등이 화면에 떡하고 나오는데.. 이는 화면 크기를 대폭 줄이기 때문에 개인적으로는 사용하지 않는 옵션입니다. 이에 대한 스크린샷과 설명은 http://cafe.naver.com/emulk.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=1080 을 참조하세요.



사용자 삽입 이미지

이제 게임 옵션에 대한 설명은 끝났고 마메 인터페이스 옵션을 마지막으로 보겠습니다. 많은 분들이 마메를 실행할때마다 수천개의 롬 파일 검색을 해대느라 불편함을 겪는 분들이 계실텐데.. 인터페이스 옵션에서 Search for new games on.. 옵션에 체크를 해제하시기 바랍니다. 롬을 추가할때마다 그냥 F5 키만 눌러주면 재검색이 되므로 이 옵션은 끄십시요.



사용자 삽입 이미지
(클릭하면 원본 크기로 볼 수 있습니다)

제가 사용하는 마메 스크린샷을 찍어봤습니다. 청녹색의 배경 타일을 비롯해 여러가지 타일들은 제가 본문에 첨부한 MAME32PLUS! 0.97 버전에 포함시켜놨습니다. 마메 아이콘이나 스크린샷은 전부 제가 직접 제작하여 사용하는 것이기에 MAME에 더욱 애착이 간답니다. 스샷에서 빨간색으로 밑줄친 부분을 클릭해보면 화면 구성이 여러가지로 바뀌는데 여러분들도 취향에 맞게 한번 만져보십시요. 추후에 MAME 게임 아이콘을 제작하는 방법과 제가 제작한 수백가지의 아이콘 팩을 올려보겠습니다. 제 포스트로 인해 여러분들이 MAME에 더 많은 애착을 가질 수 있었으면 좋겠네요.

포스트 내용이 마음에 드시면 rss로 구독하세요 ->