사냥꾼 고깃집에 몬스터 열두 구역과 장비 뽑기를 넣으며: 밸런스를 시뮬레이션으로 맞춘 기록
개발노트 · 2026-10-11 · GamePool 편집팀
사냥꾼 고깃집은 원래 "동물을 사냥해 고기를 굽고 파는" 게임이었고 몬스터도 체력도 없었습니다. 2026년 10월 11일에는 두 번에 나누어 큰 업데이트를 했습니다. 첫 번째는 그릴 슬롯 두 배, 자동화 설비, 고블린·박쥐·해골·좀비 네 구역과 체력, 장비 뽑기였고, 두 번째는 구울·오크·트롤·오우거·골렘·뱀파이어·미노타우로스·드래곤 여덟 구역을 더하면서 "드래곤까지 가는 데 최소 3시간", "무엇을 먼저 살지 고를 수 있는 선택지가 늘 5개 이상"이라는 조건을 맞추는 일이었습니다. 이 글은 그 과정에서 정한 값과 값을 맞추려고 돌린 시험, 겪은 버그를 적은 기록입니다. 모든 수치는 게임 소스를 브라우저에서 불러와 시간을 빨리 감으며 얻은 것이고, 실제 사람이 오래 플레이해 본 결과는 아닙니다.
요청에서 제가 해석한 부분
요청에는 애매한 곳이 몇 군데 있었습니다. 뽑기 레벨 규칙은 "10번이면 2레벨, 50번이면 3레벨, 100번이면 3레벨"이라고 적혀 있었는데 마지막 줄은 4레벨의 오타로 보고 4레벨로 구현했습니다. 이후 레벨은 200, 350, 550, 800, 1,100, 1,500번에서 5~10레벨이 되도록 제가 정했고, "5레벨에서 전설 5%, 10레벨에서 고대 1%"는 요청 그대로 확률표에 넣었습니다. 몬스터 이름은 고블린→홉고블린→고블린 제사장만 정해져 있었고 나머지 열한 계열의 3단계 이름은 제가 붙였습니다(박쥐→흡혈 박쥐→박쥐 군주, 구울→독니 구울→구울 여왕, 새끼 드래곤→성체 드래곤→고룡 등). "실력에 따라 드래곤을 앞전에 둘 수도 있고 아닐 수도 있게"라는 말은, 실력이 좋으면 더 적은 장비로 더 일찍 잡을 수 있되 아무리 잘해도 3시간은 걸리도록 해 달라는 뜻으로 읽었습니다.
그릴을 두 배로: 칸 배치까지 바꿔야 했다
그릴의 동시 슬롯은 4·7·10개에서 8·14·20개로 모두 두 배로 늘렸고 굽는 시간은 그대로(2.2·1.8·1.5초)입니다. 그래서 초당 처리량은 약 1.8·3.9·6.7덩이에서 3.6·7.8·13.3덩이가 됩니다. 문제는 그릴 위에 고기를 놓는 칸의 배치였습니다. 기존에는 2줄로 놓아 가로로 10칸까지만 생각한 구조라, 20칸을 그대로 놓으면 그릴 상자(가로 110)를 넘어갔습니다. 3줄에 간격 14로 바꾸고 그릴 위 고기를 0.72배로 줄여서 20칸이 상자 안에 들어오게 했습니다.
전투를 기존 구조에 얹은 방식
게임은 한 파일 안에 세계 좌표 계산, 직원 AI, 그리기가 한 틱 구조로 돌고 있었습니다. 전투는 그 위에 combatUpdate(몬스터 스폰·이동·공격)와 autoUpdate(컨베이어벨트·레이저·자석탑·금고·드론) 두 함수를 매 틱 부르는 식으로 붙였습니다. 구역은 ZONES 배열의 데이터(구역 사각형, 몬스터 3단계 수치, 바닥 색, 소품 종류)로 만들고, 문의 y 좌표는 GATE_Y 배열 하나로 모았습니다. 두 번째 업데이트에서 구역이 4개에서 12개로 늘었을 때 이 데이터 구조 덕분에 길 찾기(route)와 문 그리기는 코드를 거의 바꾸지 않아도 되었고, 구역 사각형은 문 위치에서 한 줄 공식으로 계산하도록 정리했습니다.
구역이 열두 개가 되면서 몬스터가 모두 그려지면 장면이 무거워지는 문제가 생겼습니다. 몬스터 한 마리가 3D 부품 수십 개로 만들어지는데, 열두 구역에 여섯 마리씩이면 70마리가 넘기 때문입니다. 그래서 나와 사냥꾼이 있는 구역과 그 앞뒤 구역의 몬스터만 움직이고 그리게 했고, 멀리 떨어진 구역의 몬스터는 모델도 만들지 않습니다. 새 몬스터 여덟 계열은 모두 구·원기둥·원뿔·상자 조합으로 만들었고, 골렘은 상자만으로, 드래곤은 몸통·목·머리·턱·꼬리·날개·네 다리를 따로 움직이는 4족 구조로 만들었습니다.
해금 72개와 "선택지는 늘 5개 이상"
해금 발판을 25개에서 72개로 늘리면서 가장 신경 쓴 것은 순서를 강요하지 않는 것이었습니다. 처음에는 기존처럼 "앞 단계를 사야 다음이 나타난다"는 연쇄 구조로 만들었는데, 구매 순서를 일부러 가장 나쁘게 고르는 검사 프로그램(남은 선택지를 가장 많이 줄이는 발판을 매번 고르는 방식)을 돌리니 다섯 번째 구매 뒤에 이미 눈에 보이는 발판이 4개로 줄었습니다. 같은 자리에서 단계가 이어지는 시설은 한 번에 한 단계만 보이므로 단계가 짧은 시설이 끝나면 선택지가 바로 줄어든 것입니다.
그래서 해금의 조건을 둘로 나눴습니다. "꼭 필요한 조건"(같은 줄의 앞 단계, 사냥꾼이 일하려면 두 번째 사냥터, 앞 구역의 보스 처치 등)과 "권장 순서"(처음 하는 사람이 길을 잃지 않게 정한 차례)입니다. 눈에 보이는 발판은 필요한 조건을 채운 것 가운데 권장 순서까지 채운 것이고, 그 수가 5개 아래로 줄면 아직 권장 순서가 오지 않은 것 가운데 가장 싼 것부터 먼저 보여 줍니다. 시작 때 필요한 조건이 없는 시설이 다섯 개(계산원, 가방, 광고 간판, 양념, 판매대 확장)라 처음부터 다섯 곳이 열립니다. 같은 검사 프로그램으로 구매 순서를 가장 나쁘게 고르는 방식, 가장 싼 것부터 사는 방식, 무작위 40번을 돌려 보니 필요한 조건을 채운 시설이 다섯 개 이상인 동안에는 한 번도 5개 밑으로 줄지 않았습니다. 한 시기의 시설을 거의 다 사서 필요한 조건을 채운 것이 다섯 개 밑으로 남으면 그때는 줄어들 수밖에 없고, 이는 다음 문을 열 때라는 뜻으로 두었습니다. 발판 72개가 겹치지 않는지도 같은 방식으로 검사했습니다(서로 70, 고정 발판·울타리·설비와 60 이상 떨어지게).
몬스터 수치를 보스 시험으로 맞추기
몬스터 수치는 앞 구역의 경향(보스의 체력×공격력이 구역마다 조금씩 커지는 것)을 이어서 정했고, 그다음은 시험이었습니다. 방법은 이렇습니다. 장비 네 칸을 모두 같은 배수 P로 채우고 단련장·체력 훈련장 단계를 정한 주인공 한 명이, 보스 한 마리와 사냥꾼·모닥불 없이 맞붙어 90초 안에 이기면 이긴 것으로 세고, 조건마다 8번씩 돌렸습니다. 첫 수치로는 열두 구역 중 대부분의 보스가 P9만 있어도 8번 모두 이겨서(단련장을 모두 지었을 때) 후반이 너무 쉬웠고, 그래서 구역마다 보스의 체력을 올렸습니다. 구울 여왕은 그대로 두고 오크 대족장 ×1.1, 트롤 왕 ×1.1, 오우거 대왕 ×1.2, 용암 골렘 ×1.3, 뱀파이어 백작 ×1.4, 미궁의 왕 ×1.35를 곱했고 고룡은 3,520에서 5,700으로 올렸다가 P11~P12에서도 거의 못 이겨서 4,900으로 내렸습니다.
최종 수치의 시험 결과는 이렇습니다(단련장 4단계씩, 주인공 혼자, 8번 중 이긴 횟수). 오크 대족장은 P8에서 7번, P9에서 8번 모두 이겼습니다. 용암 골렘은 P9에서 1번, P10에서 8번 모두, 고룡은 P10에서 0번, P11에서 7번, P12에서 8번 모두 이겼습니다. 같은 고룡을 단련장 없이 상대하면 P13에서도 3번뿐이었고, 단계를 둘씩만 지으면 P12에서 5번, P13에서 8번이었습니다. 몬스터에게서 거리를 두고 때리다 빠지며 내려찍기를 피하는 간단한 움직임을 넣어 보면 고룡을 P10에서 3번, P11에서 8번 모두 이겼습니다. 다만 같은 움직임으로 오크 대족장을 상대하면 P8에서 4번밖에 못 이겨서(그냥 맞서면 7번), 거리 두기가 모든 보스에 유리한 것은 아니었고 시험 프로그램의 움직임이 서툰 탓일 수도 있습니다. 그리고 몬스터를 한꺼번에 여섯 마리까지 상대하는 일반 구간이 의외로 위험해서, 구울~드래곤의 1·2단계 몬스터 공격력을 보스의 42%와 60%로 낮췄습니다(처음엔 53%와 73.5%였습니다).
시험 프로그램 플레이어와 그 오류들
"드래곤까지 3시간 이상"을 확인하려면 처음부터 끝까지 도는 플레이어가 필요해서 시험 프로그램을 만들었습니다. 게임 소스를 그대로 불러와 한 틱(1/30초)씩 돌리고, 사냥·운반·판매를 직접 하는 단계 기계와 구매 정책, 전투 움직임을 입힌 것입니다. 이 프로그램이 처음부터 잘 돌지는 않았습니다. 첫 번째로 "사냥" 단계가 풀리지 않아 가방이 가득 찬 채 같은 자리에 서 있었고(발판에서 내려오는 조건이 없었습니다), 두 번째로 구운 고기를 꺼내려는데 가방에 생고기가 한 개 들어 있어 영원히 기다렸습니다(가방에는 한 종류만 담깁니다). 세 번째 문제는 구매 정책이었습니다. 싼 것부터 사는 정책으로 80분을 돌리니 수입이 초당 3.7에 머물렀고 구매는 23개였습니다. 비싼 시설(레이저 650, 버거 900)을 모으며 사는 우선순위로 바꾸자 60분 만에 초당 30~40이 되었습니다. 먼 구역에 떨어진 구운 고기를 아무도 안 가져가는 문제도 이때 드러났고, 이것이 전리품 드론을 넣은 이유 가운데 하나입니다.
실제로 겪은 가장 큰 버그: 뽑기로 돈이 복사된다
뽑기에서 약한 장비가 나오면 팔리는 값을 처음에 25 × 등급 배수 × 굴림으로 두었습니다. 10레벨의 기대 배수는 약 3.6이라 평균 한 개가 90쯤에 팔리는데, 뽑기 한 번의 값은 80(할인하면 56)이었으니 뽑을수록 돈이 남는 구조였습니다. 시험 프로그램이 이 구멍을 바로 찾아서, 3.9시간째에 뽑기 12,460번과 현금 273,215를 쥐고 있었습니다. 판매가를 6 × 등급 배수 × 굴림으로 낮췄고(10레벨 평균 약 22, 뽑기 값의 절반 미만), 같은 시험을 다시 돌려 현금이 더는 불어나지 않는 것을 확인했습니다.
걸리는 시간: 상한과 시험 결과
경제의 상한부터 쟀습니다. 해금을 모두 사고(비용 무시) 내가 캠프에 가만히 있게 한 채 10분을 돌렸을 때 초당 수입은 명성 0에서 32.3, 모든 구역을 격파한 명성 12에서 51.5였습니다. 총 비용은 해금 400,580에 장비 뽑기 1,500번 이상(할인 없이 약 10만)이 더해지고, 장비를 맞추려면 그 몇 배의 뽑기가 필요할 수 있습니다. 그렇다면 상한 수입으로도 쉬지 않고 모아야 하는 시간이 길어서 3시간 안에 끝내기는 어렵습니다. 실제 시험 프로그램(운반을 완벽히 한다고 가정, 경제 시설을 먼저 사고 장비를 병행) 결과는 이렇습니다. 수입은 1시간쯤에 초당 30~40, 이후 초당 40~50이었고 문을 연 시각은 북쪽 사냥터 6분, 고블린 소굴 51분, 박쥐 동굴 1시간 12분, 해골 묘지 1시간 45분, 좀비 늪 2시간 1분, 구울 무덤 2시간 37분, 오크 야영지 2시간 52분, 트롤 동굴 3시간 10분, 오우거 골짜기 3시간 23분, 골렘 유적 3시간 36분, 뱀파이어 성 4시간 20분, 미노타우로스 미궁 4시간 37분, 드래곤 둥지 5시간 38분이었고, 고룡을 쓰러뜨려 끝난 것은 5시간 39분이었습니다. 중간에 장비가 모자라 몇 번 쓰러졌습니다(박쥐 동굴, 좀비 늪, 미노타우로스 미궁에서 각각 한두 번). 이 프로그램은 수입의 절반을 계속 뽑기에 써서 뽑기를 약 10,000번이나 했는데(대부분 불필요한 낭비였습니다), 필요한 것만 사는 가장 효율적인 순서라면 걸리는 시간이 이보다 줄어듭니다. 필요한 비용을 문 22.9만, 단련장 9.1만, 장비 약 10만, 경제 시설 약 4만으로 잡아 합계 약 46만이라 보고, 첫 한 시간에 약 9만을 벌고 이후 초당 47쯤을 모은다고 계산하면 약 3시간 10분이 하한입니다. 이것은 계산한 추정이고 직접 확인한 값은 아닙니다. 직접 하는 사람은 운반과 구매 이동에 시간이 더 들고 장비 운이 나쁘면 한 구역에서 오래 머물 수 있으므로 이보다 길어질 가능성이 큽니다.
확인하지 못한 것과 한계
소리는 기존 효과음을 재사용했을 뿐 실제로 들어 보지 못했습니다. 렌더링은 소프트웨어 렌더링 환경에서만 확인해 실제 기기의 프레임률은 모릅니다. 시험 프로그램은 사람이 아니어서 운반을 완벽히 한다고 가정했고(드론이 없는 구간의 전리품도 바로 판매대로 옮깁니다), 전투도 가장 단순한 두 가지 움직임뿐이라 실제로는 이보다 빠르거나 느릴 수 있습니다. 몬스터 수치와 비용은 이 시험에 맞춘 값이라 사람이 오래 플레이하면 조정이 필요할 수 있습니다. 저장되는 것은 현금·해금·판매량·장비·뽑기 횟수·구역 진행도이고, 몬스터와 체력은 저장하지 않습니다.