상세 컨텐츠

본문 제목

AI 테트리스 미사미노(Misamino) 소개

본문

 

미사미노 예시

 

이번에 소개 드릴 것은 AI(인공지능) 테트리스 프로그램 미사미노(Misamino)입니다. 멀티플레이는 안 되지만 연습용으로 매우 좋은 프로그램입니다.

 

특히 이 게임은 턴제·실시간을 선택해서 플레이할 수 있어서, 연습 목적에 따라 다르게 활용할 수 있습니다. 게다가 실시간의 경우 속도·난이도 설정도 가능하기 때문에, 자신과 맞는 상대를 금방 만들어서 플레이 할 수 있다는 장점도 있습니다. 이 글에서는 설정 방법도 알려 드릴 것입니다.

 

목차

1. 예시 영상

2. 설치 및 실행

3. 필수 설정

4. 마무리

 
 

1. 예시 영상

아래 영상은 Misamino AI끼리 대결하는 모습입니다.

 

참고로 이 프로그램에 사용된 소리는 Tetris Online (Japan)이라는 게임에서 사용되었던 사운드입니다. 이미 옛날에 운영이 끝난 게임입니다.

최신 버전(1.4.5)이 아니기 때문에, 이 프로그램이 보여줄 수 있는 최고의 플레이는 아닙니다. 그럼에도 불구하고 초당 2.5 블럭 속도(PPS)에서 평균 분당 공격량(APM)이 130~140 정도 나옵니다.

 

최근에는 더 좋은 AI도 개발되었지만, 이미 이 정도도 굉장한 고수급 효율입니다.

 

상대의 대응에 맞추어 플레이하는 융통성은 없기 때문에 사람에게 지기도 하고, 무제한급 게임에 맞추어 세팅이 되어 있어서 제한급 게임에서 약한 모습을 보이기도 하지만, 

 

2. 설치 및 실행

아래 글은 2022년에 chouhy가 업로드한 개선판 링크입니다. 구버전에 비해 상당히 좋아졌습니다.

- 윈도우10 이상에서 실행이 낮은 확률로만 되는 문제 해결

- 턴제 모드에서 실행취소(undo) 기능 추가(백스페이스 키)

- 많은 분들이 플레이하시는 Tetr.io와 유사한 세팅 적용

- Tetr.io에서 재생 가능한 리플레이 생성 가능(F11 키)

 

다운 받은 misamino_V1.4.5.tetrio.zip 파일의 압축을 풉니다. 그리고 폴더 안의 misamino_V1.4.5(tetrio).exe 파일을 실행합니다. 하지만 설정해야 할 것이 많아서, 3. 설정 부분을 먼저 읽으시면 좋겠습니다.

실행파일

 

아래는 프로그램의 원작자 misakamm이 Harddrop 포럼에 썼던 글 링크입니다. 2013.11.11.의 글이었는데, 해당 포럼이 폐쇄되었습니다.

 

3. 필수 설정

설정은 크게 두 가지입니다. 게임 외 설정과 게임 내 설정입니다. 게임 외 설정부터 적고 게임 내 설정을 짧게 적습니다.

 

실행파일 misamino_V1.4.5.exe 바로 아래에 settings.ini가 있습니다. 그 파일을 메모장으로 열어야 합니다 (구버전이라면 misamino.ini).

 

이 글에서는 필수적으로 살펴야 하는 설정을 다룹니다.

 

▼ 우선은 turnbase 부분을 설정해야 합니다. 조금 아래쪽의 [Rule]에 있습니다. 턴제로 할지 실시간으로 할지를 결정합니다.

[Rule]

turnbase=0은 실시간

turnbase=1은 턴제

 

▼ [이건 게임을 해 보고 나서 자신에게 맞게 설정하세요] 다음은 실시간 모드로 할 때 AI의 속도와 4줄 콤보 사용 여부을 설정해야 합니다. settings 파일의 제일 위에 있습니다.

