Game Design Document · v0.4

Fortune Vanguard

골드로 영웅을 직접 영입하고, 조합과 진형을 설계해 끝없이 밀려오는 어둠을 막는 상점 × 오토배틀 × 성장 로그라이트.

장르 · 조합형 상점 오토배틀러 플랫폼 · 모바일/PC 웹 플레이 · 싱글 반복형 1회 원정 · 15~25분
Core fantasy직업은 고르고, 등급은 운에 맡긴다
Session10라운드 단위 무한 원정
Build합성 재료에 따라 달라지는 스킬
Meta반복 플레이로 등급과 각인 해금

현재 구현 현황 · 2026-09-06

운영 페이지 /fortune-vanguard 기준이다. 완료 표시는 프로토타입 기능 구현을 뜻하며 출시 품질의 밸런스·운영 검증은 별도다.

완료고정 직업 상점과 행운 영입5직업 상시 선택·반복 구매, 12골드 직접 영입, 구매 순간 등급 판정, 등급별 고유 이름·능력·외형, 영입형 길드 계약 4종
완료영웅과 전투성채·산맥·석재 전장 배경과 동굴 안개·적 시선, 좌우 대치·중앙 진격, 근접 유닛 추격·밀착 전투, 가로 라인 우선 타겟, 단일·광역 공격, 개별 쿨타임, 기절·독·둔화·약화 상태 표시, 40라운드 이후 적 재강화, 적 생존 수 기반 원정 목숨
완료합성과 성장일반·고급·희귀·유니크 재료별 계승 스킬과 합성 미리보기, 합성 모드 일괄 되돌리기, 라운드 시작 시 자동 종료, 영웅별 사거리, 스킬칸, 레벨, 5레벨마다 2갈래 전직과 반복 전직 효율 완화
완료계정과 저장닉네임·비밀번호, 해시 저장, 장기 로그인 토큰, 저장 버전·자동 저장·브라우저 및 서버 이중 백업·손상 복구·저장 충돌 선택, 전체 랭킹
부분 완료반복 원정과 영구 성장이벤트 6종, 4등급 유물 12종, 동행 펫 3종, 길드 계약 12종, 요구 라운드가 있는 영구 성장 12분기와 진형·스킬 프리셋 3개를 구현했다. 남음: 도감·성장 초기화·유물 합성
완료출시 완성도적응형 배경음·효과음·음소거와 전체·배경음·효과음 개별 볼륨 옵션, 밸런스 데이터 분리·검증, 모바일·접근성, 개인정보 없는 선택률·라운드 승률 집계를 구현했다.
01

게임 비전

상점에서 필요한 직업을 직접 골라 원하는 수만큼 영입한 뒤, 배치·합성으로 자신만의 조합을 완성하는 게임을 목표로 한다.

통제 가능한 운

직업 선택은 플레이어가 완전히 통제하고, 구매 순간의 등급만 확률로 결정한다. 확률과 할인 가격은 결제 전에 항상 공개한다.

짧고 의미 있는 조작

직업 선택, 반복 영입, 드래그 배치라는 세 가지 입력만으로 경제와 조합의 전략적 판단이 만들어진다.

매번 다른 영웅

같은 직업도 계승 스킬과 전직 경로에 따라 완전히 다른 역할을 갖는다.

Slotbound 벤치마킹 원칙

Slotbound에서는 약한 유닛을 성장 재료로 바꾸는 판단과 매 판 달라지는 빌드만 참고한다. 슬롯 소환과 무작위 직업 획득은 사용하지 않고, Fortune Vanguard는 고정 직업 상점과 구매 순간 등급 판정을 핵심으로 삼는다.

