Showing Posts From

시스템

밸런스 이슈가 생기는 이유: 설계 vs 현실

밸런스 이슈가 생기는 이유: 설계 vs 현실

엑셀에선 완벽했다 월요일 아침 10시. 출근해서 엑셀 켰다. 금요일에 만든 시뮬레이션 파일. VLOOKUP 함수로 10만 행 돌렸다. 무기 밸런스 완벽했다. 승률 49~51% 사이. 이론상 밸런스 최적이다. 자신 있었다. 5년 차 경력이다. 수치는 거짓말 안 한다. 월요일 저녁 9시. 게임 출시했다. 화요일 아침. 커뮤니티 불탔다. "A무기 OP임 ㅋㅋ" "B무기 쓰레기네" "밸런스 개판" 내 엑셀 파일 다시 봤다. 틀린 곳 없다. 승률 50.2% vs 49.8%. 완벽하다. 그런데 유저들은 난리다. 이게 3년 차 때까지 이해 못 했던 거다. 엑셀에선 완벽한데 게임에선 망가진다.유저는 엑셀처럼 안 한다 첫 번째 변수. 체감이다. A무기: 공격력 100, 공격속도 1.0초 B무기: 공격력 50, 공격속도 0.5초 DPS 똑같다. 100이다. 엑셀에선 동일하다. 유저 반응은 다르다. A무기: "한 방이 시원하다" B무기: "약하게 느껴진다" 숫자는 같은데 체감이 다르다. 이유는 간단하다. 사람은 숫자 안 센다. 느낌으로 한다. 100 데미지 한 번이 50 데미지 두 번보다 강하게 느껴진다. 심리학이다. 격투 게임 기획자 선배가 그랬다. "유저는 프레임 단위로 안 본다. 기분으로 본다." 맞는 말이다. 두 번째 변수. 사용 난이도다. C스킬: 명중률 100%, 데미지 80 D스킬: 명중률 60%, 데미지 150 기댓값 계산하면 D가 90이다. 더 강하다. 실제론 C를 더 쓴다. 왜냐. 확정이 좋다. 빗나가는 거 싫다. 엑셀은 기댓값만 본다. 유저는 안정성 본다. 이런 거 5년 차 돼서야 알았다.메타가 숫자를 바꾼다 세 번째 변수. 조합이다. E캐릭터 단독 승률: 50% F캐릭터 단독 승률: 50% 밸런스 맞다. 출시했다. 2주 뒤. E+특정아이템 조합 발견됐다. 승률 65% 찍었다. 내가 못 본 조합이다. 10만 명 유저가 찾았다. 엑셀에선 캐릭터 하나만 봤다. 유저는 시너지 찾는다. 카드게임 기획할 때 이거 당했다. 카드 300장 있었다. 조합 경우의 수 수백만이다. 내부 테스트에선 못 찾는다. QA 인원 20명이다. 한계 있다. 유저 10만 명은 다르다. 1주일이면 모든 조합 다 뜯는다. "이 조합 OP네요" 커뮤니티에 퍼진다. 다들 따라한다. 메타가 된다. 메타가 되면 숫자가 달라진다. 원래 승률 50%였던 캐릭터. 카운터가 유행하면 승률 40% 된다. 나는 아무것도 안 건드렸다. 숫자 그대로다. 근데 밸런스 무너진다. 이게 제일 답답하다. 플레이타임이 인식을 바꾼다 네 번째 변수. 시간이다. 초보 구간: G무기 승률 55% 고수 구간: G무기 승률 45% 평균 내면 50%다. 엑셀에선 밸런스다. 출시 1주: "G무기 개사기" 출시 1달: "G무기 약함" 뭐가 맞나. 둘 다 맞다. 초보가 쓰면 강하다. 쉽다. 고수가 쓰면 약하다. 대응 가능하다. 시간 지나면 유저 실력 는다. 메타 변한다. 출시 초반엔 초보가 많다. G무기 강하다고 난리다. 3개월 뒤엔 다들 고수다. G무기 약하다고 난리다. 나는 아무것도 안 바꿨다. FPS 게임 기획자 동기가 그랬다. "밸런스는 고정값이 아니다. 시간 함수다." 수식으로 표현하면 이렇다. 밸런스 = f(수치, 메타, 플레이타임, 유저실력) 엑셀은 첫 번째만 본다. 나머지는 변수다. 근데 나머지가 더 중요하다.데이터는 거짓말한다 다섯 번째 변수. 표본이다. 전체 승률: 50% 구간별 보면. 브론즈: 60% 실버: 52% 골드: 48% 플래티넘: 45% 전체로 보면 밸런스다. 구간별로 보면 난리다. 어느 기준이 맞나. 정답 없다. 브론즈 유저: "이거 너프 해라" 플래티넘 유저: "이거 버프 해라" 둘 다 데이터 근거 있다. 근데 반대다. 나는 뭘 믿나. 예전엔 평균 봤다. 50%면 OK였다. 지금은 다르게 본다. 구간별로 다 본다. 그래서 작업량 5배 늘었다. 구간별 밸런스 다 맞추려면 변수 10개는 건드려야 한다. 한 곳 고치면 다른 곳 망가진다. 모그라 잡기다. 여섯 번째 변수. 소수 고수다. H캐릭터 승률: 48% 약해 보인다. 버프 고민했다. 데이터 뜯어봤다. 상위 1% 유저: 승률 70% 나머지 99%: 승률 47% 이거 버프하면 어떻게 되나. 상위 1%가 승률 80% 된다. 게임 망한다. 근데 99% 유저는 약하다고 느낀다. 뭐가 우선인가. 정답 없다. 회사마다 다르다. 우리 회사는 상위 유저 본다. 대회 있어서다. 다른 회사는 대중 본다. MAU가 중요해서다. 같은 데이터 다르게 해석한다. 감정이 숫자를 이긴다 일곱 번째 변수. 유저 감정이다. I무기: 승률 50%, 사용률 5% J무기: 승률 50%, 사용률 30% 밸런스는 같다. 인기는 다르다. 왜 I무기 안 쓰나. "재미없어요" "간지 안 나요" "소리가 별로" 승률이랑 상관없다. 재미는 숫자가 아니다. K스킬 있었다. 승률 52%였다. 약간 강했다. 커뮤니티에서 욕 먹었다. "이거 맞으면 짜증나요" "플레이 경험 망침" "재미없게 이김" 승률 문제가 아니었다. 감정 문제였다. 결국 리워크했다. 승률 48%로 낮췄다. 유저 만족도 올라갔다. 승률보다 감정이 중요했다. 엑셀은 승률만 본다. 유저는 기분 본다. 5년 차 돼서 배운 거다. 그래서 어떻게 하나 답은 없다. 엑셀은 기본이다. 근데 시작일 뿐이다. 실제 밸런스는 이렇게 한다.수치 설계한다. 엑셀로. 테스트 플레이한다. 직접. 체감 확인한다. 느낌으로. 내부 테스트한다. QA랑. 베타 테스트한다. 유저랑. 출시한다. 데이터 본다. 실시간으로. 유저 피드백 본다. 커뮤니티. 수정한다. 반복한다.끝이 없다. 출시가 끝이 아니다. 시작이다. 라이브 게임은 계속 밸런스 잡는다. 2주에 한 번 패치한다. 1년이면 26번이다. 매번 엑셀 돌린다. 매번 틀린다. 매번 배운다. 3년 차 때 선배가 그랬다. "밸런스 기획자는 신이 아니다. 정원사다." 무슨 말인지 몰랐다. 지금은 안다. 식물 키우는 거랑 같다. 매일 물 준다. 햇빛 확인한다. 벌레 잡는다. 한 번에 완성 안 된다. 계속 케어한다. 밸런스도 그렇다. 그래도 엑셀은 중요하다 이렇게 써놓고 보면 엑셀 무용론 같다. 아니다. 엑셀 없으면 시작도 못 한다. 기준이 필요하다. 기준은 숫자다. "이 무기 약한 것 같아요" - 근거 없다. "이 무기 승률 42%입니다" - 근거 있다. 숫자가 있어야 대화가 된다. PD: "이거 너프 해" 나: "승률 48%인데요?" PD: "그래도 체감이..." 나: "구간별 데이터 보시죠" 데이터 없으면 주관 싸움이다. 데이터 있으면 논의가 된다. 완벽하진 않다. 근데 최선이다. 엑셀은 나침반이다. 정확하진 않다. 근데 방향은 알려준다. 북쪽이 어딘지는 안다. 가는 길은 내가 찾는다. 5년 하면서 배운 거다. 엑셀만 믿으면 망한다. 엑셀 안 믿으면 더 망한다. 둘 다 봐야 한다. 밸런스는 정답이 없다 금요일 저녁 8시. 이번 주 패치 끝났다. L무기 공격력 105에서 100으로 낮췄다. 엑셀에선 승률 51%에서 49%로 떨어진다. 실제론 어떻게 될까. 모른다. 월요일 되면 안다. 그때 커뮤니티 본다. 데이터 본다. 또 수정한다. 이게 내 일이다. 완벽한 밸런스는 없다. 덜 망가진 밸런스만 있다. 유저는 완벽 원한다. 나도 원한다. 근데 불가능하다. 게임은 살아있다. 유저가 만든다. 메타가 변한다. 나는 따라간다. 계속. 엑셀에선 완벽했던 그 설계. 시작점일 뿐이다. 현실은 변수 투성이다. 그래도 한다. 숫자 고치고. 테스트하고. 유저 피드백 보고. 또 고친다. 5년 했다. 10년 할 수 있을까. 모르겠다. 근데 오늘은 한다. 엑셀 켰다. 새 시뮬 파일 만든다. 다음 패치 준비한다. 이번엔 맞을까. 모른다. 해본다.엑셀은 거짓말 안 한다. 근데 전부도 아니다.

