홈 › 읽을거리 › 입문

체스 입문: 기물 움직임부터 첫 체크메이트까지

입문 · 2026-10-09 · GamePool 편집팀

체스 규칙은 책으로 읽을 때와 코드로 옮길 때 느낌이 꽤 다릅니다. 글로 읽으면 "캐슬링은 킹이 체크 상태가 아니고 지나는 칸이 공격받지 않을 때만 가능"이라는 한 줄이지만, 코드에서는 그 한 줄이 여러 개의 조건 검사로 늘어납니다. 이 글은 GamePool 체스를 만들면서 규칙을 하나씩 엔진에 넣고, 일부러 까다로운 국면을 만들어 엔진이 어떻게 답하는지 확인한 기록을 입문 순서대로 정리한 것입니다. 기물 이름과 기본 움직임은 다른 입문서에도 다 있으니 짧게 지나가고, 이 사이트의 엔진에서 실제로 실행해 본 결과를 중심에 두었습니다.

판 방향부터: 왼쪽 아래 a1 은 어두운 칸

체스판은 8×8 에 가로줄이 a~h, 세로줄이 1~8 이고, 백이 아래쪽에서 시작합니다. 외우기 좋은 요령은 왼쪽 아래 구석 a1 이 어두운 칸, 오른쪽 아래 h1 이 밝은 칸이라는 것입니다. 엔진 안에서는 칸을 0(a8)부터 63(h1)까지의 번호로 다루고, 밝은 칸 판정을 "줄 번호와 열 번호의 합이 짝수"로 계산하는데, 이 식을 적용하면 a1 은 어두운 칸, h1 은 밝은 칸이 나와 실제 판과 맞습니다. 화면에서 흑을 고르면 판이 뒤집혀 내 말이 아래쪽에 오고, 상단의 "뒤집기" 버튼으로 중간에 돌릴 수도 있습니다.

첫 번째 캡처(보통 난이도)는 백이 1.e4 를 둔 뒤 흑이 Nc6 으로 받은 장면입니다. 흑의 b8 과 c6 이 노란색으로 칠해진 것이 컴퓨터의 마지막 수이고, 내가 g1 나이트를 눌러 선택하자 갈 수 있는 f3·h3·e2 세 칸에 초록 점이 찍혔습니다. e2 에 점이 찍힌 것은 앞서 폰이 e4 로 나가 비었기 때문입니다. 기보는 화면 아래에 "1. e4 Nc6" 처럼 표준 대수 표기(SAN)로 한 줄씩 쌓입니다.

말마다 갈 수 있는 칸 수: 중앙과 구석은 이만큼 다르다

기물 가치(폰 1, 나이트·비숍 3, 룩 5, 퀸 9)는 어디서나 외우라고 하지만, 왜 그런지는 빈 판에 말 하나를 놓고 합법 수를 세어 보면 한눈에 보입니다. 엔진으로 세어 본 값은 이렇습니다. 나이트는 d4 에서 8칸, 가장자리 a4 에서 4칸, 구석 a1 에서 2칸입니다. 룩은 어디에 있어도 14칸이고, 비숍은 d4 에서 13칸, 구석 a1 에서 7칸입니다. 퀸은 d4 에서 27칸으로, 룩 14 와 비숍 13 을 더한 값 그대로입니다. 킹은 e4 에서 8칸입니다.

여기서 얻는 판단은 단순합니다. 나이트만 위치에 따라 이동 범위가 8에서 2까지 네 배 차이 나므로, 나이트를 가장자리로 보내면 같은 3점짜리 말이 사실상 절반 이하의 힘밖에 못 씁니다. 엔진의 기물 위치표도 같은 생각을 숫자로 담고 있어서, 나이트는 d4 같은 중앙 칸에 +20, 구석에는 -50 이 붙습니다. 반대로 룩은 구석에 있어도 14칸이라 위치 감점이 거의 없고, 위치표에서도 룩의 가장 큰 가산점은 상대 진영 7번째 줄의 +10 정도입니다.