구분참고할 요소Fortune Vanguard 적용 방식
핵심 루프스핀 → 소환 → 흡수 → 웨이브직업 선택 → 반복 영입 → 배치·계승 → 가로 전투
합성약한 유닛을 강한 유닛의 성장 재료로 사용레벨과 직업 스킬에 더해 등급별 기절·독·둔화 효과 계승
빌드아이템·코어·랜덤 특성으로 매 원정 변화길드 계약·전직 테크트리·계승 스킬·영구 해금으로 변화
편의성재료 잠금, 흡수 모드, 진행 중 저장즐겨찾기 잠금, 합성 미리보기·되돌리기, 계정 자동 저장
차별화방어형 웨이브 전장아군과 적이 좌우에서 출발해 중앙에서 충돌하는 3라인 전장
독자성 기준

명칭, 캐릭터 외형, UI 배치, 아이콘, 수치와 연출은 그대로 사용하지 않는다. 획득 방식은 슬롯이 아닌 플레이어 지정 구매로 분리하고, 골드 영입·가로 전투·등급 계승을 중심으로 독자성을 유지한다.

02

핵심 플레이 루프

한 라운드는 골드를 필요한 영웅과 조합으로 바꾸고, 전투에서 그 선택을 검증하는 짧은 순환으로 구성한다.

◉상점 확인고정 직업 5종 비교
▼골드 판단필요한 직업 반복 영입
♟영웅 영입필요한 역할 직접 선택
✦배치·합성진형과 빌드 설계
⚔자동 전투승리 후 다음 라운드
적 증원과 원정 종료

한 라운드 전투는 끊기지 않고 이어진다. 기본 3개 적 부대가 적 진영 후방에서 차례로 진입하며, 15라운드부터는 4개 부대로 늘어난다. 아군 위치·체력·전투 제한 시간은 부대 사이에도 그대로 유지된다. 보스전은 호위병 두 부대 뒤에 보스가 등장한다. 원정 목숨은 12개이며, 패배 시 살아남은 적 수만큼 감소한다.

전체화면과 전투 옵션

준비와 전투 어느 때든 ‘전체화면’을 눌러 게임 전체를 넓게 볼 수 있다. 전투가 끝나도 전체화면 상태는 유지되며, 2×·4×는 공격 주기와 애니메이션뿐 아니라 실제 이동속도에도 동일하게 적용한다. 화면 효과·피해 숫자·사운드와 세부 볼륨은 옵션창에 모아 상단 전투 제어 영역을 단순하게 유지한다. 전투 중 옵션을 열면 자동 일시정지하고 닫으면 이전 진행 상태로 복귀한다. 키보드에서는 Space로 일시정지, 1·2·4로 속도 변경, F로 전체화면, O로 옵션을 즉시 조작하며 입력창과 다른 팝업에서는 오작동하지 않는다.

03

영웅 상점과 직접 영입

상점에는 다섯 직업이 항상 제시된다. 플레이어는 역할과 사거리를 보고 필요한 직업을 원하는 만큼 반복 구매하며, 구매 순간 행운 판정으로 일반·고급·희귀·유니크 중 실제 영입 등급이 결정된다.

표식영입 직업전투 역할기본 특징
🗡️ 창창기병중거리 근접 딜러창끝 거리를 유지하는 고공격·저생명 전사
🛡️ 방패수호기사초근접 탱커몸을 맞대야 공격하지만 압도적으로 높은 생명력
🏹 활바람사수초장거리 딜러전장 대부분을 공격하지만 매우 낮은 생명력
♛ 왕관성휘군주지원가느린 2인 원거리 공격
✦ 지팡이별빛술사원거리 마법사매우 느린 3인 원거리 공격
직업 지정 영입

다섯 직업은 항상 상점에 표시되며 기본 가격은 12G다. 수호기사만 반복 구매하는 것처럼 플레이어가 원하는 직업을 제한 없이 선택할 수 있다.

구매 순간의 행운

직업은 직접 고르지만 등급은 영입할 때마다 새로 판정한다. 상위 등급이면 고유 이름·픽셀 외형·전용 능력으로 바뀐다.

영입 등급과 행운 확률

영웅 직업 · 플레이어가 5종 중 직접 지정
기본 영입 · 고급 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%발동 목숨·효과 증가

