# Skybound Invasion Response Stage Difficulty Curve

작성일: 2026-04-26 13:08 KST

## 요청 요약

- Stage 8 보스가 지구를 침략한 핵심 적이라는 스토리 구조를 난이도 곡선에 반영한다.
- 초반에는 플레이어를 얕보고 소수의 적기만 보내는 느낌으로 시작한다.
- 스테이지를 클리어할수록 보스가 플레이어를 점점 더 위험하게 판단하고, 단계적으로 더 많은 적기를 투입한다.
- 적기의 수가 줄어든 구간은 너무 쉬워질 수 있으므로 적기의 공격력을 비례해서 보정한다.

## 핵심 방향

이번 패스는 단순히 숫자를 올리는 밸런스가 아니라 “침공군의 대응 수위”를 만드는 작업이다.

설계 기준은 다음과 같다.

1. Stage 1: 정찰대. 적 수는 적지만 한 발은 무시할 수 없다.
2. Stage 2: 빠른 대응기 투입. 아직 소규모지만 반응 속도가 오른다.
3. Stage 3: 혼합 편대. 보스가 플레이어를 실제 변수로 인식한다.
4. Stage 4: 제압 작전. 십자/라인 압박이 본격화된다.
5. Stage 5: 전면 공격 승인. 적 수가 확실히 늘어난다.
6. Stage 6: 제거 함대. 빌드 완성도를 검증한다.
7. Stage 7: 예비 전력 투입. 물량과 엘리트 압박이 커진다.
8. Stage 8: 지구 침공 본대. 최대 물량과 최대 화력으로 압박한다.

## 적용한 변경

### Stage Profile 재정렬

`SURVIVOR_STAGE_PROFILES`를 8단계 침공 대응 곡선으로 재배치했다.

변경된 주요 축:

- `diffBase`
- `capBase`
- `spawnTempo`
- opening wave density
- swarm density
- climax elite density
- comms 문구

### 초반 적 수 감소

Stage 1과 Stage 2는 보스가 플레이어를 얕보는 단계로 설정했다.

Stage 1 변경:

- `capBase: 18` → `12`
- `spawnTempo: 1.0` → `1.18`
- opening density: `8` → `4`
- swarm density: `18` → `12`
- climax elite density: `3` → `2`

Stage 2 변경:

- `capBase: 28` → `16`
- `spawnTempo: 0.86` → `1.02`
- opening density: `14` → `7`
- swarm density: `24` → `16`
- climax elite density: `4` → `3`

초반에는 화면을 적으로 가득 채우기보다, 각 적기의 진입과 탄환을 플레이어가 인식할 수 있게 만들었다.

### 중후반 적 수 증가 곡선 강화

Stage 5부터는 침공군이 실제로 플레이어 제거를 목표로 움직이는 느낌을 강화했다.

후반 주요 변화:

- Stage 5 `capBase: 40` → `34`, 대신 `diffBase: 1.42` → `1.54`
- Stage 6 `capBase: 46` → `42`, `diffBase: 1.58` → `1.74`
- Stage 7 `capBase: 52` → `50`, `diffBase: 1.76` → `1.96`
- Stage 8 `capBase: 58` → `60`, `diffBase: 1.96` → `2.22`
- Stage 8 swarm density: `60` → `68`
- Stage 8 climax elite density: `10` → `12`

Stage 5-7은 성능과 가독성을 고려해 단순 물량만 폭증시키지 않고, 공격 위협을 함께 올렸다.

### 공격력 보정

적 수가 줄어든 스테이지가 너무 쉬워지는 것을 방지하기 위해 `DAMAGE_CURVE`를 상향했다.

변경 전:

- `[0.95, 1.08, 1.24, 1.44, 1.68, 1.96, 2.28, 2.65]`

변경 후:

- `[1.08, 1.16, 1.32, 1.52, 1.78, 2.08, 2.44, 2.88]`

의도는 “적 수가 적으면 회피 기회가 많아지는 만큼, 맞았을 때는 실수로 느껴지게 하는 것”이다.

### Comms 서사 반영

스테이지 시작/주요 웨이브 문구를 침공 대응 서사에 맞게 수정했다.

예시:

- Stage 1: `Scout flight detected. The invader is probing our response.`
- Stage 2: `Stage 2: the invader is testing faster response craft.`
- Stage 4: `Stage 4: the invader is no longer probing. Suppression grid active.`
- Stage 8: `Stage 8: planetary invasion force confirmed. Survive the crush.`

## 설계 의도

이번 변경의 핵심은 플레이어가 난이도 상승을 “게임이 갑자기 어려워졌다”가 아니라 “보스가 나를 점점 더 심각한 위협으로 보고 있다”라고 받아들이게 만드는 것이다.

초반은 적 수가 줄어들었기 때문에 회피와 학습의 여유가 있다.

하지만 공격력은 낮추지 않고 오히려 보정했기 때문에, 가만히 있어도 쉽게 깨지는 구조는 피한다.

후반은 플레이어 빌드가 강해지는 것을 전제로, 적 수와 공격력이 함께 올라간다.

## 수정 파일

- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/config/CombatTimeline.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/config/balance.ts`

## 검증

- `npm run build` 성공
- `/sprites/player.png` 경고 없음
- 출력 디렉터리: `dist/25`

## 후속 플레이테스트 체크 포인트

- Stage 1 초반이 “적이 적어서 심심한지” 또는 “소수지만 긴장감이 있는지” 확인한다.
- Stage 1에서 맞았을 때 피격이 의미 있게 느껴지는지 확인한다.
- Stage 2가 Stage 1보다 확실히 대응 수위가 올라간 것처럼 느껴지는지 확인한다.
- Stage 3-4에서 혼합 편대/제압 작전으로 플레이 양상이 달라지는지 확인한다.
- Stage 5 이후부터 물량 증가가 명확하게 느껴지는지 확인한다.
- Stage 8이 최종 침공군답게 가장 강한 물량과 화력을 보여주는지 확인한다.
