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>
6.4 KiB
6.4 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-war-commander-event-operations | War Commander Event Operations | 10_Wiki/Topics | verified | self |
|
none | A | 0.85 | applied |
|
2026-05-10 | pending |
|
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
- Tease (T-7d): cinematic + dev blog.
- Prelude (T-3d): pre-quests, login bonus.
- Main (T0-T+5d): tiered objectives.
- Cleanup (T+5d-T+7d): catch-up store, last-chance IAP.
- 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
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)
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)
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
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)
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 |