상점 영입 처리 순서

  1. 고정된 5개 직업의 기본 능력치, 상위 등급 확률과 할인 적용 가격을 항상 표시한다.
  2. 영입 버튼을 누르면 골드를 차감하고 행운 판정으로 실제 등급을 결정한다.
  3. 결정된 등급의 고유 이름·외형·능력을 적용해 ROSTER에 추가한다.
  4. 구매한 직업 카드는 잠기지 않으며 골드가 허용하는 한 같은 직업을 계속 영입할 수 있다. ROSTER는 수량 제한 없이 내부 스크롤로 관리한다.
  5. 상점 갱신은 없으며 직업 구성은 원정 내내 고정한다.
  6. 정해진 영입 횟수에 도달하면 구매 처리가 끝난 뒤 길드 계약 선택창을 띄운다.
확률 투명성

현재 계정에 적용되는 일반·고급·희귀·유니크 확률과 할인 전후 가격을 구매 전에 표시한다. 판정 결과는 영입 직후 이름과 등급 연출로 명확히 공개한다.

04

배치와 자동 전투

아군은 화면 왼쪽, 적은 오른쪽에서 출발한다. 전투가 시작되면 같은 가로 라인의 상대를 우선해 중앙 교전선으로 달려오며, 사거리에 들어온 순간부터 자동 공격한다.

전방 열 · 방벽 진형

생명력 +15%, 받는 피해 -8%. 수호기사와 근접 영웅이 적의 첫 공격을 받아낸다.

중앙 열 · 집중 진형

공격력 +8%. 생존과 화력 사이에서 안정적으로 피해를 누적하는 범용 자리다.

후방 열 · 엄호 진형

사거리 +12%. 활과 지팡이가 더 일찍 공격을 시작하고 교전 거리를 유지한다.

전투 규칙

  • 양쪽 진영은 왼쪽과 오른쪽에서 출발해 중앙을 향해 수평으로 이동한다.
  • 자신과 같은 가로 라인의 적을 먼저 공격하고, 해당 라인이 비면 가까운 다른 라인으로 이동한다.
  • 원거리는 사거리에 들어오면 멈추며 근접은 중앙 부근까지 달려와 맞붙는다.
  • 전투 화면 상단의 아군·적군 전력 체력계로 교전 우세를 즉시 비교한다. 생명력 30% 이하 영웅은 붉은 위험 오라와 체력 막대로 강조한다.
  • 별도의 도발·보스 패턴 없이 공격력, 대상 수, 사거리와 쿨타임만으로 전투한다.
  • 전투 종료 시 모든 생존·사망 영웅의 체력이 회복되어 다음 준비 단계로 돌아온다.
05

합성 및 스킬 계승

합성 모드에서 재료 영웅을 강화 대상 위로 드래그한다. 같은 직업끼리는 캐릭터 레벨과 해당 직업의 계승 스킬을 함께 강화하고, 다른 직업은 스킬 대신 캐릭터 레벨을 더 많이 올린다.

재료계승 스킬핵심 효과
창기병갑옷 관통공격력 증가
수호기사철벽 수호최대 생명력 증가
바람사수연속 사격공격속도 증가
성휘군주왕의 명령공격력과 생명력 증가
별빛술사별빛 폭발공격력 증가

등급별 상태이상 계승

같은 직업의 상위 등급 영웅을 재료로 사용하면 일반 직업 스킬 대신 재료 등급과 직업에 맞는 상태이상·연계 스킬이 전달된다. 재료를 선택하면 계승할 이름과 효과를 영웅 정보에서 미리 확인할 수 있다.

재료 등급계승 범위예시설계 역할
일반직업 기본 스킬관통, 피해 감소, 추가 공격빌드의 기본 골격
고급초급 상태이상 또는 추가 피해룬 균열, 충격 방패, 맹독 화살, 속박의 칙령, 마나 연소전투 방식에 변화를 주는 첫 단계
희귀강화 상태이상 또는 연계 효과용혈 파열, 성채 지진, 맹독 연사, 쇠약의 왕명, 비전 중첩 폭발추가 대상과 연계 피해로 빌드 완성
유니크직업 전용 복합 계승 스킬발키리 강습, 불멸의 심판, 별꿰기 폭우, 태양의 대칙령, 천체 붕괴한 원정의 핵심 조합을 결정

