블로그로 돌아가기
발주자2026-09-0720분

한 질문이 게임 규칙을 바꿨다

연재 「발주자」 — 코딩 못 하는 교사가 교실 도구를 만들며 배운, 시키는 사람의 조건. 24편 중 6편.

아침 책상에서 노트북 화면의 세로형 디펜스 게임 판을 유심히 들여다보는 남교사

그날의 질문

하늘수비대라는 게임을 만들고 있었다. 주소는 skyguard-bdk.pages.dev 다.

규칙은 간단하다. 적이 화면 위에서 아래로 내려오고, 아이는 아래쪽에 탑을 세워서 막는다. 탑은 자기 사거리 안에 들어온 적을 쏜다. 적이 맨 아래까지 내려오면 목숨이 깎인다.

여기에 문제가 섞여 든다. 웨이브 사이에 관제 문제가 뜨고, 싸우는 중에도 지식탄이라는 형태로 국어·수학·과학·사회 문항이 끼어든다. 틀려도 잃는 건 없고, 연달아 맞히면 보상이 커진다. 5편에서 종이하늘 이야기를 하며 「잘 못하는 아이도 끝까지」라고 썼는데, 이 게임에서 정한 기준도 같다. 틀린 아이한테 벌을 주지 않는다는 것.

2026년 9월 4일에 화면을 보다가 이런 생각이 들었다.

탑이 안 깨지면, 무조건 위에다만 지으면 되는 거 아닌가.

그럴듯한 이유도 같이 떠올랐다. 적이 탑의 사거리 안에 머무는 시간은 어디에 짓든 비슷할 것이다. 그런데 위에 지으면 더 일찍 쏘기 시작한다. 탑이 부서지지도 않으니 위험도 없다. 그러면 위가 무조건 이득 아닌가.

나는 이 게임의 코드를 한 줄도 읽지 못한다. 화면을 봤을 뿐이다. 그런데 화면을 보는 일에 관해서는 내가 좀 안다. 이 게임은 우리 반 아이들이 쉬는 시간에 열 물건이고, 나는 아이들이 무엇 앞에서 손을 멈추고 무엇 앞에서 그냥 지나가는지를 오래 봐 왔다.

나는 답을 몰랐다

여기를 분명히 해 두고 싶다. 그날 내가 갖고 있던 건 답이 아니었다. 이상하다는 느낌 하나였다. 내 추론이 맞는지 틀린지 확인할 방법이 나한테는 없었다. 몇 년 전이었으면 이 느낌은 그냥 사라졌을 것이다. 어디에 물어볼 데가 없으니까. 게임을 만드는 사람을 알지도 못하고, 안다 해도 「그거 좀 이상한 것 같은데요」라는 말을 꺼내려면 근거가 있어야 한다. 근거를 만들려면 재 봐야 하고, 재려면 만들 줄 알아야 한다. 그 고리가 막혀 있으면 느낌은 느낌으로 끝난다.

그래서 시켰다. 재 봐 달라고.

재 보니 내가 틀렸다

측정은 이렇게 했다. 자동으로 게임을 하는 봇을 두 개 만든다. 하나는 아래쪽부터 채우고 하나는 위쪽부터 채운다. 나머지는 전부 똑같이 둔다. 돈 쓰는 방식도, 탑 고르는 방식도, 강화하는 순서도 같다. 자리 하나만 다르게 한다.

그래야 결과의 차이가 자리의 값이 된다.

이 대목은 코딩이 아니라 과학 시간에 하는 얘기다. 조건을 하나만 바꾸고 나머지를 붙들어 놓는 것. 5학년 아이들한테 콩나물 실험을 시키면서 「물 말고 다른 건 다 똑같이 해야지」라고 말해 본 사람이면 이미 아는 일이다. 나는 그걸 시킬 수 있었다. 어떻게 만드는지는 몰라도 무엇을 붙들어야 하는지는 알았다.

