판과 이기는 방법
오목판은 가로 15줄, 세로 15줄로 이루어진 격자이며, 자리는 모두 225개입니다. 돌은 칸 안이 아니라 선이 만나는 자리에 놓이고, 판에는 격자선과 화점 5개 외에는 아무것도 없습니다.
내 돌 5개 이상이 가로, 세로, 대각선 중 한 방향으로 끊어지지 않고 이어지는 순간 승리합니다. 5개를 넘어도 승리는 그대로 유지됩니다. 여기서는 6개가 이어져도 반칙이 아니라 승리입니다. 225개의 자리가 모두 채워졌는데도 어느 쪽도 줄을 완성하지 못했다면 무승부입니다.
- 돌에는 문자도 숫자도 없습니다. 흑과 백으로만 구분되므로 어떤 언어로도 판의 상황을 똑같이 읽을 수 있습니다.
- 승리한 줄에는 테두리가 표시되고 나머지 돌은 흐리게 처리되므로, 결과가 색상 구분만으로 결정되지 않습니다.
- 마지막으로 놓인 돌에는 작은 표시가 남습니다. 지켜보고 있지 않아도 CPU가 어디에 두었는지 이 표시로 알 수 있습니다.
- 이 게임에는 점수도 없고 화면에 시계도 없습니다. 한 판은 승리, 패배, 무승부 중 하나로 끝나며, 걸린 시간은 통계용으로만 조용히 기록됩니다.
이는 프리스타일 규칙입니다. 선공에게 적용되는 렌주 제한 — 삼삼, 사사, 장목 — 은 구현되어 있지 않습니다. 이런 제한은 두 사람이 겨룰 때 선공의 유리함을 줄이기 위한 것인데, CPU를 상대할 때는 그 역할을 난이도가 대신하므로 플레이하기 전에 외워야 할 금지 수가 없습니다.
한 번 탭해 조준하고, 다시 탭해 놓기
처음 탭하면 그 자리에 놓일 돌의 반투명한 표시(고스트)가 나타납니다. 같은 자리를 한 번 더 탭하면 돌이 놓입니다. 다른 자리를 탭하면 표시만 그쪽으로 옮겨 갑니다.
이유는 물리적입니다. 이 시리즈가 지원하는 가장 좁은 화면 — 너비 320px — 에서는 자리 사이 간격이 약 19px에 불과해, 탭 한 번으로 바로 확정되는 방식이라면 절대 의도하지 않은 돌을 계속 만들어 내는 장치가 되고 말 것입니다. 이는 스도쿠에서 칸을 고르고 숫자를 입력하는 것과 같은 2단계 방식이며, 설정으로 선택할 수 있는 항목이 아닙니다: 둘 중 하나만 옳다면 선택지를 주는 것은 문제를 그대로 떠넘기는 일일 뿐입니다.
- 조준할 때는 소리가 나지 않습니다. 아직 아무 일도 일어나지 않았기 때문이며, 소리는 돌이 놓일 때 납니다.
- 이미 돌이 놓인 자리는 탭할 수 없습니다. 조용히 무시되는 것이 아니라 비활성화되어 있으며, 시도해도 나무라지 않습니다.
- 돌은 120ms에 걸쳐 자리에 놓입니다. 앱 설정이나 시스템의 '동작 줄이기'를 켜면 이 효과는 꺼지고, 돌은 놓인 자리에 그대로 그려집니다.
- 모든 자리는 버튼이며, 스크린 리더는 행과 열을 그 자리의 상태와 함께 읽어 줍니다: 비어 있음, 내 돌, CPU의 돌, 또는 두 번째 탭을 기다리는 중.
- 차례를 알려 주는 문구는 높이가 고정되어 있어, 내 차례, 두 번째 탭을 기다리는 안내, CPU의 차례 사이를 오가도 오목판이 흔들리지 않습니다.
흑이 선공이므로, 고른 색이 누가 먼저 둘지 정합니다
흑은 항상 먼저 둡니다. 이는 설정이 아니라 게임의 규칙이며, 차례를 건너뛸 수도 없습니다: 매 차례마다 정확히 돌 하나가 놓이므로 지금이 누구 차례인지는 판 위의 돌 개수만으로 정해지고, 게임이 이를 따로 기억할 필요가 없습니다.
따라서 색을 고르는 것은 먼저 둘지를 정하는 일이며, 홈 화면에도 그대로 흑 · 선, 백 · 후라고 적혀 있습니다. 기본값은 흑입니다. 백을 선택하면 CPU가 먼저 두며, 빈 판에서는 CPU의 첫 수가 중앙에 놓입니다.
- 고른 색은 다음 판부터 적용됩니다. 진행 중인 판 도중에 색을 바꿔도 아무 확인도 필요 없고 아무것도 깨지지 않습니다 — 한 판은 시작할 때의 색을 끝날 때까지 그대로 유지합니다.
- 상대는 언제나 내 기기 안의 CPU입니다. 온라인 대전도, 2인 플레이도, 레이팅이나 순위도 어디에도 없습니다.
- 기록은 난이도별로 따로 관리됩니다: 플레이한 판 수, 승, 패, 무승부, 그리고 전체 플레이 시간까지 집계됩니다. 연속 기록은 집계되지도, 표시되지도 않습니다.
- 다른 판을 시작하려고 도중에 그만둔 판은 패배로 기록되지 않습니다. 시작한 순간 플레이한 판 수에는 포함되지만, 승패 기록은 실제로 끝난 판만 바꿉니다.
도움받을 수 있는 것, 그리고 힌트가 없는 이유
되돌리기는 무료이며 무제한이고, 첫 실행부터 사용할 수 있습니다. 어떤 게임 기능도 절대 광고나 구매 뒤에 잠겨 있지 않으며, 강함은 잠금 해제로 얻는 것이 아닙니다 — 3가지 난이도 모두 처음부터 선택할 수 있습니다.
한 번 누르면 오목판이 직전에 결정을 내렸던 시점으로 돌아가며, 이때 내 돌과 그에 대한 CPU의 응수가 함께 취소됩니다. CPU의 차례 도중에 멈춰 있는 상태로 절대 남겨지지 않습니다 — 그 지점은 애초에 아무것도 결정하지 않은 순간이기 때문입니다.
- 되돌리기는 이전 수로 되돌아가는 것이지, 다시 뽑는 것이 아닙니다. CPU의 응수는 그 판의 시드와 판 위에 놓인 돌의 개수로 정해지므로, 되돌린 뒤 같은 자리에 다시 두면 정확히 같은 수가 돌아옵니다. 골든 테스트(golden test)가 업데이트를 거쳐도 이를 그대로 유지합니다.
- 힌트는 없습니다. 이 오목판에는 숨겨진 것이 아무것도 없으므로 힌트가 드러낼 것도 없습니다 — 힌트가 할 수 있는 일이라고는 스스로 두었을 자리를 알려 주는 것뿐이며, 이는 CPU가 내 자리까지 대신 두는 셈이 됩니다. 리버시와 커넥트 포도 같은 판단으로 만들어졌습니다.
- 둘 수 있는 자리를 표시해 주지도 않습니다. 비어 있는 자리는 모두 둘 수 있으므로 이를 표시해도 아무 정보가 되지 않으며, 잘못 놓을 위험에 대한 도움은 두 번째 탭이 대신합니다.
- 오목판은 플레이하는 동안 계속 저장되므로 화면이나 앱을 벗어나도 안전합니다. 진행 중인 판은 한 개뿐입니다: 홈 화면에서는 플레이 중인 난이도에 이어하기가 표시되며, 다른 난이도를 고르면 그 판을 대체하기 전에 확인을 거칩니다.
- 되돌리기 기록은 저장되지 않습니다. 다시 돌아온 판은 그 자리를 만든 수순이 아니라 판 위의 현재 상태에서부터 시작합니다.
- 새 게임은 오목판 화면과 결과 화면 모두에 있습니다. 판이 진행 중일 때 새로 시작하면 먼저 확인을 거칩니다 — 그러면 지금의 판이 사라지기 때문입니다.
쉬움, 보통, 어려움이 뜻하는 것
홈 화면에서는 이를 상대 고르기라고 부릅니다. 3가지 모두 첫 실행부터 있으며 각각 별도로 기록을 관리하고, 오목판과 규칙, 도움 기능은 모든 설정에서 동일합니다. 달라지는 것은 오직 CPU가 돌 놓을 자리를 고르는 방식뿐입니다.
- 쉬움은 돌 바로 옆까지만 봅니다. 이미 놓인 돌에 인접한 빈 자리 중 하나를 무작위로 두며, 그 수가 5개를 완성하는지는 내 것이든 자신의 것이든 확인하지 않습니다. 바로 옆만 본다는 것이 이 난이도의 약점 전부입니다.
- 보통과 어려움은 다른 무엇보다 먼저 5개 완성 여부부터 확인합니다. 그 수로 5개가 완성된다면 그 자리에 두고, 내 다음 수로 5개가 완성될 수 있다면 그 자리를 막습니다. 두 동작 모두 테스트로 고정되어 있습니다.
- 이 규칙은 점수 계산 바깥에 따로 있어야 합니다. 점수만으로는 이를 표현할 수 없기 때문입니다. 내 사를 막아도 CPU 자신의 형태는 거의 나아지지 않지만, 스스로 열린 사를 만들면 점수는 약 10배로 뜁니다 — 그래서 점수만 비교하는 상대라면 자신의 사를 만들다가 먼저 완성된 5개짜리 수에 지고 말 것입니다.
- 어려움은 8,000개의 국면을 살펴보면 탐색을 멈추고 마지막으로 끝마친 깊이에서 최선의 수를 둡니다. 첫 번째 깊이는 항상 끝까지 계산되므로, 예산이 바닥나더라도 어려움이 더 약해지는 일은 없습니다.
- CPU는 자신을 향한 위협을 자신이 만드는 위협보다 1.15배 더 무겁게 평가합니다. 둘을 똑같이 평가하면 방어보다 공격을 택하는 CPU가 되는데, 그런 CPU는 바로 다음 수에서 지고 맙니다.
- CPU는 자신의 차례에만 생각합니다. 오목판을 들여다보고 있는 동안 백그라운드에서 실행되는 것은 아무것도 없으며, CPU의 돌은 차례가 시작된 뒤 약 450ms에 탐색에 걸린 시간을 더한 만큼 지나 놓입니다.
| 난이도 | 자리를 고르는 방식 | 탐색 깊이 |
|---|---|---|
| 쉬움 | 돌에 인접한 빈 자리 중 무작위 | 없음 |
| 보통 | 돌 주변 모든 자리에 점수를 매겨 최선을 선택 | 돌 1개 |
| 어려움 | 예산이 남는 한 깊이를 늘려가는 알파-베타 탐색 | 최대 돌 6개 |
어려움은 일부러 컴퓨터가 낼 수 있는 최강의 상대로 만들지 않았습니다. 프리스타일 오목은 선공이 이론상 반드시 이긴다고 알려져 있으므로, 끝까지 완전히 읽는 CPU는 상대가 아니라 벽이 되고 말 것입니다. 이 결과는 완벽한 수순을 전제로 하며, 8,000개 국면에서 멈추는 탐색은 완벽과는 거리가 멉니다: 백을 잡는 것은 여기서 핸디캡일 뿐, 패배가 정해진 것은 아닙니다. 이 예산은 Simple Games에 이미 출시된 다른 CPU 상대들의 응수 비용과 비슷하게 맞춰 정해졌으며, 그 뒤에 정석 데이터베이스는 없습니다 — 첫 수도 마지막 수와 똑같은 탐색으로 결정됩니다.
팁
- 이미 놓인 돌 근처에 두세요. 판의 빈 절반에 돌을 놓으면 이번 수로는 아무것도 만들지 못하고 다음 수로도 아무것도 막지 못합니다. CPU도 이 점에 동의합니다 — 돌에서 2칸을 넘게 떨어진 자리는 아예 고려하지 않습니다.
- 돌의 개수가 아니라 양 끝을 세아리세요. 한 줄의 양 끝이 열려 있는지가 이 게임의 거의 전부입니다: 양 끝이 모두 열린 사는 막을 수 없지만, 한쪽이 막힌 사는 완성 자리가 하나뿐이라 그저 응수해야 하는 수일 뿐입니다.
- 열린 삼을 막으세요. 상대의 돌 3개가 양 끝이 모두 열린 채로 있으면 다음 수 한 번으로 막을 수 없는 사가 됩니다. 그러니 행동해야 할 순간은 느낌보다 한 수 더 이릅니다. 앱 안의 튜토리얼이 한 단계를 통째로 할애하는 유일한 조언이기도 합니다.
- 위협을 동시에 두 개 만드세요. 차례를 건너뛸 수도, 한 번에 돌 2개를 놓을 수도 없으므로, 돌 하나로 열린 삼 2개를 — 하나는 행을 따라, 하나는 대각선으로 — 동시에 만들면 상대는 그중 하나에만 대응할 수 있습니다. 내 줄 두 개가 만나는 자리를 찾으세요. 그 자리에서는 돌 하나가 두 가지 역할을 합니다.
- 6개가 이어져도 승리이므로, 정확히 5개에 맞추려고 줄을 일부러 멈출 필요는 절대 없습니다. 얼마든지 늘리세요 — 여기서는 지나치게 길어져서 손해를 보는 모양이란 없습니다.
- 어려움을 상대할 때는 되돌리기를 도망치는 용도가 아니라 수를 읽는 용도로 쓰세요. 한 판 안에서는 CPU의 응수가 고정되어 있으므로, 자리를 되돌린 뒤 같은 자리에 다시 두면 똑같은 응수가 돌아옵니다. 되돌린 다음 다른 자리를 시도해 보고, 추측 대신 두 갈래의 수순을 직접 비교할 수 있습니다.
자주 묻는 질문
정확히 5개를 나란히 놓아야 합니까?
아니요. 5개 이상이면 승리이므로 6개가 이어져도 반칙이 아니라 승리입니다. 이는 프리스타일 규칙으로, 삼삼, 사사, 장목에 대한 렌주 제한이 구현되어 있지 않아 무엇을 만들어도 불이익을 받지 않습니다.
누가 먼저 두며, 백으로 플레이할 수 있습니까?
흑이 항상 먼저 둡니다 — 이는 설정이 아니라 규칙입니다. 홈 화면에서 흑 · 선 또는 백 · 후를 선택할 수 있으며, 그 선택은 다음 판부터 적용됩니다. 백을 선택하면 CPU가 먼저 두고, 빈 판에서는 CPU의 첫 수가 중앙에 놓입니다.
왜 힌트가 없습니까?
힌트가 드러낼 만한 숨겨진 것이 전혀 없기 때문입니다. 판 전체가 이미 보이므로 힌트가 할 수 있는 일이라고는 CPU가 둘 자리를 알려 주는 것뿐이며, 이는 CPU가 내 자리까지 대신 두는 셈이 됩니다. 대신 되돌리기가 그 역할을 하며, 무료이며 무제한입니다.
되돌리기에 횟수 제한이 있거나 광고를 봐야 합니까?
둘 다 아닙니다. 되돌리기는 첫 실행부터 무료이며 무제한이고, 3가지 난이도 모두 바로 선택할 수 있으며, 어떤 게임 기능도 절대 광고나 구매 뒤에 잠겨 있지 않습니다.
판이 진행 중일 때 나가도 됩니까?
네. 판의 상태, 고른 색, 난이도, 경과 시간이 플레이하는 동안 계속 저장되며, 오목판은 나갔던 그대로 돌아옵니다. 되돌리기 기록만은 남지 않으므로, 다시 이어 하는 판은 수순이 아니라 그 상태에서부터 시작합니다.
인터넷 연결이 필요합니까?
Android 앱은 연결 없이 첫 실행부터 플레이할 수 있습니다: 따로 내려받을 것도, 계정도 필요 없으며 모든 판은 기기 안에서 결정됩니다. 브라우저 버전은 페이지를 한 번 불러와야 하며, 그다음에는 게임 자체가 브라우저에서 실행됩니다.