합성 세부 규칙

  1. 합성 순서와 관계없이 두 영웅 중 높은 레벨을 기준으로 한다. 같은 직업에서 계승 스킬을 새로 얻거나 강화하면 높은 레벨 +1, 계승할 스킬이 이미 최대 Lv.10이면 성장분을 영웅 레벨로 전환해 +2가 된다. 다른 직업도 +2다.
  2. 같은 직업을 재료로 사용하면 해당 직업의 계승 스킬도 함께 얻고, 다른 직업 재료는 계승 스킬 없이 레벨만 올린다.
  3. 대상에게 없는 스킬은 Lv.1로 보관함에 추가되며 카드와 영웅 정보에서 강화 결과를 바로 확인한다.
  4. 같은 직업 합성에서 이미 보유한 스킬을 다시 계승하면 해당 스킬 레벨이 1 상승하며 최대 Lv.10까지 성장한다. 최대 레벨 이후 같은 스킬 재료도 낭비되지 않고 영웅 +2레벨 재료로 사용된다.
  5. 장착 슬롯은 일반 1개·고급 2개·희귀 3개·유니크 4개다. 보관한 스킬이 슬롯보다 많으면 영웅 정보의 스킬 버튼으로 장착 조합을 선택한다.
  6. 같은 직업·같은 등급 합성은 상위 등급이 해금된 경우 등급 승급 조건에도 사용.
  7. 상태이상 스킬은 같은 직업 재료의 등급으로 결정되며, 대상의 기존 계승 스킬과 함께 조합할 수 있다.
  8. 기절은 공격 주기만큼 간격을 두고, 독은 더 강한 효과로 갱신하며, 둔화와 약화는 지속시간이 끝나면 자동 해제한다.
대기 영웅 무제한

영입한 영웅은 수량 제한 없이 ROSTER에 보관한다. 목록만 내부 스크롤로 처리해 전장 크기를 유지하고, 합성 재료와 교체 영웅을 보관하기 위해 억지로 영웅을 버리지 않게 한다.

실수 방지

합성 모드를 켜는 순간 영웅 전체 상태를 저장한다. 모드 안에서 여러 번 합성해도 되돌리기 한 번으로 진입 직전까지 복구하며, 라운드를 시작하면 합성 모드를 자동 종료하고 결과를 확정한다.

등급스킬 슬롯기본 능력 배율획득 조건
일반1칸×1.00기본 해금
고급2칸×1.18성장 포인트 해금
희귀3칸×1.42성장 포인트 해금
유니크4칸×1.74성장 포인트 해금
06

5레벨 단위 전직

레벨 5, 10, 15…마다 직업별 두 갈래 전직 특성 중 하나를 선택한다. 같은 계보를 반복 강화하거나 서로 섞어 하이브리드 빌드를 만들 수 있다.

직업A 경로B 경로선택 감각
창기병강철 선봉대 · 생명/방어혈월 창기병 · 공격/베기생존형 vs 돌파형
수호기사불멸의 성벽 · 생명/도발가시 파수꾼 · 반격/공격순수 탱커 vs 반격 탱커
바람사수폭풍 추적자 · 공속/다중황혼 저격수 · 공격/치명다수 처리 vs 단일 폭딜
성휘군주황금 지휘관 · 공격 오라새벽의 성인 · 회복 오라공격 지원 vs 생존 지원
별빛술사천둥의 현자 · 광역/연쇄시간 직조자 · 공속/둔화폭발 피해 vs 제어
07

라운드와 난이도

1~10라운드를 하나의 챕터로 묶고, 10의 배수마다 보스를 배치한다. 11~20, 21~30처럼 무한히 확장하며 지역과 적 조합을 교체한다.