시작 국면의 합법 수는 20개입니다. 폰 8개가 한 칸 또는 두 칸씩 나가 16개, 나이트 두 개가 각각 두 칸씩 나가 4개이고, 다른 말은 아직 막혀 있어서 움직일 수 없습니다. 이 20이라는 숫자는 뒤에서 엔진이 규칙을 제대로 구현했는지 검증하는 첫 번째 기준값으로 다시 나옵니다.

핀과 체크: 규칙에서 가장 자주 헷갈리는 두 장면

체스에서 말이 움직일 수 있는지는 "내 킹이 공격받게 되는가"로 최종 결정됩니다. 엔진도 먼저 모양대로 갈 수 있는 수를 전부 만든 뒤, 하나씩 두어 보고 내 킹이 잡힐 수 있는 수를 버리는 방식으로 합법 수를 가립니다. 그래서 핀이 별도 규칙 없이 자연스럽게 나옵니다. e1 킹, e2 나이트, e7 흑 룩이 같은 줄에 선 국면에서 나이트의 합법 수는 0개로 나왔고, 킹은 4칸을 움직일 수 있었습니다. 나이트가 길을 비키면 룩이 킹을 잡게 되니 못 움직이는 것입니다.

체크를 받은 쪽은 선택지가 갑자기 줄어듭니다. e1 킹이 e2 룩에게 체크를 받은 국면에서 합법 수는 룩을 잡는 Kxe2, 옆으로 피하는 Kf1 과 Kd1 세 개뿐이었습니다. 초보자가 가장 많이 막히는 지점이 "내 말이 안 눌려요"인데, 대부분 내 킹이 체크 상태이거나 그 말이 핀에 걸린 경우입니다. 이 사이트에서는 체크가 되면 킹 칸이 붉게 빛나고 "체크!" 배너가 뜨니, 말이 안 눌릴 때는 먼저 킹 칸의 붉은 빛부터 확인하면 됩니다.

캐슬링: 조건을 하나씩 깨뜨려 본 결과

캐슬링은 킹을 두 칸 옮기고 룩을 그 건너편으로 넘기는 유일한 수입니다. 조건은 킹과 해당 룩이 한 번도 움직이지 않았을 것, 둘 사이가 비어 있을 것, 지금 체크 상태가 아닐 것, 킹이 지나는 칸과 도착하는 칸이 공격받지 않을 것입니다. 말로는 쉬워 보여도 코드에서 하나라도 빠뜨리면 틀린 수가 나오기에, 킹과 룩만 남긴 국면에서 조건을 하나씩 깨뜨리며 엔진이 캐슬링을 허용하는지 확인했습니다.

  • 기본 국면(r3k2r/8/8/8/8/8/8/R3K2R w KQkq): 킹 쪽 O-O 와 퀸 쪽 O-O-O 가 둘 다 나옵니다.
  • 상대 룩이 e2 에서 킹을 체크하는 중: 캐슬링 수가 하나도 없습니다.
  • 상대 룩이 f2 로 f1 을 공격: O-O 는 막히고 O-O-O 만 남습니다. 킹이 지나는 칸이 공격받기 때문입니다.
  • 상대 룩이 g2 로 g1 을 공격: 도착 칸이 공격받으니 O-O 가 막힙니다.
  • 상대 룩이 d1 또는 c1 을 공격: 이번에는 O-O-O 가 막히고 O-O 만 남습니다.
  • 상대 룩이 b1 을 공격: 퀸 쪽 캐슬링이 여전히 허용됩니다. 킹은 b1 을 지나지 않고 룩만 지나기 때문이며, 입문서에서 자주 빠지는 예외입니다.
  • b1 에 내 나이트가 서 있음: O-O-O 는 막히고 O-O 만 남습니다. 킹과 룩 사이에 b1 도 포함되므로 비어 있어야 합니다.

