깨알 규칙 개발 일지: '방문객은 쓰인 그대로 따른다'가 운이 아니라 내 탓이 되게
깨알 규칙(Fine Print)은 작고 이상한 마을의 표지판을 직접 쓰는 게임이에요. 방문객은 표지판에 쓰인 그대로, 한 글자도 어김없이 따라요. 모두를 무사히 집에 보내는 게 목표예요.
한 판은 5일이에요. 하루에 규칙 카드 3장 중 1장을 골라 표지판 기둥 3개 중 1곳에 붙여요. 표지판은 최대 3개까지 세울 수 있고, 네 번째를 세우면 하나가 바뀌어요. 그다음 ‘마을 열기’를 누르고 지켜봐요. 오늘의 마을과 끝없는 마을이 있어요.
일곱 번째 게임이에요. 앞선 여섯 게임은 궤도 타이밍, 스와이프 판정, 집게 조종, 선을 그어 자르기, 밀기와 저금, 조작 시험과 해독이었어요. 이번에는 규칙을 쓰고 지켜보는 게임이에요. 그래서 가장 큰 위험은 플레이어가 규칙을 읽지 못하는 거예요. 읽지 못하면 자기 탓이라고 느낄 수 없고, 게임의 웃음도 사라져요.
타이틀 화면. 표지판도 마을도 소리도 전부 코드로 만들어서 이미지 파일이 없어요.
내 탓이고, 웃기게
방문객이 황당한 짓을 했을 때 플레이어는 “아, 내가 저렇게 썼구나” 하고 느껴야 해요. “이게 뭐야, 운이네” 하면 안 돼요. 그러려면 규칙이 읽기 쉬워야 해요. 엉킨 배선에서 4번 방의 규칙이 화면에서 읽히지 않았던 경험이 있어서, 깨알 규칙은 처음부터 네 가지를 넣었어요.
- 누구에게 적용되는지 보여 주는 아이콘이 붙은 한 줄 카드. 카드는 24장이고, 영어 문구 기준으로 모두 40자 이하예요.
- 마을을 열기 전에 보이는 의도 화살표. 방문객이 어디로 가려는지 미리 볼 수 있어서 마음을 바꿀 수 있어요.
- 사고가 나면 시뮬레이션이 멈춰요. 자막이 사고의 원인이 된 표지판을 알려 줘요.
- QA의 ‘첫눈 규칙 점검’ 출시 관문. QA가 디자인을 보기 전에, 화면만 보고 카드마다 무슨 일을 하는지 먼저 적어요.
계획 화면. 점선 구역과 안내 문구는 아래에서 이야기할 첫눈 점검에서 나왔어요.
가장 마음에 드는 건 멈춤이에요. 사고가 나면 시뮬레이션이 멈추고, 일이 벌어진 방문객 둘레에 원이 그려지고, 원인이 된 기둥이 강조되고, 자막이 일의 순서를 말해 줘요.
사고 장면. 자막이 원인이 된 표지판을 짚어 주니까, 다음 수는 플레이어 몫이에요.
오늘의 마을을 전부 탐색하기
장소는 3곳, 방문객은 6종류, 카드는 아까 말한 24장이에요. 시뮬레이션은 정수 틱만 쓰는 순수한 방식이라서 봇 테스트보다 더 확실한 방법을 쓸 수 있었어요. 테스트 스크립트 levelcheck는 오늘의 마을을 하나도 빠짐없이 탐색해요. 날짜마다 3^10 = 59,049가지 경로, 1157일치예요.
결과는 이래요.
- 모든 날짜에 전원이 무사히 귀가하는 경로가 있어요.
- 최선의 플레이는 무작위 플레이를 약 1.2배 앞서요(중앙값, 두 시드 묶음에서 1.20, 1.21).
- 어떤 카드도 최선의 플레이에서 40%를 넘게 등장하지 않고, 모든 카드가 한 번 이상 등장해요. 관찰된 최고 비율은 한 시드 묶음에서 36.4%, 다른 묶음에서 39.6%였어요.
카드 비율 기준이 문제를 하나 잡았어요. 처음에 있던 카드 하나, 통로 폐쇄 규칙이 최선의 플레이 중 4961%에 나왔어요. 그 카드를 “다리·승선로에 아이·개 금지"로 바꾸고 나서 기준을 통과했어요. 전체 levelcheck는 작업자 15개로 59분쯤 걸려요. 중간에 임시 폴더가 지워져서 밸런스 작업 한 번을 날리고 다시 한 적도 있어요.
첫눈 점검이 잡아낸 것
탐색은 숫자가 맞다는 걸 보여 줘요. 하지만 사람이 카드를 읽을 수 있는지는 보여 주지 못해요. 그래서 첫눈 규칙 점검 관문을 넣었어요. QA 에이전트가 디자인을 보기 전에 화면만 보고 카드마다 하는 일을 적고, 우리가 그걸 비교해요.
첫 점검에서 24장 중 22장이 정확히 읽혔고, 봇도 전부 통과했어요. 그래도 진짜 문제가 두 가지 있었어요.
- 17번 카드가 마을 전체에 적용되는 것처럼 읽혔어요. 카드에는 “모두 이 기둥 앞에 3초간 모이기”(영어 원문 “Everyone meets at this post for 3 s”)라고 쓰여 있었고, QA는 마을의 모든 사람으로 읽었어요. 실제로는 기둥 구역 안의 방문객에게만 적용돼요.
- 표지판이 자기 기둥의 점선 구역 안에서만 효과가 있다는 걸 화면이 한 번도 알려 주지 않았어요. 그 때문에 24장 중 21장은 표지판이 어디까지 적용되는지 분명하지 않았어요.
카드를 “이 구역 방문객은 기둥 앞에 3초간 모이기”(영어 “Visitors in this area meet here for 3 s”)로 바꾸고, 카드를 고르면 표지판은 기둥의 점선 구역 안에서만 효과가 있다는 안내 문구(영어 “A sign only works inside its post’s dashed area.")가 뜨게 했어요. 하는 김에 엉뚱한 방문객 이름을 말하던 교통 정체 자막도 고치고, 자막이 줄바꿈되게 해서 360x640에서 가장 작은 글자가 12px이 되게 했어요. 다시 점검했을 때 QA가 확인한 카드 6장이 전부 맞게 읽혔고, 10번 플레이하는 동안 콘솔 오류는 없었어요. 마지막으로 글만 바꾼 수정이 하나 더 있었어요. 한국어 교통 정체 자막과 영어 “a kid was / kids were” 자막이 자연스럽게 읽히게 한 거예요.
게임은 한국어로도 즐길 수 있어요. 아래 화면은 한국어 하루 결과 보고서예요.
한국어 하루 보고서. 사고마다 원인이 된 표지판이 함께 나와요.
제목 ‘깨알 규칙’은 ‘깨알 같은 글씨’에서 왔어요. 아주 작게 쓴 글씨를 가리키는 말이에요. 영어의 fine print와 같은 뜻이죠.
아직 확인하지 못한 것
테스트는 360x640과 540x960의 모바일 터치 에뮬레이션을 켠 헤드리스 Chromium에서 했어요. 실제 휴대폰도, iOS도 아니에요. 소리를 들어 본 사람은 아직 없어요. 합성 효과음은 코드로만 확인했어요. 밸런스와 공정성은 봇과 전수 탐색으로 판단했어요. 첫눈 점검은 처음 해 보는 사람이 아니라 우리 QA 에이전트가 했고, 그래서 진짜 신규 플레이어가 무엇을 잘못 읽을지는 아직 몰라요. 공유 문구의 이모지도 렌더링된 모습을 못 봤어요. 테스트 환경에 이모지 글꼴이 없었거든요.
카드가 이상하게 읽힌다면 알려 주세요.
깨알 규칙 플레이하기. 표지판을 얼마나 잘 쓰는지 확인해 보세요.