한 가지 더 붙였다. 판을 여러 번 돌리되 두 봇에게 똑같은 판을 주라고 했다. 이 게임은 매번 다른 순서로 적이 나오는데, 서로 다른 판에서 나온 두 성적을 비교하면 그건 자리 차이가 아니라 운 차이다.

그렇게 여러 판을 돌린 결과는 이랬다.

아래쪽 배치, 승률 19퍼센트. 위쪽 배치, 승률 0퍼센트.

아직 탑이 부서지지 않던 때다. 내 추론대로라면 위가 유리해야 하는데, 위가 한 판도 못 이겼다.

이유는 내가 생각하지 못한 데 있었다. 탑의 사거리는 동그라미다. 판 맨 위에 지으면 그 동그라미의 위쪽이 판 바깥으로 나간다. 거기엔 적이 없다. 화력의 상당 부분을 빈 곳에 겨누고 있었던 셈이다.

내가 댄 이유는 틀렸다. 「일찍 쏘기 시작한다」보다 「사거리가 밖으로 샌다」가 훨씬 컸다.

똑같은 판 두 개를 나란히 놓고 비교한 그림 — 왼쪽은 탑이 아래에, 오른쪽은 탑이 위에 몰려 있고 위쪽 탑의 사거리 원이 판 밖으로 새어 나간다

그런데 질문은 옳았다

여기가 이 편에서 하고 싶은 이야기다. 측정 결과만 보면 내 질문은 기각이다. 위 몰빵은 이미 나쁜 수였으니 고칠 게 없다. 실제로 그렇게 넘어갈 뻔했다.

그런데 그 숫자가 답한 질문이 무엇이었는지를 보면 얘기가 달라진다. 숫자가 답한 건 「위에 지으면 이기나」다. 내가 궁금했던 건 그게 아니었다. 나는 「어디에 지을지가 고민거리인가」가 궁금했다. 둘은 다른 질문이고, 두 번째 질문에 승률표는 아무 말도 하지 않는다.

위쪽이 진 이유를 다시 보자. 사거리가 판 밖으로 샜기 때문이다. 이건 게임이 아이에게 매긴 값이 아니다. 화면 어디에도 「위에 지으면 손해」라고 적혀 있지 않고, 사거리 동그라미가 판 밖으로 나가는 것도 아이 눈에는 안 보인다. 아이는 그냥 진다. 왜 졌는지 모른 채로.

값이 있는데 보이지 않으면 그건 없는 것과 같다. 앞줄에 짓는 일의 위험은 그때 0이었다. 탑이 안 부서지니까.

내가 냄새를 맡은 진짜 문제는 승률이 아니었다.

탑이 안 부서지면 「어디에 지을까」가 결정이 아니게 된다. 정답이 하나 있고 나머지는 실수인 상태가 된다. 그러면 판의 절반이 죽는다. 위아래로 긴 화면을 만들어 놓고 위아래를 고민할 이유를 없앤 것이다.

아이가 고민할 게 없으면 그건 게임이 아니다.

교실에서 이게 어떻게 보이는지는 짐작이 간다. 아이들은 잘하는 애가 하는 걸 금방 따라 한다. 이건 내가 여러 번 봤다. 한 아이가 찾아낸 방식이 며칠 안에 반 전체의 방식이 된다.

정답이 하나뿐인 게임에서는 그게 끝이다. 스무 개의 똑같은 판이 만들어지고, 그다음부터 아이들이 서로 할 얘기가 없다. 고민이 있는 게임에서는 아이마다 다른 판이 나오고, 다른 판이 나오면 아이들이 서로 화면을 들여다본다. 나는 뒤쪽을 만들고 싶었다.

이건 승률표에 안 나온다. 승률은 「어느 쪽이 이기나」만 말하지 「고를 만한가」는 말하지 않는다. 숫자가 답을 주는 자리가 있고, 숫자가 애초에 그 질문을 안 하는 자리가 있다. 뒤쪽이 발주자의 자리다.