가장 놓치기 쉬운 것은 "룩이 움직인 적이 있는가"입니다. 룩이 어디로 갔다가 제자리로 돌아와도 캐슬링 권리는 돌아오지 않는데, 이를 판 상태만 보고는 알 수 없어서 엔진은 권리를 따로 기억합니다. 킹과 룩이 움직이거나 룩이 잡히면 해당 권리가 꺼지는 방식입니다. 이 부분을 일부러 빼고 시험해 보니 흥미롭게도 일반적인 검증 국면에서는 깊이 4 까지도 오류가 드러나지 않았습니다. 룩이 나갔다 돌아와 캐슬링하기까지 반 수로 다섯 번(백 세 번, 흑 두 번)이 필요한데 그 깊이까지 세지 않았기 때문입니다. 킹과 룩만 남긴 위 국면을 깊이 5 로 세었을 때에야 7,594,526 이 7,601,568 로 7,042개 어긋나 발견되었습니다.

앙파상과 프로모션: 한 수 뒤에는 사라지는 권리

앙파상은 폰이 두 칸 전진해 상대 폰 옆을 지나갈 때, 상대가 그 폰을 한 칸만 간 것처럼 잡을 수 있는 규칙입니다. 중요한 점은 바로 다음 한 수에만 가능하다는 것입니다. 엔진은 두 칸 전진 때 "지나간 칸"을 기록해 두고 다음 수에서 지웁니다. 흑 폰이 d4, 백 폰이 e4 로 막 두 칸 나온 국면에서는 흑의 잡는 수가 dxe3 하나 나왔고, 같은 배치에서 지나간 칸 기록만 지우면 잡는 수가 하나도 나오지 않았습니다. 이 수를 두면 e4 의 백 폰이 사라지고 흑 폰이 e3 에 서는데, 잡히는 폰이 도착 칸이 아니라 옆 칸에 있다는 점이 다른 잡기와 다릅니다.

앙파상에는 숨은 함정이 하나 더 있습니다. 가로줄에서 내 킹, 내 폰, 상대 폰, 상대 룩이 일렬로 선 국면(KPp 와 룩)에서 앙파상을 하면 두 폰이 한꺼번에 사라지며 룩의 길이 열려 킹이 노출됩니다. 엔진에서 확인해 보니 그런 국면의 합법 수는 Ka6, Ka4, Kb6, b6 네 개였고, bxc6 앙파상은 목록에 없었습니다. 눈으로 놓치기 쉬운 불법 수를 엔진이 잡아 주는 사례입니다. 앙파상 규칙을 빼 보면 검증용 국면 세 개에서 합계가 1~4개씩 어긋나 바로 드러납니다.

프로모션은 폰이 끝줄에 닿으면 퀸·룩·비숍·나이트 중 하나가 되는 규칙입니다. 대부분은 퀸을 고르지만 나이트가 더 좋은 경우가 있어서, 엔진에는 일부러 이런 국면을 넣어 보았습니다. 흑 킹 d7 과 흑 퀸 a6 이 있고 백 폰이 b7 에 선 국면입니다. b8 에 나이트가 서면 킹에 체크를 걸면서 a6 의 퀸을 동시에 노리고, 퀸으로 승진하면 이 포크는 없습니다. 보통·어려움은 20번 모두 b8=N+ 를 골랐고, 쉬움은 20번 중 14번 b8=N+, 5번 b8=Q, 1번 Kg2 였습니다. 프로모션을 퀸으로만 제한한 변형 엔진은 검증 국면에서 수 개수가 264개에서 228개로 36개 줄어 바로 틀린 것으로 드러났습니다. 사람이 두는 판에서도 승진 칸에 닿으면 선택창이 뜨는 이유입니다.

이기지 못하는 판: 스테일메이트·기물 부족·50수·3회 반복

