4D 마인스위퍼의 이해

이전에 했던 게임 5D Chess는 이 게임 이전과 이후에 제 생각을 완전히 달리 만들었습니다. 이번에 새로 접한 4D Minesweeper는 사건을 시각적으로 생각할 때 문제가 될 수 있음의 의미를 깨닿게 해 주었습니다.

4D 마인스위퍼의 이해

스팀에는 세일기간 중 맨 첫 페이지에 나타나는 유명한 게임도 있는 반면 세일을 하든 안 하든 간에 절대 첫 페이지에는 나타나지 않는 잘 알려지지 않은 게임도 있습니다. 그런데 종종 이들 중에는 어처구니 없을 정도로 신기하고 재미있는 게임이 있기도 한데 이전까지 이런 게임 중 개인적으로 가장 큰 충격을 받은 것은 5D Chess With Multiverse Time Travel, 줄여서 ‘5D Chess’였습니다. 이 게임은 근본적으로 체스입니다. 각 말을 정해진 규칙에 따라 움직일 수 있고 상대의 킹을 잡으면 승리합니다.

그런데 이 게임은 체스이기는 하지만 체스의 기본 규칙과는 아무 상관 없는 아주 간단한 규칙 한 가지가 더해져 있습니다. 우리에게 익숙한 보통 체스는 서로 번갈아 가며 말을 움직일 때 같은 체스판을 사용합니다. 그런데 이 체스판을 시간 축 상에서 볼 때 말을 움직일 때마다 체스판의 상태는 계속해서 미래의 한 방향으로 움직입니다. 일단 말을 한 번 움직이고 나면 그 움직임을 통해 미래가 결정되고 그 미래는 바로 현실이 되며 다음 사람이 말을 움직이면 이는 다시 과거가 됩니다. 그런데 ‘5D Chess’에서는 말을 일반적인 미래 뿐 아니라 아직 현재와 상호작용 하지 않은 과거의 어느 시점, 또는 여러 시점으로 보낼 수 있습니다. 이 게임에서 여느 체스 게임처럼 말을 움직이면 시간 축은 항상 미래로만 움직이는데 이 때 말을 하나 뿐인 현재에서 과거의 어느 시점으로 이동 시킬 수 있으며 이 행동을 통해 이미 지나온 과거는 둘로 갈라져 둘 다 유효한 상태가 됩니다. 하나는 현재에 직접 영향을 끼친 우리가 알고 있는 바로 그 과거, 그리고 다른 하나는 방금 그 현재로부터 체스 말을 보내 새로 정의한 또 다른 과거입니다.

플레이어는 여느 평범한 체스 게임처럼 계속해서 시간 축 상에서 미래 방향으로만 체스판이 움직이도록 말을 이동 시킬 수도 있지만 현재에서 현재와 아직 상호작용 하지 않은 과거의 어느 시점으로 말을 보내 또 다른 과거를 만들어낼 수 있습니다. 이 행동에 의해 같은 시간 축 상에 있던 과거가 현재로부터 보낸 체스 말과 상호작용 하면서 말을 떠나 보낸 현재에 의해 재 정의된 또 다른 과거가 생성되는데 이제 플레이어는 이전 까지 유일한 현재였던 체스판과 방금까지 유일했던 현재로부터 보낸 말과 상호작용해 새로 정의된 과거를 또 다른 현재로 받아들여 플레이 할 수 있습니다. 같은 방식으로 아직 어떤 재정의된 현재와도 상호작용 한 적 없는 과거에 현재로부터 말을 보내 또 다른 과거를 만들어낼 수 있고 그렇게 만들어진 각각의 재 정의된 현재들과 상호작용할 수 있는 모든 현재 사이에 말을 주고 받을 수 있으며 이런 재정의된 여러 현재 중 어느 한 곳에서라도 킹을 잡으면 게임 전체에서 승리합니다. 제가 미친 소리를 한다고 생각하실 수도 있지만 제가 설명을 잘 못해서 그런 거고 게임 설명 영상을 보면 순식간에 이해할 수 있습니다.

0:00
/0:45

처음 체스 게임을 시작하면 그냥 평소처럼 말을 움직일 뿐인데도 매번 시간 축 상에서 가로 방향으로 체스판을 새로 그리며 이동하는 모습이 이상하게 느껴질 수도 있습니다. 사실 평범한 체스라면 말을 움직일 때마다 항상 시간 축 상에서 미래 방향 - 이 게임에서는 오른쪽 방향 - 으로만 움직이기 때문에 굳이 체스판을 복사해 오른쪽에 놓고 그 방향으로 스크롤 할 필요가 없습니다. 그런데 이 게임에서는 말을 움직여 현재의 체스판을 과거로 만들고 또 다른 현재, 즉 미래로 가기 위해 말을 움직일 때 이 말을 고정된 미래 방향으로 이동 시키는 대신 아직 현재와 상호작용 하지 않은 과거의 특정 시점으로 이동 시킬 수 있습니다.

