← GHMUN.COM
미니게임 · 제작기

냥이 찾기

냥이 찾기는 토스 미니앱 모노레포 안에 이미 만들어져 있었는데, 정작 어디에도 기록이 안 남아 있던 프로젝트였다. 커밋도 안 된 채로 폴더만 있었다. 지뢰찾기를 고양이 사냥으로 바꾼 게임이다. 칸을 열면 숫자 대신 근처에 숨은 고양이 수가 뜨고, 판을 다 열면 300마리 고양이 도감에 몇 마리가 새로 들어온다. 누가 만들었는지 기록도 없는 폴더를 웹으로 옮기는 일이었다.

고양이 그림이 하나도 안 보였다

도감 카드나 상세 창을 열면 고양이 그림 자리가 비어 있었다. 코드에 /graphics/cat-001.svg처럼 절대경로로 박혀 있었기 때문이다. 원래는 도메인 루트에서 돌던 앱이라 문제가 없었지만, 이번엔 play.ghmun.com/nyang-finder/ 밑에서 돈다. 그 경로는 존재하지 않는 위치를 가리켰다. 세 군데(도감 카드, 상세 창, 홈의 최근 발견 목록)에 import.meta.env.BASE_URL을 앞에 붙여서 고쳤다.

배포하고 나니 화면이 통째로 비었다

이게 진짜 문제였다. 내 컴퓨터에서 띄우면 멀쩡했는데, 실제 사이트에 올리자 완전히 빈 화면이 됐다. 콘솔에 에러도 없었다. 빌드된 파일을 브라우저 콘솔에서 직접 다시 불러와 예외를 억지로 드러내고서야 원인을 찾았다. @toss/tds-mobile 패키지가 "앱인토스 개발에만 쓸 수 있다"며 localhost가 아닌 도메인에서는 로드되자마자 스스로 오류를 던지는 구조였다. 코드를 뒤져보니 이 라이브러리는 빈 껍데기로만 감싸져 있었고 실제로 쓰는 버튼·카드는 하나도 없었다. 통째로 걷어내니 바로 떴고, 빌드 용량도 1.36MB에서 318KB로 줄었다. 안 쓰는 걸 들고 있다가 죽은 셈이다.

20스테이지로는 부족하다고 했다

원래 스테이지는 20개였다. 9×9판에 고양이 10마리로 시작해서 18×18판에 50마리로 끝난다. 이걸 100개로 늘렸다. 테마 월드 20개(냥이의 집부터 냥이 해변, 냥이 우주정거장, 냥이의 왕국까지)에 방이 5개씩이다. 판 크기는 22×22에서 멈추고, 대신 고양이 밀도가 올라간다. 마지막 스테이지 "대관식 광장"은 484칸에 130마리, 네 칸 중 한 칸 넘게 고양이다. 스테이지를 순서대로 깨야 다음 판이 열리던 잠금도 풀었다. 100개를 순서대로 깨라고 하면 대부분 40번쯤에서 그만둘 테니 맞는 판단이다. 대신 선택 화면을 쉬움·보통·어려움·매우 어려움 네 구간으로 나누고 색 배지를 붙였다.

스테이지는 다섯 배가 됐는데 고양이는 그대로다

원래 20개 스테이지에는 각각 고양이 15마리씩이 배정돼 있었다. 20 곱하기 15, 그래서 도감이 300마리다. 스테이지를 100개로 늘렸지만 고양이 그림은 늘리지 않았다. 대신 21번 "모래성"부터는 1번 스테이지의 고양이 15마리를, 22번 "파도 소리"는 2번 스테이지의 15마리를 다시 쓰는 식으로 돌아간다. 그러니 300마리를 다 모은 사람이 101번째 판을 기대한다면 조금 실망할 수 있다. 고양이 그림을 400장 더 그리자는 말은 아직 안 나왔고, 나도 먼저 꺼낼 생각은 없다. 대신 뒤쪽 스테이지는 판이 크고 고양이가 빽빽해서, 같은 고양이를 다시 만나기까지 품이 훨씬 많이 든다.

깃발 꽂기가 느리다고 했다

휴대폰에서는 칸을 길게 누르면 깃발이 꽂힌다. 이 기준이 0.45초였는데, 느리다는 말을 듣고 0.2초로 줄였다. 0.25초 차이인데 해보면 확실히 다르다. 인정한다.

사용법

홈에서 스테이지 선택으로 들어가 난이도 구간에서 원하는 판을 고른다. 칸을 눌러 열고, 고양이가 있을 것 같은 칸은 길게 눌러 깃발을 꽂는다. 판을 클리어하면 그 스테이지에 배정된 고양이가 도감에 추가된다. 홈의 "보너스 사냥"은 희귀 고양이가 더 잘 나오는 별도 판이고, 하단 "도감" 탭에서 300마리 중 몇 마리를 모았는지 볼 수 있다. 진동과 공유는 토스 밖에서는 브라우저 진동과 클립보드 복사로 대신 동작한다.

냥이 찾기 실제로 써보기 play.ghmun.com/nyang-finder 가기 →