[AI] 구버전 초기값

delay=20

move=5

4w=0

 

delay와 move를 숫자를 작게 하면 빨라집니다. 이건 사람마다 크게 달라지는 것이니, 위 값을 기준으로 조금씩 올리고 내려 보시기 바랍니다.

 

구체적으로는 다음과 같습니다.

delay: 미노가 나왔을 때 컴퓨터가 기다리는 시간. 단위는 프레임입니다. 참고로 이 게임에서 1초는 60프레임입니다.

move: 미노를 움직일 때(회전, 이동) 움직임 간의 시간. 단위는 0.5프레임 같습니다.

→ move를 0으로 설정하면 미노가 순간 이동을 합니다. 눈으로 블럭 이동을 보고 싶을 때에는 적당히 5~10 정도로 설정합니다.

 

move=0으로 두면 delay에 따라서 1초당 내려 놓는 블럭의 개수(PPS, Pieces Per Second)가 결정됩니다. 예를 들자면 다음과 같습니다.

[delay=60, move=0]이면 60/60=1PPS

[delay=30, move=0]이면 60/30=2PPS

[delay=20, move=0]이면 60/30=3PPS

 

4w는 AI가 4줄 콤보 빌드를 사용하게 할 것인지 여부를 결정합니다. 4w=0이면 4줄 콤보 빌드는 이용하지 않고, 4w=1이면 AI도 4줄 콤보 빌드를 활용합니다. 참고로 4w는 AI의 level이 6 이상이어야 합니다.

 

▼ [이건 게임을 해 보고 나서 자신에게 맞게 설정하세요] 그 다음으로 설정해야 할 부분은 AI 스타일과 난이도입니다. [AI_P1]는 왼쪽의 스타일을, [AI_P2] 부분은 오른쪽의 스타일을 결정합니다.

 

style=0은 사람 // 1은 T-spin+ AI // 2는 T-spin AI // 3은 Ren AI // 4는 non-Hold / 5 이상은 Downstack

 

여러 가지가 있습니다만 1이 제일 무난합니다.

 

참고로 플레이어2를 사람으로 하는 건 불가능합니다. 하지만 플레이어1을 AI로 해서 AI끼리 대전을 붙이는 것은 가능합니다. 1번 목차에서 보여드린 영상이 이걸 활용한 것입니다.

[AI_P1] 초기값

style=2

level=6

PieceMul=1

→ 턴제로 플레이할 때, 한 턴에 조작할 수 있는 피스 수

dllplugin=plugin/tojai/tojai.dll

 

[AI_P2] 초기값

style=2

level=7

PieceMul=1

dllplugin=plugin/dllai.dll

 

▼ T-spin+ AI의 실력이 T-spin AI보다 좋습니다. 개발자가 제시한 대응표는 다음과 같습니다. [원문 링크]

AI 수준 대응표

 

style=0, 사람

style=1, T-spin+ AI (제작자가 style2보다 한층 강하게 만들었다는 AI. T스핀을 잘 활용합니다.)

style=2, T-spin (초기 설정. 1만큼은 아니지만 역시 T스핀을 잘 활용합니다)

style=3, Ren (콤보를 중시합니다. 3으로 설정해도 T스핀을 사용하기는 합니다.)

style=4, non-Hold (홀드를 안 합니다)

style=5, Downstack (깎기를 중시합니다)

style=-1, Use the dll plugin specified below. (따로 설정된 dll 파일을 이용합니다. 능력이 된다면 직접 만들어서 할 수도 있습니다)

 

▼ 그리고 레벨은 0~8로 설정할 수 있습니다. 초기값은 7입니다. LV6까지는 컴퓨터가 보는 NEXT의 개수를 의미하며, LV7과 LV8은 6개의 NEXT를 보면서 더 많은 경우의 수를 탐색하여 더 나은 선택을 찾습니다. [원문 링크]

 Level   searching
 depth
 searching
 nodes
 LV0  0  ALL
 LV1  1  4000
 LV2  2  4000
 LV3  3  4000
 LV4  4  4000
 LV5  5  5000
 LV6  6  6000
 LV7  6  8000
 LV8  6  16000

 

