docs(rpg): refine text RPG progression and combat plan

This commit is contained in:
안명현 2026-04-10 11:39:20 +09:00
parent 8ce3467564
commit 6acf0774c3
1 changed files with 55 additions and 5 deletions

View File

@ -33,7 +33,8 @@ Text RPG 시스템은 Discord 음성 채널을 던전처럼 활용하는 전투
6. 보상 지급
- 골드
- 아이템 드랍
- 추후 확장 시 재료, 특수 재화, 경험치 등 추가 가능
- 경험치
- 추후 확장 시 재료, 특수 재화 등 추가 가능
7. 전투 종료 후 선택 UI 표시
- 다음 전투
- 휴식
@ -74,7 +75,8 @@ DB 기준으로 아래 역할의 데이터가 필요합니다.
- `userId`
- `guildId`
- `level` 또는 성장 단계
- `level`
- `exp`
- `str`
- `dex`
- `int`
@ -92,11 +94,42 @@ DB 기준으로 아래 역할의 데이터가 필요합니다.
설계 메모:
- `level``exp`는 플레이어 성장의 기본 축으로 사용합니다.
- 다음 레벨까지 필요한 경험치는 저장값 대신 런타임 계산을 권장합니다.
- `gold`는 기존 미니게임에서 사용하는 골드 값과 중복 저장하지 않고 같은 값을 사용해야 합니다.
- `diamond`는 유료 재화이므로 별도 필드로 분리합니다.
- `str`, `dex`, `int`는 빌드 방향을 정하는 핵심 능력치입니다.
- 치명타율, 회피율, 속도 같은 파생 수치는 DB에 저장하기보다 런타임 계산을 우선으로 합니다.
### 1-1. 레벨 및 경험치 설계
레벨과 경험치는 별도 성장 축으로 명확히 설계하는 것이 좋습니다.
권장 규칙:
- 전투 승리 시 `exp` 획득
- 누적 `exp`가 기준치를 넘으면 레벨업
- 레벨업 시 `statPoints` 지급
- 필요 시 최대 HP, 기본 물리 공격력 같은 기본 성장치도 함께 상승
경험치 설계 방향 예시:
- 던전 난이도가 높을수록 경험치 보상 증가
- 몬스터 등급에 따라 경험치 보상 차등 적용
- 반복 파밍 방지를 위해 너무 낮은 난이도에서는 경험치 효율 감소 가능
초기 버전 권장안:
- `level`은 1부터 시작
- `exp`는 누적값 저장
- 레벨업 필요 경험치는 `balance.json` 또는 공식으로 계산
예시 공식:
- `requiredExp(level) = floor(20 * level^1.35)`
이 값은 초안일 뿐이며 실제 밸런스는 전투 속도와 성장 체감에 맞춰 조정해야 합니다.
### 2. 능력치 설계
기본 능력치는 아래 3개를 사용합니다.
@ -124,6 +157,12 @@ DB 기준으로 아래 역할의 데이터가 필요합니다.
이 값들은 기본 능력치와 장비, 버프를 조합해 계산하는 구조를 권장합니다.
정리 기준:
- `str`, `dex`, `int`는 DB에 저장되는 기본 능력치
- `물리 공격력`, `마법 공격력`은 전투 계산에 직접 사용되는 핵심 파생 수치
- 그 외 명중, 회피, 치명타, 속도도 기본 능력치와 장비 상태로부터 계산
### 3. 스킬 저장 구조
플레이어 스킬은 아래 두 상태를 구분해야 합니다.
@ -144,8 +183,9 @@ DB 기준으로 아래 역할의 데이터가 필요합니다.
설계 규칙:
- 플레이어는 여러 스킬을 배울 수 있지만, 동시에 장착 가능한 스킬 수는 제한합니다.
- 초기 버전은 장착 슬롯 3개 또는 4개 정도가 적절합니다.
- 초기 버전은 장착 스킬 슬롯을 4개로 고정합니다.
- 스킬 성능은 스킬 고유 값과 플레이어 능력치 계수를 함께 사용해 계산합니다.
- 전투 중에는 장착한 4개 스킬 중 매 턴마다 무작위로 1개를 선택해 사용합니다.
### 4. 재화 구조
@ -397,10 +437,17 @@ DB 기준으로 아래 역할의 데이터가 필요합니다.
초기 버전 권장안:
- 반자동 전투
- 장착 스킬을 우선순위 또는 순환 로직으로 사용
- 장착한 4개 스킬 중 매 턴 무작위로 1개를 선택해 사용
- `dex` 또는 속도 수치에 따라 선공 결정
- 각 스킬은 고유 수치와 능력치 계수로 피해량 계산
스킬 사용 규칙:
- 플레이어는 최대 4개의 스킬을 장착
- 전투 턴이 시작될 때 장착 스킬 4개 중 1개를 랜덤 선택
- 사용 불가능한 스킬이 있다면 쿨타임/자원 조건을 만족하는 스킬만 후보에 포함
- 모든 스킬이 사용 불가 상태라면 기본 공격 또는 대기 행동으로 대체
초기 피해 공식 예시:
- 물리 스킬 피해량 = `basePower + (str * strScaling) + (dex * dexScaling)`
@ -439,6 +486,7 @@ DB 기준으로 아래 역할의 데이터가 필요합니다.
- `category`
- `stats`
- `skills`
- `rewardExp`
- `rewardGoldRange`
- `dropTableId`
- `aiPattern`
@ -460,6 +508,7 @@ DB 기준으로 아래 역할의 데이터가 필요합니다.
"speed": 4
},
"skills": ["slime_body_slam"],
"rewardExp": 8,
"rewardGoldRange": {
"min": 10,
"max": 18
@ -477,6 +526,7 @@ DB 기준으로 아래 역할의 데이터가 필요합니다.
전투 종료 후 아래 보상을 계산합니다.
- 골드 보상
- 경험치 보상
- 아이템 드랍
- 추후 확장 시 재료 드랍
- 낮은 확률의 희귀 보상
@ -631,6 +681,6 @@ resource/data/rpg/
- 던전 그룹 2~3종
- 전투당 적 1마리
- 전투 종료 후 선택지 3종
- 골드 아이템 보상 우선 적용
- 골드, 경험치, 아이템 보상 우선 적용
초기 범위를 좁게 잡으면 시스템 구조를 빠르게 안정화할 수 있고, 이후 콘텐츠 확장도 훨씬 수월해집니다.