세계여행 AI 실력 맞추기: "미리 굴려 보는" 똑똑한 AI가 오히려 졌던 이야기
아리의 세계여행은 주사위를 굴려 도시를 사고 건물을 지어 통행료를 받는 보드게임입니다. 상대인 아리 팀은 쉬움·보통·어려움 세 가지 실력이 있는데, 이 "실력 차이"를 만드는 일이 생각보다 어려웠습니다.
주사위 게임은 운이 크게 작용합니다. 그래서 전략을 바꿔도 결과가 잘 달라지지 않고, 몇 판 해 봐서는 어느 쪽이 강한지 알 수 없습니다. 이 글은 수천 판의 자동 대전으로 실력을 맞춘 과정을 정리한 개발 일지입니다.
먼저, 게임을 화면 없이 돌릴 수 있게
게임 규칙(이동, 구입, 건설, 통행료, 카드, 파산)을 화면과 분리한 "엔진"으로 만들었습니다. 그러면 화면 없이도 컴퓨터끼리 한 판을 1밀리초 안팎에 끝까지 둘 수 있습니다. 판마다 현금이 음수가 되지 않는지, 주인 없는 건물이 생기지 않는지 같은 규칙 위반도 자동으로 검사했습니다.
AI의 판단은 단순한 규칙입니다. "도시를 살 때 현금을 얼마나 남겨 둘지(여유 자금)", "건물을 지을 때 얼마나 남길지", "무인도에서 돈을 내고 나올지" 같은 기준이 실력 차이를 만듭니다.
실력을 재기 전에 정한 규칙 숫자
실력 차이를 재려면 먼저 게임 자체가 너무 짧거나 길지 않아야 했습니다. 판 28칸(도시 17곳, 관광지 2곳)에 시작 자금 1,500만, 출발 칸을 지날 때 월급 200만으로 정하고, 통행료는 땅값에 건물 단계별 비율을 곱하게 했습니다.
| 건물 단계 | 통행료(땅값 대비) | 같은 색 독점 시 |
|---|---|---|
| 땅만 | 20% | 40% |
| 별장 | 100% | 200% |
| 빌딩 | 250% | 500% |
| 호텔 | 500% | 1000% |
이 숫자로 4명이 모두 "보통"인 판을 150판씩 돌려 보니, 15라운드 판은 평균 0.45명, 25라운드 판은 평균 1.35명이 파산했습니다. 끝까지 하는 판에서 한 명만 남을 때까지는 평균 55라운드가 걸렸습니다. 짧게 하면 재산 비교로, 길게 하면 파산 싸움으로 끝나는 균형이라 그대로 쓰기로 했습니다.
시험할 때마다 규칙 위반도 함께 검사했습니다. 걸음마다 "현금이 음수가 된 사람이 있는가", "주인 없는 땅에 건물이 남았는가", "도시가 아닌 칸에 건물이 생겼는가"를 확인해, 수천 판 동안 한 번도 걸리지 않는 것을 확인한 뒤에야 실력 조정으로 넘어갔습니다.
첫 결과: 어려움이 보통을 못 이긴다
처음 정한 기준으로 보통과 어려움을 2인전 25라운드로 수백 판씩 붙였더니, 보통의 승률이 53%로 오히려 높았습니다. 몇 가지를 바꿔 봐도 승률은 48~55% 사이에서 오르내렸습니다. 이 정도 차이는 주사위 운의 흔들림 안에 들어가, "실력 차이가 없다"는 뜻이었습니다.
그래서 여유 자금 기준을 0만~400만, 건설 기준을 -150만~+150만으로 바꿔 가며 격자 탐색을 했습니다. 경향은 분명했습니다. 현금을 아끼는 쪽보다 적극적으로 사고 짓는 쪽이 꾸준히 이겼습니다.
똑똑하게 만들어 보자: 몬테카를로 미리 굴려 보기
더 큰 차이를 만들려고 어려움 AI에 "미리 굴려 보기"를 넣었습니다. 도시를 살지 말지 정할 때, 산 경우와 안 산 경우를 각각 32번씩 게임 끝까지 가상으로 굴려 보고 더 잘 끝난 쪽을 고르는 방식입니다(몬테카를로 탐색). 바둑 AI에서도 쓰는 방법이라 기대가 컸습니다.
결과는 반대였습니다. 미리 굴려 보는 어려움 AI가 보통을 상대로 44%만 이겼습니다. 이유는 운이었습니다. 주사위 게임에서는 같은 선택을 해도 결과가 크게 갈려서, 32번 굴려 본 평균으로는 두 선택의 차이를 구분할 수 없었습니다. 결국 거의 무작위로 고르는 것과 비슷해졌고, 단순한 "적극적으로 사기" 규칙보다 못했습니다.
최종 설정과 결과
미리 굴려 보기는 빼고, 어려움은 적극적으로(여유 자금 40만, 독점이면 더 적극적으로 건설), 보통은 조심스럽게(여유 자금 450만) 사도록 기준을 벌렸습니다. 어려움에는 같은 색 독점을 완성하거나 상대의 독점을 막는 도시를 우선 사는 규칙도 넣었습니다.
| 대결 (2인, 25라운드) | 앞쪽의 승률 |
|---|---|
| 쉬움 vs 보통 | 약 30% |
| 보통 vs 어려움 | 약 41% |
| 쉬움 vs 어려움 | 약 21% |
어려움이 보통을 약 59%, 쉬움을 약 79%로 이기게 되었습니다. 바둑이나 체스처럼 압도적인 차이는 아니지만, 운이 큰 게임에서는 이 정도가 "확실히 더 잘 둔다"고 느껴지는 차이입니다.
다만 뒤에서 이야기할 인수·축제 규칙을 더한 뒤 같은 시험을 다시 돌리자, 어려움이 보통을 이기는 비율은 약 54%로 조금 줄었습니다. 남의 도시를 사 오는 인수가 생기면서 판이 더 자주 뒤집히고, 그만큼 운의 몫이 커졌기 때문입니다. 규칙을 바꿀 때마다 이렇게 다시 재 보는 것이 이 게임을 만드는 방식이 되었습니다.
게임 요소를 더할 때도 같은 방법으로
나중에 인수(남의 도시를 2배 값에 사기), 세계 축제(통행료 2배), 트리플 독점(같은 색 3세트면 즉시 승리)을 더할 때도 먼저 자동 대전으로 숫자를 확인했습니다. 400판을 돌려 보니 트리플 독점으로 끝나는 판은 약 8.8%, 인수는 한 판에 평균 약 4.3번 일어났습니다. 너무 흔하지도, 너무 드물지도 않은 정도라 그대로 넣었습니다.
- "파산할 때까지" 모드의 평균 길이는 인수가 생긴 뒤 약 55라운드에서 약 40라운드로 줄었습니다.
- 먼저 두는 사람이 조금 유리한 경향(첫째·둘째 자리 승률이 높음)이 있어, 이용자가 아리 팀과 할 때는 이용자가 첫째 자리에 앉습니다.
자주 묻는 질문
- 어려움 아리는 주사위를 조작하나요?
- 아니요. 모든 플레이어가 같은 주사위 규칙을 씁니다. 실력 차이는 사고, 짓고, 버티는 판단 기준에서만 나옵니다.
- 왜 바둑 AI처럼 압도적으로 강하지 않나요?
- 주사위 운이 크게 작용하는 게임이라, 최선의 판단을 해도 운이 나쁘면 질 수 있습니다. 그래서 실력 차이는 승률 몇십 퍼센트의 차이로 나타납니다.