# Skybound Stage 1 to 3 Playtest Balance Bomb and Visual Diversity Pass

작성일: 2026-04-26 12:35 KST

## 요청 요약

- Stage 1부터 Stage 3까지 실제 플레이 후 느낀 문제를 개선한다.
- Stage 1 초반 적 탄속이 부담스럽고, 중반 이후 성장하면 너무 쉬워지는 문제를 조정한다.
- Stage 2 시작 시 이미 Tac Level 6 정도로 강해져 적이 화면에 들어오기 전에 사망하는 문제를 완화한다.
- Space/X 폭탄의 비주얼 이펙트가 약하므로 톤앤매너에 맞는 폭탄 연출을 강화한다.
- 일반 적, 엘리트, 미니보스, 보스 외형 다양성을 확보한다.

## 핵심 문제

플레이 피드백 기준으로 Skybound의 현재 문제는 초반과 중반의 난이도 감각이 반대로 작동한다는 점이었다.

1. Stage 1 초반은 적 탄속이 빠르게 느껴져 부담스럽다.
2. Stage 1 중반부터 스킬이 붙으면 플레이어 화력이 너무 급격히 상승한다.
3. Stage 2에서는 적이 화면에 들어오기 전에 사망해 긴장감이 사라진다.
4. Tac Level 성장 속도와 무기 효율이 합쳐져 “이미 완성된 빌드”처럼 느껴진다.
5. 보스/적기 외형 반복으로 스테이지 진행감이 약하다.

## 적용한 변경

### Stage 1 적 탄속 완화

`balance.ts`의 적 탄환 기본 속도와 스테이지별 탄속 커브를 낮췄다.

변경 전:

- `BULLET_BASE_SPEED: 3.75`
- `BULLET_SPEED_CURVE: [1.1, 1.28, 1.48, ...]`

변경 후:

- `BULLET_BASE_SPEED: 3.25`
- `BULLET_SPEED_CURVE: [0.82, 0.96, 1.12, ...]`

Stage 1은 회피를 학습할 수 있는 속도로 낮추고, Stage 4 이후부터 탄속이 본격적으로 올라가도록 재배치했다.

### 적 사격 템포 완화

초반 탄막 부담을 줄이기 위해 `FIRE_RATE_CURVE`도 조정했다.

변경 후:

- `[280, 248, 222, 198, 176, 154, 134, 116]`

Stage 1-2는 더 읽을 수 있게 만들고, 후반 스테이지는 기존처럼 빠르게 압박하도록 유지했다.

### Tac Level 성장 속도 완화

Tac Level이 Stage 1 중반에 너무 빨리 누적되지 않도록 조정했다.

- 시작 요구 EXP: `80` → `100`
- 레벨업 후 초과 EXP carryover: `25%` → `15%`
- 레벨업 lockout: `360프레임` → `480프레임`
- 일반 적 Tac EXP: `2` → `1`
- 엘리트 Tac EXP: `10` → `8`
- 미니보스 Tac EXP: `30` → `24`

목표는 Stage 2 시작 시 플레이어가 강해졌다는 느낌은 가지되, 이미 완성된 상태는 아니게 만드는 것이다.

### 플레이어 무기 초중반 효율 완화

무기 업그레이드가 의미는 있지만, Lv1-3에서 화면 전체를 지우지 않도록 주요 피해량을 조정했다.

- Gatling Gun 피해와 발사 효율 하향
- Hyper Laser 피해 하향
- Nova Burst 피해 하향
- Missile Pod, Rocket Launcher, Ion Storm, Gravity Mine, Blade Orbit 등 데이터 기반 무기 피해 하향
- EVO 무기도 일부 피해를 낮춰 Stage 2-3을 통째로 삭제하지 않게 조정

### 화면 밖 적 선삭제 방지

Stage 2에서 적이 화면에 나오기도 전에 사망하는 가장 큰 원인은 자동 조준/유도/빔/드론/오비트 무기가 `y < 0`에 있는 적까지 타겟팅하거나 피해를 주는 것이었다.

그래서 플레이어 무기 타겟팅과 충돌 판정에 `TARGETABLE_Y = -35` 기준을 추가했다.

적이 화면에 거의 진입하기 전까지는 다음 무기가 타겟팅하지 않는다.

- 유도탄
- 자동 조준 무기
- 빔
- 오비트 무기
- 드론
- 설치/장판 무기
- 일반 플레이어 탄환 충돌

이제 적이 화면에 들어와 위협을 보여준 뒤 처치되는 흐름이 만들어진다.