일반 라운드

2~4종의 적이 등장한다. 전열 압박, 후열 암살, 광역 공격 등 하나의 배치 문제를 제시한다.

보스 라운드

높은 체력뿐 아니라 특정 진형이나 스킬 조합을 요구하는 패턴을 가진다.

적 생명력 = 기본 생명력 × (1 + 0.115 × (라운드 - 1))
보스 생명력 = 해당 라운드 일반 적 기준 × 3.5
라운드 골드 = 20 + 라운드 × 2.2
성장 포인트 = 일반 1 / 정예 3 / 보스 10 + 챕터 번호 × 2

수치는 프로토타입 기준이며, 실제 평균 클리어 시간과 영입 횟수·직업별 구매 비율을 측정해 조정한다.

08

반복 플레이와 영구 성장

라운드를 클리어할 때마다 성장 포인트를 모으고 원정 종료 후 해금 트리에 사용한다. 다음 원정은 초기 자금, 출전 인원, 신규 영웅 훈련과 영웅 선택지가 조금씩 늘어나며 단순 능력치보다 새로운 운영 방법이 먼저 열린다.

성장 포인트 획득

일반 라운드 승리 · 1포인트
정예 라운드 승리 · 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회에 전체 해금을 목표로 조정한다.

도감 보상

직업·스킬·전직 조합을 처음 완성하면 일회성 성장 포인트와 외형을 제공한다.

해금 화면과 초기화

  1. 원정 종료 화면에서 획득 포인트, 현재 잔액, 새로 구매 가능한 항목 3개를 먼저 보여준다.
  2. 해금 트리는 자금·지휘·수집·직업 네 갈래로 표시하고 다음 단계 효과와 비용을 구매 전에 비교한다.
  3. 원정 중에는 해금을 변경할 수 없다. 원정 밖에서는 사용 포인트를 전액 반환해 자유롭게 다시 배분할 수 있다.
  4. 자주 쓰는 배분은 최대 3개의 성장 프리셋으로 저장한다.
성장 원칙

출전 인원과 상위 등급 영입 확률은 가장 체감되는 장기 목표로 제공하되, 기본 확률과 5명만으로도 10라운드를 클리어할 수 있게 설계한다. 영구 성장 효과는 전체 성장 랭킹에만 적용하고, 주간 공정 랭킹에서는 모든 참가자에게 동일한 출전 인원·행운 확률·패시브 후보군을 적용한다.

09

닉네임 계정과 랭킹

이메일 없이 닉네임과 비밀번호만으로 가입하고, 같은 브라우저에서는 다시 비밀번호를 묻지 않도록 장기 자동 로그인을 기본 제공한다.

현재 반영

게임 전용 닉네임 계정, 비밀번호 해시, 브라우저별 장기 토큰, 로그인 제한, 복구 코드, 비밀번호 변경, 로그인 기기 목록·개별 및 전체 해제, 7일 유예 계정 삭제, 자동 저장·복원, 전체·주간·일일 랭킹을 구현했다.

화면 구성

게임 상단 본부 메뉴

계정·성장·랭킹·확률 정보 버튼을 상단에 나란히 두고 선택 시 큰 전용 오버레이를 연다. 플레이 중에는 우측 패널이 전장 폭을 줄이지 않는다.

계정·성장·랭킹 탭

로그인과 보안 관리, 12분기 성장, 전체·주간·일일 랭킹을 하나의 본부 화면에서 탭으로 구분한다. 내 기록은 별도 색상으로 강조한다.

확률 정보 · 계획

랭킹 옆 별도 버튼에서 영웅 상점, 유물 등급, 계약·이벤트 후보처럼 무작위로 결정되는 모든 항목의 기본 확률과 현재 적용 확률을 확인한다.

확률 정보 공개 화면 · 계획

표시 원칙