이 때 체스 말은 두 방향으로 움직이게 됩니다. 하나는 시간 상의 현재에서 현재와 상호작용 한 적 없는 과거의 어느 시점으로 움직임, 그리고 다른 하나는 과거의 어느 시점으로 움직인 다음 그 체스판에서 원래 체스 규칙에 따라 움직임입니다. 이렇게 체스말이 현재에서 과거의 어느 시점으로 이동하면 현재와 상호작용 한 상태가 되며 그 과거로부터 파생된 새로운 현재가 됩니다. 이 때부터 현재는 과거로 말을 출발 시키기 전의 유일한 현재와 과거의 어느 시점과 상호작용한 결과 새로 만들어진 과거에 기반한 또 다른 현재의 두 가지가 됩니다.

그런데 이 게임은 처음 게임을 시작한 하나 뿐인 현재 뿐 아니라 현재와 과거가 상호작용 한 결과 새롭게 만들어진 또 다른 여러 현실들 중 어느 하나에서라도 킹을 잡으면 승리하기 때문에 여러 현재로부터 말을 과거로 보내 새로운 현재를 만들어낼 때마다 새로 생긴 각각의 현재를 모두 관찰해야 합니다. 가령 전략적으로 과거의 어느 시점으로 룩을 보내 새로 만들어진 현재를 더 유리하게 만들 수 있습니다. 하지만 룩이 사라진 이전의 현재에서는 불리해질 수 있으며 말들이 현재와 상호작용 하지 않은 과거 시점으로 이동해 새로운 현재가 만들어질 때마다 그 말이 사라진 현재는 불리해질 수 있고 모든 새로 만들어진 현재를 살피지 않으면 분명 유리했던 어떤 현실에 또 다른 과거 또는 미래 시점의 현실로부터 갑자기 나타난 퀸으로부터 체크메이트 상태에 놓여 패배할 수 있습니다. 그래서 처음 이 게임을 시작하면 별 생각 없이 과거와 상호작용 한 여러 현재를 만들다가도 어느 순간 시간 상 서로 다른 차원에 있는 여러 현재를 점검하고 이 현재와 상호작용 할 가능성이 있는 현재들 사이의 관계를 파악하느라 체스 한 판을 끝내기가 너무 고통스러울 수도 있습니다. 그래서 어느 정도 익숙해지면 정말 필요하지 않다면 또 다른 현재를 만들기 전에 숙고해야 합니다.

‘5D Chess’는 이 게임을 알기 전과 이 게임을 알게 된 다음의 저 자신을 구분할 수 있을 정도로 평범한 퍼즐 게임에 또 다른 평범한 시간여행과 상호작용 개념을 훌륭하게 조합해 온전한 게임 규칙으로 만들어낸 대단한 사례입니다. 특히 여러 현재로부터 말이 자유롭게 과거로 이동해 새로운 현재를 만들어내기를 반복하면 사실상 게임을 끝내기가 거의 불가능해집니다. 기계는 할 수 있겠지만 인간의 유한한 시간 속에서 시간을 자유롭게 이동해 새로운 현재를 만들어내기를 반복한 체스 한 판을 죽기 전에 끝마치기는 불가능할 겁니다. 그래서 이 게임은 여러 현재로부터 과거로 말을 이동 시킬 수 있지만 여러 과거 중에서 이전에는 현재였을 시점과 상호작용 하지 않은, 달리 말하면 말을 이동 시켜 또 다른 현재로 정의된 적 없는 과거로만 말을 이동 시킬 수 있는 제약을 뒀습니다. 과거로 자유롭게 이동해 과거를 재정의 할 수 없다는 점이 아주 큰 제약처럼 느껴지지만 실제로 게임을 플레이 해 보면 이 제약이 굉장히 공정하고 게임을 이해하기 쉽게 만들며 실제 서로 다른 시간 사이에 상호작용이 일어나더라도 새로 정의된 현재가 혼돈에 빠지지 않도록 만들기 위한 아주 간단하면서도 적절한 제약이라는 사실에 동의할 겁니다.

0:00
/21:43