그래서 규칙을 바꿨다

적이 탑을 때리게 했다. 세 종류의 적이 자기 사거리 안에 들어온 공격 탑을 일정한 주기로 친다. 바꾸면서 정한 게 셋 있는데, 전부 코드가 아니라 판단이다.

적은 멈추지 않는다. 탑을 때리려고 제자리에 서면 적이 위쪽에 눌러앉아서 웨이브가 끝나지 않는다. 내려온다는 사실 자체가 이 게임의 시계인데, 그 시계를 멈출 수는 없었다. 아이가 화면을 보며 조바심을 내는 이유가 그 시계이고, 조바심이 없으면 이 게임은 그냥 도형을 놓는 화면이 된다.

발전소와 방벽은 안 때린다. 발전소가 부서지면 돈이 줄고, 돈이 줄면 탑을 못 짓고, 탑이 없으면 발전소가 또 부서진다. 한 번 밀리면 못 돌아오는 나선이 생긴다. 방벽은 원래 맞아 주는 물건이라 자기 규칙이 따로 있다.

부서진 탑의 부품은 가방으로 돌아온다. 이 게임에는 뽑기로만 나오는 부품이 있는데, 어렵게 뽑은 게 탑과 함께 사라지면 그 뽑기는 「운 나쁘면 없던 일」이 된다. 아이한테 그건 게임이 아니라 벌이다.

이제 앞줄은 「일찍 쏘지만 부서진다」가 되고 뒷줄은 「늦게 쏘지만 안전한 마지막 기회」가 된다. 앞줄에 짓는 일에 값이 붙었고, 그 값은 화면에 보인다. 탑에 금이 가고, 피가 깎이고, 터진다.

여기서 정직하게 하나 붙여야 한다. 이걸로 저울이 맞춰지지는 않았다.

반격을 넣고 다시 재 봤더니 위쪽 몰빵은 여전히 한 판도 못 이겼다. 아래쪽만 승률이 조금 올랐을 뿐이다. 사거리가 판 밖으로 새는 문제는 그대로 있으니 당연한 결과다.

그러니까 내가 한 일은 저울을 맞춘 게 아니라 값을 보이게 한 것이다. 그 둘은 다르고, 나는 아직 앞쪽까지밖에 못 갔다.

그리고 못을 박았다

바꾼 다음에 시험을 하나 붙여 뒀다. 위쪽 몰빵이 아래쪽보다 낫지 않다는 걸 열두 개 시드로 매번 확인하는 시험이다.

여기서 하나 배운 게 있다. 이 시험은 승률을 몇 퍼센트라고 못 박지 않는다. 위가 아래보다 낫지 않다는 부등호만 확인한다. 절대치를 박아 두면 시드 운이 조금만 달라져도 시험이 실패한다. 실패하면 안 될 때 실패하는 시험은 결국 아무도 안 본다.

나는 코드를 못 읽지만 이 시험이 무엇을 지키는지는 안다. 지켜야 할 것을 정한 사람이 나니까.

이 시험이 무엇까지 지키는지도 분명히 해 두는 게 맞다. 이건 「위에 몰아 짓는 게 정답이 되는 일은 없다」만 지킨다. 「어디에 짓는지가 고민거리다」까지는 못 지킨다. 뒤쪽은 시험으로 잡히는 종류가 아니라서 내가 계속 봐야 한다.

그래도 앞쪽만으로도 값을 한다. 게임은 계속 고친다. 적을 새로 넣고, 탑을 더 만들고, 숫자를 만진다. 그때마다 이 결정을 내가 기억하고 있으리라는 보장이 없다. 사람은 잊는다. 시험은 안 잊는다.

태블릿 하나를 같이 보며 어디에 지을지를 두고 서로 다른 의견을 내는 아이들

뻔한 소리 아닌가

