9a135bd19d
최상위 10_Wiki/Topic_*였던 4개 카테고리 폴더를 10_Wiki/Topics/Topic_* 로 재배치. 콘텐츠 변경 없음(순수 폴더 이동) — Topics/ 하위 나머지 폴더는 이미 지난 커밋에서 전부 정리된 상태(잔존 항목은 에이전트 운영 상태 및 사용자가 보존을 요청한 업데이트0615/무제 3.canvas 뿐).
5.7 KiB
5.7 KiB
id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
| id | title | category | status | canonical_id | aliases | duplicate_of | source_trust_level | confidence_score | verification_status | tags | raw_sources | last_reinforced | github_commit | tech_stack | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| wiki-2026-0508-structural-dynamics-and-tactical | Structural Dynamics and Tactical Evolution of the Combat Ecosystem | 10_Wiki/Topics | verified | self |
|
none | A | 0.9 | applied |
|
2026-05-10 | pending |
|
Structural Dynamics and Tactical Evolution of the Combat Ecosystem
매 한 줄
"매 tactical layer 의 time-axis evolution 의 분석". 매 Structural-Dynamics-of-Combat-Ecosystem 의 4-layer model 의 temporal extension — 매 patch cadence, player-discovery curve, esports refinement, content drop 의 cumulative effect 의 modeling. 매 multi-year title 의 living balance 의 frame.
매 핵심
매 4 axis (temporal)
- Patch axis: 매 dev-driven adjustment 의 timeline.
- Discovery axis: 매 player community 의 strategy uncover.
- Esports axis: 매 pro scene 의 refinement.
- Content axis: 매 new unit/map 의 drop.
매 evolution phase
- Launch: 매 dev-intended meta — fragile equilibrium.
- Discovery: 매 community 의 tech 의 surface — 1st meta shift.
- Refinement: 매 pro 의 micro 의 polish — 매 meta convergence.
- Stagnation: 매 dominant strategy 의 lock-in — 매 churn risk.
- Refresh: 매 patch/content 의 inject — 매 cycle restart.
매 응용
- Patch cadence design — 매 stagnation 의 prevention.
- Esports league season planning.
- Telemetry-driven predict-vs-actual meta delta.
💻 패턴
Meta state tracker
type MetaPhase = 'launch' | 'discovery' | 'refinement' | 'stagnation' | 'refresh';
interface MetaSnapshot { date: string; topUnits: string[]; diversity: number; phase: MetaPhase; }
export function classifyPhase(snapshot: MetaSnapshot, prev: MetaSnapshot[]): MetaPhase {
if (prev.length < 2) return 'launch';
const trend = snapshot.diversity - prev.at(-1)!.diversity;
if (snapshot.diversity < 0.3 && Math.abs(trend) < 0.02) return 'stagnation';
if (trend > 0.1) return 'refresh';
if (snapshot.diversity > 0.6) return 'discovery';
return 'refinement';
}
Diversity index (Shannon)
export function diversityIndex(pickCounts: Record<string, number>): number {
const total = Object.values(pickCounts).reduce((a, b) => a + b, 0);
if (total === 0) return 0;
return -Object.values(pickCounts).reduce((s, c) => {
const p = c / total;
return p > 0 ? s + p * Math.log2(p) : s;
}, 0);
}
Discovery rate model
// 매 logistic curve 의 strategy discovery
export function discoveryProgress(daysSinceLaunch: number, complexity: number): number {
const k = 0.05 / complexity; // higher complexity → slower
return 1 / (1 + Math.exp(-k * (daysSinceLaunch - 30 * complexity)));
}
Patch impact decay
export function patchDecay(daysSincePatch: number, halfLifeDays = 14): number {
return Math.pow(0.5, daysSincePatch / halfLifeDays);
}
Esports vs ladder delta
interface PickStats { ladder: Record<string, number>; pro: Record<string, number>; }
export function esportsDelta(p: PickStats): { unit: string; delta: number }[] {
const all = new Set([...Object.keys(p.ladder), ...Object.keys(p.pro)]);
return [...all].map(u => ({
unit: u,
delta: (p.pro[u] ?? 0) - (p.ladder[u] ?? 0),
})).sort((a, b) => Math.abs(b.delta) - Math.abs(a.delta));
}
Content drop scheduler
interface ContentPlan { name: string; date: string; type: 'unit' | 'map' | 'mode'; expectedDiversityDelta: number; }
export function planNextDrop(currentDiversity: number, history: ContentPlan[]): ContentPlan | null {
if (currentDiversity > 0.5) return null; // healthy
const last = history.at(-1);
if (last && Date.now() - new Date(last.date).getTime() < 30 * 86400_000) return null;
return { name: 'TBD', date: new Date().toISOString(), type: 'unit', expectedDiversityDelta: 0.15 };
}
매 결정 기준
| 상황 | Approach |
|---|---|
| 매 launch phase | Light-touch patches — let discovery breathe. |
| 매 stagnation 의 detected | Major content drop or rework patch. |
| 매 esports vs ladder split | Mode-specific balance (esp. fast/slow). |
| 매 mature title (5+ yr) | Focus on QOL + cosmetic content over balance churn. |
기본값: monthly diversity check + quarterly content drop + biweekly micro-patch.
🔗 Graph
- 부모: Structural-Dynamics-of-Combat-Ecosystem · War-Commander-Combat-Ecosystem
- 변형: Evolution-of-the-War-Commander-Combat-Ecosystem · Power Creep (Content Treadmills)
- 응용: Live Operations (LiveOps) · Combat_Balance_Buff
- Adjacent: Player-Experience-Modeling · State-Machine-and-Phase-Transition-Events
🤖 LLM 활용
언제: meta narrative 의 summary, content roadmap 의 brainstorm, patch announcement 의 draft. 언제 X: 매 telemetry pipeline (Shannon entropy 의 deterministic).
❌ 안티패턴
- Patch fatigue: 매 weekly major change — pro/community whiplash.
- No diversity metric: 매 stagnation 의 invisible.
- Ignoring esports delta: 매 ladder-vs-pro 의 split-meta blind.
- Content as balance crutch: 매 power creep 의 inevitable.
🧪 검증 / 중복
- Verified: SC2 LotV balance history, Smash Ultimate community tier list evolution, DOTA 2 7.x patches.
- 신뢰도 A.
🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — temporal 4-axis + Shannon diversity 추가 |