이 게임을 처음 접하고 나서 이제 몇 년이 지났는데 그 사이에 이렇게 큰 충격과 깨달음을 주는 게임이 거의 없었는데 우연히 유튜브 추천의 신이 4D Minesweeper라는 게임을 플레이 하는 영상을 보여줬습니다. 그냥 게임을 플레이 하는 모습만 봐서는 흔한 마인스위퍼와 별로 다르지 않아 보였는데 마우스 커서를 움직일 때마다 화면 상에 서로 다른 영역을 하늘색 외곽선으로 하이라이트 해 준다는 점 정도가 달랐지만 그래서 그게 사차원과 무슨 상관인가 하는 생각이 먼저 들었습니다. 그런데 좀 더 살펴보니 이 게임은 우리가 윈도우에서 항상 플레이 하던 마인스위퍼를 이차원으로 볼 때 이를 3D 공간 상에 표현한 삼차원 마인스위퍼를 넘어 사차원 상의 테서렉트 상에서 마인스위퍼를 플레이 하고 있었는데 이를 이차원 모니터 상에 표현하기 위해 어쩔 수 없이 사차원 상의 테서렉트의 각 면을 격자 모양으로 표현하고 있었습니다. 가령 삼차원 큐브 모양의 마인스위퍼를 플레이 한다면 어느 한 지점 주변에 마인이 한 개 있을 때 이는 그 주변에 26칸 중 하나에 마인이 있을 수 있다는 의미입니다. 그런데 사차원 테서렉트 모양의 마인스위퍼는 어느 한 지점 주변에 마인이 한 재 있을 때 이는 주변 80칸 중 하나에 마인이 있을 수 있다는 의미가 됩니다.

처음 이 게임을 플레이 하는 모습을 보고 바로 이해할 수가 없었는데 제가 머릿속에 시각화한 테서렉트는 삼차원 상의 육면체의 각 면을 확장해 차원을 늘린 모습으로 육면체 안에 또 다른 육면체가 들어 있는 모양이었습니다. 그래서 제가 생각하는 테서렉트는 항상 면이 열 두 개 여야 했는데 이 게임에서는 한 변이 세 칸인 큐브로 만들어진 테서렉트는 면이 총 아홉 개였고 한 변이 네 칸인 큐브로 만들어진 테러섹트는 면이 총 열 여섯 개로 머릿속에 그린 테서렉트 모양과 전혀 맞지 않았고 도무지 이해할 수가 없었습니다. 그래서 폰으로 영상을 보다가 도무지 참을 수가 없어 다 집어던지고 컴퓨터 앞에 앉아 게임을 설치하고 직접 게임을 만져보기 시작했는데 실제로 만져보니 영상을 보며 플레이를 이해할 수 없었던 이유는 제가 머릿속에 가지고 있던 사차원에 대한 시각화된 이해에 문제가 있다는 사실을 깨달았습니다.

그동안 제가 머릿속에 가지고 있던 삼차원 공간의 큐브로 마인스위퍼를 한다면 그 모양은 왼쪽 같은 모양입니다. 한 변이 세 칸인 루빅스 큐브와 똑같은 모양이며 총 27개의 작은 큐브가 모여 삼차원 공간 상의 큐브 하나를 이룹니다. 그런데 이와 동시에 제가 머릿속에 시각화했던 삼차원에 새로운 차원을 추가한 사차원 상의 큐브는 오른쪽 같은 모양이었습니다. 삼차원 상의 큐브를 구성하는 여섯 면과 여덟 꼭지점을 바깥으로 잡아 늘인 다음 안쪽의 큐브와 바깥쪽의 큐브 사이에 서로 가장 가까운 꼭지점 사이를 연결해 놓은 모양으로 마치 삼차원 상의 큐브를 모든 방향에서 바깥쪽으로 투영한 것과 같은 모습입니다.

이런 시각화에 기대 테서렉트 모양의 마인스위퍼를 이해하려고 보니 사차원 상의 마인스위퍼는 항상 면이 열 두 개, 점은 열 여섯 개여야 한다고 생각했습니다. 하지만 실제로는 이미 삼차원 상에서도 큐브 하나는 스물 일곱 개의 작은 큐브로 구성되어 있었고 이 모양에서 그대로 차원을 늘리더라도 이 특징은 그대로 유지됩니다. 그래서 삼차원에서 한 변이 세 칸으로 이루어진 큐브는 사차원에서 총 아홉 개의 면만 있으면 됩니다.

