
게임을 좋아하는 것과 게임을 분석하는 것은 다른 일입니다. 수업은 익숙한 게임 하나를 골라 재미의 구조를 뜯어보는 역기획부터 시작합니다. 보상이 언제 주어지는…
수식을 복사하다 참조가 밀리는 실수
가장 흔한 실수는 셀 참조 방식입니다. 예를 들어 레벨별 공격력을 계산할 때 기본값 셀과 성장률 셀을 참조하는 수식을 아래로 끌어 복사하면, 고정해야 할 성장률 셀까지 한 칸씩 밀려 내려갑니다. 결과는 오류 없이 숫자로 나오기 때문에 그냥 넘어가기 쉽습니다.
고치는 법은 고정해야 하는 셀에 절대 참조를 쓰는 것입니다. 엑셀에서는 셀 주소 앞에 $ 기호를 붙여 고정하고, 행만 고정하거나 열만 고정할 수도 있습니다. 더 안전한 방법은 성장률 같은 핵심 변수를 별도 영역에 모아 이름을 붙이고, 수식에서는 그 이름으로 참조하는 것입니다. 수식만 봐도 무엇을 계산하는지 읽히고, 복사해도 참조가 밀리지 않습니다.
표를 정렬하거나 행을 끼워 넣을 때도 비슷한 문제가 생깁니다. 다른 시트에서 이 표를 참조하고 있었다면 정렬 후 엉뚱한 값을 가져올 수 있습니다. 정렬 전에는 항상 사본을 만들고, 정렬 뒤에 몇 개 행을 골라 손으로 검산해 보세요.
반올림을 어디서 하느냐에 따라 달라지는 숫자
게임 속 수치는 대부분 정수로 보여지기 때문에 어딘가에서 반올림이나 내림을 해야 합니다. 문제는 그 위치입니다. 레벨마다 계산 결과를 반올림한 뒤 다음 레벨 계산에 그 값을 다시 쓰면, 작은 오차가 레벨이 올라갈수록 쌓여 마지막 구간에서 의도와 꽤 다른 값이 나옵니다.
원칙은 계산은 소수점까지 그대로 유지하고, 게임에 들어갈 최종 값을 만드는 열에서만 한 번 반올림하는 것입니다. 또 반올림, 올림, 내림 중 무엇을 쓸지 기획서에 정해 두어야 합니다. 시트에서는 반올림을 썼는데 실제 게임 코드에서는 버림으로 처리한다면, 시트와 게임의 숫자가 조금씩 달라집니다. 프로그래머와 처리 방식을 한 번 맞춰 두면 이런 차이를 막을 수 있습니다.
퍼센트 효과를 더할지 곱할지 정하지 않은 실수
공격력 20% 증가 효과 두 개가 함께 걸렸다고 해 봅시다. 두 효과를 더하면 40% 증가이고, 각각 곱하면 1.2 곱하기 1.2로 44% 증가입니다. 효과가 몇 개 안 될 때는 차이가 작아 보이지만, 효과가 많이 겹치는 후반부에서는 차이가 크게 벌어집니다.
어느 쪽이 맞는지는 정답이 있는 문제가 아니라 설계의 선택입니다. 중요한 것은 같은 종류의 효과끼리는 더하고 다른 종류끼리는 곱한다처럼 규칙을 정해 문서에 적고, 시트 전체가 그 규칙을 따르게 하는 것입니다. 감소 효과는 특히 조심해야 합니다. 피해 감소 효과를 단순히 더하면 합이 전체를 넘어 피해가 0이 되거나 음수가 되는 구간이 생길 수 있으니, 상한을 정하거나 곱하는 방식을 검토하세요.
확률을 단순히 더하는 실수
아이템이 나올 확률이 10%라면 열 번 시도하면 반드시 한 번은 나온다고 생각하기 쉽습니다. 실제로는 열 번 모두 실패할 확률이 0.9를 열 번 곱한 값, 약 35%나 됩니다. 즉 열 번 시도해서 한 번 이상 나올 확률은 약 65%입니다. 이 차이를 모르고 보상을 설계하면, 유저가 체감하는 운이 기획 의도보다 훨씬 나쁘게 느껴질 수 있습니다.
- 여러 번 시도할 때는 '한 번 이상 성공할 확률'을 1에서 '모두 실패할 확률'을 빼서 계산
- 평균 기대 횟수와 운이 나쁜 유저가 겪는 횟수를 함께 확인
- 필요하다면 일정 횟수 실패 시 보상을 확정하는 장치 검토
- 한 아이템 목록의 확률 합이 전체와 정확히 맞는지 확인
확률 계산이 맞는지 확인하는 좋은 방법은 시트에서 난수 함수로 많은 횟수를 시뮬레이션해 보는 것입니다. 계산한 값과 시뮬레이션 결과가 크게 다르다면 공식 어딘가에 문제가 있다는 뜻입니다. 시뮬레이션 횟수가 너무 적으면 결과가 들쭉날쭉하니 충분히 많이 돌려 보세요.
레벨 구간과 단위를 헷갈리는 실수
경험치 표에서 자주 나는 실수는 '그 레벨까지의 누적 경험치'와 '그 레벨에서 다음 레벨로 가는 데 필요한 경험치'를 섞어 쓰는 것입니다. 표 하나에 두 개념이 섞이면 사냥 시간 계산이 통째로 틀어집니다. 열 이름에 누적인지 구간인지 분명히 적고, 레벨을 1부터 셀지 0부터 셀지도 정해 두세요. 한 칸 밀린 표는 끝 구간에서 한 레벨이 통째로 빠지거나 더해집니다.
단위 혼동도 흔합니다. 쿨타임은 초 단위로 적었는데 공격 속도는 프레임이나 밀리초 단위로 적으면 초당 피해량 계산이 엉망이 됩니다. 초당 피해량을 계산할 때는 쿨타임뿐 아니라 시전 시간과 동작 시간도 포함했는지 확인합니다. 시트 맨 위에 단위 표를 두고 모든 열 이름에 단위를 붙이는 습관이 가장 확실한 예방책입니다.
실수를 찾는 검산 습관 만들기
- 레벨 1, 중간, 마지막 구간 몇 개를 계산기로 손검산하기
- 결과를 그래프로 그려 갑자기 튀거나 꺾이는 구간 찾기
- 핵심 변수를 크게 바꿔 보고 결과가 예상 방향으로 움직이는지 보기
- 숫자를 직접 입력한 칸이 수식 사이에 섞여 있지 않은지 색으로 구분하기
포트폴리오용 밸런스 시트라면 이런 검산 과정을 시트 안에 남겨 두는 것도 좋은 인상을 줍니다. 계산 결과만이 아니라 검증하는 방법까지 보여 주기 때문입니다. 지금 만든 시트에서 어디가 틀렸는지 스스로 찾기 어렵다면, SBS아카데미게임학원 게임기획 과정 상담에서 시트를 함께 열어 공식 구조와 검산 방법을 점검해 드립니다.
자주 묻는 질문
밸런스 시트는 엑셀과 구글 시트 중 무엇이 좋을까요?
기본 함수와 참조 방식은 비슷해서 어느 쪽으로 연습해도 됩니다. 회사마다 쓰는 도구가 다르니 한쪽에 익숙해진 뒤 다른 쪽도 열어 보는 정도면 충분합니다.
계산 실수를 줄이려면 수학 공부를 더 해야 하나요?
확률과 지수 성장 같은 기초 개념은 도움이 됩니다. 하지만 실수의 대부분은 참조와 단위 관리에서 나오므로 시트 정리 습관을 먼저 들이는 것이 효과적입니다.
가까운 캠퍼스에서 게임기획 알아보기
사는 곳과 가까운 캠퍼스를 고르면 수업 내용, 오시는 길, 상담 신청을 한 번에 볼 수 있습니다.