▼ [이건 게임을 해 보고 나서 자신에게 맞게 설정하세요] 다음으로 설정할 부분은 플레이어가 움직이는 블럭의 이동 속도입니다. 프레임 단위로 나타내는데 쉽게 말씀 드립니다. das를 낮추면 좌우로 빠르게 움직입니다. softdropdas를 낮추면 소프트 드랍의 시작이 빨라집니다. softdropdelay (이건 0.1프레임 단위)를 낮추면 소프트 드랍 속도 자체가 빨라집니다.

[Player] 초기값

das=5

arr=0

softdropdas=3

softdropdelay=10

 

▼ 게임 외 설정의 마지막은 사운드입니다. p1sfx는 플레이어1의 효과음, p2sfx는 플레이어2의 효과음입니다. 필요에 따라 설정하시면 됩니다. bgm=0은 배경음악을 끄는 것입니다.

 

다만 개선판의 경우 사운드 파일을 모두 뺀 것 같습니다. 아카이브에서 구버전 사운드 파일을 빼오거나, 디시인사이드 관련 글에서 다운 받는 등의 방법이 있습니다.

[Sound] 초기값

p1sfx=1

p2sfx=0

bgm=1

 

▼ 마지막으로 게임 내 설정입니다. 우선 가장 중요한 입력 방법을 바꿔야 합니다. 게임을 실행하고 테트리스 화면이 뜨면 F12를 누르시기 바랍니다. 바로 아래 그림입니다. "Press F12 to config your controls (조작 방법을 설정하려면 F12를 누르십시오)"라는 문구가 있습니다.

미사미노 예시

 

참고로 180도 회전을 사용하고 싶다면 settings.ini 파일에서 [Rule]의 spin180=0 부분은 =1로 바꾸어야 합니다.

- F12를 눌러 키 설정으로 진입

press a key for move left: 왼쪽 키.

press a key for move right: 오른쪽 키.

press a key for soft drop: 소프트 드랍 키. 뿌요뿌요 테트리스(뿌테)에서는 기본↓.

press a key for counterclockwise: 반시계방향 키. 뿌테에서는 기본 Z.

Press a key for clockwise: 시계방향 키. 뿌테에서는 기본 X 또는 ↑.

press a key for hold: 홀드 키. 뿌테에서는 기본 C 또는 Shift.

press a key for hard drop: 하드드랍 키. 뿌테에서는 기본 Space.

press a key for 180rotate: 180도 회전 키. 뿌테에는 없는 기능.

 

F2: 게임 시작, 재시작. 게임을 끝내거나 블럭 20개를 내려 놓기 전까지만 가능.

F3: 쓰레기 줄이 어디까지 올라오는지 점선으로 표시.

F4: 필드에 격자(가로x세로 10x20의 눈금) 표시.

F5: 음량 작게.

F6: 음량 크게.

 

이상으로 중요한 설정은 모두 다 하신 것입니다. 이 글에 안 나온 세팅은 하나씩 바꾸면서 설정해 보시면 좋겠습니다.

 

4. 마무리

테트리스 연습은 거의 이 프로그램으로 해도 될 정도로 괜찮은 프로그램입니다. 턴제로 플레이하면서 효율적인 플레이를 생각해 볼 수 있고, 실시간 모드로 플레이하면서 실전 연습을 할 수도 있습니다.

 

특히 AI의 속도를 적당히 조절하여 자신보다 약간 우위에 있게 하면 상당히 좋은 연습 상대가 될 것입니다. 자신에게 딱 맞는 상대와 언제든지 플레이할 수 있습니다.

반응형

관련글 더보기