Files
asciinevrdie/doc/task-ext-world.md
JiWoong Sul b110b2dc53 docs: 게임 시스템 개편 계획 문서 분리
- 121KB 단일 문서를 22개 태스크 문서로 분리
- 메인 인덱스 문서 (game-system-overhaul-index.md) 생성
- Phase 1-10 태스크 문서 10개 분리
- 추가 시스템 태스크 문서 10개 분리
- 재미 요소 설계 문서 1개 분리
- 기존 문서는 archive/ 폴더로 이동
2025-12-16 19:33:57 +09:00

216 lines
8.7 KiB
Markdown

# 월드 시스템: 던전/지역/상점
> 메인 문서: [game-system-overhaul-index.md](game-system-overhaul-index.md)
---
## 1. 던전/지역 시스템
### 1.1 월드 구조
```
┌─ 코드 왕국 (세계) ─────────────────────────────────────┐
│ │
│ Act I: 버그 평원 │
│ ├─ 시작 마을 (안전 지역) │
│ ├─ 버그 초원 (Lv.1-5) │
│ ├─ 에러 숲 (Lv.6-10) │
│ ├─ 버그 둥지 [던전] (Lv.8-12) │
│ └─ 문법 오류의 탑 [보스] (Lv.15) │
│ │
│ Act II: 손상된 네트워크 │
│ ├─ 디버거 요새 (안전 지역) │
│ ├─ 손상된 회로 (Lv.16-25) │
│ ├─ 메모리 늪 (Lv.21-30) │
│ ├─ 누수 동굴 [던전] (Lv.25-35) │
│ └─ 히드라의 서버실 [보스] (Lv.40) │
│ │
│ Act III: 널 왕국 │
│ ├─ 바이너리 신전 (안전 지역) │
│ ├─ 널 사막 (Lv.41-50) │
│ ├─ 포인터 미궁 (Lv.46-55) │
│ ├─ 버퍼의 심연 [던전] (Lv.50-60) │
│ └─ 타이탄의 성채 [보스] (Lv.60) │
│ │
│ Act IV: 글리치 영역 │
│ ├─ 저항군 기지 (안전 지역) │
│ ├─ 커널 황무지 (Lv.61-70) │
│ ├─ 패닉 협곡 (Lv.66-80) │
│ ├─ 시스템 감옥 [던전] (Lv.70-85) │
│ └─ 아콘의 왕좌 [보스] (Lv.80) │
│ │
│ Act V: 최종 결전 │
│ ├─ 최후의 캐시 (안전 지역) │
│ ├─ 글리치 회랑 (Lv.81-90) │
│ ├─ 차원의 틈 (Lv.86-95) │
│ ├─ 신의 코어 [던전] (Lv.90-100) │
│ └─ 글리치 신의 영역 [최종 보스] (Lv.100) │
│ │
└─────────────────────────────────────────────────────────┘
```
### 1.2 지역 타입
| 타입 | 설명 | 특징 |
|------|------|------|
| **안전 지역** | 마을, 요새 | 전투 없음, 상점, NPC, 회복 |
| **필드** | 일반 사냥터 | 일반 몬스터, 퀘스트 |
| **던전** | 인스턴스 지역 | 강화 몬스터, 미니보스, 보상 증가 |
| **보스 지역** | Act 보스 | 보스 몬스터, 스토리 진행 |
### 1.3 지역 이동 (Idle 방식)
```dart
class AreaProgress {
final String currentAreaId;
final double explorationProgress; // 0.0 ~ 1.0
final bool isBossUnlocked;
/// 탐험 진행 (자동)
void progressExploration(Duration elapsed) {
// 시간 경과에 따라 탐험도 증가
// 탐험도 100% 달성 시 다음 지역/보스 해금
}
}
```
### 1.4 던전 시스템
| 요소 | 설명 |
|------|------|
| **입장 조건** | 최소 레벨, 이전 던전 클리어 |
| **층 구조** | 3-5층, 층별 강화 몬스터 |
| **보스 층** | 마지막 층에 미니보스 |
| **보상** | 일반 필드 대비 2-3배 |
| **재입장** | 클리어 후 24시간 대기 (일일 1회) |
### 1.5 지역 UI
```
┌─ 현재 위치 ─────────────────────────┐
│ │
│ 📍 Act II: 손상된 회로 │
│ Lv.16-25 │
│ │
│ 탐험 진행도: ████████░░ 78% │
│ 다음 지역까지: 22% │
│ │
│ ─────────────────────────────────── │
│ │
│ 🏰 디버거 요새 [방문하기] │
│ 🌲 손상된 회로 [현재] │
│ 🌊 메모리 늪 [해금 필요: 탐험 100%] │
│ 🏔 누수 동굴 [해금 필요: Lv.25] │
│ 👹 히드라 서버실 [해금 필요] │
│ │
└─────────────────────────────────────┘
```
---
## 2. 상점 시스템 상세
### 2.1 상점 종류
| 상점 | 위치 | 판매 품목 |
|------|------|----------|
| **일반 상점** | 모든 마을 | 물약, 기본 장비, 소모품 |
| **대장간** | 모든 마을 | 무기, 방어구 (레벨 기반) |
| **마법 상점** | Act II 이후 | 스킬서, 마법 장비 |
| **비밀 상점** | 랜덤 등장 | 희귀 아이템, 한정품 |
| **길드 상점** | 요새 | 길드 포인트 교환 |
### 2.2 상점 갱신 시스템
```dart
class Shop {
final ShopType type;
final List<ShopItem> items;
final DateTime lastRefresh;
final Duration refreshInterval;
/// 상점 아이템 갱신
void refresh(int playerLevel) {
items.clear();
items.addAll(_generateItems(playerLevel));
lastRefresh = DateTime.now();
}
}
```
| 상점 | 갱신 주기 | 갱신 조건 |
|------|----------|----------|
| 일반 상점 | 매일 자정 | 자동 |
| 대장간 | 레벨업 시 | 레벨업 |
| 마법 상점 | 매주 월요일 | 자동 |
| 비밀 상점 | 랜덤 | 5% 확률로 등장 |
### 2.3 가격 계산 공식
```dart
/// 구매 가격 계산
int calculateBuyPrice(Equipment item) {
final basePrice = item.level * 50;
final rarityMultiplier = {
ItemRarity.common: 1.0,
ItemRarity.uncommon: 2.0,
ItemRarity.rare: 5.0,
ItemRarity.epic: 15.0,
ItemRarity.legendary: 50.0,
}[item.rarity]!;
return (basePrice * rarityMultiplier).round();
}
/// 판매 가격 계산
int calculateSellPrice(Equipment item) {
return (calculateBuyPrice(item) * 0.3).round();
}
/// CHA 보너스 적용
int applyCharismaDiscount(int price, int cha) {
// CHA 10당 1% 할인, 최대 20% 할인
final discount = min(0.20, (cha - 10) * 0.01);
return (price * (1 - discount)).round();
}
```
### 2.4 상점 UI
```
┌─ 대장간 ────────────────────────────┐
│ │
│ 👤 레벨: 25 💰 골드: 15,420 │
│ 📦 인벤토리: 42/50 │
│ │
│ ─────────────────────────────────── │
│ 판매 중인 아이템 (갱신까지: 2시간) │
│ │
│ ┌─────────────────────────────────┐ │
│ │ ⚔️ 디버거의 검 (Lv.25) │ │
│ │ ATK +35, CRI +3% │ │
│ │ 💰 1,250 골드 [구매] │ │
│ └─────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────┐ │
│ │ 🛡️ 강철 갑옷 (Lv.24) │ │
│ │ DEF +42, HP +50 │ │
│ │ 💰 1,100 골드 [구매] │ │
│ └─────────────────────────────────┘ │
│ │
│ [판매하기] [강화하기] [수리하기] │
│ │
└─────────────────────────────────────┘
```
### 2.5 특별 거래
| 기능 | 설명 |
|------|------|
| **일괄 구매** | 물약 10개/50개 묶음 구매 (5% 할인) |
| **일괄 판매** | 선택한 아이템 일괄 판매 |
| **자동 구매** | 물약 부족 시 자동 구매 설정 |
| **예약 구매** | 비밀 상점 아이템 등장 시 알림 |
---