132 lines
4.4 KiB
Markdown
132 lines
4.4 KiB
Markdown
---
|
||
id: wiki-2026-0508-power-creep
|
||
title: Power Creep
|
||
category: 10_Wiki/Topics
|
||
status: verified
|
||
canonical_id: self
|
||
aliases: [Power Creep, 파워 크립, 밸런스 인플레이션]
|
||
duplicate_of: none
|
||
source_trust_level: A
|
||
confidence_score: 0.9
|
||
verification_status: applied
|
||
tags: [game-design, balance, live-ops, monetization]
|
||
raw_sources: []
|
||
last_reinforced: 2026-05-10
|
||
github_commit: pending
|
||
tech_stack:
|
||
language: design
|
||
framework: live-ops
|
||
---
|
||
|
||
# Power Creep
|
||
|
||
## 매 한 줄
|
||
> **"매 새 content는 매 old content보다 강해야 매 sells"**. Power creep은 매 live-service game에서 매 신규 unit/card/weapon이 매 기존보다 점진적으로 강해지는 매 balance drift 현상. 매 monetization pressure와 매 player engagement 사이 매 tension에서 발생.
|
||
|
||
## 매 핵심
|
||
|
||
### 매 발생 mechanism
|
||
- **매 economic incentive**: 매 신규 hero pull 유도 위해 매 stronger stats 부여.
|
||
- **매 numeric inflation**: 매 HP/DMG 절댓값이 매 patch마다 매 5–15% 상승.
|
||
- **매 ability complexity**: 매 신규 unit이 매 더 많은 keyword (cleave + lifesteal + immunity).
|
||
- **매 retroactive obsolescence**: 매 old roster가 매 PvE/PvP에서 매 unviable.
|
||
|
||
### 매 증상 vs 매 healthy iteration
|
||
- **Creep**: 매 new > old (strict dominance) → roster 축소.
|
||
- **Sidegrade**: 매 new ≠ old (matchup-dependent) → roster 확장.
|
||
- **매 Rotation**: 매 old를 매 explicitly retire (Hearthstone Standard).
|
||
|
||
### 매 응용
|
||
1. Hearthstone Standard rotation (yearly Set retire).
|
||
2. Genshin Impact 5-star sidegrade (element-niche).
|
||
3. League of Legends VGU + item rework.
|
||
|
||
## 💻 패턴
|
||
|
||
### Numeric drift detection
|
||
```python
|
||
# Patch-over-patch stat inflation tracker
|
||
import pandas as pd
|
||
|
||
def detect_creep(units_df: pd.DataFrame, baseline_patch: str) -> pd.DataFrame:
|
||
base = units_df[units_df.patch == baseline_patch].set_index("name")
|
||
latest = units_df.groupby("name").last()
|
||
delta = (latest[["hp", "dmg"]] - base[["hp", "dmg"]]) / base[["hp", "dmg"]]
|
||
return delta[(delta.hp > 0.1) | (delta.dmg > 0.1)].sort_values("dmg", ascending=False)
|
||
```
|
||
|
||
### Sidegrade design constraint
|
||
```python
|
||
# Enforce no strict dominance in unit pool
|
||
def is_sidegrade(new_unit, pool):
|
||
for old in pool:
|
||
dominated = all(getattr(new_unit, s) >= getattr(old, s) for s in ["hp", "dmg", "speed"])
|
||
strictly = any(getattr(new_unit, s) > getattr(old, s) for s in ["hp", "dmg", "speed"])
|
||
if dominated and strictly:
|
||
return False
|
||
return True
|
||
```
|
||
|
||
### Rotation calendar
|
||
```yaml
|
||
# rotation.yaml — Standard format
|
||
sets:
|
||
- name: Core
|
||
rotates: never
|
||
- name: Eternal_2024
|
||
rotates: 2026-Q3
|
||
- name: Voyage_2025
|
||
rotates: 2027-Q3
|
||
```
|
||
|
||
### Catch-up mechanic
|
||
```python
|
||
# Older units gain free re-tuning each major patch
|
||
def catchup_buff(unit, age_patches):
|
||
if age_patches >= 4 and unit.pickrate < 0.02:
|
||
unit.dmg = round(unit.dmg * 1.08)
|
||
```
|
||
|
||
### ELO-weighted balance
|
||
```python
|
||
# Buff units underperforming at high ELO only
|
||
def needs_buff(stats):
|
||
return stats.high_elo_winrate < 0.47 and stats.low_elo_winrate > 0.50
|
||
```
|
||
|
||
## 매 결정 기준
|
||
| 상황 | Approach |
|
||
|---|---|
|
||
| Live PvP game | Sidegrade + rotation |
|
||
| Gacha PvE | Controlled creep + catch-up banners |
|
||
| Collectible TCG | Annual Standard rotation |
|
||
| Single-player RPG | Creep OK (no competitive frame) |
|
||
|
||
**기본값**: Sidegrade design + 매 rotation/catch-up safety net.
|
||
|
||
## 🔗 Graph
|
||
- 부모: [[Game-Balance]] · [[Live-Ops]]
|
||
- 변형: [[Sidegrade-Design]] · [[Rotation-Format]] · [[Catch-Up-Mechanic]]
|
||
- 응용: [[Hearthstone]] · [[Genshin-Impact]] · [[League-of-Legends]]
|
||
- Adjacent: [[Monetization]] · [[Retention-Curve]] · [[Meta-Game]]
|
||
|
||
## 🤖 LLM 활용
|
||
**언제**: balance patch note 분석, stat-drift detection, 매 design review.
|
||
**언제 X**: 매 single-player narrative game (creep is acceptable).
|
||
|
||
## ❌ 안티패턴
|
||
- **매 Mudflation 무시**: 매 절댓값 inflation을 매 무한 허용.
|
||
- **매 Pay-to-skip-only-creep**: 매 신규 unit을 매 paywall 뒤에서만 강하게.
|
||
- **매 No retire path**: 매 old roster를 매 영구 obsolete 상태로 방치.
|
||
- **매 매 patch마다 power 5%↑**: 매 compound inflation으로 매 design space 고갈.
|
||
|
||
## 🧪 검증 / 중복
|
||
- Verified (Schreiber & Romero "Game Balance" 2021, Riot dev blogs 2024–2025).
|
||
- 신뢰도 A.
|
||
|
||
## 🕓 Changelog
|
||
| 날짜 | 변경 |
|
||
|---|---|
|
||
| 2026-05-08 | Phase 1 |
|
||
| 2026-05-10 | Manual cleanup — power creep mechanism + sidegrade/rotation patterns |
|