Tilt는 TwozyGames 오리지널 라인업의 첫 턴제 게임이자, 보자마자 과소평가받는 작품입니다. 더 큰 격자의 Connect Four처럼 보이지만 그렇지 않고, 차이는 동사 하나입니다. 자기 차례에 레인으로 돌을 하나 떨어뜨리거나, 아니면 판 전체를 90도 돌려서 이미 올라와 있는 모든 돌을 새로운 아래쪽으로 쏟아 넣을 수 있습니다. 코드와 규칙을 고른 시뮬레이션을 저희가 직접 썼으니, 실제 숫자를 그대로 알려드리겠습니다. 각 CPU가 정확히 몇 수를 탐색하는지, 그리고 그것이 구조적으로 볼 수 없는 위협의 형태까지 포함해서요.
회전의 값은 정확히 돌 하나
이것이 게임 경제의 전부입니다. 회전은 놓기 대신 두는 것이지 놓기와 함께가 아니므로, 돌리는 데 쓴 모든 턴은 상대가 공짜로 얻는 돌 하나입니다. 그 하나의 제약이 판이 영원히 돌아가는 것을 막고, "돌려야 할까?"가 반사가 아니라 진짜 질문이 되게 합니다.
그러니 회전은 판이 깔끔해지는 것 이상을 사 와야 합니다. 실전에서 돌 하나를 치를 만한 구매는 셋입니다.
- 철거. 상대가 3연을 만들었고 다음 턴에 마무리할 레인이 있습니다. 90도 회전은 모든 돌을 한꺼번에 다시 정렬시키고, 그 3연은 대개 3연이기를 그만둡니다.
- 배달. 흩어져 있던 내 돌들이 마침 새 중력이 끌어당길 축을 따라 정렬되는 경우. 게임을 이기는 수가 바로 이것이고, 초보가 절대 찾지 않는 수이기도 합니다. 아직 존재하지 않는 모양을 읽어야 하기 때문입니다.
- 레인 봉쇄. 레인은 들어가는 칸이 비어 있을 때만 열려 있습니다. 판을 돌리면 어느 입구가 막히는지가 바뀌므로, 회전으로 상대에게 필요한 바로 그 레인을 닫을 수 있습니다. 앞의 둘보다 조용한 수이고, 흔히 가장 쌉니다.
서로 수천 판을 둔 저희 봇들은 판에 따라 전체 수의 21~25%를 회전에 씁니다. 대략 네다섯 수에 한 번입니다. 그보다 훨씬 많이 돌리고 있다면 돌을 기부하는 중이고, 훨씬 적다면 그것을 보상하지 않는 판에서 Connect Four를 두고 있는 것입니다.
모든 모양을 두 번 읽으세요
Tilt에서 이기는 사람과 지는 사람을 가르는 습관 하나. 판을 지금 그대로 읽고, 그다음 90도 돌아간 뒤의 모습으로 읽으세요. 내 세로 3연은 전혀 다른 곳의 가로 3연이 되고 — 여기가 아픈 부분인데 — 그것을 마무리할 열린 레인을 내가 아니라 상대가 갖고 있을 수도 있습니다.
그 습관의 실전판은 내 돌을 자리가 아니라 순서로 생각하기 시작하는 것입니다. 중력은 레인 안의 순서를 보존하고, 더미가 레인의 어느 쪽 끝에 기대는지만 바꿉니다. 한 열에서 붙어 있는 내 돌 둘은 회전 후에도 붙어 있습니다. 사이가 벌어진 둘은 서로 붙습니다. 물리는 그게 전부이고, 그것이 보이기 시작하면 누군가 돌린 뒤에야 스스로 조립되는 줄을 계획할 수 있습니다.
미리보기는 두 번 누르는 것이고, 그것은 비교할 권리입니다
Q나 E를 한 번 누르면 아무것도 실행되지 않습니다. 유령 판이 나옵니다. 모든 돌이 떨어질 자리에 정확히 점선으로 그려지고, 새 바닥이 될 가장자리에 점선 막대가 붙습니다. 같은 키를 한 번 더 누르면 실행됩니다. 다른 키를 누르면 이제 반대 방향을 보고 있는 것입니다. 그 밖의 아무 수나 두면 미리보기는 버려집니다.
이것은 의도된 설계이고, 처음부터 이랬던 것은 아닙니다. 최초 빌드는 키를 누르고 있는 동안 미리 보여주고 떼면 회전을 실행했는데, 그 말은 보는 것이 곧 하는 것이었다는 뜻입니다. 훔쳐보고 물러설 수가 없었고, 두 방향을 비교하는 것은 더더욱 불가능했습니다. 한쪽을 미리 본 순간 이미 그것을 둔 셈이었으니까요. 취소할 수 없는 미리보기는 미리보기가 아닙니다. 그러니 그 수정이 사 준 것을 쓰세요. 반시계를 걸어 보고, 시계를 걸어 그것도 보고, 그다음에 결정하세요. 비용은 0이고, 회전의 두 방향이 똑같이 좋은 경우는 거의 없습니다.
각 CPU가 볼 수 있는 것과 없는 것
여러분이 상대하는 CPU는 밸런스 시뮬레이션을 돌린 바로 그 코드이므로, 무엇을 하는지 그냥 알려드릴 수 있습니다.
- Easy는 회전을 포함한 모든 합법 수 중에서 균등 무작위로 고릅니다. 약화시킨 탐색기가 아니라 진짜 무작위라서, 가끔 좋은 회전에 우연히 걸리기도 하고 가끔 게임을 그냥 넘겨주기도 합니다.
- Normal은 정확히 한 수를 봅니다. 이기는 수가 있으면 두고, 없으면 여러분에게 즉시 승리를 넘기는 수를 피한 뒤 남은 것 중에서 무작위로 고릅니다. 한 수짜리 패배에는 절대 걸어 들어가지 않고, 그보다 먼 것은 절대 보지 못합니다.
- Hard는 두 수를 봅니다. 안전한 수들 중에서, 여러분의 최선의 단일 응수가 패배가 아닌 수를 선호합니다.
마지막 줄이 악용 가능한 지점이고, 정확히 말할 가치가 있습니다. Hard는 2수 탐색입니다. "이걸 두면 네가 바로 이길 수 있나?"까지 보고 멈춥니다. 여러분이 조용한 수를 두고, 그것이 응수하고, 그다음에 여러분이 이기는 국면은 보지 못합니다. 그러니 Hard를 이기는 방법은 계산력으로 앞지르는 것이 아니라, 여러분의 두 수가 있어야 익는 위협을 만드는 것입니다. 서로 다른 3연 두 개를 동시에 만드는 놓기, 또는 회전의 어느 방향으로든 줄이 완성되는 자리에 놓는 돌. 둘 다 그 지평선 바깥입니다. 어떻게 응수하든 다른 하나에 지고, 고를 때는 그것을 알 수가 없습니다.
규모 감각을 위해: 저희가 시험한 모든 규칙 변형에서 2수 봇이 1수 탐욕 봇을 84~88% 이겼습니다. 이 게임에서 잘 두는 것은 아주 크게 중요합니다. 다만 기계를 이기는 데는 한 번에 두 수 이상 중요할 필요가 없을 뿐입니다.
겹친 줄은 둔 사람이 가져갑니다
규칙 한 줄인데 접전의 상당수를 결정합니다. 한 수가 양쪽 모두의 4연을 완성하면 — 판 전체를 한꺼번에 다시 정렬시키는 회전에서는 얼마든지 일어납니다 — 라운드는 그 수를 둔 사람의 것입니다.
실전적 귀결은 이렇습니다. 판이 빽빽하고 둘 다 느슨한 3연들을 흩어 두고 있을 때, 방아쇠를 당기는 쪽이 되는 것이 국면 자체보다 값어치가 큽니다. 양쪽 모두에게 줄을 주는 회전이 보이는데 내 차례라면 잡으세요. 그런 회전이 보이는데 내 차례가 아니라면, 상대가 그것을 둘 수 있는 조건을 만들지 마세요. 시뮬레이션은 이 경우를 전체 게임의 0.1% 미만으로 놓고, 그래서 메커니즘이 아니라 한 문장으로 서술합니다. 하지만 나오는 순간 그것이 라운드 전부입니다.
다섯 개의 판
타이틀 화면에서 S를 눌러 순환시킵니다. 기둥은 절대 움직이지 않고 돌이 들어갈 수 없는 고정 블록인데, 중요한 이유는 자리를 차지해서가 아닙니다. 기둥이 있는 레인은 하나가 아니라 두 조각으로 정렬됩니다. 돌은 벽에 쌓이듯 기둥에도 쌓이므로, 기둥은 항상 먼 끝이 아니라 격자 중간에 돌을 세워둘 수 있게 해줍니다.
- Open — 기둥 없음. 가장 순수한 형태이자 회전이 가장 격렬한 판입니다. 아무것도 붙잡아 주지 않기 때문이죠. 읽기 습관을 배우기에 가장 좋은 판입니다.
- Pillar — 정중앙에 기둥 하나. 가운데 두 레인을 반으로 자르고, 그 결과 대부분의 연결 게임이 그렇듯 판의 중앙이 가장 치열한 땅이 됩니다.
- Pillars — 대각선상의 기둥 둘. 축마다 독립된 적재 구역이 두 개 생깁니다. 대각선을 가로지르는 줄은 지키기 어렵고, 그와 나란히 달리는 줄은 의외로 안정적입니다.
- Slash — 대각선상의 기둥 셋. 가장 구조가 뚜렷한 판입니다. 여기서는 대각선 4연이 생각보다 훨씬 쉬운데, 기둥이 깨끗한 격자라면 불가능했을 높이에 돌을 붙잡아 두기 때문입니다.
- Corners — 네 모서리 근처의 기둥 넷. 저희 봇들이 가장 자주 회전하는 판입니다(전체 수의 약 4분의 1). 모서리 주머니들이 회전의 결과를 가장 예측하기 어렵게 만들기 때문입니다.
저희가 측정한 것
Tilt의 모든 규칙은 게임이 존재하기 전에 작성된 헤드리스 시뮬레이션 — 양쪽 2수 봇, 판당 1,200판 — 에서 골랐습니다. 출시된 규칙에 대해 다섯 판에서 나온 숫자입니다.
- 선공 승률 51.4~53.2%, 후공 45.9~47.8%. 라운드마다 선공이 번갈아 가므로 그 잔여 우위는 경기 전체에서 상쇄됩니다.
- 무승부 0.3~1.0%. 7×7 판을 4연 없이 가득 채우는 일은 거의 일어나지 않습니다.
- 한 판 길이 32.7~34.2수.
출시되지 않은 것들과 그 이유. 최초 구상에는 선택 자체가 없었습니다. 놓으면 매 턴 중력이 자동으로 회전하는 것이었죠. 그 버전은 먼저 두는 쪽이 74~79%를 이겼고 열 수쯤에 끝났으며, 어떤 판 크기로도 구제되지 않았습니다. 5목은 26.9% 무승부였고, 8×8 판은 60수까지 갔습니다. 회전 사이의 쿨다운은 밸런스를 1%p도 못 움직였기에, 설명해야 하는데 아무것도 값을 못 하는 규칙으로 삭제했습니다.
두 사람, 휴대폰 하나
Tilt는 라인업에서 화면 조이스틱이 없는 유일한 게임이고, 그것은 저희가 추가한 기능이 아니라 턴제라는 사실의 귀결입니다. 어차피 한 번에 한 사람만 움직이므로 두 사람이 조작 한 벌을 함께 쓰고, 나눌 것이 없습니다. 두 사람이 탁자 너머로 휴대폰 하나를 주고받으면 됩니다. 레인을 탭해 놓고, 회전 버튼을 탭해 미리 보고, 같은 버튼을 한 번 더 탭해 실행하세요. 평소 그렇게 노신다면 한 키보드 2인용 게임 가이드가 나머지 라인업을 다루고, 퍼즐 추천이 카탈로그에서 가장 가까운 이웃입니다.
돌아간 판을 읽는 것이 더는 노동처럼 느껴지지 않을 때까지 Open에서 Normal로 시작하세요. 그다음 Corners에서 Hard로 옮겨 두 수짜리 위협을 사냥하러 가시면 됩니다.
