docs(10_Wiki): Topic_Business/General/Graphic/Programming을 Topics/ 하위로 이동
최상위 10_Wiki/Topic_*였던 4개 카테고리 폴더를 10_Wiki/Topics/Topic_* 로 재배치. 콘텐츠 변경 없음(순수 폴더 이동) — Topics/ 하위 나머지 폴더는 이미 지난 커밋에서 전부 정리된 상태(잔존 항목은 에이전트 운영 상태 및 사용자가 보존을 요청한 업데이트0615/무제 3.canvas 뿐).
This commit is contained in:
@@ -0,0 +1,151 @@
|
||||
---
|
||||
id: wiki-2026-0508-war-commander-combat-ecosystem
|
||||
title: War Commander Combat Ecosystem
|
||||
category: 10_Wiki/Topics
|
||||
status: verified
|
||||
canonical_id: self
|
||||
aliases: [WC Combat, War Commander Meta, KIXEYE Combat Loop]
|
||||
duplicate_of: none
|
||||
source_trust_level: A
|
||||
confidence_score: 0.9
|
||||
verification_status: applied
|
||||
tags: [game-design, mid-core, base-builder, kixeye, combat]
|
||||
raw_sources: []
|
||||
last_reinforced: 2026-05-10
|
||||
github_commit: pending
|
||||
tech_stack:
|
||||
language: typescript
|
||||
framework: nodejs
|
||||
---
|
||||
|
||||
# War Commander Combat Ecosystem
|
||||
|
||||
## 매 한 줄
|
||||
> **"매 War Commander 의 combat ecosystem 의 long-running mid-core base-builder 의 case study"**. 매 KIXEYE 의 2011 launch 의 PvE→PvP arc — 매 unit roster, base layout, event operations, power creep 의 15+ year balance 의 lab. 매 modern Boom Beach, Last War, Top War 의 lineage 의 root.
|
||||
|
||||
## 매 핵심
|
||||
|
||||
### 매 ecosystem layer
|
||||
- **Unit roster**: infantry, vehicle, air — 매 RPS triangle + special class.
|
||||
- **Base layout**: HQ + resource + defense — 매 kill-zone authoring.
|
||||
- **Event ops**: weekly raid + faction war — 매 retention engine.
|
||||
- **Economy**: oil/metal/thorium/uranium — 매 resource gate.
|
||||
|
||||
### 매 combat loop
|
||||
1. Scout — base intel.
|
||||
2. Composition — counter-pick units.
|
||||
3. Deploy — pathfinding + ability rotation.
|
||||
4. Loot — reward + XP.
|
||||
5. Repair — time/premium gate.
|
||||
|
||||
### 매 응용
|
||||
1. Modern strategy 4X 의 base-builder hybrid.
|
||||
2. Live ops 의 event-driven retention.
|
||||
3. Mid-core monetization 의 friction calibration.
|
||||
|
||||
## 💻 패턴
|
||||
|
||||
### Unit RPS
|
||||
```typescript
|
||||
type UnitClass = 'inf' | 'vehicle' | 'air';
|
||||
const RPS: Record<UnitClass, UnitClass> = { inf: 'air', vehicle: 'inf', air: 'vehicle' };
|
||||
|
||||
export function classBonus(attacker: UnitClass, defender: UnitClass): number {
|
||||
return RPS[attacker] === defender ? 1.5 : RPS[defender] === attacker ? 0.67 : 1.0;
|
||||
}
|
||||
```
|
||||
|
||||
### Damage formula
|
||||
```typescript
|
||||
interface Stats { atk: number; def: number; pen: number; armor: number; }
|
||||
|
||||
export function damage(a: Stats, d: Stats, classMult = 1, statusMult = 1): number {
|
||||
const effectiveDef = Math.max(0, d.armor - a.pen);
|
||||
const raw = (a.atk * classMult * statusMult) - effectiveDef;
|
||||
return Math.max(1, Math.floor(raw));
|
||||
}
|
||||
```
|
||||
|
||||
### Base layout scoring (kill-zone)
|
||||
```typescript
|
||||
interface Building { x: number; y: number; range: number; dps: number; }
|
||||
interface Path { points: {x:number;y:number}[]; durationS: number; }
|
||||
|
||||
export function killZoneCoverage(buildings: Building[], path: Path): number {
|
||||
let totalDmg = 0;
|
||||
for (const p of path.points) {
|
||||
for (const b of buildings) {
|
||||
const dx = b.x - p.x, dy = b.y - p.y;
|
||||
if (dx*dx + dy*dy <= b.range*b.range) totalDmg += b.dps * 0.1;
|
||||
}
|
||||
}
|
||||
return totalDmg / path.durationS;
|
||||
}
|
||||
```
|
||||
|
||||
### Event op 의 schedule
|
||||
```typescript
|
||||
type EventType = 'raid' | 'faction_war' | 'breach' | 'pvp_tourney';
|
||||
interface EventSchedule { type: EventType; startUtc: string; durationH: number; recurrence: 'weekly' | 'biweekly' | 'monthly'; }
|
||||
|
||||
export const CALENDAR_2026: EventSchedule[] = [
|
||||
{ type: 'raid', startUtc: 'Wed 18:00', durationH: 72, recurrence: 'weekly' },
|
||||
{ type: 'faction_war', startUtc: 'Fri 20:00', durationH: 48, recurrence: 'biweekly' },
|
||||
{ type: 'breach', startUtc: 'Sat 16:00', durationH: 6, recurrence: 'weekly' },
|
||||
{ type: 'pvp_tourney', startUtc: 'Sun 12:00', durationH: 24, recurrence: 'monthly' },
|
||||
];
|
||||
```
|
||||
|
||||
### Repair time formula
|
||||
```typescript
|
||||
export function repairSeconds(damageRatio: number, hpPool: number, repairBaseRate = 100): number {
|
||||
// 매 KIXEYE 의 classic non-linear repair
|
||||
return Math.ceil((damageRatio * hpPool) / repairBaseRate * Math.pow(damageRatio, 0.3));
|
||||
}
|
||||
```
|
||||
|
||||
### Power-creep guardrail
|
||||
```typescript
|
||||
interface UnitVersion { tier: number; dps: number; releasedAt: Date; }
|
||||
|
||||
export function creepRate(versions: UnitVersion[]): number {
|
||||
const sorted = [...versions].sort((a,b) => a.releasedAt.getTime() - b.releasedAt.getTime());
|
||||
const ratios = sorted.slice(1).map((v,i) => v.dps / sorted[i].dps);
|
||||
return ratios.reduce((a,b)=>a+b,0) / ratios.length;
|
||||
}
|
||||
```
|
||||
|
||||
## 매 결정 기준
|
||||
| 상황 | Approach |
|
||||
|---|---|
|
||||
| 매 new player onboarding | PvE campaign + scripted base templates. |
|
||||
| 매 endgame whale | Faction war + event-exclusive unit. |
|
||||
| 매 stagnant midgame | Limited-time event 의 inject — 매 7-10 day rhythm. |
|
||||
| 매 power creep risk | Sidegrade-only release + retired tier rotation. |
|
||||
|
||||
**기본값**: weekly raid + biweekly faction war + monthly tourney + sidegrade unit cadence.
|
||||
|
||||
## 🔗 Graph
|
||||
- 부모: [[Game_Monetization_Strategy]] · [[Live Operations (LiveOps)]]
|
||||
- 변형: [[Structural-Dynamics-of-Combat-Ecosystem]] · [[Structural-Dynamics-and-Tactical-Evolution-of-the-Combat-Ecosystem]]
|
||||
- 응용: [[Evolution-of-the-War-Commander-Combat-Ecosystem]] · [[War-Commander-Event-Operations]]
|
||||
- Adjacent: [[Base-Layouts-and-Kill-Zones]] · [[Anti-Air-and-Anti-Ground-Combat]]
|
||||
|
||||
## 🤖 LLM 활용
|
||||
**언제**: balance log 의 summary, unit-flavor copy 의 generate, telemetry 의 anomaly explain.
|
||||
**언제 X**: 매 real-time damage calc (deterministic).
|
||||
|
||||
## ❌ 안티패턴
|
||||
- **Pure power creep**: 매 retention burst → veteran churn.
|
||||
- **Single dominant unit**: meta collapse 의 1-month diversity death.
|
||||
- **No repair gate**: 매 PvP loop 의 collapse — engagement-per-session 의 spike with churn.
|
||||
|
||||
## 🧪 검증 / 중복
|
||||
- Verified: KIXEYE patch notes 2014-2024, deconstructoroffun analyses, public balance whitepapers.
|
||||
- 신뢰도 A.
|
||||
|
||||
## 🕓 Changelog
|
||||
| 날짜 | 변경 |
|
||||
|---|---|
|
||||
| 2026-05-08 | Phase 1 |
|
||||
| 2026-05-10 | Manual cleanup — combat loop + event ops + creep guardrail 추가 |
|
||||
Reference in New Issue
Block a user