월요일 아침 출근 후 3분: 주말 동안의 재해를 본다

월요일 아침 출근 후 3분: 주말 동안의 재해를 본다

월요일 아침 9시 57분 사무실 문 열었다. 3분 남았다. 컴퓨터 켰다. 부팅되는 동안 커피 뽑았다. 자리 앉았다. 10시 정각. 슬랙 켰다. 알림 137개. 컨플루언스 켰다. 멘션 23개. 구글 시트 켰다. 댓글 41개. 숨 들이켰다.주말? 그게 뭐였지 금요일 6시. 퇴근했다. "이번 주말은 쉬어야지." 그렇게 생각했다. 토요일 아침 10시. 핸드폰 진동. QA팀 단톡방. "크리티컬 버그 발견." 점심 먹다가. 유저 커뮤니티 확인. "밸런스 개판이네 ㅋㅋ" 500개 추천. 저녁 먹다가. 경쟁사 업데이트 공지. "신규 콘텐츠 대규모 패치." 제길. 일요일도 마찬가지였다. 주말은 있었다. 휴식은 없었다. 첫 번째 재해: 유저 피드백 슬랙부터 봤다. CS팀이 올린 피드백 정리. 토요일 오전 9시부터 일요일 밤 11시까지. 총 217건. 카테고리별로 나눠놨다. 친절하다. 고맙다. 그래도 머리 아프다. [밸런스 문제] 89건"신규 캐릭터 너무 세요. 기존 캐릭 다 쓰레기 됐어요." "이거 너프 안 하면 게임 접어요." "과금 유도 노골적이네요 ㅋㅋ"아니. 출시 전에 시뮬 100번 돌렸다. 데이터 뽑아서 DPS 계산했다. 그래프 그렸다. 기존 S티어랑 5% 차이. 딱 적정선이었다. 근데 유저들은 "사기다" 그러더라.[시스템 버그] 43건"스킬 쓰면 튕겨요." "보상 안 들어와요." "로딩 무한 돌아요."이건 내 파트 아니다. 하지만. 기획 의도대로 구현 안 된 거면 내 책임이다. 명세서 다시 확인해야 한다. 개발팀이랑 체크해야 한다. [콘텐츠 요청] 52건"신규 던전 언제 나와요?" "PVP 모드 추가해주세요." "길드 컨텐츠 부족해요."알아. 다 알아. 로드맵에 다 있다. Q2, Q3에 순차 출시. 근데 유저들은 지금 당장 원한다. "게임 할 게 없어요." 런칭한 지 2주 됐다. [기타] 33건칭찬 5건. 고맙다. 욕 28건. 익숙하다.커피 한 모금 마셨다. 식었다. 두 번째 재해: 버그 리포트 QA팀 지라 확인했다. 주말에 올라온 이슈. 17건. 우선순위 크리티컬 3건. 하이 8건. 미디엄 6건. 크리티컬부터 봤다. [CRITICAL] 특정 조건에서 재화 중복 지급 제목만 봐도 식은땀 난다. 재현 방법 읽었다. "1. A던전 클리어 2. 보상 수령 중 앱 강제 종료 3. 재접속 시 보상 재지급 4. 반복 가능" 망했다. 이거 악용하면 경제 붕괴다. 토요일 오전에 올라왔다. 48시간 방치. 유저들 이미 알까. 커뮤니티 검색했다. "꿀팁 ㅋㅋ" 게시글 3개. 조회수 2천. 망했다. 진짜로.긴급 슬랙 올렸다. "@channel 크리티컬 이슈 발견. 긴급 점검 필요." CTO 답장. "회의실 10분 후." PD 답장. "패치 언제 가능?" 개발팀장 답장. "코드 확인 중." 커피 한 모금 더. 여전히 차갑다. [CRITICAL] 특정 스킬 사용 시 클라이언트 크래시 이것도 심각하다. 재현율 30%. 높다. 특정 캐릭터 특정 스킬. 사용 빈도 높은 스킬이다. 유저들 벌써 불만 터졌겠다. 슬랙 스크롤 올렸다. 역시. CS팀: "해당 스킬 크래시 문의 폭주 중" [CRITICAL] 랭킹 점수 계산 오류 이건 내 파트다. 완전히. 랭킹 알고리즘 내가 짰다. 엑셀로 시뮬 돌렸다. 문제없었다. 근데 실제 환경에서 오류 났다. 변수를 놓쳤다. 어디선가. 수식 다시 확인해야 한다. 지금 당장. 10시 15분. 회의 5분 전. 엑셀 열었다. 수식 찾았다. 있었다. 반올림 함수 하나. 소수점 처리 방식이 달랐다. 찾았다. 하지만. 이미 랭킹 시즌 3일 지났다. 보상 지급했다. 잘못된 랭킹으로. 어떻게 보상하지. 회의에서 싸우겠다. 세 번째 재해: 경쟁사 패치 커뮤니티 탭 하나 더 열었다. 경쟁사 공식 카페. 일요일 오후 6시 공지. "대규모 업데이트 안내" 클릭했다.신규 레이드 5개 신규 캐릭터 3종 PVP 시즌 2 오픈 밸런스 패치 대규모제길. 우리 로드맵에 있던 거다. Q2에 예정. 걔들이 먼저 했다. 댓글 읽었다. "역시 ○○겜이 최고" "□□겜(우리 게임)은 컨텐츠 없음 ㅋㅋ" "갈아탄다" 마케팅팀 슬랙 확인했다. "주말 DAU 12% 하락. 경쟁사 패치 영향 추정." PD한테 리포트 올라갔겠다. 회의에서 또 얘기 나오겠다. "대응 방안 뭐냐"고. 대응이 어딨나. 개발 기간 당길 수 없다. 퀄리티 포기하고 빨리 낼까. 욕먹는다. 천천히 제대로 만들까. 유저 이탈한다. 정답 없다. 커피 다 마셨다. 새로 뽑아야 한다. 10시 20분, 긴급 회의 회의실 들어갔다. PD, CTO, 개발팀장, QA팀장, 마케팅팀장. 나. 시스템 기획. PD가 시작했다. "상황 정리하자. 크리티컬 3건. 커뮤니티 반응. 경쟁사 패치." CTO가 답했다. "재화 중복 지급. 핫픽스 오늘 저녁 가능. 긴급 점검 2시간." "크래시 이슈. 원인 파악 중. 내일 오전까지." "랭킹 오류..." 나 쳐다봤다. 내 차례다. "반올림 함수 문제였습니다. 수정 완료했고요." "이미 지급된 보상은... 롤백 불가능합니다." PD 표정 굳었다. "보상안 어떻게 하지." 마케팅팀장이 말했다. "전체 유저 보상 지급. 사과문 게시. 이게 최선입니다." 비용 계산했다. 대충 3억. PD 한숨 쉬었다. "CFO 설득해야겠네. 알았어." 그리고 경쟁사 얘기 나왔다. "로드맵 당길 수 있나?" 개발팀장이 고개 저었다. "인력 부족합니다. QA 기간 줄이면 모를까." "줄이면 버그 더 난다." 다들 침묵했다. PD가 정리했다. "일단 핫픽스부터. 오늘 저녁 긴급 점검." "사과 보상안 오후까지 확정." "로드맵은... 다음 주 다시 논의." 회의 끝. 30분 걸렸다. 결론: 야근 확정. 책상으로 돌아와서 11시. 이제 시작이다. 할 일 정리했다.랭킹 알고리즘 수정본 개발팀 전달 사과 보상안 기획 (PD 결재용) 긴급 점검 공지문 초안 작성 유저 피드백 분류해서 각 파트 전달 밸런스 데이터 재분석 (신규 캐릭 너프 검토) 다음 주 패치 일정 재조정 QA팀이랑 크래시 이슈 재현 테스트오늘 퇴근. 11시쯤? 슬랙에 메시지 하나 더 왔다. 인턴: "기획서 검토 부탁드립니다~" 20페이지. 오늘 중으로 피드백 달라고. 추가.인턴 기획서 검토커피 뽑으러 갔다. 복도에서 동기 만났다. 클라이언트 프로그래머. "주말 푹 쉬었어?" 웃었다. 대답 안 했다. 쟤도 웃었다. 알겠다는 얼굴. 점심시간 12시 30분. 밥 먹으러 갔다. 사내 식당. 김치찌개. 팀원들이랑 앉았다. 다들 피곤한 얼굴이다. 후배가 물었다. "주말에 쉬셨어요?" "응. 커뮤니티 보면서." "저도요. 버그 리포트 보면서." 다 똑같다. 옆 테이블 아티스트팀도 마찬가지였다. "주말에 이펙트 수정했어." "나도 캐릭터 리터칭." 게임 회사에 주말은 없다. 아니. 있다. 근데 쉬지 못한다. 게임은 주말에도 돌아간다. 유저는 주말에도 논다. 문제는 주말에도 생긴다. 우리는 주말에도 본다. 밥 먹으면서도 슬랙 확인했다. 개발팀: "핫픽스 빌드 완료. QA 넘김." QA팀: "테스트 시작. 2시간 소요 예상." 4시쯤 결과 나온다. 문제없으면. 긴급 점검 공지 6시. 점검 7시~9시. 저녁 먹고 모니터링이다. 오후 2시 사과 보상안 작성 중이다. 엑셀 켰다. 항목 나열했다.골드 50만 (평소 일주일 파밍량) 강화석 100개 (평소 사흘 파밍량) 가챠 티켓 10장 (과금 아이템, 약 1만원 가치) 경험치 부스터 3일권총 가치 계산했다. 유저당 약 15,000원. 전체 유저 20만 명. 30억. PD 결재 안 날 것 같다. 줄였다.골드 30만 강화석 50개 가챠 티켓 5장 경험치 부스터 1일권총 가치 8,000원. 16억. 그래도 많다. 하지만. 이거보다 적으면 유저들 더 화낸다. "성의 없다"고. 기획 의도 적었다. "이번 랭킹 오류로 인해 피해를 입으신 유저분들께 깊이 사과드립니다. 재발 방지를 위해..." 클리셰다. 하지만 먹힌다. PD한테 전달했다. 답장 왔다. "CFO랑 협의 중. 대기." 오후 4시 QA 결과 나왔다. 슬랙 알림 떴다. "핫픽스 빌드 테스트 완료. 이슈 없음." 한숨 나왔다. 안도. 긴급 점검 확정됐다. 공지문 최종 수정했다. "안녕하세요, ○○ 운영팀입니다. 서비스 안정화를 위한 긴급 점검을 진행합니다. [점검 시간] 2024년 4월 15일 (월) 19:00 ~ 21:00 (2시간) [점검 내용]재화 지급 오류 수정 특정 스킬 크래시 수정 랭킹 점수 계산 로직 수정[보상] 긴급 점검 보상은 추후 지급 예정입니다. 이용에 불편을 드려 죄송합니다." 마케팅팀 검토 받았다. OK 떨어졌다. 6시에 게시한다. 오후 5시 밸런스 데이터 다시 봤다. 신규 캐릭터 DPS 그래프. 시뮬상으로는 문제없다. 근데 실제 유저 데이터 다르다. PVP 승률 67%. 너무 높다. PVE 클리어 타임 평균 20% 단축. 왜 차이 날까. 시뮬은 "이상적 플레이" 가정한다. 유저는 "최적화된 플레이" 한다. 신규 캐릭터 콤보가 쉽다. 기존 캐릭터 콤보는 어렵다. 숙련도 차이 안 나는데 성능 차이 난다. 이게 문제다. 너프 수치 계산했다. 스킬 데미지 8% 감소. 쿨타임 1초 증가. 이 정도면 승률 58%로 떨어진다. 적정선이다. 기획서 초안 작성했다. 내일 회의 때 얘기 꺼낸다. 커뮤니티 반응 예상된다. "과금 유도하더니 바로 너프 ㅋㅋ" 익숙하다. 오후 6시 긴급 점검 공지 게시됐다. 커뮤니티 반응 확인했다. 예상대로다. "또 점검 ㅋㅋㅋ" "보상 뭐 주냐" "2시간이면 자정까지 못 하네" "출석 체크 못 하겠는데" CS팀한테 미안하다. 오늘 밤 문의 폭주할 거다. 사과 보상 결재 떨어졌다. PD 슬랙: "CFO 승인. 8천원 안으로 확정." 휴. 다행이다. 보상 지급 스케줄 짰다. 점검 종료 후 30분 내 일괄 지급. 개발팀이랑 공유했다. 저녁 7시 긴급 점검 시작됐다. 서버 내렸다. 사무실 불 켜져 있다. 다들 남았다. 개발팀 핫픽스 배포 중. QA팀 최종 검증 대기 중. 나는 모니터링 준비. 유저 반응 체크 도구 열었다.공식 카페 새글 주요 커뮤니티 게시글 트위터 멘션 앱스토어 리뷰다 보고 있어야 한다. 치킨 시켰다. 야근 식대. 팀원들이랑 나눠 먹었다. 먹으면서도 노트북 봤다. 밤 9시 점검 종료 10분 전. 개발팀: "배포 완료. 서버 올림." QA팀: "최종 체크 중." 5분 전. QA팀: "이슈 없음. OK." 정시에 서버 열렸다. 유저들 접속 시작했다. 동접자 수 확인했다. 5천... 1만... 2만... 평소보다 높다. 보상 때문이다. 커뮤니티 확인했다. "보상 왔다" "생각보다 많네?" "이 정도면 인정" "그래도 화남" 60점짜리 반응이다. 나쁘지 않다. CS 문의 확인했다. "보상 안 들어왔어요" 30건. 예상했다. 지급 로직 확인했다. 문제없다. 캐시 문제다. 재접속하면 된다. 답변 템플릿 공유했다. 10시. 크리티컬 이슈 없다. 모니터링 1시간 더 하고 퇴근한다. 밤 11시 사무실 나왔다. 지하철 막차 시간이다. 핸드폰 봤다. 슬랙 알림 3개 더. 내일 확인한다. 오늘은 이제 끝이다. 집 도착했다. 12시. 씻고 침대에 누웠다. 핸드폰 다시 켰다. 습관이다. 커뮤니티 한 번 더 봤다. "긴급 점검 후기: 개선됐다는데 체감 안 됨" 내일 또 싸운다.월요일은 항상 이렇다. 주말 동안 쌓인 재해를 월요일 아침에 본다. 처리한다. 또 쌓인다. 다음 월요일에 또 본다. 게임 기획자의 일상이다. 끝은 없다.