단순 기본 확률만 적지 않고 계정 성장, 라운드, 유물과 이벤트 보정을 반영한 현재 확률을 함께 표시한다. 조건부 후보는 등장 조건과 제외 사유를 명시하고, 각 확률 묶음의 합계가 100%인지 화면에서 확인할 수 있게 한다.

  • 영웅 상점은 일반·고급·희귀·유니크 등급별 기본 확률, 성장 보정치와 최종 영입 확률을 나란히 표시한다.
  • 유물은 일반·마법·희귀·전설 등급 확률과 중복 등장 가능 여부, 확정 또는 보정 규칙을 표시한다.
  • 길드 계약·중간 이벤트·무작위 보상은 현재 후보군, 해금 조건, 동일 가중치 여부와 실제 선택 확률을 공개한다.
  • 주간 공정 모드는 영구 성장 보정이 제거된 고정 확률임을 별도 배지로 알리고, 확률표에 데이터 버전과 갱신일을 표시한다.

가입 및 로그인 규칙

  1. 닉네임은 한글·영문·숫자 조합 2~16자이며 대소문자를 구분하지 않고 중복을 막는다.
  2. 비밀번호는 8~72자 범위로 받고 서버에서 단방향 해시로만 저장한다.
  3. 로그인 실패 메시지는 닉네임 존재 여부를 드러내지 않고 “닉네임 또는 비밀번호를 확인해 주세요”로 통일한다.
  4. 계정 및 IP 기준으로 실패 횟수를 제한하고, 반복 실패 시 지연 시간을 단계적으로 늘린다.
  5. 게스트 플레이 기록은 가입 직후 새 계정으로 한 번만 가져올 수 있다.

로그인 상태 최대 유지

자동 로그인 정책

기본 서버 세션은 짧게 유지하되, 로그인 시 발급한 장기 토큰으로 세션을 자동 복원한다. 토큰은 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_users · nickname / password_hash / recovery_hash / created_at / last_login_at
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 연결 필드를 예약한다.

10

재화 설계

재화획득소비초기화
골드라운드 승리, 보스, 업적선택한 직업의 영웅 영입원정 유지
성장 포인트일반·정예·보스 클리어, 도감초기 골드, 출전 인원, 대기 훈련, 등급, 직업 연구영구 유지
빛의 파편보스와 도감 완성외형, 특수 시작 유물영구 유지

경제 안전장치

  • 골드가 부족하면 현재 조합으로 같은 라운드에 재도전할 수 있으며, 주기 할인 계약으로 다음 영입 비용을 낮출 수 있다.
  • 반복 클리어도 성장 포인트를 온전히 지급하되 보스와 최고 기록 갱신 보상을 높여 다음 구간 도전을 유도한다.
  • 모든 등급은 같은 가격으로 판정하지만 상위 등급의 등장률을 낮게 유지한다. 일반 영웅은 반복 영입과 합성 재료로 계속 가치를 갖는다.
  • 유료 결제를 도입하더라도 전투 능력치·랭킹 입장 횟수·상점 확률은 판매하지 않고 외형과 편의 범위로 제한한다.
11

제작 범위와 단계

MVP
구현 완료
재미 검증

5직업 고정 상점과 반복 영입, 구매 순간 행운 등급 판정, 등급별 고유 영웅, 길드 계약 4종, 3×3 배치, 자동 전투, 합성, 1차 전직, 10라운드. 기능 구현은 완료했으며 사용자 플레이 검증은 남아 있다.

ALPHA
진행 중
반복성 확보

완료: 12분기 영구 성장, 닉네임 계정, 서버 저장, 본부형 계정·성장·랭킹 탭, 단일·광역 공격 주기. 남음: 성장 재분배와 도감.

BETA
진행 중
콘텐츠 확장

4등급 유물 12종, 동행 펫 3종, 이벤트 6종, 적 변이 5종, 주간·일일 도전, 시즌 보상, 기기 관리와 집계형 밸런스 로그를 구현했다. 유물 합성과 전용 아이콘 확장이 남았다.

LIVE
운영 구조

시즌 규칙, 신규 전직, 외형 보상, 이벤트 상점, 운영자 밸런스 테이블.

