긴급 핫픽스 3시간: 런칭 후 첫 주말의 악몽

긴급 핫픽스 3시간: 런칭 후 첫 주말의 악몽

긴급 핫픽스 3시간: 런칭 후 첫 주말의 악몽

토요일 오전 10시 12분

커피 내리고 있었다. 전날 밤 12시까지 일했으니까 오늘은 천천히 쉬려던 참. 그때 카톡이 왔다.

“기획님, 유저 커뮤니티 봐보세요. 난리났어요.”

PD다. PD가 주말에 연락하면 100% 큰일이다. 손이 떨렸다.

커뮤니티 들어갔다. 핫이슈 1위. “신규 무기 강화 확률 99%? 밸런스 개박살났네요 ㅋㅋ”

아. 망했다.

10시 30분, 회사로

택시 탔다. 평소엔 지하철인데 급했다.

머릿속으로 시뮬레이션 돌렸다. 신규 무기 강화 데이터… 엑셀 작업할 때 분명 10%로 입력했는데. 설마 소수점 잘못 찍어서 0.99가 아니라 99로 들어간 건가.

아니면 코드에서 곱하기 할 걸 나누기 했거나. 프로그래머가 확률 공식 잘못 짜거나.

경우의 수가 너무 많다. 일단 가서 데이터부터 뜯어봐야 한다.

택시비 18,000원. 주말 할증.

11시, 전쟁 시작

회사 도착했다. 이미 PD랑 프로그래머 2명이 와 있었다.

“몇 명이나 강화했어요?” “대충… 3,200명 정도요.” “망했네.”

일단 상황 정리했다.

  1. 신규 무기 강화 성공률이 99%로 적용됨
  2. 원래는 10% 설정
  3. 새벽 4시 업데이트 후 6시간 동안 노출
  4. 이미 3천 명 이상이 최고 등급 무기 획득

이건 롤백도 안 된다. 이미 그 무기로 PVP 돌린 유저들 많음. 롤백하면 더 난리난다.

“일단 긴급 점검 공지 올리세요.” “보상은요?” “나중에 생각합시다.”

11시 30분, 원인 분석

데이터 파일 열었다. 엑셀 시트 10개 넘게 교차 확인.

찾았다. 강화 확률 테이블에서 신규 무기 ID가 잘못 매핑됐다. 기존 이벤트 무기(확률 99%) ID를 그대로 복붙한 거다.

내가 했다. 지난주 금요일 밤 11시, 졸린 눈으로 작업하다가.

“제 실수입니다.”

PD가 말없이 커피 건넸다. “일단 고치죠.”

고맙다. 다른 회사 같으면 지금쯤 회의실에서 사고 보고서 쓰고 있을 거다.

12시, 수정안 회의

문제는 간단하지 않았다. 그냥 확률만 10%로 고치면 끝? 아니다.

이미 3,200명이 무기 강화했다. 그 중 99%는 원래대로면 실패했어야 하는 사람들. 그들이 얻은 무기 때문에 전체 밸런스가 무너진다.

선택지는 세 가지였다.

1안: 롤백

  • 모든 유저를 6시간 전으로 되돌림
  • 강화 성공한 사람들 다 원상복구
  • 장점: 게임 밸런스 정상화
  • 단점: 유저 폭동

2안: 하향 조정

  • 해당 무기 성능을 낮춤
  • 강화는 유지, 무기만 약화
  • 장점: 데이터만 수정
  • 단점: 강화한 사람들 화남

3안: 전체 상향

  • 다른 무기들도 같이 강화 확률 올림
  • 또는 해당 무기 획득 이벤트 진행
  • 장점: 유저들 좋아함
  • 단점: 기존 밸런스 설계 다 뒤집힘

회의 30분. 결론: 2안 + 보상.

무기 공격력 30% 하향. 전체 유저에게 강화석 100개 지급.

12시 40분, 데이터 수정

엑셀 켰다. 무기 스탯 시트 열었다.

공격력: 5200 → 3640 크리티컬: 15% → 12% 스킬 데미지: +35% → +25%

숫자 하나하나 바꿀 때마다 심장이 떨렸다. 이 수치가 맞나. 너무 약하게 만든 건 아닌가. 시뮬 돌려볼 시간도 없다.

일단 밸런스 공식에 대입했다. DPS 계산… 기존 무기 대비 115%. 원래는 180%였으니까 적절하다.