승부가 안 나는 경우도 규칙으로 정해져 있고, 엔진은 모두 구현했습니다. 스테일메이트는 둘 곳이 없지만 체크는 아닌 상태입니다. 흑 킹 h8 만 남고 백 킹 f6, 백 퀸 g1 인 국면에서 백의 마지막 수는 두 가지가 있습니다. Qg7# 은 체크메이트로 끝나고 Qg6 은 스테일메이트로 끝납니다. 보통·어려움은 20번 모두 Qg7# 이었지만 쉬움은 20번 중 16번 Qg7#, 1번 Qg6 이었습니다. 이긴 판을 비기는 것은 입문자가 가장 억울해하는 실수라서 일부러 확인했습니다.

기물 부족 무승부는 생각보다 세부가 많습니다. 킹 대 킹, 킹+나이트 대 킹, 킹+비숍 대 킹은 즉시 무승부로 끝납니다. 비숍만 남은 경우는 같은 색 칸 비숍끼리라면 무승부이고 색이 다르면 계속하며, 나이트 두 개와 킹이 상대 킹 하나와 맞서는 경우도 이론상 메이트가 만들어질 수 있어 판정이 끝나지 않고 이어집니다. 50수 규칙은 폰 이동이나 기물 잡기 없이 반 수 100번(백·흑 각 50수)이 이어지면 무승부이고, 같은 국면이 세 번 나오면 청구할 필요 없이 자동으로 무승부가 됩니다. 이 사이트의 결과창은 어떤 이유로 비겼는지 문장으로 보여 줍니다.

오프닝 원칙을 엔진에게 물어본 결과

중앙 폰을 차지하고, 나이트와 비숍을 꺼내고, 일찍 캐슬링하라는 원칙은 어느 입문서에나 있습니다. 대신 엔진은 이 원칙을 어떻게 숫자로 느끼는지 확인했습니다. 시작 국면에서 한 수씩 둔 직후의 정적 평가(말 가치와 위치 점수만 합친 값, 백 기준)는 Nc3 와 Nf3 이 +50, d4 와 e4 가 +40, d3 과 e3 이 +20 이었고, c3 과 f3 은 -20 으로 가장 낮았습니다. 나이트를 꺼내는 쪽이 평가가 높다는 뜻이고, 이 값은 위치표가 그렇게 매기기 때문이고, 평가 함수가 f3 폰이 나이트의 길을 막는다는 사실을 직접 아는 것은 아닙니다.

깊이를 더하면 순위가 바뀝니다. 보통 난이도로 시작 국면을 30번 돌렸더니 e4 9번, Nf3 9번, d4 7번, Nc3 5번의 네 가지만 나왔고, 가장 어려운 단계는 3번 모두 e4 를 골랐습니다. 정적 평가로는 Nc3 와 Nf3 이 앞서던 것이 깊이 4 이상으로 읽자 e4 와 d4 가 따라붙는 셈입니다. 흑으로서 1.e4 에 답하는 경우에는 보통 30번 중 Nc6 18번, d5 8번, Nf6 4번이었고, 첫 번째 캡처의 Nc6 도 그 안의 한 수였습니다.

한 가지 짚고 갈 것은 엔진이 오프닝 책 없이 계산만으로 두기 때문에, "일찍 캐슬링"을 규칙으로 지키지 않는다는 점입니다. 가장 어려운 단계끼리 12수를 두게 했더니 1.e4 Nc6 2.Nf3 e5 3.Nc3 Nf6 4.d4 exd4 5.Nxd4 Bb4 6.Nxc6 Bxc3+ 7.bxc3 dxc6 8.Qxd8+ Kxd8 9.Bg5 로 이어져 8수에 벌써 퀸을 맞교환했고, 12수까지 양쪽 모두 캐슬링을 하지 않았습니다. 한 번 돌린 결과이고, 퀸이 사라진 뒤라 킹이 덜 위험했던 판입니다. 그래도 저는 사람과 두는 판에서는 원칙대로 캐슬링을 서두르는 쪽을 권합니다.

