교육과정 데이터에서 출발해 여러 AI가 역할을 나눠 만들고, 만든 쪽과 다른 회사의 AI가 수학을 처음부터 다시 계산합니다. 그리고 80점을 못 넘으면 게시하지 않습니다. 실제로 절반이 버려집니다.
아이디어에서 시작하지 않습니다. 교과서가 정한 배움의 목표에서 시작합니다.
게임 한 편을 만들기 전에 2022 개정 교육과정의 초등 수학 성취기준을 통째로 데이터로 정리해 둡니다. 학년, 학기, 단원, 성취기준 코드([6수01-05] 같은 것), 그 단원에서 아이들이 자주 틀리는 지점까지 한 줄씩 들어 있습니다. 이 파일은 사람만 손댈 수 있고, AI는 읽기만 합니다.
제작이 시작되면 가장 먼저 “이번엔 어느 칸이 비어 있는가”를 고릅니다. 이미 만든 게임들의 학년·단원 분포를 훑어서 비어 있는 단원을 찾고, 그 단원의 성취기준을 그대로 이번 게임의 과제로 넘깁니다. 그래서 게임이 늘어날수록 교과서를 고르게 덮게 됩니다.
교육과정만 보면 문제집이 됩니다. 그래서 별도로 세계의 잘 만든 게임들이 왜 재미있는지를 계속 조사해 “메커닉 광산”이라는 목록으로 쌓아둡니다. 특정 게임을 베끼는 게 아니라 재미의 원리만 뽑습니다 — 예를 들면 “아슬아슬하게 타이밍을 맞추는 쾌감”, “쌓다가 무너지는 긴장”, “한 수 잘못 두면 판이 막히는 압박” 같은 것들입니다.
그다음이 이 공장에서 제일 중요한 한 걸음입니다. 수학 개념과 재미 원리를 짝짓는 것. 좋은 짝은 “계산해서 답을 고르는” 형태가 아니라 계산 자체가 조작이 되는 형태입니다. 분수를 골라 누르는 게임보다, 분수만큼 실제로 잘라내야 다리를 건널 수 있는 게임이 낫습니다. 이 기준은 뒤에서 점수로도 강제됩니다(§4).
덤으로, 최근에 쓴 메커닉과 색감은 점수를 깎아서 다시 뽑히지 않게 합니다. 같은 단원에 이미 쓴 조작 방식이면 큰 감점, 최근 몇 편에 나온 색 분위기도 회피 목록으로 넘어갑니다. 게임들이 서로 닮아 보이지 않게 하려는 장치입니다.
한 AI가 혼자 다 만들지 않습니다. 만드는 쪽과 판정하는 쪽이 분리돼 있습니다.
맨 위에 오케스트레이터가 있습니다. 이 역할은 직접 코드를 쓰지 않습니다. 계획을 세우고, 각 하위 에이전트에게 작업지시서를 주고, 돌아온 결과를 실제로 확인하는 일만 합니다. “고쳤습니다”라는 대답은 증거로 치지 않고, 스크린샷을 직접 열어 보고 숫자를 다시 재는 것이 규칙입니다.
서로 다른 AI 셋이 동시에 서로 다른 각도로 기획안을 냅니다. 정통 아케이드형 / 요즘 모바일 게임 문법 / 비주얼 승부. 하나만 시키면 게임들이 서로 비슷해집니다.
기획 3안 중 하나를 고릅니다. 이때 재미 예측 게이트를 겁니다 — “아무 생각 없이 눌러도 이기는 구조”, “계산을 코드가 대신해 주는 구조”면 총점과 무관하게 탈락시킵니다.
배경·주인공·썸네일·타이틀 이미지를 병렬로 생성합니다. 게임마다 정해진 아트 디렉션 축(종이공작 / 플랫 벡터 / 네온 / 클레이 / 픽셀 / 인쇄 / 칠판 / 도면 / 직물 / 유리 등)을 따르고, 최근 게임과 같은 축은 금지입니다.
실제 게임을 HTML 한 파일로 구현합니다. 다 만들고 나면 자기 게임에 로봇을 붙여 스스로 부숴 봅니다(§4의 무뇌봇).
게임을 만든 곳과 다른 회사의 AI가 문제 생성기를 통째로 돌려 정답을 전부 다시 계산합니다. 하나만 틀려도 게시 불가.
100점 만점으로 채점하고, 못 고친 항목을 목록으로 남깁니다. 점수를 후하게 주지 말라는 지시가 프롬프트에 박혀 있습니다 — “평범하면 70점대”.
검수에서 지적된 항목을 딱 한 번 고칩니다. 고친 뒤에는 자동 점검·수학 검산·검수를 처음부터 다시 받습니다.
게임이 몇 편 쌓일 때마다 새로운 재미 원리를 찾아 후보로 쌓아둡니다. 바로 반영되지 않고 사람이 승인해야 목록에 들어갑니다.
이 분업에는 두 가지 원칙이 있습니다. 첫째, 같은 파일을 두 에이전트가 동시에 건드리지 않습니다 — 게임 한 편에 담당 하나. 둘째, 만드는 에이전트와 판정하는 에이전트를 절대 겹치지 않게 합니다. 자기 답안을 자기가 채점하면 같은 실수를 두 번 놓칩니다.
같은 모델이 만들고 같은 모델이 검산하면, 같은 맹점을 공유합니다.
이 공장은 Claude·GPT·Grok 계열의 서로 다른 회사 모델을 역할별로 나눠 씁니다. 단순히 여러 개를 쓰는 게 아니라, 어려운 판단이 필요한 단계(심사·빌드·검수)에는 상위 티어, 기획·수정에는 중간 티어를 배정합니다. 기획만은 예외로 세 회사에 동시에 맡기는데, 여기서는 정확도보다 다양성이 더 중요하기 때문입니다.
게임을 구현한 모델과 다른 회사의 모델이, 그 게임의 문제 생성기를 독립적으로 돌려 정답을 전수 재계산합니다. 문항 몇 개를 표본으로 보는 게 아니라 생성 가능한 문제를 쭉 뽑아서 전부 다시 풉니다.
이게 왜 필요한지 보여주는 실제 사례가 있습니다. 어떤 게임은 겉보기엔 멀쩡했고 다른 항목은 전부 통과했는데, 독립 검산에서 오답 보기 중 하나가 우연히 정답과 같은 값인 문항이 발견됐습니다. 아이 입장에서는 정답을 눌러도 틀렸다고 나오는 게임입니다. 같은 날 하루에만 세 편이 수학 문제로 즉시 폐기됐고, 그 세 편 모두 나머지 검사는 다 통과한 상태였습니다.
AI 서비스는 가끔 죽습니다. 실제로 어느 날 밤 네 회차가 연달아 통째로 실패한 적이 있는데, 원인은 빌드용 모델의 사용량이 소진된 것이었습니다. 그때의 폴백 장치는 “그 도구가 설치돼 있는가”만 확인하고 있어서 작동하지 않았습니다.
그래서 규칙을 바꿨습니다 — 폴백은 “도구가 있는가”가 아니라 “결과가 나왔는가”로 판단합니다. 결과물이 없거나 오류가 섞여 나오면 즉시 다른 회사 모델로 한 번 재시도합니다. 그리고 그때 조용히 사라졌던 네 회차는 나중에 소급해서 실패 기록으로 남겼습니다. 실패를 기록에서 지우지 않는 것도 규칙입니다.
기계가 확실히 판정할 수 있는 것과, 사람 같은 판단이 필요한 것을 나눠서 봅니다.
먼저 프로그램이 게임을 실제 브라우저에 띄워 41가지를 기계적으로 검사합니다. 통과/실패만 있는 이진 검사입니다.
이 중 17개는 “치명” 항목이라 하나라도 걸리면 그 자리에서 제작이 중단됩니다. 그리고 이 41개 목록 자체가 과거에 실제로 밟은 지뢰의 기록입니다. 예를 들어 “다른 게임 이미지 도용 검사”는, 아트 담당 AI가 “최근에 만들어진 이미지 파일”을 찾다가 동시에 돌아가던 다른 게임의 이미지를 집어온 사고 이후에 생겼습니다.
빌드 담당이 자기 게임에 생각 없는 로봇 4종을 붙여 각각 200판을 돌립니다.
| 로봇 | 전략 | 합격선 |
|---|---|---|
| 연타 봇 | 항상 같은 버튼만 반복해서 누른다 | 완주율 25% 이하 |
| 순환 봇 | 1→2→3→4 순서로 돌려가며 누른다 | 완주율 25% 이하 |
| 무작위 봇 | 매번 아무 곳이나 아무 방향으로 | 완주율 25% 이하 |
| 무입력 봇 | 아무것도 하지 않고 그냥 둔다 | 완주율 0% |
표가 잘려 보이면 옆으로 밀어 보세요 →
이 시험을 넘지 못하면 그 게임은 수학을 몰라도 이길 수 있는 게임이고, 그건 수학 게임이 아닙니다. 실제로 어떤 게임은 “꾹 누르고 있기”만으로 100% 이기는 상태였는데, 문항이 1,232개나 있었는데도 그랬습니다. 진단은 이랬습니다 — “문항 수가 문제가 아니라, 결과가 입력 전에 이미 정해져 있다.” 핵심 구조를 다시 만든 뒤 무뇌봇 승률은 100%에서 0%가 됐습니다.
마지막으로 검수 AI가 게임을 직접 플레이하고 스크린샷을 눈으로 보면서 채점합니다. 배점 자체가 이 공장의 우선순위 선언입니다.
| 항목 | 배점 | 무엇을 보는가 |
|---|---|---|
| 교육과정 정합성 | 25 | 성취기준이 실재하고 내용이 맞는가, 핵심 개념을 정면으로 다루는가, 학년 수준에 맞는가 |
| 수학 정확성 | 25 | 손으로 다시 풀어 하나라도 틀리면 0점 + 총점과 무관하게 즉시 폐기 |
| 재미 | 20 | 수학이 동사인가(그냥 문제창이면 감점), 30초 안에 재미있는가, 난이도 곡선이 있는가 |
| 비주얼 | 20 | 이 중 8점은 “앞선 게임들과 달라 보이는가”에 배정 — 최근 게임 화면과 대조합니다 |
| 모바일·성능 | 10 | 휴대폰에서 잘리지 않는가, 부드럽게 돌아가는가, 숫자·분수가 읽히는가 |
표가 잘려 보이면 옆으로 밀어 보세요 →
점수와 별개로 탈락 조건 네 가지가 더 있습니다. 아무 생각 없이 이길 수 있는가 · 한 번 실수하면 회복이 불가능한가 · 물리적 은유가 앞뒤가 맞는가 · 큰 화면에서 양옆이 텅 비어 있는가. 특히 두 번째는 아이들을 위한 게임에서 중요합니다. 한 번 틀렸다고 끝나버리면 배울 기회가 없습니다.
게이트는 “목표”가 아니라 코드에 박힌 불변식입니다.
게시되려면 네 조건을 전부 만족해야 합니다. 하나라도 어긋나면 그 게임은 이 사이트에 올라오지 않습니다.
이 80이라는 숫자는 낮출 수 없습니다. 게시 프로그램 안에 하한이 상수로 박혀 있어서, 어떤 설정값을 넣어도 80 아래로는 내려가지 않고 거부됩니다. 그리고 게시하는 입구가 하나뿐입니다 — 자동 사이클도, 사람이 손으로 되살린 게임도 같은 문을 지나야 합니다.
점수가 모자라면 수리 담당이 지적 사항을 전부 처리하고 자동 점검 → 수학 검산 → 검수를 처음부터 다시 받습니다. 재검수 지시문에는 이렇게 적혀 있습니다 — “이것은 재검수다. 봐주지 마라. 여전히 미달이면 폐기가 맞다.”
기회를 한 번으로 제한한 데는 이유가 있습니다. 무한히 다시 시도하게 두면 점수가 통과선에 닿을 때까지 갈아내게 되고, 그 순간 게이트는 의미가 없어집니다.
게임을 만드는 건 한 줄로 흘러가는 공정이 아니라, 서로 다른 속도로 도는 다섯 겹의 되먹임입니다.
“2시간마다 게임 한 편”이라는 말은 가장 안쪽 한 겹만 설명한 것입니다. 실제로 품질을 만드는 건 그 바깥을 도는 네 겹입니다. 이 네 겹이 없으면 지금 게시된 24편 중 9편은 아예 존재하지 않고, 나머지 15편도 지금 점수를 받지 못합니다.
다섯 고리가 실제 파이프라인에서 어디에 붙어 도는지 한 장으로 담은 그림입니다. 클릭하면 원본 크기로 열립니다.
어느 하루, 여섯 회차가 연속으로 폐기됐습니다. 교육과정 점수도 비주얼 점수도 통과 수준이었는데 재미 점수 하나가 평균 6.8/20이라 게이트가 무너진 것이었습니다.
폐기작 열두 편의 검수 기록을 전부 다시 읽어서 실패 유형 여덟 가지를 뽑아냈습니다. 그중 결정적인 발견은 이것이었습니다 — 화려한 연출을 아무리 많이 붙여도, 조작이 판단과 연결돼 있지 않으면 재미 점수는 회복되지 않는다. 실제로 연출 기법 아홉 가지를 다 넣고도 재미 4점을 받은 게임이 있었습니다.
그래서 성공작들과 대조해 네 가지 축을 뽑아 기획·심사·빌드 세 단계에 각각 게이트로 심었습니다. 답을 고르는 공간과 조작하는 공간이 같은가 / 아무렇게나 눌러서 성공할 확률이 낮은가 / 실패에 이빨이 있는가 / 기획서의 핵심 재미가 코드에 실제로 있는가.
| 개입 전 (6회차) | 개입 후 (11회차) | |
|---|---|---|
| 총점 평균 | 63.7 | 72.2 (+8.5) |
| 재미 평균 | 6.8 / 20 | 12.4 / 20 (1.8배) |
표가 잘려 보이면 옆으로 밀어 보세요 →
다만 정직하게 덧붙이면, 그날도 게시는 0건이었습니다. 최고점이 79점이었거든요. 게이트를 하나 올리면 병목은 사라지는 게 아니라 옆으로 이동합니다. 새로 드러난 병목(수학 오류, 그리고 같은 날 새로 도입한 디자인 다양성 감점)이 다음 사이클의 숙제가 됩니다.
실제로 있었던 캠페인들입니다. “거의 모든 게임이 휴대폰처럼 화면 가운데서만 논다”는 지적 → 20편 전수 감사 → 큰 화면용 배치 규격을 새로 만들어 11편 전환 → 데스크톱 화면 검사 항목 신설. “배지가 게임 요소를 가린다”는 지적 → 20편 × 여러 화면 크기 × 여러 상태로 280장을 캡처해 AI가 판정 → 결함 53건 확정 → 18편 전부 수리. “게임들이 다 똑같아 보인다”는 지적 → 화면 색과 코드를 기계로 비교했더니 최근 게임들의 스타일 코드가 문자 그대로 47~78% 동일했고, 원인은 모든 게임에 같은 스타일 문구를 강제로 붙이던 지시문이었습니다 → 아트 디렉션 10축을 만들고 축당 정원을 3편으로 제한.
첫 점수는 그 게임의 상한이 아니라 진단값입니다.
게이트에 걸린 게임은 지워지지 않습니다. 폴더째 보관함으로 옮겨 통째로 보존됩니다. 그리고 검수관이 “원인이 국소적이다”라고 판단하면 되살릴 가치가 있는 것으로 표시됩니다.
부활이 싼 이유는 분명합니다. 기획도 그림도 코드도 이미 값을 치른 상태이고, 남은 것은 “무엇을 고쳐야 하는지 적힌 정확한 작업 지시서”뿐이기 때문입니다. 그리고 되살릴 때도 봐주기는 없습니다 — 수학 재검산, 무뇌봇 재측정, 자동 점검 41항목, 그리고 같은 채점표로 재검수. 신작과 똑같은 문을 통과해야 합니다.
| 게임 | 첫 검수 | 부활 후 |
|---|---|---|
| 겹쳐딱 | 58 | 92 |
| 꽝도장 | 51 | 87 |
| 경계폭주 | 65 | 91 |
| 폴짝이 | 65 | 90 |
| 쩍쩍 | 75 | 87 |
| 등불을 켜 | 미달 | 92 |
표가 잘려 보이면 옆으로 밀어 보세요 →
재미있는 건 부활 과정에서 새로 발견되는 것들입니다. 부활은 재작업이 아니라 두 번째 정밀 검사거든요. 어떤 게임에서는 정답이 하나가 아닌 문항이 발견됐습니다(직사각형도 평행사변형이니까요). 어떤 게임에서는 수학적으로 똑같이 맞는 답인데 오답 처리하는 보스가 있었습니다.
또 한 편은 게시된 뒤에 “애들이 풀 수 없는 속도”라는 지적을 받았습니다. 그래서 낙하를 계산할 시간(6초)과 판정하는 순간(2.4초)으로 쪼개 다시 설계하고, 어린이의 반응 속도(1.5~4.5초)를 흉내 낸 로봇으로 다시 측정해 확인했습니다. 게시 후에 받은 지적도 게임을 되돌립니다.
자랑만 적으면 이 페이지의 의미가 없습니다.
궁금한 점이나 “이 게임 이런 게 이상해요” 같은 지적은 언제든 환영합니다. 대부분의 큰 개선은 스크린샷 한 장에서 시작했습니다.