MVP 성공 기준

첫 플레이어가 설명 없이 영입→배치→전투를 완료하고, 10라운드 이전에 서로 다른 스킬 조합을 최소 2개 만들며, 패배 후 진형이나 합성을 변경해 재도전하는가.

12

우선순위별 개선 로드맵

기능을 한꺼번에 늘리지 않고 핵심 재미, 읽기 쉬운 전투, 반복 플레이의 순서로 확장한다. 각 단계는 앞 단계의 플레이 지표가 기준을 통과한 뒤 진행한다.

우선순위개선 항목구체 작업완료 기준
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명108250.78초74탱커보다 여유 있게 찌르는 고공격·저생명 근접 딜러
수호기사단일 1명26581.32초28완전히 붙어서 버티는 최고 생명력 탱커
바람사수단일 1명70180.92초620전장 대부분을 선제 공격하는 초장거리 유리대포
성휘군주광역 2명12591.70초280중거리에서 두 대상을 견제하는 지원가
별빛술사광역 3명78142.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 진형 배치, 전투, 필수 선택 모달 초점 순환을 키보드로 조작할 수 있다. 스킬과 전직 수치 비교 표시는 계속 보강한다.

13

플레이 검증과 밸런스 운영

감으로 수치를 바꾸지 않도록 한 판의 흐름을 이벤트 단위로 기록하고, 자동 전투 시뮬레이션과 실제 플레이 지표를 함께 사용한다.

수집할 핵심 이벤트

이벤트주요 데이터확인할 질문
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만 회 이상 자동 전투를 실행해 직업·전직 조합별 평균 도달 라운드를 비교한다.
  • 상점 확률표나 가격이 바뀔 때 직업별 평균 영입 횟수, 단일 직업 집중 효율, 골드 고갈 시점을 자동 계산한다.
  • 서버 랭킹 기록 중 이론상 불가능한 클리어 시간과 보상량을 별도 검수 목록으로 분리한다.
  • 밸런스 값은 코드에 직접 박지 않고 버전이 있는 데이터 파일로 관리해 이전 기록을 재현할 수 있게 한다.

성능 예산

목표 프레임 · 중급 모바일 전투 중 55~60fps
동시 오브젝트 · 영웅 9 + 적 12 + 투사체/이펙트 40 이하
초기 진입 · 핵심 UI를 먼저 표시하고 스프라이트/사운드는 지연 로드
저장 주기 · 중요 선택 즉시 + 전투 종료 + 30초 체크포인트
14

권장 기술 구조

현재 SNOMET 환경에서는 PHP가 게임 화면과 저장 API를 제공하고, 실시간 조작과 전투는 브라우저 JavaScript가 담당하는 구성이 가장 현실적이다.

PHP · CodeIgniter

닉네임 인증, 장기 로그인 쿠키, 세션, 서버 저장, 보상 검증, 랭킹, 운영 데이터 관리. 매 공격이 아니라 라운드 결과 단위로 통신한다.

HTML 상점 + Phaser 전투

HTML·CSS·Vanilla JS가 영웅 상점, 구매, 드래그 배치·계정·성장 UI를 담당하고 Phaser는 자동 전투와 투사체만 담당한다.

1단계 · 완료
PHP View + Vanilla JS

게임 셸과 주요 UI를 현재 CodeIgniter 서버에 적용했다.

2단계 · 부분 완료
PHP 계정·저장 API + JSON 저장소

닉네임 로그인, 장기 토큰, 계정 진행, 해금과 랭킹을 서버 검증 방식으로 구현했다. 동시 사용자가 늘기 전 MySQL 이전이 필요하다.

3단계 · 완료
HTML 상점·Phaser 전투 화면

5직업 상시 선택·반복 영입 UI를 구현하고, 등급별 이름·픽셀 외형·능력과 근거리·원거리 전투는 Phaser Scene에 연결했다.

코드 분리 기준

application/views/ai/slot_light.php · HTML 셸과 서버 전달값만 담당
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 접근
Phaser 전환 기준