초보자를 가장 많이 걸리게 하는 함정은 학자의 메이트입니다. 1.e4 e5 2.Bc4 Nc6 3.Qh5 로 f7 을 노리는 이 국면에서 흑이 가만히 있으면 4.Qxf7# 입니다. 이 국면을 엔진에게 흑으로 40번 물었을 때 보통과 어려움은 40번 모두 Qe7 로 f7 을 지켰고, 쉬움은 Qe7, Qf6, Ke7, g6 등 아홉 가지를 섞었습니다. 쉬움이 아홉 가지로 흩어진 것은 12% 무작위와 점수 차 160 이내의 수 고르기가 겹친 결과입니다. 어느 난이도든 한 수 앞의 메이트는 읽으니, 이 함정으로 컴퓨터를 이기려면 컴퓨터가 흑일 때 보통 이상을 상대로는 기대하기 어렵습니다.

첫 체크메이트 패턴 세 가지와 기본 마무리

체크메이트 패턴은 수십 가지지만 처음에는 세 가지면 충분합니다. 첫째는 백랭크 메이트로, 킹이 g1 에 있고 폰 f2·g2·h2 가 앞을 막은 상태에서 룩이 8번째 줄에 들어가는 형태입니다. 이 형태(6k1/5ppp/8/8/8/8/5PPP/R5K1)에서 엔진은 깊이 1 에서 곧바로 Ra8# 을 찾았고, 탐색 노드는 39개에 그쳤습니다. 둘째는 바보 메이트로, 1.f3 e5 2.g4 에서 흑이 Qh4# 을 두는 것입니다. 이 국면에서는 세 난이도가 모두 Qh4# 을 골랐습니다. 셋째는 질식 메이트로, 킹이 자기 말에 막혀 있을 때 나이트가 체크를 거는 형태입니다. 흑 킹 h8, 흑 룩 g8, 폰 g7·h7 에 백 나이트 e5 인 국면에서 보통과 어려움은 Nf7# 을 두었지만 쉬움은 200번 중 20번(10%) 다른 수를 골랐습니다.

그다음 반드시 익혀야 할 것은 킹과 퀸으로 외로운 킹을 몰아 메이트하는 방법입니다. 엔진이 이 마무리를 어떻게 하는지 가장 어려운 단계로 시킨 한 판은 이렇습니다. 백 킹 a1, 백 퀸 h1, 흑 킹 e6 에서 시작해 Qe4+ Kd7 Qd5+ Ke7 Kb2 Kf8 Qe6 Kg7 Kc3 Kh7 Qf6 Kg8 Kd4 Kh7 Qg5 Kh8 Ke5 Kh7 Kf6 Kh8 Qg7# 으로 끝났습니다. 퀸이 흑 킹의 길을 줄과 줄로 막는 동안 백 킹이 한 칸씩 올라오고, 마지막에 킹이 f6 에서 g7 을 받치는 순간 메이트가 났습니다. 퀸 혼자서는 메이트할 수 없으므로, 반드시 내 킹을 데려와야 한다는 것이 이 마무리의 핵심입니다.

이 마무리는 난이도에 따라 결과가 갈렸습니다. 킹+퀸 또는 킹+룩 대 킹 국면 다섯 곳에서 백이 먼저 두는 판을 난이도별로 돌려 보았습니다(흑은 보통). 어려움은 5판 모두 메이트로 끝났고 반 수 기준 13~27번(백·흑 합계) 안에 끝났습니다. 보통은 15판 중 메이트 9판이었고 나머지는 반복 2판, 50수 무승부 3판, 기물 부족 1판이었습니다. 쉬움은 15판 중 메이트가 0판이었고, 50수 무승부가 9판, 반복 1판이었으며 5판은 퀸이나 룩을 상대 킹에게 그냥 내줘 기물 부족 무승부가 되었습니다. 이긴 국면을 이기지 못하는 단계가 있다는 점은 이 난이도를 고르는 기준이 됩니다.

