HP 회복 시스템
v1.0 | 2026-04-02 | 초기 설계
수치 SSOT:
game/data/balance_config.json(hp_recovery),game/data/shrine.json(hp_regen),game/data/pickups.json(food 아이템)
1. 설계 철학
뱀서라이크 장르 표준을 따라 기본 패시브 회복 없음. 플레이어는 음식 드롭 아이템으로만 인런 회복이 가능하며, 사당 영구 업그레이드로 소량의 패시브 재생을 해금할 수 있다.
| 참조 게임 | 회복 방식 | 우리 게 임 적용 |
|---|---|---|
| Vampire Survivors | 음식 드롭만 (패시브 없음) | 음식 드롭 채택 |
| Brotato | 자연 회복 스탯 존재 | 사당 업그레이드 형태로 채택 |
| HoloCure | 음식 드롭 + 스탯 | 하이브리드 모델 |
핵심 원칙: 회복은 "보상"이지 "기본권"이 아니다. 피격을 피하는 것이 1순위, 회복은 실수를 만회하는 2순위.
2. 회복 소스
2-1. 음식 드롭 (인런 주 회복원)
적 처치 시 확률적으로 드롭. 상세 드롭 테이블은 game/data/pickups.json 참조.
| 아이템 | 회복량 | 주 획득원 | 테마 |
|---|---|---|---|
| 떡 | 10 HP | 일반 적 (3%) | 조선 전통 떡 |
| 삼계탕 | 25 HP | 엘리트 적 (5%), 타이머 (2분마다) | 보양식 |
| 산삼탕 | 50 HP | 보스 (100%), 보물상자 | 귀한 산삼 요리 |
기대 회복량 (15분 런 기준):
- 일반 적 ~700킬 × 3% = ~21개 떡 = 210 HP
- 엘리트
10킬 × 5% + 타이머 67회 = ~7개 삼계탕 = 175 HP - 보스 2
3킬 = 23개 산삼탕 = 100~150 HP - 총 기대 회복:
485535 HP (캐릭터 max HP의 3~8배)
2-2. 사당 영구 업그레이드 — "생기" (패시브 재생)
메타 진행 보상. game/data/shrine.json의 hp_regen 참조.
| 레벨 | 효과 | 비용 | 누적 비용 |
|---|---|---|---|
| 1 | +0.5 HP/초 | 30 | 30 |
| 2 | +1.0 HP/초 | 60 | 90 |
| 3 | +1.5 HP/초 | 90 | 180 |
| 4 | +2.0 HP/초 | 120 | 300 |
| 5 | +2.5 HP/초 | 150 | 450 |
밸런스 근거: 15분(900초) × 2.5 HP/초 = 2,250 HP 최대 재생. 캐릭터 HP 100 기준 22.5회분. 실질 EHP 기여는 피격 빈도와 상쇄되므로 "생존 보험" 수준.
2-3. 기존 시스템 연동
| 시스템 | 효과 | 출처 |
|---|---|---|
| 극양 상태 | 모든 HP 회복량 -50% | yinyang.json extreme_yang.debuffs.hp_recovery_reduction |
| 무당 복 4세트 | 극음 진입 시 즉시 HP 30% 회복 (CD 60초) | equipment.json mudang_bok.bonus_4 |
| 사당 체력 | 최대 HP +5/레벨 (최대 +50) | shrine.json health |
| 강시 캐릭터 | HP 0 도달 시 5초 불사 (1회) | characters.json gangsi.trait |
3. 밸런스 제약
3-1. 극양 패널티
극양 상태(게이지 70+)에서 모든 회복 효과가 50% 감소:
- 떡 10 HP → 5 HP
- 삼계탕 25 HP → 12 HP
- 사당 재생 2.5 HP/초 → 1.25 HP/초
이는 극양의 공격 보너스(ATK +25%, DMG +30%)에 대한 리스크 밸런스.
3-2. 오버힐 불가
현재 HP가 max_health를 초과할 수 없음. 이미 health_component.gd의 heal() 함수가 minf(current + amount, max) 처리.
3-3. 저주 연동 (Phase 3 확장 고려)
Phase 3에서 "회복 봉인" 저주 추가 가능성 열어둠. 현재는 설계하지 않음.
4. Engineer 구현 체크리스트
HealthComponent— 패시브 재생 로직 추가 (_process에서 shrine regen 적용)- 극양 회복 감소 적용 —
heal()호출 전YinyangSystem상태 확인하여 배율 적용 - 음식 픽업 →
heal()연동 (기존EventBus시그널 패턴 사용) - 사당 매니저 —
hp_regen업그레이드 읽기/적용
변경 이력
| 날짜 | 버전 | 변경 내용 |
|---|---|---|
| 2026-04-02 | v1.0 | 초기 설계: 음식 드롭 + 사당 재생 + 극양 패널티 |