"매 fairness × engagement × progression의 quantitative tuning loop". 게임 밸런싱은 단순 number tweak이 아닌, player skill curve와 reward schedule을 데이터 기반으로 calibrate하는 systems engineering이다. 2026 현업은 telemetry-driven A/B + LLM-assisted simulation으로 cycle을 일/주 단위로 단축한다.
매 핵심
매 밸런싱 차원
Power balance: weapon/character/spell 의 win-rate convergence to ~50%.
Resource economy: gold/XP/material 의 inflation/sink ratio.
Difficulty curve: time-to-mastery 의 monotonic with checkpoints.
Retention D1/D7/D30, session length, churn at level X.
Gini coefficient of resource distribution.
매 응용
League of Legends 의 patch cycle (2-week) — champion winrate band [47%, 53%].
Hearthstone 의 nerf/buff 의 telemetry-driven (Vicious Syndicate stats).
Slay the Spire 의 Monte Carlo simulation 의 deck balance.
Destiny 2 의 sandbox team 의 sandbox tuning (Bungie quarterly).
💻 패턴
1. Win-rate convergence target
# Bayesian winrate estimate with priorimportnumpyasnpfromscipy.statsimportbetadefchampion_winrate(wins,losses,prior_a=50,prior_b=50):a=prior_a+winsb=prior_b+lossesmean=a/(a+b)ci_low,ci_high=beta.ppf([0.025,0.975],a,b)returnmean,(ci_low,ci_high)# Patch decision: nerf if CI bound > 0.53mean,(lo,hi)=champion_winrate(wins=12500,losses=10800)needs_nerf=lo>0.53
2. DPS / TTK calculation
deftime_to_kill(damage_per_shot,fire_rate_hz,target_hp,armor=0):effective_dps=damage_per_shot*fire_rate_hz*(1-armor)returntarget_hp/effective_dps# Weapon balance check: TTK in [0.4s, 1.2s] bandforwinweapons:ttk=time_to_kill(w.dmg,w.rpm/60,target_hp=200,armor=0.1)assert0.4<=ttk<=1.2,f"{w.name} TTK={ttk:.2f}s out of band"
defsimulate_deck(deck,opponents,n_runs=10000):wins=0for_inrange(n_runs):opp=random.choice(opponents)result=play_match(deck,opp)wins+=result=="win"returnwins/n_runs# Auto-balance: card value = marginal winrate Δ when included