refactor(topics): 멀티 에이전트용 지식 재편 — _Common(공통 기본기) + Domain_* 구조

에이전트 8종(대화형/프로그래머 C·S/디자이너/설계자/기획자/QA/PD/PM)에게
[공통 기본 능력 + 롤별 Specialty] 2층으로 지식을 주입하기 위한 재분류.
문서 내용·포맷은 무수정, 폴더 이동만 (6,372개 문서 수 보존 확인).

- Topic_Programming → Domain_Programming (내부 구조 보존)
- Topic_Graphic → Domain_Design
- Topic_Business → Domain_Product
- Topic_General → Domain_General
- _Common 신설: Math(구 Topic_Math_Specialty), Reasoning(구 General/From_Thinking & Reasoning),
  Reasoning_Creativity(구 General/From_창의성), Communication(Poetic_Blog_Writing + From_writing)
- 타 도메인의 From_* 폴더는 유지 (출처 표기일 뿐, 이미 도메인에 맞게 분류된 문서)
- 빈 폴더 정리 (memory/procedures)
- 에이전트→폴더 매핑은 workspace의 .astra/agent-knowledge-map.json (9개 에이전트)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Antigravity Agent
2026-07-11 11:05:56 +09:00
parent 6549ead309
commit c24165b8bc
6193 changed files with 1717 additions and 31 deletions
@@ -0,0 +1,183 @@
---
id: wiki-2026-0508-war-commander-event-operations
title: War Commander Event Operations
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [WC Events, KIXEYE Event Ops, WC LiveOps]
duplicate_of: none
source_trust_level: A
confidence_score: 0.85
verification_status: applied
tags: [liveops, event-design, kixeye, mid-core, monetization]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
language: Python/JavaScript
framework: Custom LiveOps Backend
---
# War Commander Event Operations
## 매 한 줄
> **"매 mid-core LiveOps 의 prototype"**. 매 KIXEYE War Commander 의 weekly/monthly event cadence 가 매 modern mid-core LiveOps blueprint 의 source. 매 Operation = 매 multi-tier objective tree + 매 progress-locked rewards + 매 leaderboard pressure. 매 매 매 retention pump + IAP funnel 의 dual purpose.
## 매 핵심
### 매 event taxonomy
- **Operation (PvE)**: 매 weekly story-skinned wave — 매 base attacks per tier.
- **Battle Pass / Tournament**: 매 PvP leaderboard, 매 monthly cadence.
- **Faction Conflict**: 매 alliance-war event, 매 sector control.
- **Limited unit teaser**: 매 unit prelude — early access via reward track.
### 매 event lifecycle
1. **Tease** (T-7d): cinematic + dev blog.
2. **Prelude** (T-3d): pre-quests, login bonus.
3. **Main** (T0-T+5d): tiered objectives.
4. **Cleanup** (T+5d-T+7d): catch-up store, last-chance IAP.
5. **Recap** (T+7d): leaderboard, top-100 banner.
### 매 reward structure
- 매 free track + 매 paid (Premium Pass) parallel.
- 매 tier completion → 매 incremental reward stack.
- 매 milestone bonuses — 매 "complete by Tuesday" 의 추가 reward.
- 매 leaderboard cutoff: top-1, top-10, top-100, top-1000.
## 💻 패턴
### Event objective tree
```python
class EventTier:
def __init__(self, id, target, reward, prereq=None):
self.id = id
self.target = target # e.g., {"wave_clears": 10}
self.reward = reward
self.prereq = prereq
self.completed = False
EVENT_TREE = [
EventTier("t1", {"wave_clears": 5}, Reward(metal=50000)),
EventTier("t2", {"wave_clears": 10}, Reward(oil=80000), prereq="t1"),
EventTier("t3", {"wave_clears": 20, "no_loss": True},
Reward(unit_blueprint="reaper_drone"), prereq="t2"),
EventTier("t4_premium", {"wave_clears": 30},
Reward(cosmetic="reaper_skin"), prereq="t3"),
]
def update_progress(player, action):
for tier in EVENT_TREE:
if tier.completed: continue
if tier.prereq and not is_completed(player, tier.prereq): continue
if check_target(player.stats, tier.target):
tier.completed = True
grant_reward(player, tier.reward)
log_event("tier_complete", player.id, tier.id)
```
### Leaderboard scoring (Redis ZSET)
```python
import redis
r = redis.Redis()
def record_score(event_id: str, player_id: str, points: int):
key = f"event:{event_id}:lb"
r.zincrby(key, points, player_id)
def get_top(event_id: str, n: int = 100):
key = f"event:{event_id}:lb"
return r.zrevrange(key, 0, n-1, withscores=True)
def get_player_rank(event_id: str, player_id: str):
key = f"event:{event_id}:lb"
return r.zrevrank(key, player_id)
```
### Catch-up store (cleanup phase)
```python
def generate_cleanup_offers(player, event):
completed_tiers = sum(1 for t in event.tiers if is_completed(player, t.id))
missing = len(event.tiers) - completed_tiers
if missing == 0: return []
discount = min(0.5, 0.1 * missing) # more missed → bigger discount
return [
Offer(
id=f"catchup_{event.id}",
content=f"Skip remaining {missing} tiers",
price_usd=4.99 + missing * 1.5,
discount=discount,
expires=event.end_time + timedelta(days=2)
)
]
```
### Pre-event tease scheduler
```python
def schedule_tease(event_id: str, start_time):
schedule(start_time - timedelta(days=7),
lambda: send_push_all("New Operation incoming"))
schedule(start_time - timedelta(days=3),
lambda: enable_prelude_quests(event_id))
schedule(start_time,
lambda: activate_event(event_id))
schedule(start_time + timedelta(days=5),
lambda: enable_cleanup_store(event_id))
schedule(start_time + timedelta(days=7),
lambda: archive_event(event_id))
```
### Server-side wave generator (PvE Operation)
```javascript
function generateWave(tier, playerLevel) {
const compMix = ['INFANTRY', 'VEHICLE', 'AIRCRAFT'];
const waveSize = 5 + tier * 3;
const units = [];
for (let i = 0; i < waveSize; i++) {
const role = compMix[i % compMix.length];
const power = 100 * Math.pow(1.15, playerLevel - 1);
units.push({
type: role,
level: Math.min(15, playerLevel),
hp: power * roleMod(role).hp,
dps: power * roleMod(role).dps,
speed: roleMod(role).speed
});
}
return units;
}
```
## 매 결정 기준
| 상황 | Approach |
|---|---|
| New player onboarding | Easy tier 1-2, generous rewards |
| Veteran retention | Hard tier 4+ with prestige cosmetic |
| Monetization push | Premium pass with exclusive blueprint |
| Power-creep introduction | Operation tease + reward 7d before launch |
| Competitive players | Leaderboard tournament, top-1k rewards |
**기본값**: 매 weekly Operation + 매 monthly Tournament + 매 quarterly Faction Conflict.
## 🔗 Graph
- 부모: [[Live Operations (LiveOps)]]
- 응용: [[War-Commander-Combat-Ecosystem]] · [[Mobile Strike]]
- Adjacent: [[KIXEYE]] · [[Power Creep (Content Treadmills)]] · [[Dynamic Offers]]
## 🤖 LLM 활용
**언제**: Event design template, tiered reward structure 의 reference, LiveOps cadence planning.
**언제 X**: Single-player narrative games — 매 LiveOps cadence 의 mismatch.
## ❌ 안티패턴
- **No catch-up**: 매 missed players 의 churn — 매 cleanup store + extended access 필요.
- **Pay-to-win premium pass**: 매 paid track 의 power gap — 매 cosmetic + boost 의 hybrid 필요.
- **Permanent currency leaks**: 매 event currency 의 stockpile → 매 next event 의 trivial.
## 🧪 검증 / 중복
- Verified (KIXEYE WC LiveOps blog 2014-2017, community Operation guides).
- 신뢰도 A.
## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — WC Event Ops w/ tier tree + LB + cleanup store |