방치형 게임 시즌 이벤트 기획서: 상자 무제한 퍼즐 설계와 시뮬레이터

방치형 게임 시즌 이벤트 기획서: 상자 무제한 퍼즐 설계와 시뮬레이터
방치형 게임 시즌 이벤트 기획: 상자 무제한 퍼즐과 밸런스 시뮬레이터

시즌 이벤트를 만들 때 가장 먼저 부딪히는 질문은 하나입니다. 하루 보상을 어디서 끊을 것인가. 이 문서는 방치형 게임 기준의 답과, 규칙이 실제로 돌아가는 시뮬레이터를 담았습니다.

비싼 보상은 횟수로 잠그고, 플레이 시간은 싼 재화로 끝없이 보상한다.

왜 상자를 무제한으로 푸는가

일반 게임의 시즌 이벤트는 하루 1시간이면 그날 보상이 끝나도록 설계하는 경우가 많습니다. 방치형 게임에서는 이 공식이 그대로 적용되지 않습니다. 하루 24시간의 전투 성과가 누적될 수 있기 때문입니다.

하루 2시간 유저와 20시간 유저가 같은 개수의 상자만 받는다면, 긴 플레이는 이벤트에서 무의미해집니다. 그래서 상자 획득량 제한을 없앴습니다. 대신 보상 경제가 무너지지 않도록 잠금 장치를 옮겼습니다. 상자가 아니라 핵심 보상의 횟수를 잠급니다.

규칙은 네 단계면 끝납니다

⚔️
게임을 한다전투하면 상자가 확률로 나온다. 하루 제한 없음
🎁
상자를 연다퍼즐 조각 16종 중 하나가 랜덤으로 나온다
🧩
16조각을 모은다다 모이면 완성 연출과 함께 보상 지급
🏆
하루 4번까지완성 보상은 4회 제한. 그 뒤 조각은 재화로 변환

중복 조각은 꽝이 아니다

완전 랜덤이면 같은 조각이 계속 나옵니다. 이 이벤트에서는 중복이 실패가 아닙니다. 같은 조각의 1번째부터 4번째까지는 각각 1회차부터 4회차 퍼즐에 순서대로 들어갑니다. 다섯 번째부터만 교환 재화로 바뀝니다.

11회차 퍼즐
22회차 퍼즐
33회차 퍼즐
44회차 퍼즐
5+재화로 환전

이 규칙의 부수 효과가 하나 있습니다. 4회차 퍼즐이 완성됐다는 것은 모든 조각을 4개씩 모았다는 뜻이므로, 그 이후의 모든 조각은 자동으로 환전됩니다. 컴플릿 이후를 위한 별도 분기를 만들 필요가 없습니다.

시뮬레이터: 직접 돌려보기

아래 값 세 개를 바꾼 뒤 [새 하루]를 누르면 설정이 적용됩니다. 시간당 상자 드롭 수, 하루 컴플릿 제한 횟수, 초과 조각 1개당 환전량입니다. 설정을 적용한 뒤 방치 버튼을 눌러 보세요.

플레이 0시간 보유 상자 0 누적 드롭 0 컴플릿 0 / 4 교환 재화 0
1회차 퍼즐0 / 16

밸런스 참고값

조각 16종이 균등 확률일 때, 컴플릿 4회에 필요한 상자 수를 몬테카를로 2만 회로 뽑은 값입니다. 조각별 확률을 차등으로 두면 달라집니다.

지표상자 수
이론상 최소 (낭비 없음)64
1회차 완성 평균약 54
4회차 완성 평균약 132
95%의 유저가 4회 완성약 181

회차별 평균 필요량은 약 54 → 83 → 108 → 132개이며, 추가 필요량은 약 29 → 25 → 24개로 줄어듭니다. 첫 완성이 가장 빨리 나오는 구조라 초반 성취 경험을 앞당기는 데 유리합니다. 시간당 12개 기준 24시간의 기대 드롭량은 약 288개이므로, 완성 이후 물량은 대부분 재화가 됩니다. 재화 1개의 가치는 전체 경제와 이벤트 기간을 기준으로 낮게 잡고, 10개·50개 단위 교환 상품으로 흡수하는 편이 안전합니다.

진입 동선과 레드닷

로비에 전용 버튼을 새로 만들지 않습니다. 시즌 이벤트는 왔다가 사라지는 손님이라, 만들 때와 치울 때 모두 가벼운 쪽이 낫습니다. 기존 이벤트 버튼 안에 전용 탭을 최상단으로 추가하고, 로비 배너는 그 탭으로 바로 연결합니다.

레드닷은 아낍니다. 상자는 계속 나오므로 상자 기준으로 켜면 사실상 상시 점등이 됩니다. 신규 오픈과 교환 상점에 받을 것이 있을 때만 켭니다. 컴플릿 보상은 완성 즉시 지급하므로 수령 대기 레드닷 자체가 존재하지 않습니다.

개발 전달용 요약

서버 로직
piece_id = Random(0 ~ 15) count = daily_piece_count[piece_id] if count < 컴플릿_제한: daily_piece_count[piece_id] += 1 // (count + 1)번째 회차 퍼즐에 배치 if 해당 회차 16칸 완성: 컴플릿 보상 지급 else: exchange_currency += 환전량 // 5번째부터 재화
저장값과 원칙
daily_piece_count[16] // 조각별 당일 획득 수. 퍼즐 화면은 이 값에서 유도한다 daily_complete_count // 오늘 컴플릿 횟수 unopened_box_count // 미개봉 상자 수 exchange_currency // 재화. 일일 초기화에도 유지, 이벤트 기간 누적 last_daily_reset_at - 모든 판정은 서버에서 처리, 다수 개봉은 묶음 트랜잭션 - 회차 진행 상태는 따로 저장하지 않는다 (조각 수량에서 유도 → 불일치 원천 차단) - 일일 초기화 시 미개봉 상자는 자동 개봉 (상자 비축 후 다음 날 즉시 4컴플릿 방지) - 이벤트 종료 시 잔여 재화 정산 정책은 사전 공지

함께 읽기

다음 이전