파일 저장. 버전 관리 폴더에 백업. 빌드 폴더에 업로드.

1시 10분, 빌드 테스트

프로그래머가 테스트 서버에 적용했다. QA가 확인한다.

“무기 스탯 정상 적용됐습니다.” “강화 확률도요?” “10%로 정상입니다.” “PVP 밸런스는요?” ”… 테스트 중입니다.”

기다렸다. 10분.

“기존 최상위 무기 대비 105~120% 사이네요.” “오케이. 패치하죠.”

1시 30분, 라이브 적용

긴급 점검 공지 올라갔다. “1시 30분부터 2시까지 긴급 점검 진행합니다.”

유저 반응은 두 갈래였다.

“ㅋㅋㅋ 강화 개꿀이었는데 이제 너프하네” “버그 이용한 거 롤백 안 하냐?”

대응 공지 작성했다. PD랑 같이.

“금일 오전 신규 무기 강화 확률 오류 발견 원인: 데이터 테이블 매핑 오류 조치: 해당 무기 성능 조정 + 전체 보상 지급 보상: 강화석 100개, 골드 50만”

올렸다.

반응은… 생각보다 괜찮았다. “보상 ㅆㅅㅌㅊ” “강화 성공은 유지해주네 ㄱㅅ”

물론 화난 사람도 많았다. “이게 무슨 보상이냐” “너프 먹인 거 환불해라”

하지만 폭동 수준은 아니었다.

2시, 모니터링

점검 종료. 서버 재시작.

실시간 유저 수 확인: 52,300명. 평소 주말 오후: 48,000명.

오히려 늘었다. 사람들이 뭔 일인가 해서 들어온 거다.

커뮤니티 반응 모니터링. 30분 동안 새 글 150개. 욕 40%, 이해 30%, 보상 칭찬 20%, 기타 10%.

허용 가능한 비율이다.

PVP 밸런스 데이터 실시간 수집. 신규 무기 승률: 54%. 기존 최상위 무기 승률: 52%.

오케이. 밸런스 잡혔다.

3시, 정리

PD가 말했다. “고생하셨습니다. 오늘은 푹 쉬세요.”

프로그래머들도 퇴근했다. 나도 나왔다.

집 가는 지하철. 핸드폰으로 커뮤니티 계속 확인했다.

“이번 핫픽스 빨랐네” “보상 좀 주는 게임이긴 함” “그래도 처음부터 제대로 하지”

마지막 댓글이 제일 아팠다. 맞는 말이니까.

그날 밤

집 도착. 오후 4시. 침대에 누웠다.

핸드폰 알람 100개 넘게 쌓여 있었다. 카톡, 슬랙, 디스코드. 다 끄고 싶었다.

하지만 못 끈다. 언제 또 터질지 모르니까.

저녁 7시쯤 PD한테 연락 왔다. “매출 확인했어요. 오늘 평소 대비 130%네요.” ”…네?” “사람들이 화났는데 게임은 더 하네요 ㅋㅋ”

웃겼다. 울어야 할지 웃어야 할지 모르겠다.

월요일 아침

출근했다. 팀원들이 커피 사줬다.

“주말에 고생했죠?” “괜찮습니다.”

PD가 회의실로 불렀다. 사고 보고서 작성.

원인: 기획자 복붙 실수 재발 방지: 데이터 검수 프로세스 추가

서명했다. 인사 평가에 반영된다.

이번 분기 성과급 날아갔다.

하고 싶은 말

게임 기획은 숫자 싸움이다. 0.1%만 틀려도 밸런스 무너진다.

런칭 직후가 제일 무섭다. 버그 하나가 서비스 전체를 흔든다.

이번엔 3시간 만에 잡았다. 다행이다.

어떤 회사는 며칠씩 걸린다. 어떤 회사는 롤백 못 해서 망한다.

우리 팀은 잘 막았다. PD가 빠르게 결정했고 프로그래머가 빠르게 고쳤고 나는… 빠르게 실수했다.

다음엔 안 그럴 거다. 라고 말하고 싶지만.

솔직히 모르겠다. 야근하면서 졸린 눈으로 데이터 만질 때 또 실수할 수도 있다.

그게 이 일이다.


주말도 없다. 긴급 점검은 예고 없이 온다. 그래도 3시간 만에 막아냈다. 다행이다.