콘텐츠로 이동
GameDesign

캐릭터 스테이터스 작성완료구현밸런싱미완료

본 문서는 캐릭터(플레이어·몬스터)가 가지는 수치 구조를 정의한다. 스테이터스(원천 능력치) → 스탯(파생 능력치) → 런타임 스탯(실시간 출력값) 3계층으로 나뉜다.

flowchart LR
subgraph SHEET [시트]
  S[PlayerStatusTableData<br/>7종 스테이터스]
  T[PlayerStatTableData<br/>16종 파생 스탯]
end
subgraph CALC [Δ-더블 힐 계산]
  F[F_dh 함수<br/>스테이터스 → 스탯]
end
subgraph RT [런타임]
  R[RuntimeStat<br/>HP · Stamina · Hunger · Thirst<br/>Mental · Penalty · Weight · AR]
  EV[UI 이벤트 디스패치<br/>OnChangeHP 등]
end

S --> F --> T --> R --> EV

classDef sheet fill:#e0f2fe,stroke:#0284c7,stroke-width:2px,color:#075985
classDef calc fill:#ede9fe,stroke:#7c3aed,stroke-width:2px,color:#4c1d95
classDef rt fill:#fef3c7,stroke:#d97706,stroke-width:2px,color:#78350f
class S,T sheet
class F calc
class R,EV rt
원칙규칙의미
3계층 분리Status → Stat → RuntimeStat. 단방향 계산수치 출처를 명확하게 추적할 수 있다
Δ-더블 힐 곡선대부분의 파생 스탯은 두 변곡점 Hill 함수 합산형스테이터스 투자 효율이 구간별로 달라진다
무기 종속 보정공격등급 계산은 무기 카테고리별로 곡선 파라미터가 다르다무기 선택이 스탯 활용 방식을 결정한다
런타임 = 출력 캐시RuntimeStat은 매 틱 갱신, UI 이벤트를 발행한다직접 저장값이 아니라 계산 결과다

원천 능력치. 코드(CharacterStatusTableData) 기준.

코드이름영향 (요약)
strength근력근접 공격력, 드는 무게
vitality체력HP, 제약 지속 시간
endurance지구력스태미너·회복 속도·이동속도
agility민첩손재주·이동속도·아이템 확인 속도
sensitive섬세청각·시각 인지·발소리 영향
intellect지능주문 공격력·주문 기억 수·효과 지속 시간
luck행운획득 아이템 양·질
코드의미주 영향 스테이터스
hpHP 한도Vitality, Endurance
stamina스태미너 한도Strength, Endurance
staminaRegen스태미너 회복 속도Endurance
thirst갈증 게이지 크기Vitality (추정)
hunger허기 게이지 크기Vitality (추정)
auditoryPerception청각 인지 거리Sensitive
visualPerception시각 인지Sensitive
itemSearch아이템 확인 속도Agility, Intellect
dexterity손재주 (PDF의 Precision 대체)Agility
spellMemory주문 기억 수Intellect
moveSpeed이동속도Endurance
weightCapacity최대 중량Strength, Vitality
buffTime버프 지속 시간Intellect
debuffTime디버프 저항 시간Vitality (추정)
quantityItem루팅 수량 보정Luck
qualityItem루팅 등급 보정Luck

3. 런타임 스탯 (RuntimeStat) — 실시간 출력

섹션 제목: “3. 런타임 스탯 (RuntimeStat) — 실시간 출력”
코드의미0 도달 시
HP생명력사망
Stamina행동 자원행동 불능 / 가드 풀림
Thirst갈증 게이지단계 페널티 후 HP 5/초 DoT
Hunger허기 게이지단계 페널티 후 HP 5/초 DoT
Mental정신력 (두려움·공포 누적)멘탈 붕괴 — 환각·컨트롤 상실
Penalty디버프 축적값임계 도달 시 디버프 효과 발동
항목Mental (정신력)Penalty (디버프 축적)
방향성감소형 (0이 위험)증가형 (임계가 위험)
발동 트리거도깨비·괴람·고위 몬스터 노출, 어둠·고립독·저주 등 디버프 피격
임계 도달 효과환각·일부 컨트롤 상실해당 디버프 DoT·능력치 저하
회복시간 자연 회복 + 주막(안전 지점)에서 회복해독제·정화·시간 경과
코드의미
StunGauge스턴 게이지. 0이 되면 그로기·자세 풀림
HittedGauge강인함 게이지. 0이 되면 자세 풀림 애니메이션

시간 경과 자동 회복. 상세는 강인함 참조.

콤보 단계별 5타로 운영. 각 타마다 공격등급·피격값·스턴값이 따로 정의된다.

코드의미
AttackRating01 ~ AttackRating05콤보 1~5타 공격등급
HittedValue01 ~ HittedValue05콤보 단계별 강인함 감소량
StunValue01 ~ StunValue05콤보 단계별 스턴 감소량

무기 콤보 타수가 3타라면 01~03만 채우고 나머지는 0 또는 비워둔다.

코드의미
FontFatalDamageRate앞잡 데미지 배수
BackFatalDamageRate뒤잡 데미지 배수
SprintAttackDamageRate질주 공격 데미지 배수
ChargeAttackDamageRate차지 공격 데미지 배수
코드의미
Weight현재 휴대 무게
WeightMoveSpeed무게 적용 이동속도 계수
WeightMoveSpeedModifier추가 보정 (현재: OverweightPenalty)

WeightMoveSpeed는 base + modifier 합산으로 매번 재계산된다.

대부분의 파생 스탯은 다음 형태로 계산된다.

F(x) = Δ1 × x^n1 / (k1^n1 + x^n1) + Δ2 × x^n2 / (k2^n2 + x^n2)
의미
x입력 스테이터스 값
Δ1, Δ2각 변곡점에서의 최대 기여치
k1, k21차·2차 변곡점 위치
n1, n2곡선의 가파름

Δ1 + Δ2가 최대 기여 상한. clamp로 절대 상한 강제.

HP(V, E) = HP_Base + F_V(V) + F_E(E)
곡선Δ1Δ2k1k2n1n2
F_V (Vitality)400200206022
F_E (Endurance)12080154522

동일 함수를 쓰는 스탯: HP, Stamina, CarryWeight, IdentifyTime, 공격등급 보정.

시스템연결 지점
전투AttackRating·Defense·HittedGauge·StunGauge·Fatal*DamageRate 계산.
인벤토리·창고Weight·WeightMoveSpeed·WeightCapacity.
아이템·루팅·드랍quantityItem·qualityItem (행운 보정).
런 구조Hunger·Thirst·HP 사망 처리.
감지 시스템auditoryPerception·visualPerception.
영역시트 / DTO
플레이어 StatusPlayerStatusTableSheetPlayerStatusTableData
플레이어 StatPlayerStatTableSheetPlayerStatTableData
몬스터 Status / StatMonsterInfoTableSheet
Δ-더블 힐 파라미터무기 테이블 / 스탯별 파라미터 시트 (예정)
  • Mental·Penalty 시트화 위치 (PlayerStatTableData 컬럼 추가 vs 별도 매니저) — 보류.
  • Grit(근성) 스탯 도입 여부 (코드 TODO — 8번째 스테이터스 후보) — 보류.
  • 캐릭터 클래스 시스템(PlayerData.ClassType)이 Status/Stat 초기값에 미치는 영향.