### Stage 2-3 압박 보강

Stage 2와 Stage 3은 이미 성장한 플레이어를 전제로 난이도를 다시 올렸다.

Stage 2:

- `diffBase: 1.02` → `1.12`
- `capBase: 23` → `28`
- `spawnTempo: 0.94` → `0.86`
- opening density: `10` → `14`

Stage 3:

- `diffBase: 1.14` → `1.28`
- `capBase: 28` → `34`
- `spawnTempo: 0.88` → `0.78`
- opening density: `12` → `16`

### 적 HP 스케일링 보강

일반/엘리트 적이 스킬 몇 개에 바로 삭제되지 않도록 기본 HP 공식을 조정했다.

추가 요소:

- 스테이지별 HP 증가
- 플레이어가 예상보다 높은 Tac Level일 때 적 HP 보정
- 엘리트 HP 배율 상향

이 보정은 플레이어가 잘 성장했을 때도 적이 최소한 화면에 들어와 압박을 만들도록 하기 위한 안전장치다.

### 폭탄 비주얼 개선

기존 폭탄은 얇은 원형 렌더링에 가까워 비주얼 피드백이 약했다. 이제 폭탄 사용 시 발동 위치를 저장하고, 그 지점에서 Magitech shockwave가 확장된다.

추가된 연출:

- 고정된 폭발 원점
- 시안/라임/골드 3중 마법공학 링
- 점선 링 회전
- 중심 코어 플래시
- 방사형 에너지 라인
- 밝은 라디얼 플래시

Space/X를 눌렀을 때 “화면을 정리하는 기술”이라는 감각이 더 강해지도록 했다.

### 적기 외형 다양성 개선

기존 적기 스프라이트 선택은 역할별 고정값이 많아 반복감이 컸다. 이제 역할과 스테이지, 약간의 랜덤 salt를 반영해 더 다양한 스프라이트를 선택한다.

적용 대상:

- 일반 적
- 엘리트 적
- 미니보스

미니보스는 패턴별로 크기와 발광색도 달라져 작은 보스전처럼 보이게 했다.

### 보스 외형 다양성 개선

보스는 `spriteIdx`가 명시되지 않아 사실상 같은 보스 타일만 반복 사용되는 문제가 있었다. 이제 스테이지별 보스 비주얼 프로필을 갖는다.

프로필 요소:

- 보스 스프라이트 인덱스
- 보스 크기
- 보스 가로/세로 비율
- 날개 포탑 위치
- 하단 포탑 위치
- 발광 액센트 색상

이제 Stage 1-8 보스는 같은 시스템을 쓰더라도 외형, 크기, 포탑 배치가 다르게 보인다.

## 설계 의도

이번 패스의 핵심은 “초반은 읽기 쉽게, 중반은 무적감이 너무 빨리 오지 않게” 만드는 것이다.

원하는 플레이 감각은 다음과 같다.

1. Stage 1 초반: 탄을 보고 피하는 법을 배운다.
2. Stage 1 중반: 첫 빌드가 강해지는 재미를 느낀다.
3. Stage 1 후반: 미니보스와 보스로 빌드 검증을 한다.
4. Stage 2: 성장한 상태지만 적도 더 빨리/많이 들어와 다시 긴장감이 생긴다.
5. Stage 3: 단일 무기 강화만으로는 부족하고 광역/방어/관통 선택의 의미가 생긴다.

## 수정 파일

- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/config/CombatTimeline.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/config/balance.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/config/weaponBehaviors.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/store/useGameStore.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/systems/CombatSystem.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/systems/GameRenderer.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/systems/ModularWeaponSystem.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/systems/PlayerSystem.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/systems/ProgressionSystem.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/systems/SpawnerSystem.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/systems/StageDirectorSystem.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/systems/WeaponBehaviorEngine.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/systems/types.ts`

## 검증

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

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

- Stage 1 첫 60초 탄속이 “부담스럽지만 불공정하지 않은지” 확인한다.
- Stage 1 후반 Tac Level이 대략 3-5 사이인지 확인한다.
- Stage 2 시작 시 적이 화면 안에 들어오기 전에 삭제되는 현상이 줄었는지 확인한다.
- Space/X 폭탄 사용 시 충분히 강한 시각 피드백이 있는지 확인한다.
- Stage 1-3 보스가 서로 다른 외형과 크기로 인식되는지 확인한다.
- Stage 2-3에서 피격 압박은 생겼지만, 갑자기 불합리하게 어려워지지는 않았는지 확인한다.
