게임 비전
상점에서 필요한 직업을 직접 골라 원하는 수만큼 영입한 뒤, 배치·합성으로 자신만의 조합을 완성하는 게임을 목표로 한다.
직업 선택은 플레이어가 완전히 통제하고, 구매 순간의 등급만 확률로 결정한다. 확률과 할인 가격은 결제 전에 항상 공개한다.
직업 선택, 반복 영입, 드래그 배치라는 세 가지 입력만으로 경제와 조합의 전략적 판단이 만들어진다.
같은 직업도 계승 스킬과 전직 경로에 따라 완전히 다른 역할을 갖는다.
Slotbound 벤치마킹 원칙
Slotbound에서는 약한 유닛을 성장 재료로 바꾸는 판단과 매 판 달라지는 빌드만 참고한다. 슬롯 소환과 무작위 직업 획득은 사용하지 않고, Fortune Vanguard는 고정 직업 상점과 구매 순간 등급 판정을 핵심으로 삼는다.
| 구분 | 참고할 요소 | Fortune Vanguard 적용 방식 |
|---|---|---|
| 핵심 루프 | 스핀 → 소환 → 흡수 → 웨이브 | 직업 선택 → 반복 영입 → 배치·계승 → 가로 전투 |
| 합성 | 약한 유닛을 강한 유닛의 성장 재료로 사용 | 레벨과 직업 스킬에 더해 등급별 기절·독·둔화 효과 계승 |
| 빌드 | 아이템·코어·랜덤 특성으로 매 원정 변화 | 길드 계약·전직 테크트리·계승 스킬·영구 해금으로 변화 |
| 편의성 | 재료 잠금, 흡수 모드, 진행 중 저장 | 즐겨찾기 잠금, 합성 미리보기·되돌리기, 계정 자동 저장 |
| 차별화 | 방어형 웨이브 전장 | 아군과 적이 좌우에서 출발해 중앙에서 충돌하는 3라인 전장 |
명칭, 캐릭터 외형, UI 배치, 아이콘, 수치와 연출은 그대로 사용하지 않는다. 획득 방식은 슬롯이 아닌 플레이어 지정 구매로 분리하고, 골드 영입·가로 전투·등급 계승을 중심으로 독자성을 유지한다.
핵심 플레이 루프
한 라운드는 골드를 필요한 영웅과 조합으로 바꾸고, 전투에서 그 선택을 검증하는 짧은 순환으로 구성한다.
한 라운드 전투는 끊기지 않고 이어진다. 기본 3개 적 부대가 적 진영 후방에서 차례로 진입하며, 15라운드부터는 4개 부대로 늘어난다. 아군 위치·체력·전투 제한 시간은 부대 사이에도 그대로 유지된다. 보스전은 호위병 두 부대 뒤에 보스가 등장한다. 원정 목숨은 12개이며, 패배 시 살아남은 적 수만큼 감소한다.
준비와 전투 어느 때든 ‘전체화면’을 눌러 게임 전체를 넓게 볼 수 있다. 전투가 끝나도 전체화면 상태는 유지되며, 2×·4×는 공격 주기와 애니메이션뿐 아니라 실제 이동속도에도 동일하게 적용한다. 화면 효과·피해 숫자·사운드와 세부 볼륨은 옵션창에 모아 상단 전투 제어 영역을 단순하게 유지한다. 전투 중 옵션을 열면 자동 일시정지하고 닫으면 이전 진행 상태로 복귀한다. 키보드에서는 Space로 일시정지, 1·2·4로 속도 변경, F로 전체화면, O로 옵션을 즉시 조작하며 입력창과 다른 팝업에서는 오작동하지 않는다.
영웅 상점과 직접 영입
상점에는 다섯 직업이 항상 제시된다. 플레이어는 역할과 사거리를 보고 필요한 직업을 원하는 만큼 반복 구매하며, 구매 순간 행운 판정으로 일반·고급·희귀·유니크 중 실제 영입 등급이 결정된다.
| 표식 | 영입 직업 | 전투 역할 | 기본 특징 |
|---|---|---|---|
| 🗡️ 창 | 창기병 | 중거리 근접 딜러 | 창끝 거리를 유지하는 고공격·저생명 전사 |
| 🛡️ 방패 | 수호기사 | 초근접 탱커 | 몸을 맞대야 공격하지만 압도적으로 높은 생명력 |
| 🏹 활 | 바람사수 | 초장거리 딜러 | 전장 대부분을 공격하지만 매우 낮은 생명력 |
| ♛ 왕관 | 성휘군주 | 지원가 | 느린 2인 원거리 공격 |
| ✦ 지팡이 | 별빛술사 | 원거리 마법사 | 매우 느린 3인 원거리 공격 |
다섯 직업은 항상 상점에 표시되며 기본 가격은 12G다. 수호기사만 반복 구매하는 것처럼 플레이어가 원하는 직업을 제한 없이 선택할 수 있다.
직업은 직접 고르지만 등급은 영입할 때마다 새로 판정한다. 상위 등급이면 고유 이름·픽셀 외형·전용 능력으로 바뀐다.
영입 등급과 행운 확률
기본 영입 · 고급 10% / 희귀 2% / 일반 88%
행운의 인장 III · 고급 30% / 희귀 12% / 유니크 3% / 일반 55%
언제든 선택 가능한 고정 직업 · 5종
직업은 구매 전에 고르지만 등급은 구매 순간 공개된다. 고급 이상은 단순 능력치 배율이 아니라 직업별 고유 명칭, 전투 특성, 색상과 실루엣이 함께 달라진다.
초기 72골드로 기본 5인 조합과 후보 1명을 영입할 수 있다. 골드가 부족하면 현재 영웅으로 전투에 재도전하고 승리 보상으로 다시 영입한다.
1~20라운드는 승리 보상이 빠르게 증가하고, 이후에는 라운드당 증가량을 1.8골드에서 0.35골드로 낮춘다. 후반에도 영입 선택은 유지하되 골드가 사실상 무한 자원이 되는 현상을 억제한다.
동일 직업 영입 수에는 제한과 불이익이 없다. 수호기사 5명처럼 한 직업에 집중한 조합도 허용하며, 각 개체는 구매 시 판정된 등급과 이후 계승 스킬·전직에 따라 서로 다르게 성장한다. 합성 모드에서는 ROSTER 카드가 사거리 대신 재료로 넘길 계승 스킬과 효과를 표시한다. 다만 직업 고유의 약점은 유지해 혼합 조합과 집중 조합이 서로 다른 장단점을 갖게 한다.
플레이어 패시브 · 길드 계약
영웅 개인 스킬과 별개로 원정 전체의 영입과 상점 경제를 바꾸는 계약이다. 원정이 끝나면 초기화되므로 반복 플레이마다 다른 구매 전략을 만들 수 있다.
영입 3·7·12번째, 이후 8회마다 후보 3개 중 하나를 선택한다.
현재 프로토타입은 서로 다른 계약 4개를 한 번씩 획득한다. 후속 버전에서는 4칸이 찬 뒤 기존 계약 강화 또는 교체를 제공하고 최대 Lv.3까지 확장한다.
현재 빌드와 연관된 후보 1개, 완전 무작위 1개, 불운 완화 후보 1개를 제시한다. 같은 선택창에는 중복 후보가 나오지 않는다.
| 패시브 | 분류 | Lv.1 효과 | 강화 방향 |
|---|---|---|---|
| 베테랑 계약 | 성장 | 5번째 영입마다 해당 영웅이 Lv.2로 합류 | 발동 주기 단축 |
| 병참 지원 | 경제 | 4번째 영입마다 가격 4골드 감소 | 발동 주기 단축 |
| 단골 할인 | 경제 | 모든 영웅 영입 비용 2골드 감소 | 고정 할인 폭 증가 |
| 연쇄 계약 | 영입 | 3번째 영입마다 해당 영웅을 절반 가격에 영입 | 할인 주기 단축 |
| 선봉의 맹세 | 전투 | 전방 열 영웅이 받는 피해 12% 감소 | 18% / 25% |
| 후열의 바람 | 전투 | 후방 열 영웅의 공격 속도 15% 증가 | 25% / 40% |
| 융합의 기억 | 합성 | 합성 시 15% 확률로 재료 영웅의 레벨 1을 추가 계승 | 25% / 40% |
| 현상금 조약 | 경제 | 라운드 승리 골드 +6 | +9 / +12 |
| 야전 배급 | 회복 | 3라운드마다 승리 시 원정 목숨 1 회복 | 2라운드 / 매 라운드 |
| 행운 조달권 | 영입 | 고급 이상 총 영입 확률 +5%p | +8%p / +12%p |
| 혼성 진형 | 전투 | 출전 중인 서로 다른 직업마다 공격력 +2% | +3% / +4% |
| 최후의 결의 | 위기 | 목숨 7 이하에서 생명력 +15%, 공격력 +10% | 발동 목숨·효과 증가 |
상점 영입 처리 순서
- 고정된 5개 직업의 기본 능력치, 상위 등급 확률과 할인 적용 가격을 항상 표시한다.
- 영입 버튼을 누르면 골드를 차감하고 행운 판정으로 실제 등급을 결정한다.
- 결정된 등급의 고유 이름·외형·능력을 적용해 ROSTER에 추가한다.
- 구매한 직업 카드는 잠기지 않으며 골드가 허용하는 한 같은 직업을 계속 영입할 수 있다. ROSTER는 수량 제한 없이 내부 스크롤로 관리한다.
- 상점 갱신은 없으며 직업 구성은 원정 내내 고정한다.
- 정해진 영입 횟수에 도달하면 구매 처리가 끝난 뒤 길드 계약 선택창을 띄운다.
현재 계정에 적용되는 일반·고급·희귀·유니크 확률과 할인 전후 가격을 구매 전에 표시한다. 판정 결과는 영입 직후 이름과 등급 연출로 명확히 공개한다.
배치와 자동 전투
아군은 화면 왼쪽, 적은 오른쪽에서 출발한다. 전투가 시작되면 같은 가로 라인의 상대를 우선해 중앙 교전선으로 달려오며, 사거리에 들어온 순간부터 자동 공격한다.
생명력 +15%, 받는 피해 -8%. 수호기사와 근접 영웅이 적의 첫 공격을 받아낸다.
공격력 +8%. 생존과 화력 사이에서 안정적으로 피해를 누적하는 범용 자리다.
사거리 +12%. 활과 지팡이가 더 일찍 공격을 시작하고 교전 거리를 유지한다.
전투 규칙
- 양쪽 진영은 왼쪽과 오른쪽에서 출발해 중앙을 향해 수평으로 이동한다.
- 자신과 같은 가로 라인의 적을 먼저 공격하고, 해당 라인이 비면 가까운 다른 라인으로 이동한다.
- 원거리는 사거리에 들어오면 멈추며 근접은 중앙 부근까지 달려와 맞붙는다.
- 전투 화면 상단의 아군·적군 전력 체력계로 교전 우세를 즉시 비교한다. 생명력 30% 이하 영웅은 붉은 위험 오라와 체력 막대로 강조한다.
- 별도의 도발·보스 패턴 없이 공격력, 대상 수, 사거리와 쿨타임만으로 전투한다.
- 전투 종료 시 모든 생존·사망 영웅의 체력이 회복되어 다음 준비 단계로 돌아온다.
합성 및 스킬 계승
합성 모드에서 재료 영웅을 강화 대상 위로 드래그한다. 같은 직업끼리는 캐릭터 레벨과 해당 직업의 계승 스킬을 함께 강화하고, 다른 직업은 스킬 대신 캐릭터 레벨을 더 많이 올린다.
| 재료 | 계승 스킬 | 핵심 효과 |
|---|---|---|
| 창기병 | 갑옷 관통 | 공격력 증가 |
| 수호기사 | 철벽 수호 | 최대 생명력 증가 |
| 바람사수 | 연속 사격 | 공격속도 증가 |
| 성휘군주 | 왕의 명령 | 공격력과 생명력 증가 |
| 별빛술사 | 별빛 폭발 | 공격력 증가 |
등급별 상태이상 계승
같은 직업의 상위 등급 영웅을 재료로 사용하면 일반 직업 스킬 대신 재료 등급과 직업에 맞는 상태이상·연계 스킬이 전달된다. 재료를 선택하면 계승할 이름과 효과를 영웅 정보에서 미리 확인할 수 있다.
| 재료 등급 | 계승 범위 | 예시 | 설계 역할 |
|---|---|---|---|
| 일반 | 직업 기본 스킬 | 관통, 피해 감소, 추가 공격 | 빌드의 기본 골격 |
| 고급 | 초급 상태이상 또는 추가 피해 | 룬 균열, 충격 방패, 맹독 화살, 속박의 칙령, 마나 연소 | 전투 방식에 변화를 주는 첫 단계 |
| 희귀 | 강화 상태이상 또는 연계 효과 | 용혈 파열, 성채 지진, 맹독 연사, 쇠약의 왕명, 비전 중첩 폭발 | 추가 대상과 연계 피해로 빌드 완성 |
| 유니크 | 직업 전용 복합 계승 스킬 | 발키리 강습, 불멸의 심판, 별꿰기 폭우, 태양의 대칙령, 천체 붕괴 | 한 원정의 핵심 조합을 결정 |
합성 세부 규칙
- 합성 순서와 관계없이 두 영웅 중 높은 레벨을 기준으로 한다. 같은 직업에서 계승 스킬을 새로 얻거나 강화하면 높은 레벨 +1, 계승할 스킬이 이미 최대 Lv.10이면 성장분을 영웅 레벨로 전환해 +2가 된다. 다른 직업도 +2다.
- 같은 직업을 재료로 사용하면 해당 직업의 계승 스킬도 함께 얻고, 다른 직업 재료는 계승 스킬 없이 레벨만 올린다.
- 대상에게 없는 스킬은 Lv.1로 보관함에 추가되며 카드와 영웅 정보에서 강화 결과를 바로 확인한다.
- 같은 직업 합성에서 이미 보유한 스킬을 다시 계승하면 해당 스킬 레벨이 1 상승하며 최대 Lv.10까지 성장한다. 최대 레벨 이후 같은 스킬 재료도 낭비되지 않고 영웅 +2레벨 재료로 사용된다.
- 장착 슬롯은 일반 1개·고급 2개·희귀 3개·유니크 4개다. 보관한 스킬이 슬롯보다 많으면 영웅 정보의 스킬 버튼으로 장착 조합을 선택한다.
- 같은 직업·같은 등급 합성은 상위 등급이 해금된 경우 등급 승급 조건에도 사용.
- 상태이상 스킬은 같은 직업 재료의 등급으로 결정되며, 대상의 기존 계승 스킬과 함께 조합할 수 있다.
- 기절은 공격 주기만큼 간격을 두고, 독은 더 강한 효과로 갱신하며, 둔화와 약화는 지속시간이 끝나면 자동 해제한다.
영입한 영웅은 수량 제한 없이 ROSTER에 보관한다. 목록만 내부 스크롤로 처리해 전장 크기를 유지하고, 합성 재료와 교체 영웅을 보관하기 위해 억지로 영웅을 버리지 않게 한다.
합성 모드를 켜는 순간 영웅 전체 상태를 저장한다. 모드 안에서 여러 번 합성해도 되돌리기 한 번으로 진입 직전까지 복구하며, 라운드를 시작하면 합성 모드를 자동 종료하고 결과를 확정한다.
| 등급 | 스킬 슬롯 | 기본 능력 배율 | 획득 조건 |
|---|---|---|---|
| 일반 | 1칸 | ×1.00 | 기본 해금 |
| 고급 | 2칸 | ×1.18 | 성장 포인트 해금 |
| 희귀 | 3칸 | ×1.42 | 성장 포인트 해금 |
| 유니크 | 4칸 | ×1.74 | 성장 포인트 해금 |
5레벨 단위 전직
레벨 5, 10, 15…마다 직업별 두 갈래 전직 특성 중 하나를 선택한다. 같은 계보를 반복 강화하거나 서로 섞어 하이브리드 빌드를 만들 수 있다.
| 직업 | A 경로 | B 경로 | 선택 감각 |
|---|---|---|---|
| 창기병 | 강철 선봉대 · 생명/방어 | 혈월 창기병 · 공격/베기 | 생존형 vs 돌파형 |
| 수호기사 | 불멸의 성벽 · 생명/도발 | 가시 파수꾼 · 반격/공격 | 순수 탱커 vs 반격 탱커 |
| 바람사수 | 폭풍 추적자 · 공속/다중 | 황혼 저격수 · 공격/치명 | 다수 처리 vs 단일 폭딜 |
| 성휘군주 | 황금 지휘관 · 공격 오라 | 새벽의 성인 · 회복 오라 | 공격 지원 vs 생존 지원 |
| 별빛술사 | 천둥의 현자 · 광역/연쇄 | 시간 직조자 · 공속/둔화 | 폭발 피해 vs 제어 |
라운드와 난이도
1~10라운드를 하나의 챕터로 묶고, 10의 배수마다 보스를 배치한다. 11~20, 21~30처럼 무한히 확장하며 지역과 적 조합을 교체한다.
2~4종의 적이 등장한다. 전열 압박, 후열 암살, 광역 공격 등 하나의 배치 문제를 제시한다.
높은 체력뿐 아니라 특정 진형이나 스킬 조합을 요구하는 패턴을 가진다.
보스 생명력 = 해당 라운드 일반 적 기준 × 3.5
라운드 골드 = 20 + 라운드 × 2.2
성장 포인트 = 일반 1 / 정예 3 / 보스 10 + 챕터 번호 × 2
수치는 프로토타입 기준이며, 실제 평균 클리어 시간과 영입 횟수·직업별 구매 비율을 측정해 조정한다.
반복 플레이와 영구 성장
라운드를 클리어할 때마다 성장 포인트를 모으고 원정 종료 후 해금 트리에 사용한다. 다음 원정은 초기 자금, 출전 인원, 신규 영웅 훈련과 영웅 선택지가 조금씩 늘어나며 단순 능력치보다 새로운 운영 방법이 먼저 열린다.
성장 포인트 획득
정예 라운드 승리 · 3포인트
10라운드 단위 보스 승리 · 10 + 챕터 번호 × 2포인트
해당 계정의 첫 보스 클리어 · 추가 10포인트
일일 첫 원정 종료 · 추가 5포인트
- 승리할 때마다 화면 상단의 “이번 원정 획득 예정”에 즉시 더하고, 원정이 끝나거나 자진 귀환하면 계정에 확정 지급한다.
- 연결이 끊겨도 서버가 승인한 마지막 라운드까지의 포인트는 복구한다. 같은 전투 결과를 다시 보내 중복 지급받을 수 없게 원정 ID와 라운드 번호를 함께 저장한다.
- 이전 최고 기록 이하의 반복 클리어도 100% 지급한다. 대신 최초 보너스와 더 높은 보스 보상으로 자연스럽게 다음 구간 도전을 유도한다.
영구 해금 트리
성장 포인트 지급과 중복 지급 방지, 초기 자금·지휘·대기 훈련·영입 할인·영입 등급·유물 감정·공격·생명·기동·제압·최대 목숨·펫 강화의 12분기를 구현했다. 각 단계는 최고 라운드 조건으로 순차 해금되며 새 원정부터 적용된다. 포인트 재분배와 성장 프리셋은 후속 범위다.
| 분기 | 단계와 비용 | 최종 효과 | 설계 의도 |
|---|---|---|---|
| 초기 자금 | 10 / 25 / 50 / 90P | 시작 골드 +5 / +10 / +15 / +20 | 초반 영입 선택권 증가 |
| 지휘 인원 | 40 / 100 / 200 / 350P | 동시 출전 5명에서 최대 9명 | 3×3 진형을 순차적으로 확장 |
| 대기 훈련 | 25 / 60 / 120 / 200P | 신규 영웅 시작 레벨 Lv.2 / 3 / 4 / 5 | 무제한 ROSTER 전환 후 기존 벤치 해금 가치를 성장 효과로 이전 |
| 행운의 인장 | 40 / 120 / 300P | 상위 등급 영입 확률 단계별 증가, 최종 유니크 3% | 반복 플레이의 영입 기대값과 빌드 깊이 확장 |
| 출정 준비 | 50 / 130 / 260P | 시작 영웅 2택1 / 시작 유물 3택1 / 첫 영입 50% 할인 | 첫 영입 전부터 빌드 방향 선택 |
| 계약 연구 | 35 / 90 / 180P | 길드 계약 후보군 12→14→16→18종 | 원정마다 다른 상점 운영 조합 확장 |
| 직업 연구 | 직업별 30 / 80 / 160P | 전직 미리보기 / 전용 스킬 / 대체 전직 해금 | 선호 직업을 장기적으로 연구 |
| 공격 각인 | 20 / 45 / 80 / 130 / 200P | 모든 영웅 공격력 +1.5%씩, 최대 +7.5% | 막힌 구간을 돕되 전략을 대체하지 않음 |
| 생명 각인 | 20 / 45 / 80 / 130 / 200P | 모든 영웅 생명력 +1.5%씩, 최대 +7.5% | 안정성을 높이되 진형 선택을 대체하지 않음 |
지휘 인원 7명 이상은 10라운드 클리어, 희귀는 20라운드, 유니크는 30라운드를 한 번 이상 넘어야 구매할 수 있다.
첫 3회 원정 안에 초기 골드와 대기 훈련 1단계, 약 20회에 핵심 기능 대부분, 약 60회에 전체 해금을 목표로 조정한다.
직업·스킬·전직 조합을 처음 완성하면 일회성 성장 포인트와 외형을 제공한다.
해금 화면과 초기화
- 원정 종료 화면에서 획득 포인트, 현재 잔액, 새로 구매 가능한 항목 3개를 먼저 보여준다.
- 해금 트리는 자금·지휘·수집·직업 네 갈래로 표시하고 다음 단계 효과와 비용을 구매 전에 비교한다.
- 원정 중에는 해금을 변경할 수 없다. 원정 밖에서는 사용 포인트를 전액 반환해 자유롭게 다시 배분할 수 있다.
- 자주 쓰는 배분은 최대 3개의 성장 프리셋으로 저장한다.
출전 인원과 상위 등급 영입 확률은 가장 체감되는 장기 목표로 제공하되, 기본 확률과 5명만으로도 10라운드를 클리어할 수 있게 설계한다. 영구 성장 효과는 전체 성장 랭킹에만 적용하고, 주간 공정 랭킹에서는 모든 참가자에게 동일한 출전 인원·행운 확률·패시브 후보군을 적용한다.
닉네임 계정과 랭킹
이메일 없이 닉네임과 비밀번호만으로 가입하고, 같은 브라우저에서는 다시 비밀번호를 묻지 않도록 장기 자동 로그인을 기본 제공한다.
게임 전용 닉네임 계정, 비밀번호 해시, 브라우저별 장기 토큰, 로그인 제한, 복구 코드, 비밀번호 변경, 로그인 기기 목록·개별 및 전체 해제, 7일 유예 계정 삭제, 자동 저장·복원, 전체·주간·일일 랭킹을 구현했다.
화면 구성
계정·성장·랭킹·확률 정보 버튼을 상단에 나란히 두고 선택 시 큰 전용 오버레이를 연다. 플레이 중에는 우측 패널이 전장 폭을 줄이지 않는다.
로그인과 보안 관리, 12분기 성장, 전체·주간·일일 랭킹을 하나의 본부 화면에서 탭으로 구분한다. 내 기록은 별도 색상으로 강조한다.
랭킹 옆 별도 버튼에서 영웅 상점, 유물 등급, 계약·이벤트 후보처럼 무작위로 결정되는 모든 항목의 기본 확률과 현재 적용 확률을 확인한다.
확률 정보 공개 화면 · 계획
단순 기본 확률만 적지 않고 계정 성장, 라운드, 유물과 이벤트 보정을 반영한 현재 확률을 함께 표시한다. 조건부 후보는 등장 조건과 제외 사유를 명시하고, 각 확률 묶음의 합계가 100%인지 화면에서 확인할 수 있게 한다.
- 영웅 상점은 일반·고급·희귀·유니크 등급별 기본 확률, 성장 보정치와 최종 영입 확률을 나란히 표시한다.
- 유물은 일반·마법·희귀·전설 등급 확률과 중복 등장 가능 여부, 확정 또는 보정 규칙을 표시한다.
- 길드 계약·중간 이벤트·무작위 보상은 현재 후보군, 해금 조건, 동일 가중치 여부와 실제 선택 확률을 공개한다.
- 주간 공정 모드는 영구 성장 보정이 제거된 고정 확률임을 별도 배지로 알리고, 확률표에 데이터 버전과 갱신일을 표시한다.
가입 및 로그인 규칙
- 닉네임은 한글·영문·숫자 조합 2~16자이며 대소문자를 구분하지 않고 중복을 막는다.
- 비밀번호는 8~72자 범위로 받고 서버에서 단방향 해시로만 저장한다.
- 로그인 실패 메시지는 닉네임 존재 여부를 드러내지 않고 “닉네임 또는 비밀번호를 확인해 주세요”로 통일한다.
- 계정 및 IP 기준으로 실패 횟수를 제한하고, 반복 실패 시 지연 시간을 단계적으로 늘린다.
- 게스트 플레이 기록은 가입 직후 새 계정으로 한 번만 가져올 수 있다.
로그인 상태 최대 유지
기본 서버 세션은 짧게 유지하되, 로그인 시 발급한 장기 토큰으로 세션을 자동 복원한다. 토큰은 180일 슬라이딩 만료로 운영해 같은 브라우저에서 계속 플레이하면 로그인 상태가 지속된다.
무작위 자동 로그인 토큰만 Secure·HttpOnly·SameSite 쿠키에 저장한다. JavaScript와 localStorage에서는 읽을 수 없게 한다.
토큰 원문은 저장하지 않고 해시, 사용자 ID, 만료일과 마지막 사용 시각만 저장한다.
자동 로그인 성공 시 토큰을 교체하고 유효기간을 다시 연장한다. 탈취된 이전 토큰은 재사용할 수 없다.
- 일반 로그아웃은 현재 브라우저 토큰만 폐기한다.
- 계정 보안 화면에서 일반화된 브라우저·운영체제 유형과 생성·최근 인증 시각을 확인하고, 현재 기기를 제외한 세션을 하나씩 해제할 수 있다. IP와 원문 User-Agent는 저장하지 않는다.
- “다른 모든 기기 로그아웃”과 비밀번호 변경은 현재 브라우저를 제외한 기존 세션·장기 토큰을 폐기한다.
- 쿠키 삭제, 시크릿 모드, 브라우저 변경 시에는 다시 로그인해야 한다.
- 이메일을 받지 않으므로 로그인 후 보안 관리에서 일회용 복구 코드 8개를 발급한다. 새로 발급하면 이전 코드는 폐기되며, 코드를 모두 잃으면 비밀번호 복구가 불가능하다.
랭킹 규칙
| 구분 | 정렬 기준 | 표시 정보 | 갱신 시점 |
|---|---|---|---|
| 전체 랭킹 | 최고 클리어 라운드 → 해당 라운드 클리어 시간 → 먼저 달성한 순서 | 순위, 닉네임, 최고 라운드, 대표 전직 | 라운드 승리 직후 |
| 주간 랭킹 | 이번 주 최고 라운드 → 주간 점수 → 클리어 시간 | 순위, 닉네임, 주간 라운드, 점수 | 라운드 승리 직후 |
| 내 순위 | 전체 목록 밖이어도 항상 별도 표시 | 현재 순위, 상위 백분율, 다음 순위와 차이 | 로그인·전투 종료 시 |
- 패널에는 상위 20명을 먼저 표시하고 “더 보기”에서 상위 100명까지 확인한다.
- 동일 닉네임은 존재하지 않으므로 별도 번호 없이 닉네임을 그대로 노출한다.
- 랭킹에는 브라우저 localStorage 기록을 직접 사용하지 않고 서버가 검증해 저장한 결과만 반영한다.
- 전투 시작 시 서버에서 원정 ID와 난수 시드를 발급하고, 클리어 결과의 라운드·소요 시간·보상을 검증해 비정상 기록을 제외한다.
- 주간 랭킹은 다섯 고정 직업과 계약 후보를 서버 규칙으로 통일한다. 직업별 구매 수와 구매 순서는 플레이어가 자유롭게 결정한다.
도전형 PvP 랭킹 · 계획
계정에 로그인한 플레이어가 PvP 랭킹의 다른 계정에 “대결 걸기”를 눌러 비동기 전투를 진행한다. 상대가 나보다 높은 순위이고 승리하면 상대의 바로 위 순위로 올라가며, 이미 상대보다 높은 순위라면 승리해도 현재 순위를 유지한다. 패배하거나 낮은 순위의 상대와 싸워도 내 순위는 내려가지 않는다.
각 계정이 저장한 방어 영웅·3×3 진형·계승 스킬·펫·허용 유물을 서버 스냅샷으로 보관한다. 상대가 접속 중이지 않아도 같은 전투 엔진으로 대결한다.
도전자보다 높은 상대에게 승리하면 도전자는 대상의 바로 위 칸으로 이동하고 사이 순위는 한 칸씩 조정한다. 더 낮은 상대를 이긴 경우에는 전적만 기록한다.
클라이언트가 승패나 순위를 직접 기록하지 않는다. 서버가 양쪽 편성 버전·전투 시드·결과를 검증한 뒤 한 번의 트랜잭션으로 순위를 갱신한다.
- 랭킹 화면에 “PvP” 탭을 추가하고 각 행에 현재 전투력, 대표 영웅, 방어 편성 갱신 시각과 “대결 걸기” 버튼을 표시한다.
- 최초 PvP 진입 시 검증 가능한 방어 편성을 등록해야 순위가 배정되며, 탈퇴·제재·유효하지 않은 편성은 도전 대상에서 제외한다.
- 무리한 저격을 막기 위해 기본 도전 대상은 내 위 일정 범위와 서버가 섞어 제시한 후보로 제한하고, 일일 무료 도전 횟수와 같은 상대 재도전 대기 시간을 둔다.
- 도전 버튼을 누른 시점의 상대 방어 스냅샷과 순위를 잠근다. 전투 종료 전에 상대 순위가 바뀌면 최신 순위를 기준으로 승급 가능 여부를 다시 계산한다.
- 패배로 직접 순위를 차감하지는 않지만 다른 플레이어가 내 위로 승급하면 상대적인 순위는 밀릴 수 있다. 개인 최고 PvP 순위는 별도 기록으로 보존한다.
- 전투력 차이가 큰 하위 상대 반복 사냥은 랭킹 보상과 승급에 영향을 주지 않으며, 시즌 보상은 최고 순위가 아니라 시즌 종료 시 확정 순위를 기준으로 지급한다.
공정한 경쟁 규칙
영구 성장과 해금 상태를 허용하는 장기 기록이다. 시즌이 바뀌어도 개인 최고 기록은 명예의 전당에 남긴다.
모든 플레이어가 같은 고정 시드·기본 해금·기본 각인으로 시작한다. 실력 비교용이며 영구 성장 수치는 적용하지 않는다.
- 주간 랭킹은 월요일 00:00 KST에 시작해 일요일 23:59:59 KST에 마감하고 이전 주 기록은 읽기 전용으로 보관한다.
- 점수는 도달 라운드가 최우선이며, 동률일 때 남은 목숨·생존 영웅 수·클리어 시간을 순서대로 비교한다.
- 닉네임은 신고·차단 목록과 관리자 검토를 지원하고, 변경 시 30일 재사용 제한을 둬 사칭을 줄인다.
게임 전용 데이터 구조
slot_light_remember_tokens · user_id / device_id / device_label / validator_hash / created_at / last_used_at
slot_light_progress · user_id / save_version / round / gold / meta_points / units_json / updated_at
slot_light_unlocks · user_id / unlock_key / level / spent_points / updated_at
slot_light_rankings · user_id / season_key / max_round / score / clear_ms / achieved_at
slot_light_pvp_rankings · user_id / season_key / rank / best_rank / defense_version / updated_at
slot_light_pvp_defenses · user_id / version / formation_json / combat_power / created_at
slot_light_pvp_matches · attacker_id / defender_id / seed / result / rank_before / rank_after / created_at
기존 이메일 기반 SNOMET 회원과 분리된 게임 전용 계정으로 시작한다. 추후 원할 때만 기존 회원 계정과 연결할 수 있게 user_id 연결 필드를 예약한다.
재화 설계
| 재화 | 획득 | 소비 | 초기화 |
|---|---|---|---|
| 골드 | 라운드 승리, 보스, 업적 | 선택한 직업의 영웅 영입 | 원정 유지 |
| 성장 포인트 | 일반·정예·보스 클리어, 도감 | 초기 골드, 출전 인원, 대기 훈련, 등급, 직업 연구 | 영구 유지 |
| 빛의 파편 | 보스와 도감 완성 | 외형, 특수 시작 유물 | 영구 유지 |
경제 안전장치
- 골드가 부족하면 현재 조합으로 같은 라운드에 재도전할 수 있으며, 주기 할인 계약으로 다음 영입 비용을 낮출 수 있다.
- 반복 클리어도 성장 포인트를 온전히 지급하되 보스와 최고 기록 갱신 보상을 높여 다음 구간 도전을 유도한다.
- 모든 등급은 같은 가격으로 판정하지만 상위 등급의 등장률을 낮게 유지한다. 일반 영웅은 반복 영입과 합성 재료로 계속 가치를 갖는다.
- 유료 결제를 도입하더라도 전투 능력치·랭킹 입장 횟수·상점 확률은 판매하지 않고 외형과 편의 범위로 제한한다.
제작 범위와 단계
구현 완료
5직업 고정 상점과 반복 영입, 구매 순간 행운 등급 판정, 등급별 고유 영웅, 길드 계약 4종, 3×3 배치, 자동 전투, 합성, 1차 전직, 10라운드. 기능 구현은 완료했으며 사용자 플레이 검증은 남아 있다.
진행 중
완료: 12분기 영구 성장, 닉네임 계정, 서버 저장, 본부형 계정·성장·랭킹 탭, 단일·광역 공격 주기. 남음: 성장 재분배와 도감.
진행 중
4등급 유물 12종, 동행 펫 3종, 이벤트 6종, 적 변이 5종, 주간·일일 도전, 시즌 보상, 기기 관리와 집계형 밸런스 로그를 구현했다. 유물 합성과 전용 아이콘 확장이 남았다.
시즌 규칙, 신규 전직, 외형 보상, 이벤트 상점, 운영자 밸런스 테이블.
첫 플레이어가 설명 없이 영입→배치→전투를 완료하고, 10라운드 이전에 서로 다른 스킬 조합을 최소 2개 만들며, 패배 후 진형이나 합성을 변경해 재도전하는가.
우선순위별 개선 로드맵
기능을 한꺼번에 늘리지 않고 핵심 재미, 읽기 쉬운 전투, 반복 플레이의 순서로 확장한다. 각 단계는 앞 단계의 플레이 지표가 기준을 통과한 뒤 진행한다.
| 우선순위 | 개선 항목 | 구체 작업 | 완료 기준 |
|---|---|---|---|
| P0 · 구현 | 첫 플레이 안내 | 영웅 2명 영입, 오른쪽 전방 배치, 합성 모드 확인, 첫 전투를 실제 조작과 대상 강조로 안내하며 완료 상태를 브라우저에 저장 | 기능 구현 완료, 신규 사용자의 첫 전투 시작률 검증 필요 |
| P0 · 구현 | 모바일 조작 | 드래그뿐 아니라 영웅 선택→칸 선택, 재료 선택→대상 선택 방식 지원 | 기능 구현 완료, 360px 실기기 QA 필요 |
| P0 · 구현 | 전투 가독성 | 동굴 전장, 진영 색상, 공격 대상 연결선·표식, 직업별 기술명, 근접 돌진, 투사체, 피해 숫자·체력바와 종료 후 영웅별 피해·피격·처치·상태이상 분석 구현 | 기능 구현 완료, 실제 사용자 인지 테스트 필요 |
| P0 · 구현 | 저장 안정성 | 버전 5 자동 저장, 구버전 유물의 일반 등급 자동 이관, 진형·스킬 프리셋, 브라우저 현재·이전 저장, 서버 백업·손상 복구·저장 충돌 선택 구현 | 기능 구현 완료, 다중 기기·강제 종료 시나리오 운영 QA 필요 |
| P1 · 부분 구현 | 캐릭터 연출 | LuizMelo CC0 픽셀 스프라이트의 대기·달리기·공격·피격·사망 애니메이션과 투사체 연출 구현. 남음: 창병·궁수·군주의 전용 외형 | 5직업이 실루엣과 공격 모션만으로 구분 |
| P1 · 구현 | 공격 주기 밸런스 | 단일은 빠르고 강하게, 2·3인 광역은 대상 수에 비례해 공격력과 공속을 낮추고 개별 쿨타임 표시 | 같은 성장 단계에서 총 피해량 편차 ±15% 이내 |
| P1 · 구현 | 등급별 계승 스킬 | 5직업×고급·희귀·유니크 15종의 기절·독·둔화·약화·추가 대상·중첩 폭발 효과, 합성 미리보기와 전투 상태 표시 구현 | 기능 구현 완료, 보스 포함 장기 라운드 밸런스 검증 필요 |
| P1 · 구현 | 유물과 이벤트 | 5라운드 간격 이벤트와 10라운드 간격 유물 3택1, 유물 12종·일반/마법/희귀/전설 등급·등급별 중첩 효과·최종 적용 수치와 성장 기반 감정 확률 구현 | 다음: 유물 도감·동일 유물 합성 |
| P1 · 구현 | 동행 펫 | 불씨 여우·이끼 거북·별빛 부엉이 중 1마리를 선택해 공격력·생명력·원거리 공속을 보조하고 전투 화면에 동행 | 선택 상태는 원정 저장에 포함, 선택률은 익명 집계 |
| P1 · 부분 구현 | 사운드·손맛 | 완료: 직업별 공격·피격음, 등급별 영입음, 전투 시작·승패·보상음과 음소거 저장. 남음: 배경음, 선택음 세분화, 선택형 진동 | 음소거와 모션 감소 설정을 함께 제공 |
| P1 · 구현 | 전투 조작·접근성 | 1·2·4배속, 일시정지, 모션 감소·피해 숫자 설정과 브라우저 저장, 영웅 선택 후 숫자 1~9 배치, 필수 선택 모달 초점 고정·복귀 구현 | 마우스 없이 영입·배치·전투 진행, 모션 감소 환경에서 불필요한 효과 제거 |
| P1 · 구현 | 밸런스 데이터·검증 | 영웅·적·경제·등급 변형 20종·전직 10종·유물 12종과 4등급·계승 스킬 20종의 수치 분리, 고정 시드 검사와 플레이 집계 구현 | 코드 변경 없이 수치 조정 가능. 성장과 고등급 유물의 후반 복합 배율 검증 필요 |
| P1 · 계획 | 확률 정보 공개 | 본부의 성장·랭킹 옆에 확률 정보 버튼을 추가하고 상점·유물·계약·이벤트의 기본 확률, 보정 근거와 현재 적용 확률을 통합 표시 | 모든 무작위 결과의 후보군·조건·확률 합계·데이터 버전을 게임 안에서 확인 |
| P1 · 계획 | 도전형 PvP 랭킹 | 계정 방어 편성 스냅샷을 상대로 비동기 대결. 상위 상대 승리 시 대상 바로 위로 승급하고 패배·하위 상대 승리 시 현재 순위 유지 | 서버 판정·도전 범위·일일 횟수·재도전 대기·동시 순위 변경 검증 후 시즌제로 도입 |
| P2 | 시즌 콘텐츠 | 주간 규칙, 고정 시드 도전, 시즌 전직과 외형 보상 | 매주 새로운 랭킹 경쟁 이유 제공 |
| P2 | 계정 자기관리 | 복구 코드, 비밀번호 변경, 모든 기기 로그아웃, 계정 삭제 유예와 랭킹 익명화 | 이메일 없이 계정 복구·보안·탈퇴 절차를 사용자가 직접 완료 |
| P2 · 구현 | 렌더러 역할 분리 | 상점·편성은 HTML·CSS로, 다수 유닛·투사체 전투만 Phaser Scene으로 구현 | 기능 구현 완료, 중급 모바일 성능 계측 필요 |
캐릭터 및 전투 연출
횡스크롤 픽셀 그래픽으로 통일하고 대기·달리기·공격·피격·사망의 5종 애니메이션을 기본으로 한다. 전직은 무기·팔레트·이펙트 레이어를 교체해 제작량을 줄인다.
활과 마법은 투사체 궤적을 보여주고, 공격 직전 대상 연결선과 바닥 표식을 표시한다. 광역 공격은 여러 대상 표식과 직업별 기술명을 함께 노출한다.
1배·2배·4배와 일시정지를 제공한다. 첫 보스와 첫 전직 전투는 기본 1배로 시작해 결과를 읽게 한다.
단일·광역 공격과 쿨타임 기준
| 공격 주체 | 대상 수 | 기본 생명력 | 기본 공격력 | 기본 쿨타임 | 사거리 | 설계 의도 |
|---|---|---|---|---|---|---|
| 창기병 | 단일 1명 | 108 | 25 | 0.78초 | 74 | 탱커보다 여유 있게 찌르는 고공격·저생명 근접 딜러 |
| 수호기사 | 단일 1명 | 265 | 8 | 1.32초 | 28 | 완전히 붙어서 버티는 최고 생명력 탱커 |
| 바람사수 | 단일 1명 | 70 | 18 | 0.92초 | 620 | 전장 대부분을 선제 공격하는 초장거리 유리대포 |
| 성휘군주 | 광역 2명 | 125 | 9 | 1.70초 | 280 | 중거리에서 두 대상을 견제하는 지원가 |
| 별빛술사 | 광역 3명 | 78 | 14 | 2.40초 | 430 | 긴 사거리와 느린 3인 동시 공격을 가진 마법사 |
| 일반 적 | 단일 1명 | 라운드 비례 | 라운드 비례 | 1.15초 | 44 | 가장 가까운 영웅을 반복 공격 |
| 10라운드 강화 적 | 광역 3명 | 라운드 비례·강화 | 라운드 비례·감소 보정 | 2.50초 | 48 | 별도 패턴 없이 체력과 3인 공격만 강화 |
보스 전용 기믹, 소환, 체력 구간 패턴은 만들지 않는다. 모든 공격은 사거리 안에서 가장 가까운 대상을 기준으로 하며, 공격력·대상 수·쿨타임 세 값만으로 난이도를 조정한다.
유물과 랜덤 이벤트
- 유물 12종은 공격·생명력·공속·이동·사거리·대상 수와 역할 특화를 바꾸며, 일반·마법·희귀·전설 4등급에 따라 효과 배율이 달라진다.
- 10라운드마다 무작위 3개 중 1개를 선택한다. 동일 유물 중복과 서로 다른 등급을 함께 계산하며, 유물 감정술 성장으로 고등급 확률을 높일 수 있다.
- 5·15·25라운드 이벤트에서는 안전한 골드, 목숨 회복, 목숨 2를 지불하는 고액 골드 중 하나를 선택한다. 이후 스킬 교체와 보스 강화형 이벤트를 확장한다.
동행 펫
- 불씨 여우는 모든 영웅 공격력 +7%, 이끼 거북은 생명력 +10%, 별빛 부엉이는 원거리·지원 공격속도 +8%를 제공한다.
- 전투 전 자유롭게 한 마리를 선택하며 선택 상태는 브라우저와 서버 원정 기록에 함께 저장된다.
- 펫은 전투 화면 왼쪽 후방에서 부유 애니메이션으로 동행하고, 이후 성장·스킬·외형 해금으로 확장한다.
접근성 및 편의 기능
색만으로 등급을 구분하지 않고 아이콘과 텍스트를 병행한다. 운영체제 설정 자동 인식, 모션 감소와 피해 숫자 표시 전환을 구현했다.
상점과 영웅 선택, 숫자 1~9 진형 배치, 전투, 필수 선택 모달 초점 순환을 키보드로 조작할 수 있다. 스킬과 전직 수치 비교 표시는 계속 보강한다.
플레이 검증과 밸런스 운영
감으로 수치를 바꾸지 않도록 한 판의 흐름을 이벤트 단위로 기록하고, 자동 전투 시뮬레이션과 실제 플레이 지표를 함께 사용한다.
수집할 핵심 이벤트
| 이벤트 | 주요 데이터 | 확인할 질문 |
|---|---|---|
| class_shop_viewed | 보유 골드, 직업별 보유 수, 현재 진형 | 구매 전에 직업 역할을 충분히 비교하는가 |
| repeat_recruit | 직업, 연속·누적 영입 수, 당시 조합 | 단일 직업 조합도 유효한 전략인가 |
| contract_selected | 누적 영입 횟수, 후보 3개, 선택 결과 | 항상 버려지거나 지나치게 선호되는 계약이 있는가 |
| pet_selected | 선택 펫, 현재 라운드 | 특정 펫으로 선택이 쏠리는가 |
| hero_purchased | 직업, 판정 등급, 가격, 적용 행운 확률, 구매 당시 조합 | 상위 등급 체감과 12골드 영입 가치가 적절한가 |
| fusion_complete | 대상·재료 직업, 등급, 계승 스킬 | 사용되지 않는 재료와 스킬이 있는가 |
| class_selected | 직업, 레벨, 선택 계보, 당시 진형 | 한쪽 전직으로 선택이 쏠리는가 |
| reward_selected | 라운드, 유물·이벤트 후보 3개, 선택 결과, 당시 조합·목숨 | 버려지는 보상과 승률을 과도하게 높이는 유물이 있는가 |
| battle_end | 승패, 소요 시간, 생존 영웅, 총 피해 | 어느 라운드에서 이탈과 패배가 집중되는가 |
| run_end | 최고 라운드, 플레이 시간, 핵심 빌드 | 한 원정의 길이와 반복 동기가 적절한가 |
현재 구현은 닉네임·비밀번호·IP·브라우저 정보를 통계에 넣지 않고 집계값만 저장한다. 직업별 영입·전투 승률, 라운드별 승률·평균 전투 시간·피해량, 계약과 보상의 노출 대비 선택 횟수를 밸런스 버전별로 확인할 수 있다.
목표 지표
첫 전투 시작률 80% 이상, 첫 전직 도달률 55% 이상, 첫 원정 평균 12분 이상을 목표로 한다.
일반 라운드 목표 승률 70~85%, 보스 첫 시도 승률 45~60%, 재도전 승률 65% 이상.
상위권에서 특정 직업·전직·스킬 조합의 채택률이 40%를 넘으면 원인 분석 대상으로 지정한다.
목표값은 초기 가설이다. 소수 테스트에서는 인터뷰와 행동 관찰을 우선하고, 충분한 플레이 수가 쌓인 뒤 수치 목표를 확정한다.
자동 밸런스 검사
- 고정 난수 시드로 1만 회 이상 자동 전투를 실행해 직업·전직 조합별 평균 도달 라운드를 비교한다.
- 상점 확률표나 가격이 바뀔 때 직업별 평균 영입 횟수, 단일 직업 집중 효율, 골드 고갈 시점을 자동 계산한다.
- 서버 랭킹 기록 중 이론상 불가능한 클리어 시간과 보상량을 별도 검수 목록으로 분리한다.
- 밸런스 값은 코드에 직접 박지 않고 버전이 있는 데이터 파일로 관리해 이전 기록을 재현할 수 있게 한다.
성능 예산
동시 오브젝트 · 영웅 9 + 적 12 + 투사체/이펙트 40 이하
초기 진입 · 핵심 UI를 먼저 표시하고 스프라이트/사운드는 지연 로드
저장 주기 · 중요 선택 즉시 + 전투 종료 + 30초 체크포인트
권장 기술 구조
현재 SNOMET 환경에서는 PHP가 게임 화면과 저장 API를 제공하고, 실시간 조작과 전투는 브라우저 JavaScript가 담당하는 구성이 가장 현실적이다.
닉네임 인증, 장기 로그인 쿠키, 세션, 서버 저장, 보상 검증, 랭킹, 운영 데이터 관리. 매 공격이 아니라 라운드 결과 단위로 통신한다.
HTML·CSS·Vanilla JS가 영웅 상점, 구매, 드래그 배치·계정·성장 UI를 담당하고 Phaser는 자동 전투와 투사체만 담당한다.
게임 셸과 주요 UI를 현재 CodeIgniter 서버에 적용했다.
닉네임 로그인, 장기 토큰, 계정 진행, 해금과 랭킹을 서버 검증 방식으로 구현했다. 동시 사용자가 늘기 전 MySQL 이전이 필요하다.
5직업 상시 선택·반복 영입 UI를 구현하고, 등급별 이름·픽셀 외형·능력과 근거리·원거리 전투는 Phaser Scene에 연결했다.
코드 분리 기준
static/ai/slot-light/data/ · 영웅, 스킬, 적, 라운드, 유물, 패시브 데이터
static/ai/slot-light/systems/ · shop, recruitment, passive, battle, fusion, progression, save
static/ai/slot-light/ui/ · shop, formation, bench, ranking, modal, tutorial
application/models/Slot_light_model.php · 계정, 저장, 랭킹 DB 접근
DOM 버전에서 동시 전투 오브젝트 20개 또는 지속 이펙트 30개를 넘겼을 때 중급 모바일이 50fps 아래로 내려가거나, 스프라이트 충돌·투사체·카메라 연출 코드가 전투 코드의 30%를 넘으면 전투 영역을 Phaser로 이전한다.
출시 전에 결정할 항목
- 한 원정의 종료 조건: 무한 모드 단독 또는 40라운드 엔딩 후 무한 모드.
- 등급별 상태이상 스킬의 획득은 확정 계승으로 두고, 발동 확률과 지속시간을 스킬별 밸런스 값으로 조정할지.
- 전직 선택을 매 5레벨 반복할지, 5·10·20레벨에 고유 단계로 제공할지.
- 로그인 없는 로컬 저장과 계정 기반 서버 저장의 제공 범위.
- 닉네임·비밀번호 분실 시 복구 코드를 유일한 복구 수단으로 확정할지 여부.
출시 운영과 위험 관리
게임이 동작하는 것과 안전하게 운영되는 것은 별개의 문제다. 소규모 출시부터 계정·기록·밸런스 변경을 되돌릴 수 있는 운영 절차를 함께 준비한다.
소프트 런칭 단계
화면 녹화와 인터뷰로 첫 영입, 배치, 합성에서 막히는 지점을 찾는다. 랭킹과 결제는 끈 상태로 진행한다.
7일간 복귀율, 저장 복구, 직업 편중, 모바일 성능을 확인한다. 주간 고정 시드 랭킹을 시험한다.
시즌 초기화, 신고 처리, 장애 공지, 밸런스 데이터 롤백을 실제 운영 절차로 점검한다.
필수 운영 체크리스트
| 영역 | 출시 전 준비 | 문제 발생 시 대응 |
|---|---|---|
| 저장 데이터 | 버전별 마이그레이션 테스트, 하루 1회 백업, 최근 정상본 보관 | 쓰기 잠금 후 마지막 정상본 복구, 중복 보상 방지 |
| 밸런스 | 데이터 버전과 변경 로그, 이전 버전 자동 전투 비교 | 코드 배포 없이 이전 밸런스 테이블로 롤백 |
| 랭킹 | 비정상 속도·보상·시드 검증, 관리자 제외 사유 기록 | 의심 기록 격리 후 재계산, 무고한 계정은 자동 복원 |
| 계정 | 로그인 제한, 토큰 폐기, 복구 코드 재발급, 관리자 감사 로그 | 전체 토큰 강제 만료와 사용자 공지 |
| 장애 | 헬스 체크, 오류율·저장 실패율 경보, 점검 화면 | 신규 원정 생성을 잠그고 진행 중 원정은 로컬 임시 보관 |
최소 수집 정보와 계정 삭제
- 가입 화면에서 사용자가 입력하는 정보는 닉네임과 비밀번호뿐이다. 이메일, 전화번호, 실명, 생년월일과 주소는 받지 않는다.
- 비밀번호 원문은 저장하지 않고 단방향 해시만 저장한다. 게임 진행, 랭킹 기록과 자동 로그인 토큰은 게임 기능을 위한 운영 데이터로 분리한다.
- IP는 계정 프로필에 저장하지 않는다. 로그인 공격 차단에 필요한 경우에만 짧은 기간의 보안 로그로 제한하고 게임 통계에는 넣지 않는다.
- 설정에서 모든 브라우저 로그아웃과 계정 삭제를 제공한다. 삭제 요청 시 7일 유예 후 계정과 진행 데이터를 삭제하고 랭킹 닉네임은 “탈퇴 사용자”로 바꾼다.
저장 유실이 재현되거나, 자동 로그인 토큰 재사용이 가능하거나, 서버 검증 없이 랭킹 기록을 쓸 수 있거나, 중급 모바일에서 전투가 지속적으로 45fps 아래로 내려가면 콘텐츠 완성도와 관계없이 출시를 보류한다.