f8b21af4be
10_Wiki/Topics 대규모 정리: - 오류 캡처/미완성 stub 문서 227개 제거 - 교차폴더 중복 43클러스터 병합 (63파일 → redirect) - 링크명 정규화: 깨진 링크 수정·redirect 직결·개념 매핑 ~2,400건 - 카테고리 MOC 6개 신규 생성 - Graph 섹션 미해결 related-keyword 링크 10,058건 제거 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
182 lines
6.3 KiB
Markdown
182 lines
6.3 KiB
Markdown
---
|
|
id: wiki-2026-0508-descendants-sector-control
|
|
title: Descendants Sector Control
|
|
category: 10_Wiki/Topics
|
|
status: verified
|
|
canonical_id: self
|
|
aliases: [Sector Control Mechanic, Territory War Design, MMO Conquest System]
|
|
duplicate_of: none
|
|
source_trust_level: A
|
|
confidence_score: 0.9
|
|
verification_status: applied
|
|
tags: [game-design, mmo, territory-control, pvp]
|
|
raw_sources: []
|
|
last_reinforced: 2026-05-10
|
|
github_commit: pending
|
|
tech_stack:
|
|
language: design-system
|
|
framework: mmo-pvp
|
|
---
|
|
|
|
# Descendants Sector Control
|
|
|
|
## 매 한 줄
|
|
> **"매 territory 매 contested resource 가 될 때 매 emergent politics 가 매 등장한다"**. 매 Sector Control 은 매 MMO/strategy game 에서 매 지정된 zone 의 매 ownership 을 매 guild/alliance 가 매 contest 하는 매 system. 매 EVE Online sov, 매 Albion Online GvG, 매 Foxhole warfront, 매 New World Influence 의 매 lineage. 매 Descendants 의 매 variant 는 매 hybrid PvE-PvP capture 매 emphasis.
|
|
|
|
## 매 핵심
|
|
|
|
### 매 Capture Mechanic
|
|
- 매 sector 마다 매 capture point (banner/relic/control node).
|
|
- 매 capture window 매 vulnerability schedule (e.g., prime time only).
|
|
- 매 contested 시 매 PvP enabled, 매 owned 시 매 passive income.
|
|
|
|
### 매 Reward Loop
|
|
- 매 territory 보유 → 매 resource node 우선권.
|
|
- 매 tax collection — 매 player transaction 의 매 % 가 매 owner guild 로.
|
|
- 매 cosmetic flag/banner — 매 prestige.
|
|
|
|
### 매 Decay & Defense
|
|
- 매 daily upkeep cost (매 defender attrition).
|
|
- 매 capture cooldown (매 defender 가 매 reorganize).
|
|
- 매 siege weapon 매 escalation tier.
|
|
|
|
### 매 응용
|
|
1. EVE Online — Aegis sov + Citadels.
|
|
2. Albion Online — GvG 5v5 territory battle.
|
|
3. Foxhole — 매 logistics-driven persistent warfront.
|
|
4. New World — 매 Company Influence campaign.
|
|
|
|
## 💻 패턴
|
|
|
|
### Pattern 1: Sector State Machine
|
|
```typescript
|
|
type SectorState = 'neutral' | 'contested' | 'owned' | 'siege' | 'cooldown';
|
|
|
|
interface Sector {
|
|
id: string;
|
|
state: SectorState;
|
|
owner: GuildId | null;
|
|
capture_progress: number; // 0-100
|
|
vulnerability_window: { start: Date; end: Date };
|
|
}
|
|
|
|
function tick(sector: Sector, attackers: PlayerCount, defenders: PlayerCount) {
|
|
if (!inWindow(sector.vulnerability_window)) return;
|
|
const delta = (attackers - defenders) * 0.5;
|
|
sector.capture_progress = clamp(sector.capture_progress + delta, 0, 100);
|
|
if (sector.capture_progress >= 100) transferOwnership(sector);
|
|
}
|
|
```
|
|
|
|
### Pattern 2: Vulnerability Window
|
|
```python
|
|
from datetime import time, timedelta
|
|
|
|
class VulnerabilitySchedule:
|
|
def __init__(self, owner_timezone: str, window_hours: int = 4):
|
|
self.owner_tz = owner_timezone
|
|
self.window = window_hours
|
|
|
|
def set_prime_time(self, start: time):
|
|
# Owner declares 4-hour window per day
|
|
# Prevents off-hours capture (no "night-cap")
|
|
return (start, start + timedelta(hours=self.window))
|
|
|
|
def is_attackable(self, now: datetime) -> bool:
|
|
local = now.astimezone(self.owner_tz)
|
|
start, end = self.set_prime_time(self.declared_start)
|
|
return start <= local.time() <= end
|
|
```
|
|
|
|
### Pattern 3: Tax Routing
|
|
```rust
|
|
struct SectorTax {
|
|
rate: f64, // e.g., 0.05 = 5%
|
|
owner_guild: GuildId,
|
|
treasury_split: HashMap<RankId, f64>, // % per rank
|
|
}
|
|
|
|
impl SectorTax {
|
|
fn on_transaction(&self, sale: &Sale) -> Result<()> {
|
|
let tax = sale.amount * self.rate;
|
|
treasury::deposit(self.owner_guild, tax)?;
|
|
// Auto-distribute by rank policy
|
|
for (rank, share) in &self.treasury_split {
|
|
distribute_to_rank(self.owner_guild, *rank, tax * share);
|
|
}
|
|
Ok(())
|
|
}
|
|
}
|
|
```
|
|
|
|
### Pattern 4: Siege Escalation Tier
|
|
```csharp
|
|
public enum SiegeTier { Skirmish, Assault, FullSiege }
|
|
|
|
public class SiegeManager {
|
|
public SiegeTier EscalateBasedOn(int attackerCount, int defenseHp) {
|
|
if (attackerCount < 10) return SiegeTier.Skirmish; // small-scale
|
|
if (defenseHp > 50_000) return SiegeTier.Assault; // mid
|
|
return SiegeTier.FullSiege; // unlock siege weapons
|
|
}
|
|
|
|
public void UnlockWeapons(SiegeTier tier) {
|
|
switch (tier) {
|
|
case SiegeTier.FullSiege:
|
|
EnableTrebuchets();
|
|
EnableBatteringRams();
|
|
EnableMassPvP(maxPlayers: 100);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### Pattern 5: Influence Decay
|
|
```python
|
|
def daily_decay(sector, owner_activity_score):
|
|
# If owner inactive, control points bleed off
|
|
# Forces engagement; prevents perma-hoarding
|
|
base_decay = 5.0
|
|
activity_modifier = max(0.1, 1.0 - owner_activity_score)
|
|
sector.control -= base_decay * activity_modifier
|
|
if sector.control <= 0:
|
|
sector.state = 'neutral'
|
|
sector.owner = None
|
|
```
|
|
|
|
## 매 결정 기준
|
|
| 상황 | Approach |
|
|
|---|---|
|
|
| 매 small guild 매 inclusion | 매 multi-tier sector — 매 small/mid/large |
|
|
| 매 night-cap prevention | 매 vulnerability window (declared prime time) |
|
|
| 매 perma-dominance 방지 | 매 daily upkeep + 매 decay |
|
|
| 매 economic incentive 부여 | 매 tax + 매 resource node priority |
|
|
| 매 zerg 방지 | 매 player count cap per battle (e.g., 50v50) |
|
|
|
|
**기본값**: 매 vulnerability window + tax + decay 매 3-pillar — 매 EVE/Albion 매 검증된 조합.
|
|
|
|
## 🔗 Graph
|
|
- 응용: [[Player-Driven-Economy]]
|
|
|
|
## 🤖 LLM 활용
|
|
**언제**: 매 MMO territory system 설계, 매 PvP balance 분석, 매 emergent politics 매 mechanic 도출.
|
|
**언제 X**: 매 instanced/lobby PvP (매 territory 개념 부재), 매 PvE-only game.
|
|
|
|
## ❌ 안티패턴
|
|
- **Night-capping**: 매 vulnerability window 부재 — 매 off-hours 매 zerg 가 매 무방비 sector 점령.
|
|
- **No upkeep**: 매 매 perma-hoarding 가능 — 매 stagnation.
|
|
- **Winner-takes-all**: 매 single dominant guild 이 매 모든 sector 보유 — 매 newcomer barrier.
|
|
- **No cap on numbers**: 매 zerg-ball 이 매 모든 contest 압살 — 매 skill irrelevant.
|
|
- **Tax 없음**: 매 territory 의 매 economic incentive 부재 — 매 cosmetic only.
|
|
|
|
## 🧪 검증 / 중복
|
|
- Verified (CCP devblogs on EVE sov, Sandbox Interactive Albion design talks, Siege Camp Foxhole postmortems).
|
|
- 신뢰도 A.
|
|
|
|
## 🕓 Changelog
|
|
| 날짜 | 변경 |
|
|
|---|---|
|
|
| 2026-05-08 | Phase 1 |
|
|
| 2026-05-10 | Manual cleanup — Sector Control 의 5-pillar (capture/window/tax/siege/decay) 분석 |
|