밤 11시, 유저 피드백을 읽으며 자책하는 게임 기획자

밤 11시, 유저 피드백을 읽으며 자책하는 게임 기획자

밤 11시 47분 모니터가 눈부시다. 사무실 불 다 꺼졌는데 내 자리만 밝다. 커뮤니티 탭 4개 띄워놨다. 인벤, 디시, 공식 카페, 레딧. 새로고침 누르는 손가락이 아프다. "이 게임 밸런스는 기획자가 게임을 안 하나봄" 100번째 읽는 댓글이다. 같은 내용. 다른 표현.손목이 욱신거린다. 마우스 쥔 채로 3시간째다. 이미 고쳤는데 "SSR 확률 0.5%는 사기임. 최소 1%는 돼야지" 다음 주 패치에 0.8%로 올린다. 이미 결정됐다. QA 테스트 중이다. "탱커 너무 약함. 15초 버티기도 힘듦" 어제 밸런스 시뮬 돌렸다. 방어력 15% 상향, 체력 회복량 20% 증가. 이번 주 금요일 적용. "코인 파밍이 너무 빡셈. 하루 3시간 해야 겨우 10개" 보상 2배 이벤트 다음 달 1일부터다. 상시 드랍률도 1.5배 올린다. 다 계획 있다. 다 준비 중이다. 근데 왜 욕먹냐.엑셀 파일 열었다. '6월_밸런스_패치_최종_진짜최종_v7.xlsx' 시뮬레이션 3000번 돌렸다. 경우의 수 다 따졌다. 밤새워서. 유저들은 모른다. 이게 얼마나 걸리는지. 소통의 문제 PD가 말했다. "유저 커뮤니케이션 강화하자." 좋다. 나도 원한다. 근데 뭘 어떻게. 공지 올려봤자 안 읽는다. "공지 보고 오셈 ㅋㅋ" 댓글만 달린다. 개발자 노트 써봤자 세 줄 요약 달린다. 그것도 왜곡돼서. 실시간 답변해봤자 "그래서 언제 고침?" 나온다. 다음 주면 고친다고. 지금 QA 중이라고. "다음 주면 게임 접어 ㅋㅋ" 접지 마. 제발. 커피 한 모금 마셨다. 식었다. 네 번째 컵이다. 2주 전 기억 런칭 후 첫 밸런스 패치. SSR 캐릭터 '시리우스' 너프. 공격력 30% 감소. 데이터가 말해줬다. 승률 78%. 픽률 95%. 이건 망하는 거다. 시뮬 100번 돌렸다. 25% 감소도 해봤다. 20%도 해봤다. 30%가 적정이었다. 수학적으로. 패치 적용했다. 커뮤니티가 불탔다. "과금 유도 ㅋㅋ 강캐 너프해서 다른 캐릭 팔려고" "3만원 썼는데 너프라니 환불각" "기획자 게임 접어라" PD가 불렀다. "유저 반응 심각한데요?" 데이터 보여줬다. 너프 후 승률 52%. 완벽하다. "데이터는 그렇지만 유저 감정은..." 감정으로 밸런스 잡나.그 다음 주. 매출 15% 감소. 동접 20% 감소. 내 잘못이다. 숫자는 맞았는데 타이밍이 틀렸다. 할 계획인데 "신규 콘텐츠 없음? 할 거 없어서 접음" 다음 달 대규모 업데이트 온다. 레이드 던전 3개, 신규 캐릭터 5개, PvP 시즌제. 6개월 준비했다. 아직 발표 못 할 뿐이다. "이벤트가 재탕만 함. 성의 없음" 신규 이벤트 기획서 어제 제출했다. 승인 대기 중. 개발 일정 2주. "버그 신고한 지 한 달인데 아직도 안 고침" 우선순위 밀렸다. 크리티컬 버그 먼저 잡는다. 순서가 있다. 다 이유가 있다. 근데 설명할 수 없다. 회사 정책상 업데이트 2주 전에만 공지 가능. 미리 말하면 기밀 유출. 개발 일정 공개하면 지연될 때 더 욕먹는다. 버그 우선순위 설명하면 "그것도 못 고침?" 나온다. 그냥 욕먹는 게 낫다. 시계 봤다. 12시 8분. 해결했는데도 3일 전 패치. 탱커 방어력 20% 상향. 체력 회복 25% 증가. 2주 전 건의사항 그대로 반영했다. 기대했다. 이번엔 칭찬 나오겠지. 커뮤니티 들어갔다. "이제 고침? 늦었음. 이미 많이 접었음" "20%로는 부족함. 최소 30%는 돼야 함" "탱커 버프는 좋은데 딜러가 문제임. 왜 딜러는 안 건드림?" 딜러도 건드렸다. 다음 주 패치에. 그것도 계획 있다. 칭찬은 3개였다. 욕은 47개였다. 좋은 평가는 조용히 사라진다. 나쁜 평가는 계속 남는다. 엑셀 창 최소화했다. 볼 기력이 없다. 왜 소통이 안 되나 생각해봤다. 진짜로. 유저는 지금 불편하다. 당장 고쳐지길 원한다. 나는 2주 뒤를 본다. 그때 고쳐진다. 시간차가 문제다. 유저는 체감을 말한다. "탱커가 약해." 나는 데이터를 본다. "탱커 생존율 48%, 2% 상향 필요." 언어가 다르다. 유저는 결과를 원한다. "고쳐줘." 나는 과정을 안다. "QA 통과, 빌드 적용, 검수 완료, 패치 배포." 속도가 다르다. 스낵 하나 꺼냈다. 오늘 점심 이후 첫 식사다. 씹는데 맛이 없다. 내일 출근하면 10시 회의. PD가 물을 거다. "커뮤니티 반응 어때요?" "좋지 않습니다." "개선 방안은?" "다음 주 패치에 반영됩니다." "유저들은 만족할까요?" 모르겠다. 솔직히. 패치하면 좋아질까. 아니면 또 다른 불만 나올까. 밸런스는 끝이 없다. 하나 고치면 다른 게 깨진다. 시소 같다. 이쪽 올리면 저쪽 내려간다. 완벽한 중심은 없다. 숫자로는 완벽해도 체감은 다르다. 유저 1000명 중 800명 만족해도 200명 불만이 더 크게 들린다. 마우스 내려놨다. 손목이 아프다. 자책의 시간 내 잘못일까. 밸런스 설계가 잘못됐나. 시뮬이 부족했나. 아니면 소통 방식이 문제인가. 설명을 더 잘 했어야 했나. 공지문 다시 읽어봤다. "밸런스 개선 안내" 전문 용어 많다. 수치 나열만 있다. 감정이 없다. 유저 입장에서 다시 써봤다. "탱커 유저분들 오래 기다리셨습니다. 이번 패치로 생존력이 크게 좋아집니다." 이게 낫나. 아니다. 이것도 이상하다. 게임 기획자가 감성팔이하면 안 된다. 데이터로 말해야 한다. 근데 데이터로 말하면 안 읽는다. 딜레마다. 모니터 껐다 켰다. 눈이 침침하다. 5년 차의 고민 신입 때는 몰랐다. 밸런스만 잘 잡으면 되는 줄 알았다. 수치만 완벽하면 되는 줄 알았다. 틀렸다. 게임 기획은 50%가 밸런스고 50%가 심리다. 유저가 뭘 원하는지. 언제 만족하는지. 어떻게 표현하는지. 숫자는 거짓말 안 한다. 근데 사람은 숫자대로 안 움직인다. 승률 50%가 완벽한 밸런스다. 이론상. 근데 유저는 60% 원한다. 자기가 쓰는 캐릭터는. 모두를 만족시킬 수 없다. 애초에 불가능하다. 그럼 뭐 하러 하나. 휴지통 봤다. 빈 캔 6개. 오늘 마신 커피다. 내일도 올라올 글 "밸런스 언제 고침?" 다음 주 고친다. "신규 콘텐츠 언제 나옴?" 다음 달 나온다. "기획자는 게임 하기나 함?" 매일 한다. 퇴근 후에도 한다. 댓글 달고 싶다. 근데 못 단다. 공식 계정 아니면 발언 금지. 회사 규정이다. 개인 계정으로 달면 신상 털린다. 전에 당한 선배 봤다. 그냥 참는다. 읽기만 한다. 가슴에 담는다. 스트레스로. 마우스 놨다. 손목에 파스 붙일 시간이다. 1시 12분 정리했다. 다음 주 패치: 탱커 상향, SSR 확률 증가, 보상 개선. 다음 달 업데이트: 레이드, 신규 캐릭, 이벤트 3종. 다음 분기 로드맵: PvP 시즌제, 길드 콘텐츠, 스토리 확장. 다 계획 있다. 다 준비 중이다. 근데 말 못 한다. 말해도 안 믿는다. "어차피 또 미룰 거" 안 미룬다. 이번엔. 가방 챙겼다. 노트북, 파스, 소화제. 불 껐다. 사무실 나왔다. 엘리베이터 타면서 핸드폰 봤다. 커뮤니티 알림 17개. 안 봤다. 내일 보자. 아니다. 지금 봐야 한다. 급한 버그일 수도 있다. 열었다. "기획자 일 안 하냐 밤 1시인데 공지 없음" 웃겼다. 웃음 안 나왔다.다음 주 패치 때 좋아해 주면 좋겠다. 근데 기대 안 한다. 이미 알고 있다.