처음 이기려는 분께 권하는 순서

제가 권하는 순서는 이렇습니다. 처음에는 쉬움으로 두면서 기물 움직임과 캐슬링, 프로모션을 몸에 익히세요. 쉬움은 매 수 12% 확률로 아무 수나 두고 점수 차가 160 이내인 수를 섞어서 두기 때문에, 한 수 앞을 보는 함정 정도는 피하지만 큰 실수를 자주 합니다. 그 실수를 잡아 말을 따내는 경험이 쌓이면 보통으로 올리세요. 보통은 점수 차 12 이내의 비슷한 수만 섞어 두면서 깊이 4 까지 읽습니다. 막힐 때는 힌트 버튼이 3초 동안 어려움 엔진이 고른 수를 파란 칸 두 개로 보여 줍니다. 두 번째 캡처의 11수 장면에서 힌트가 d2 와 d4 를 파랗게 칠했는데, 같은 배치를 엔진에 넣어 어려움으로 세 번 물어도 d4 가 나왔습니다. 힌트를 쓰면 결과창에 사용 횟수가 표시되므로, 이기더라도 몇 번 도움을 받았는지 스스로 알 수 있습니다.

마지막으로 한 가지 습관만 권합니다. 말을 놓기 전에 "이 칸에서 내 말이 잡히는가, 이 수로 상대가 무엇을 노리는가"를 한 번씩 확인하는 것입니다. 참고로 보통 난이도는 시작 국면에서 약 3만 노드를 읽는 데 20~30밀리초가 걸렸습니다. 무르기는 내 수와 컴퓨터의 응수를 한 쌍으로 되돌리므로, 큰 실수를 알아챘다면 바로 눌러 다른 수를 시험해 보세요.

관련 게임 플레이하기

다른 읽을거리

개발노트체스 엔진을 직접 만들고 검증한 기록체스 엔진의 perft 검증 수치와 그것이 보증하는 범위, 평가 함수·탐색, 난이도 세 단계 실측, Web Worker, 반복 국면 처리, jobId 버그와 엔진의 한계를 소스와 실행으로 정리한 개발 노트입니다.입문스도쿠 입문: 봇이 푼 난이도별 필요 기법이 사이트 스도쿠가 난이도별로 주는 단서 수와, 같은 규칙으로 만든 판을 논리 풀이 봇으로 풀어 본 결과, 힌트·되돌리기의 실제 동작을 정리한 입문 글입니다.입문오목 입문: 컴퓨터 점수표를 읽고 삼삼으로 이기기이 사이트 오목 컴퓨터의 점수표와 난이도별 차이를 소스에서 읽고, 삼삼 준비 모양과 봇 대전 결과로 초반 배치·수비 우선순위·무르기 활용을 정리했습니다.입문장기 입문 가이드: 말 움직임부터 외통 몰기까지장기의 말 움직임, 포와 차의 쓰임, 궁성 대각선, 장군과 외통의 원리, 초보가 자주 하는 실수를 GamePool 장기 기준으로 정리했습니다.입문알까기 입문: 힘 조절, 각도, 충돌 물리 활용법알까기를 이기려면 얼마나 세게, 어느 방향으로 튕겨야 할까요? 당김 길이와 이동 거리, 충돌 때 돌이 움직이는 방식과 전술을 정리했습니다.입문동물 연결하기 입문: 연결 규칙과 콤보로 점수 올리기동물 연결하기의 연결 규칙, 바깥 둘레 활용, 힌트·섞기 아끼는 법, 단계별 필요한 속도와 콤보 점수 구조를 게임 기준으로 정리했습니다.