Files
2nd/10_Wiki/Topics/AI_and_ML/월드 오브 워크래프트(World of Warcraft).md
T
Antigravity Agent f8b21af4be Wiki cleanup: error-doc removal, dedup merge, link normalization
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>
2026-05-20 23:52:15 +09:00

5.6 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-월드-오브-워크래프트-world-of-warcraft 월드 오브 워크래프트(World of Warcraft) 10_Wiki/Topics verified self
WoW
World of Warcraft
Blizzard MMO
none A 0.9 applied
mmo
game-design
blizzard
case-study
retention
2026-05-10 pending
language framework
lua wow-addon-api

월드 오브 워크래프트 (World of Warcraft)

매 한 줄

"매 21년 운영 = endgame loop의 끊임없는 reinvention". 2004 출시 후 2026 현재까지 11개 expansion (가장 최근: The War Within → Midnight 예정), MAU 가 격감과 부활의 cycle 을 반복하면서도 살아남은 이유는 raid · M+ dungeon · arena · classic re-release 의 4-pronged endgame, 그리고 LFG / cross-realm / WoW Token 같은 retention infra 에 있다.

매 핵심

매 endgame pillars

  • Raid: 8-man (Heroic) / 20-man (Mythic) 보스 progression — tier set, mythic-only mounts.
  • Mythic+ Dungeon: scalable 5-man, weekly chest, leaderboard (raider.io ecosystem).
  • PvP Arena & Battleground: rated ladder, gear vendor.
  • Open-world: world quest, delve (solo), profession.

매 retention infrastructure

  • LFG/LFR (2010-2011) — queue-based grouping, 평등주의.
  • WoW Token (2015) — gold ↔ subscription 전환, RMT 합법화.
  • Cross-realm zone (2012) — 인구 부족 서버 통합.
  • Classic / Hardcore (2019/2023) — nostalgia-driven 재출시.

매 응용

  1. MMO 디자인 reference — endgame multi-loop.
  2. Live ops — patch/expansion cadence (~2y).
  3. 플레이어 정체 회복 — reset-style season (Dragonflight S1+).

💻 패턴

Item level scaling formula (단순화)

-- 보상 ilvl 계산: M+ key level → loot ilvl
local function MythicPlusLootIlvl(keyLevel)
    local base = 480 -- season 1 baseline
    local cap  = 522 -- weekly vault cap
    if keyLevel <  2 then return base end
    if keyLevel >= 10 then return cap end
    return base + (keyLevel - 2) * 5
end

Combat log parser (DPS meter 기본)

local f = CreateFrame("Frame")
f:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
f:SetScript("OnEvent", function()
    local _, sub, _, _, src, _, _, _, dst, _, _,
          a1, a2, a3 = CombatLogGetCurrentEventInfo()
    if sub == "SPELL_DAMAGE" or sub == "SWING_DAMAGE" then
        local amount = (sub == "SWING_DAMAGE") and a1 or a4
        DPS[src] = (DPS[src] or 0) + (amount or 0)
    end
end)

Mythic+ key generator (server)

import random, dataclasses
DUNGEONS = ["Atal'Dazar","Halls of Infusion","Throne of Tides", ...]
AFFIXES = {2:"Tyrannical/Fortified",4:"Sanguine",7:"Spiteful",10:"Xal'atath"}

@dataclasses.dataclass
class MythicKey:
    dungeon: str; level: int; affixes: list[str]

def downgrade_or_award(prev: MythicKey, completed_in_time: bool, depleted: bool):
    if completed_in_time:
        return MythicKey(prev.dungeon, prev.level + (1 if completed_in_time else 0), AFFIXES_FOR(prev.level+1))
    return MythicKey(random.choice(DUNGEONS), max(2, prev.level - 1), AFFIXES_FOR(prev.level-1))

Tier set bonus (set bonus state machine)

local SET_BONUS_2P = "Increase damage of Frostbolt by 10%"
local SET_BONUS_4P = "Frostbolt has 20% chance to reset Frozen Orb cooldown"

local function CountTierPieces()
    local n = 0
    for slot=1,16 do
        if IsTierItem(GetInventoryItemID("player", slot)) then n=n+1 end
    end
    return n
end

Weekly vault (3 sources)

# Player picks 1 reward from up to 9 options across 3 categories
def weekly_vault(player):
    return {
        "mplus":   top_n(player.mplus_runs,    n=3, key=lambda r: r.key_level),
        "raid":    top_n(player.raid_kills,    n=3, key=lambda k: k.difficulty),
        "pvp":     top_n(player.pvp_honor,     n=3, key=lambda p: p.tier),
    }

Cross-realm zone matcher

def assign_phase(player, zone_id):
    bucket = hash((zone_id, player.region, player.faction)) % 50
    population = phase_populations.get((zone_id, bucket), 0)
    if population >= 80:  # soft cap
        bucket = (bucket + 1) % 50
    return (zone_id, bucket)

매 결정 기준

상황 Approach
신규 player onboarding Chromie Time + level squish (60 cap → fast-track).
Endgame casual Delve (solo) + LFR.
Endgame mid Heroic raid + M+5-12.
Hardcore Mythic raid + M+15+ + Arena 2400+.
정체 player Classic / Hardcore / SoD 로 retention 회복.

기본값: 2년 expansion cycle · 4 raid tier per expansion · seasonal reset (M+ affix rotation).

🔗 Graph

🤖 LLM 활용

언제: MMO endgame design 분석, raid encounter mechanic 설명, 클래스 spec rotation 코드 (luas). 언제 X: 매 patch-specific math (tier set coefficient) — 변동성 너무 큼, simC / Bloodmallet 데이터 직접 조회 권장.

안티패턴

  • Borrowed power 의 횡포 (BfA azerite): 매 expansion 마다 reset → 누적감 박탈.
  • Time-gated 일일 quest: 출석 체크 강요 → burnout.
  • Dual-spec 비용: 매 swap 비용 = 실험 차단. (현재 free spec 으로 fix 됨)
  • Pay-to-win RMT: WoW Token 으로 회색지대 (gold → BoE gear).

🧪 검증 / 중복

  • Verified (Blizzard patch notes 2004-2026, raider.io API, wowhead).
  • 신뢰도 A — 21년 누적 디자인 자료.

🕓 Changelog

날짜 변경
2026-05-08 Phase 1
2026-05-10 Manual cleanup — WoW MMO design case study