그래서 이 게임에서 지뢰를 찾을 때 이차원 상에 펼쳐진 테서렉트 모양에서 어느 한 지점을 기준으로 주변에 지뢰가 있다면 이 그림처럼 그 지점을 중심으로 삼차원 상에서 인접한 작은 큐브들, 그리고 추가된 차원에서 인접한 또 다른 작은 큐브들을 모두 고려해야 합니다. 이 그림에서는 이차원으로 전개된 테서렉트를 구성한 각 면 중에서 왼쪽 위에 있는 면에서 시작했기 때문에 지뢰가 있을 수 있는 칸이 인접한 네 면으로 제한되지만 만약 위 전개된 면에서 가운데 있는 면을 구성한 작은 칸 주변에 지뢰 하나가 있다면 이번에는 이 면과 삼차원 상에서 인접한 좌우상하 총 네 면, 그리고 이들과 인접한 다음 차원 상에서 인접한 네 개의 면 총 여덟 개의 면 전체에 지뢰가 있을 수 있음을 의미합니다. 사실 이 게임이 사차원 상에 표현할 수 있는 테서렉트의 각 면을 이차원 평면에 전개했다는 사실을 굳이 신경 쓰지 않아도 각 작은 큐브에 마우스 커서를 올리면 이 칸에 의해 영향을 받는 서로 다른 차원에 걸친 면을 하늘색 선으로 강조해 보여주기 때문에 조금 까다로운 마인스위퍼라고 생각하면 굳이 이 전개도가 사차원 상에서 이루는 모양에 신경 쓰지 않고 게임을 플레이 할 수 있습니다.

개인적으로 좀 아쉬운 점도 있습니다. 이전에 어느 프로젝트에서 다른 사람들보다 수학을 더 깊이 이해해야만 하는 역할을 담당하는 분이 계셨는데 이 분은 종종 우리가 이차원 또는 삼차원 상에서 시각적으로 물체를 이해하기 위해 문제를 기하 문제로 치환해서 생각하는 것이 단기적으로 문제를 해결할 수 있는 좋은 방법이기는 하지만 장기적으로는 생각을 삼차원에 가둘 수 있어 위험하다는 말씀을 하시곤 했습니다. 사실 허수 계산을 복소평면에 나타내 기하 문제로 치환해 간신히 이해하고 머릿속에서 백터를 회전 시켜 가며 간신히 설명을 따라갈 수 있는 입장에서 생각이 삼차원에 갇힌다는 말이 무슨 의미인지 이해하기 어려웠습니다. 또 삼차원에 기반한 시각적인 상상을 하지 않는다면 도대체 계산 문제를 어떻게 이해해야 할지도 알 수 없었는데 실은 애초에 문제를 시각적으로 이해하려는 행동 자체가 문제였던 것 같습니다.

시간이 흘러 4D Minesweeper를 머릿속에서 삼차원 상에 육면체를 그린 다음 이를 확장해 테서렉트로 만들고 여기에 다시 마인스위퍼 격자를 그려 문제를 이해하려다가 오히려 게임이 제시한 전재를 납득할 수 없는 상태를 한참이나 겪습니다. 결국 게임을 직접 플레이 해 보고 또 게임이 제시한 더 높은 차원 상의 테서렉트를 그냥 이차원 상에 전개해 놓은 모양 자체를 그냥 받아들이면 오히려 문제가 단순해지며 높은 차원의 문제라고 해서 이를 굳이 삼차원에 살며 삼차원에 익숙한 사람 입장에서 시각화할 필요가 없으며 오히려 이런 시각화 시도가 문제를 더 이해하기 어렵게 만들 수도 있다는 과거 동료분의 말씀을 아주 조금이나마 이해할 수 있었습니다.

몇 년 전에 5D Chess With Multiverse Time Travel는 한동안 재미있게 플레이 했지만 4D Minesweeper는 개념을 이해한 다음에는 별로 플레이 하지 않게 됐는데 개념을 이해한 다음부터는 그저 전개된 여러 면을 신경 써야 하는 귀찮은 마인스위퍼 정도로 밖에 인식되지 않았기 때문입니다. 이차원 마인스위퍼는 판이 커질수록 집중력과 끈기를 요구하는데 비해 이 게임은 일단 개념을 이해하고 나면 그저 하늘색으로 표시된 사차원 상에서 인접한 면을 표시하는 가이드에 따라 좀 더 오랫동안 여러 상황을 고려해야 하는 그저 귀찮은 게임이 될 뿐이었습니다. 즐겨 플레이 하지는 않게 되고 말았지만 과거에 들었던 개념을 시각화 해서 이해할 때 단기적으로는 이런 접근이 의미 있지만 장기적으로는 사고가 삼차원 상에 갇혀 이해할 수 없는 문제가 나타날 위험이 있다는 말씀을 몇 년이 지난 다음에야 이해한 계기가 되어 즐거웠습니다.