이런 반문이 나올 만하다. 「게임에는 선택지가 있어야 한다」는 건 누구나 아는 말 아니냐고.

맞다. 원칙 자체는 뻔하다. 나도 그 말을 어디선가 읽어서 알고 있었다.

그런데 그날 그 화면을 보고 그 말을 한 사람은 아무도 없었다. 뻔한 원칙과 오늘 눈앞의 화면 사이에는 거리가 있고, 그 거리를 건너는 게 안목이다. 원칙을 외우는 것과 지금 이 판에서 그 원칙이 깨져 있다는 걸 알아채는 것은 다른 일이다.

그날 화면에 그 원칙은 어디에도 「선택지가 없음」이라고 쓰여 있지 않았다. 오히려 반대로 보였다. 탑이 여섯 종류였고, 특화 갈래가 있었고, 강화가 있었다. 고를 게 넘쳐 보였다. 그중 하나가 실은 고르는 시늉이었다는 건, 그 화면을 여러 날 들여다본 사람만 알아챈다.

한 가지 더 정직하게 말하면, 나는 그걸 맞게 짚지도 못했다. 이유를 틀리게 댔다. 그래도 화면은 바뀌었다.

5편에서 발주자가 하는 일은 결정이라고 했다. 안목은 그 결정 앞에 오는 것이다. 무엇을 결정해야 하는지를 먼저 알아채야 결정할 게 생기니까.

그러니 안목은 정답을 아는 능력이 아니다. 여기가 이상하다고 짚는 능력이다. 그 뒤는 측정이 하고, 측정이 답하지 않는 자리는 다시 내가 한다.

이 편에서 안 된 것

앞줄은 지금도 열세다. 반격을 넣어서 앞줄에 값을 붙이기는 했는데, 위쪽 몰빵은 여전히 한 판도 못 이긴다. 이 편의 목표였던 「어디에 짓나가 진짜 고민이 된다」는 아직 반만 된 셈이다.

사거리가 판 밖으로 새는 문제도 손대지 않았다. 판을 키우면 좀 낫지 않을까 싶었는데, 생각해 보니 맨 위 줄에 짓는 한 판이 아무리 커도 사거리는 그대로 샌다. 재 보지 않은 짐작이었고, 짐작인 채로 남겨 둔다.

무엇보다 내가 댄 이유가 틀렸다. 측정을 안 했으면 나는 「탑이 안 부서져서 위가 유리했는데 반격으로 균형이 잡혔다」고 기억했을 것이다. 그럴듯하게 들리기까지 한다. 실제로는 반격 전에도 위쪽은 0승이었고, 내 설명은 처음부터 끝까지 틀린 이야기였을 것이다.

참고로 규칙을 바꾼 뒤 표준 봇의 전체 승률은 21퍼센트가 됐다. 이건 위아래 배치 얘기가 아니라 게임 난이도 쪽 숫자이고, 내가 잡아 둔 20에서 30 사이에 들어왔다.

오늘 할 일

오늘은 고르는 자리를 세어 보자.

당신이 자주 쓰는 화면 하나를 떠올리고, 거기서 「이거 그냥 이렇게만 하면 되는 거 아냐?」 싶은 데가 있는지 보라. 다들 A로 하는데 B가 왜 있는지 모르겠는 자리, 또는 반대로 길이 하나뿐이라 고민할 게 없는 자리.

그런 자리가 있으면 대개 설계가 덜 된 곳이다.

답을 몰라도 된다. 나도 몰랐고, 알고 보니 내 이유는 틀렸다. 그래도 그 질문 하나가 게임의 규칙을 바꿨다.

물어보는 게 일이다.

다음 편에서는 그 물어보는 말을 어떻게 하느냐를 다룬다. 코딩 용어를 하나도 안 쓰고 시키는 법이다.

댓글

이름은 안 적어도 됩니다. 비우면 익명으로 올라가요.

0 / 1000

불러오는 중…