런칭 D-3: 잠이 안 오는 밤을 보내는 이유

런칭 D-3: 잠이 안 오는 밤을 보내는 이유

런칭 D-3: 잠이 안 오는 밤을 보내는 이유 새벽 2시, 슬랙 알람 눈을 뜨니 새벽 2시 47분. 슬랙 알람이 울렸다. QA팀 메시지다. "시스템 기획님, 긴급입니다. 특정 조건에서 경험치 2배로 들어가요." 심장이 멎었다. 경험치 2배면 레벨 밸런스 전부 박살. 게임 수명이 절반으로 줄어든다. 침대에서 노트북 켰다. 런칭까지 3일 남았다.3개월 전만 해도 이 프로젝트 시작할 때 생각했다. "이번엔 여유롭게 가자." 런칭 3개월 전 일정표 짰다. 버퍼도 넉넉하게. CBT 피드백 2주, 밸런스 조정 2주, 버그 픽스 1개월. 마지막 1개월은 안정화. 계획대로 된 적이 없다는 걸 왜 잊었을까. CBT는 예상보다 1주일 늦게 시작됐다. "서버 최적화 좀 더" 개발팀 말이다. 그 1주일이 지옥의 시작이었다. 피드백 정리하는데 3주 걸렸다. 유저들 의견이 400개가 넘었다. "전투가 지루해요", "보상이 적어요", "밸런스 이상해요". PD가 말했다. "이거 다 반영해야 해. 런칭은 밀 수 없어." 버퍼는 그렇게 증발했다.엑셀 지옥의 시작 밸런스 수치를 뜯어고쳤다. 경험치 테이블 전면 수정. 레벨 1부터 100까지 다시 계산. 수식이 복잡했다. 성장 곡선, 콘텐츠 해금 구간, 과금 타이밍. 하나만 잘못 건드려도 게임 전체가 무너진다. 시뮬레이션 돌렸다. 플레이 타임 10시간 기준, 20시간 기준, 50시간 기준. 무과금 유저, 소과금 유저, 고래급 유저. 케이스가 18개. 엑셀 시트가 25개. 머리가 지끈거렸다. 개발팀한테 넘겼다. "이 수치로 적용해주세요." 3일 뒤 돌아온 답변. "테이블 구조 바꿔야 해서 1주일 걸려요." 런칭까지 5주 남았는데. PD가 회의 소집했다. "우선순위 정리합시다." 핵심만 남기고 다 쳐냈다. 기획했던 기능 절반이 증발했다. '나중에 업데이트로'라는 무덤에 묻혔다. 크리티컬 버그의 향연 QA 리포트가 쌓였다. 매일 50개씩. "특정 스킬 쓰면 튕겨요." "상점 아이템 중복 구매돼요." "보스 체력 바 안 줄어들어요." 심각도 분류했다. Critical, High, Medium, Low. Critical만 38개. High가 92개. 개발팀 리드가 말했다. "Critical은 다 잡을게요. High는... 런칭 후." 불안했다. High 중에 게임플레이 망가뜨리는 버그 있는데. 하지만 개발 리소스는 한정적이다. 우선순위 싸움이다. 매일 아침 버그 트리아지 회의. 기획, 개발, QA가 모인다. "이 버그 꼭 고쳐야 해요." "시간 없어요. 런칭 후로." "그럼 유저들 난리 날 텐데요." "런칭 미루실래요?" 답 없는 대화. 매일 반복. 결국 타협한다. "이건 고치고, 저건 알려진 이슈로." 알려진 이슈. 게임 업계의 면죄부.D-7, 패닉의 시작 일주일 전. 빌드 테스트 시작했다. 실제 서버에 올린 첫 빌드. 모든 팀이 테스트. 30분 만에 슬랙이 터졌다. "로그인 안 돼요." "계정 생성 막혀요." "튜토리얼에서 진행 안 돼요." 서버팀이 급하게 핫픽스. 다시 빌드 올렸다. 이번엔 게임은 돌아갔다. 근데 상점이 안 열렸다. 결제 시스템 연동 오류. 매출의 핵심인데. PD 얼굴이 새하얘졌다. "이거 언제 고쳐져요?" "이틀... 아니 3일요." 런칭까지 7일인데. 그날부터 전쟁이었다. 매일 빌드 2개씩 나왔다. 오전 빌드, 오후 빌드. QA팀 눈이 풀렸다. 테스트 케이스가 2000개 넘었다. "더는 못 해요. 사람을 더 주세요." QA 리드가 울었다. 외주 QA 5명 긴급 투입. 비용은 신경 쓸 때가 아니다. D-3, 경험치 버그 그리고 오늘. 새벽 2시에 터진 경험치 버그. 침대에서 로그 확인했다. 특정 던전 클리어할 때. 파티 버프랑 경험치 보너스 중복 적용. 코드 찾아봤다. 개발팀이 넘긴 문서 뒤졌다. 원인 찾았다. 경험치 계산 로직이 2번 돌았다. 보너스를 두 번 먹는 거다. 슬랙에 썼다. "ExpRewardCalculator 함수에서 AddBonus가 중복 호출됩니다." 3분 뒤 개발팀 답장. "확인했어요. 고치는 중." 30분 뒤. "고쳤어요. 새 빌드 15분 뒤 올라갑니다." QA에 요청했다. "경험치 획득 전체 케이스 다시 테스트해주세요." 새벽 4시. QA 답장 왔다. "깨끗합니다." 안도의 한숨. 근데 잠이 안 왔다. 또 뭐가 터질까. 머릿속에서 밸런스 시트가 돌아갔다. 기획-개발-QA의 삼각관계 이 3일간 깨달은 것. 게임 만드는 건 줄타기다. 기획이 원하는 것. 개발이 할 수 있는 것. QA가 검증할 수 있는 것. 이 세 개가 맞아야 한다. 기획은 이상적이다. "이렇게 하면 재밌을 것 같아요." 개발은 현실적이다. "그거 구현하려면 2주 걸려요." QA는 비관적이다. "그거 버그 나면 어떡해요?" 셋이 싸우는 게 아니다. 각자 자기 역할에 충실한 거다. 기획이 욕심 안 부리면 게임이 재미없다. 개발이 안 된다고만 하면 게임이 안 나온다. QA가 너그러우면 게임이 박살 난다. 긴장 관계가 필요하다. 그 긴장이 게임을 만든다. 런칭 직전엔 이 긴장이 극대화된다. 서로 예민해진다. 말 한마디에 분위기 얼어붙는다. 어제 회의에서 개발팀이랑 부딪혔다. "이 버그 왜 아직도 안 고쳐졌어요?" "우선순위 밀린다고 기획팀이 말했잖아요." 서로 탓하기 시작하면 끝이다. PD가 중재했다. "지금 싸울 시간 없어. 버그나 잡자." 맞는 말이다. 런칭 후에 맥주 한잔하면서 후회하면 된다. 숫자의 무게 밸런스 기획의 끔찍함. 숫자 하나가 게임을 좌우한다. 경험치 배율 1.5배와 2배의 차이. 30% 차이다. 그 30%가 게임 수명 2주를 결정한다. 아이템 드롭률 5%와 3%의 차이. 체감은 엄청나다. 유저는 '확률 조작' 외친다. 던전 클리어 시간 5분과 7분의 차이. 2분이다. 근데 유저는 '노가다 게임'이라고 말한다. 이 모든 숫자를 맞춰야 한다. 시뮬레이션으로. 유저 데이터로. 경험과 감으로. 정답은 없다. 런칭하고 봐야 안다. 그게 무섭다. 내가 짠 수치로 게임이 망할 수도 있다. D-3인 지금. 더 이상 수치 못 만진다. 빌드 프리징. 바꿀 수 없다. 이대로 나간다. 불안하다. 심장이 계속 두근거린다. 새벽의 커피 결국 잠 못 잤다. 5시에 일어났다. 커피 내렸다. 오늘의 다섯 번째. 슬랙 열었다. 밤새 메시지 37개. 대부분 버그 리포트. 다행히 Critical은 없다. Medium 2개. Low 8개. "확인했습니다. 추적 중입니다." 매크로처럼 답장 쳤다. 회사 가야 한다. 오늘도 긴 하루다. D-3. 72시간 남았다. 런칭하면 끝일까. 아니다. 시작이다. 유저 반응 모니터링. 실시간 데이터 분석. 긴급 패치 대응. 지옥은 계속된다. 그래도. 내가 만든 게임이 세상에 나온다. 3년 걸렸다. 떨린다. 무섭다. 기대된다. 런칭날 상상 가끔 상상한다. 런칭날 아침. 앱스토어 순위 새로고침. 10위, 5위, 1위. 유저 리뷰 확인. "재밌어요", "밸런스 좋네요". 그런 댓글 보면. 밤샌 거 다 잊을 것 같다. 근데 현실은. "버그 많아요", "과금 유도 심해요". 각오는 했다. 게임 기획자의 숙명. 유저는 완벽을 원한다. 우리는 인간이다. 실수한다. 최선을 다할 뿐이다. D-3의 밤. 잠 못 자는 이유. 완벽하고 싶어서. 망치고 싶지 않아서. 3년이 허무하게 끝날까 봐. 그래서 새벽까지 버그 잡는다. 숫자 다시 확인한다. 시뮬레이션 한 번 더 돌린다. 이게 게임 기획자다.D-3. 심장은 계속 뛴다. 런칭까지.