DOM 버전에서 동시 전투 오브젝트 20개 또는 지속 이펙트 30개를 넘겼을 때 중급 모바일이 50fps 아래로 내려가거나, 스프라이트 충돌·투사체·카메라 연출 코드가 전투 코드의 30%를 넘으면 전투 영역을 Phaser로 이전한다.

출시 전에 결정할 항목

  • 한 원정의 종료 조건: 무한 모드 단독 또는 40라운드 엔딩 후 무한 모드.
  • 등급별 상태이상 스킬의 획득은 확정 계승으로 두고, 발동 확률과 지속시간을 스킬별 밸런스 값으로 조정할지.
  • 전직 선택을 매 5레벨 반복할지, 5·10·20레벨에 고유 단계로 제공할지.
  • 로그인 없는 로컬 저장과 계정 기반 서버 저장의 제공 범위.
  • 닉네임·비밀번호 분실 시 복구 코드를 유일한 복구 수단으로 확정할지 여부.
15

출시 운영과 위험 관리

게임이 동작하는 것과 안전하게 운영되는 것은 별개의 문제다. 소규모 출시부터 계정·기록·밸런스 변경을 되돌릴 수 있는 운영 절차를 함께 준비한다.

소프트 런칭 단계

내부 20명
규칙 이해 검증

화면 녹화와 인터뷰로 첫 영입, 배치, 합성에서 막히는 지점을 찾는다. 랭킹과 결제는 끈 상태로 진행한다.

비공개 100명
저장·밸런스 검증

7일간 복귀율, 저장 복구, 직업 편중, 모바일 성능을 확인한다. 주간 고정 시드 랭킹을 시험한다.

공개 BETA
운영 검증

시즌 초기화, 신고 처리, 장애 공지, 밸런스 데이터 롤백을 실제 운영 절차로 점검한다.

필수 운영 체크리스트

영역출시 전 준비문제 발생 시 대응
저장 데이터버전별 마이그레이션 테스트, 하루 1회 백업, 최근 정상본 보관쓰기 잠금 후 마지막 정상본 복구, 중복 보상 방지
밸런스데이터 버전과 변경 로그, 이전 버전 자동 전투 비교코드 배포 없이 이전 밸런스 테이블로 롤백
랭킹비정상 속도·보상·시드 검증, 관리자 제외 사유 기록의심 기록 격리 후 재계산, 무고한 계정은 자동 복원
계정로그인 제한, 토큰 폐기, 복구 코드 재발급, 관리자 감사 로그전체 토큰 강제 만료와 사용자 공지
장애헬스 체크, 오류율·저장 실패율 경보, 점검 화면신규 원정 생성을 잠그고 진행 중 원정은 로컬 임시 보관

최소 수집 정보와 계정 삭제

  • 가입 화면에서 사용자가 입력하는 정보는 닉네임과 비밀번호뿐이다. 이메일, 전화번호, 실명, 생년월일과 주소는 받지 않는다.
  • 비밀번호 원문은 저장하지 않고 단방향 해시만 저장한다. 게임 진행, 랭킹 기록과 자동 로그인 토큰은 게임 기능을 위한 운영 데이터로 분리한다.
  • IP는 계정 프로필에 저장하지 않는다. 로그인 공격 차단에 필요한 경우에만 짧은 기간의 보안 로그로 제한하고 게임 통계에는 넣지 않는다.
  • 설정에서 모든 브라우저 로그아웃과 계정 삭제를 제공한다. 삭제 요청 시 7일 유예 후 계정과 진행 데이터를 삭제하고 랭킹 닉네임은 “탈퇴 사용자”로 바꾼다.
출시 보류 기준

저장 유실이 재현되거나, 자동 로그인 토큰 재사용이 가능하거나, 서버 검증 없이 랭킹 기록을 쓸 수 있거나, 중급 모바일에서 전투가 지속적으로 45fps 아래로 내려가면 콘텐츠 완성도와 관계없이 출시를 보류한다.