Files
2nd/10_Wiki/Topics/Frontend/게임 경제 설계.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

221 lines
7.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: wiki-2026-0508-게임-경제-설계
title: 게임 경제 설계
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [Game Economy, Virtual Economy Design]
duplicate_of: none
source_trust_level: A
confidence_score: 0.9
verification_status: applied
tags: [game-design, economy, monetization, simulation]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
language: Python/TypeScript
framework: Unity/Unreal/Web3
---
# 게임 경제 설계
## 매 한 줄
> **"매 faucets × sinks × velocity 의 closed-loop monetary policy"**. 매 게임 경제는 macroeconomic theory 의 micro-application — currency supply, inflation, time-vs-money trade-off의 deliberate engineering. 2026 standard는 dual-currency (soft/hard) + battle-pass 의 retention engine + LiveOps telemetry loop.
## 매 핵심
### 매 핵심 component
- **Faucets** (currency 의 source): quest reward, daily login, drop, refund.
- **Sinks** (currency 의 destruction): repair cost, upgrade fee, gacha pull, marketplace tax.
- **Currencies**: soft (gold, earned) / hard (gems, paid) / event (limited).
- **Items**: consumable / equipment / cosmetic / progression-gated.
### 매 monetization model
- **F2P + IAP**: gacha, battle pass, cosmetic shop.
- **Premium + DLC**: one-time purchase + expansion.
- **Subscription**: monthly stipend + perks (FFXIV, WoW).
- **Ad-supported**: rewarded video, interstitial.
- **Web3 / play-to-earn (decline 2024-)**: NFT, token economy — sustainability issue.
### 매 응용
1. Genshin Impact 의 Primogem dual-currency + 5-star pity (90 pull).
2. Path of Exile 의 currency-as-crafting (no fixed gold) — Chaos Orb deflation.
3. EVE Online 의 player-driven economy — ISK + PLEX 의 RMT bridge.
4. Fortnite 의 V-Bucks + battle pass + item shop rotation.
## 💻 패턴
### 1. Faucet/Sink ledger
```python
from dataclasses import dataclass
from collections import defaultdict
@dataclass
class Transaction:
user_id: str
currency: str
amount: int # positive = faucet, negative = sink
source: str # "quest:daily", "sink:repair", "shop:gacha"
timestamp: float
def analyze_economy(txs: list[Transaction], window_days=7):
by_currency = defaultdict(lambda: {'faucet': 0, 'sink': 0})
for tx in txs:
key = 'faucet' if tx.amount > 0 else 'sink'
by_currency[tx.currency][key] += abs(tx.amount)
for cur, d in by_currency.items():
net = d['faucet'] - d['sink']
ratio = d['sink'] / max(d['faucet'], 1)
print(f"{cur}: net={net}, sink/faucet={ratio:.2%}")
# Healthy: ratio in [0.85, 1.05]
```
### 2. Gacha pity system
```python
class GachaPity:
def __init__(self, soft_pity=75, hard_pity=90, base_rate=0.006):
self.soft = soft_pity
self.hard = hard_pity
self.base = base_rate
self.counter = 0
def pull(self) -> bool:
self.counter += 1
if self.counter >= self.hard:
self.counter = 0
return True
rate = self.base
if self.counter >= self.soft:
# Linear ramp: 0.6% → 100% over [75, 90]
rate += (self.counter - self.soft) * (1 - self.base) / (self.hard - self.soft)
if random.random() < rate:
self.counter = 0
return True
return False
# Expected pulls to 5-star ≈ 62 (Genshin verified)
```
### 3. Battle pass progression
```typescript
type BattlePass = {
tiers: 100;
xpPerTier: 1000;
weeklyXpCap: number; // anti-burnout
premiumPrice: 950; // Primogem-equivalent
rewardValue: number; // total reward equiv-currency
};
// Healthy ratio: rewardValue / premiumPrice ∈ [1.5, 3.0]
// Engagement: median user 의 50-70% completion in 70-day cycle.
```
### 4. Inflation simulation
```python
import numpy as np
def simulate_inflation(faucet_rate, sink_rate, initial_supply, days=365):
supply = [initial_supply]
for d in range(days):
new = supply[-1] + faucet_rate - sink_rate
supply.append(max(0, new))
# CPI-equivalent: track price of standard basket
return np.array(supply)
# Target: weekly inflation < 2%, annual < 50%
```
### 5. Whale vs F2P parity check
```python
def progression_gap(whale_spend_usd, f2p_hours):
whale_progress = whale_spend_usd * SPEND_TO_PROGRESS # currency conversion
f2p_progress = f2p_hours * GRIND_RATE
return whale_progress / max(f2p_progress, 1)
# Healthy: ratio < 5x for "fair F2P"; ratio > 50x → P2W backlash
```
### 6. Marketplace tax (sink design)
```python
def list_item(seller_id, item, price):
listing_fee = price * 0.05 # 5% upfront sink
deduct_currency(seller_id, listing_fee)
create_listing(item, price)
def buy_item(buyer_id, listing):
market_tax = listing.price * 0.10 # 10% sink on sale
seller_receives = listing.price - market_tax
transfer(buyer_id, listing.seller, seller_receives)
burn_currency(market_tax) # explicit sink
```
### 7. Dynamic pricing (event-aware)
```python
def event_price(base_price, demand_multiplier, scarcity):
# demand from telemetry; scarcity 0..1
return round(base_price * demand_multiplier * (1 + scarcity))
# Limited-time skin: scarcity=1 → 2x base price acceptable
```
### 8. Cohort LTV calculation
```python
def cohort_ltv(cohort_users, days=180):
revenue = sum(u.total_spend(days) for u in cohort_users)
return revenue / len(cohort_users)
# Segments: whale (>$100/mo), dolphin ($10-100), minnow (<$10), F2P ($0)
# Healthy mobile F2P: top 1% generate 50%+ revenue (Pareto)
```
### 9. Engagement-monetization correlation
```python
import scipy.stats as stats
# Avoid extracting from disengaged users
session_minutes = [...]
spend_usd = [...]
r, p = stats.pearsonr(session_minutes, spend_usd)
# Healthy: r > 0.3 (engagement → spend), not r < 0 (whale-only burn)
```
## 매 결정 기준
| 상황 | Approach |
|---|---|
| Mobile F2P | Dual-currency + gacha + battle pass + soft pity |
| MMO | Marketplace + crafting sinks + subscription |
| Premium PC | Cosmetic shop + DLC, no gacha |
| Competitive esport | No P2W, cosmetic-only monetization |
| Live service | LiveOps event cycle + battle pass + limited shop |
| Web3 (caution) | Dual-token + sustainable yield (rare success) |
**기본값**: dual-currency + 70-day battle pass + 90-pull pity + 5-10% marketplace tax sink + telemetry-driven LiveOps.
## 🔗 Graph
- 부모: [[Game_Design]] · [[Monetization]]
- 응용: [[Game_Balancing]] · [[LiveOps]] · [[Player_Retention]]
- Adjacent: [[Behavioral_Economics]] · [[Pareto_Distribution]]
## 🤖 LLM 활용
**언제**: gacha rate sheet 설계 검토, sink/faucet ledger anomaly detection, balance hypothesis brainstorming.
**언제 X**: 최종 monetization decision (regulatory + ethical 의 designer judgment), 미성년자 gacha disclosure (법적 의무).
## ❌ 안티패턴
- **Pay-to-win** (competitive): F2P churn + whale-only retention 의 short-lived.
- **Inflation neglect**: faucet > sink 의 무관심 → currency 의 worthless.
- **Hidden gacha rates**: 법적 risk (China, Korea 의 mandated disclosure).
- **No spending limits**: 미성년자 protection 의 lack — refund + lawsuit.
- **Predatory FOMO**: limited-time + dark pattern 의 abuse — brand damage.
- **Currency proliferation**: 5+ currency 의 player confusion.
- **No data telemetry**: economy 의 blind tuning — disaster.
## 🧪 검증 / 중복
- Verified (GDC talks 2022-2025, Riot/miHoYo/Supercell economy postmortems, Deconstructor of Fun analyses).
- 신뢰도 A.
## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — game economy design full content with patterns |