Files
2nd/10_Wiki/Topics/Other/위험과 보상(Risks and Rewards).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

173 lines
6.4 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-위험과-보상-risks-and-rewards
title: 위험과 보상(Risks and Rewards)
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [Risk-Reward, R&R Curve, 리스크 리워드]
duplicate_of: none
source_trust_level: A
confidence_score: 0.9
verification_status: applied
tags: [game-design, economy, risk-reward, decision-making]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
language: typescript
framework: unity-csharp
---
# 위험과 보상(Risks and Rewards)
## 매 한 줄
> **"매 player choice 매 risk-reward tension 의 산물"**. 매 1980s arcade era (Pac-Man power pellet hunt, Galaga fighter capture) 부터 매 2026 modern roguelite (Hades heat system, Balatro stake escalation) 까지 매 동일한 design pillar 의 작동 — 매 player 에게 매 "더 큰 reward 의 위해 매 더 큰 risk 매 감수할 것인가?" 의 매 질문 의 제시.
## 매 핵심
### 매 R&R curve shape
- **매 linear**: risk 2배 = reward 2배. 매 보장적 매 boring.
- **매 convex (accelerating)**: risk 2배 = reward 4배+. 매 high-skill push 매 보상.
- **매 concave (diminishing)**: risk 2배 = reward 1.3배. 매 conservative play 매 우대.
- **매 step function**: threshold 매 도달 시 매 jump. 매 commitment 매 design.
### 매 expected value (EV) framework
- EV = Σ(outcome × probability)
- 매 design goal: 매 EV(risky) > EV(safe) by ~10-20% 매. 매 너무 크면 매 risk 매 obvious choice. 매 너무 작으면 매 risk 매 trap.
- 매 variance 매 player perception 의 영향 — 매 same EV 라도 매 high-variance 매 더 위험적 매 felt.
### 매 응용
1. 매 Hades heat: +1 heat = run 의 +X% 의 어려움, +Y% 의 reward bonus. 매 player chooses pace.
2. 매 Balatro stake: ante 매 escalation curve 매 explicit risk dial.
3. 매 Diablo 4 Pit tier: timer 매 압박 의 high-tier 매 push 시 매 huge loot.
4. 매 PoE Atlas: map mods (more rare/magic) 매 increase difficulty + drop quality.
5. 매 Tarkov raid: extract early (safe loot) vs hunt boss (rare items, PvP risk).
## 💻 패턴
### Linear vs convex reward curve
```typescript
// Linear: predictable, low excitement
const linearReward = (risk: number) => 100 * risk;
// Convex: high-skill players get exponential reward
const convexReward = (risk: number) => 100 * Math.pow(risk, 1.6);
// Concave: protect casual players from punishment-snowball
const concaveReward = (risk: number) => 100 * Math.pow(risk, 0.7);
// Step: clear "go/no-go" decisions
const stepReward = (risk: number) =>
risk < 0.3 ? 50 : risk < 0.7 ? 200 : 1000;
```
### Expected value calculator
```typescript
type Outcome = { value: number; probability: number };
function expectedValue(outcomes: Outcome[]): number {
return outcomes.reduce((sum, o) => sum + o.value * o.probability, 0);
}
// Design check: risky path should EV-dominate by 10-20%
const safe: Outcome[] = [{ value: 100, probability: 1.0 }];
const risky: Outcome[] = [
{ value: 300, probability: 0.4 },
{ value: 0, probability: 0.6 },
];
console.log(expectedValue(safe)); // 100
console.log(expectedValue(risky)); // 120 — 20% premium for variance
```
### Variance-aware reward
```typescript
// Risk-averse player simulation: subtract σ * λ from EV
function utility(outcomes: Outcome[], lambda = 0.3): number {
const ev = expectedValue(outcomes);
const variance = outcomes.reduce(
(s, o) => s + o.probability * (o.value - ev) ** 2, 0
);
return ev - lambda * Math.sqrt(variance);
}
```
### Hades heat system pattern
```csharp
public class HeatModifier {
public string Name;
public float DifficultyDelta; // +0.15 enemy HP
public float RewardMultiplier; // +0.10 darkness
}
public class RunConfig {
public List<HeatModifier> Active = new();
public float TotalReward => 1f + Active.Sum(h => h.RewardMultiplier);
public float TotalDifficulty => 1f + Active.Sum(h => h.DifficultyDelta);
// Player picks which axis to dial: more enemies vs tougher boss vs less heal
}
```
### Push-your-luck (Balatro/Slay the Spire elite)
```typescript
class PushYourLuck {
pot = 0;
rounds = 0;
bustChance = 0.15;
step() {
this.rounds++;
this.bustChance += 0.05; // escalating
if (Math.random() < this.bustChance) return { result: "bust", payout: 0 };
this.pot += 100 * Math.pow(1.4, this.rounds);
return { result: "continue", pot: this.pot };
}
cashOut() { return { result: "cashed", payout: this.pot }; }
}
```
### Asymmetric punishment (Tarkov-style)
```typescript
// Death = lose carried gear; success = keep + bonus
function raidOutcome(survived: boolean, lootValue: number, gearValue: number) {
return survived ? { net: lootValue } : { net: -gearValue };
}
// Design: gearValue ≈ 0.5 * expected lootValue (so EV stays positive but tense)
```
## 매 결정 기준
| 상황 | Approach |
|---|---|
| 매 player skill 매 wide range | concave curve (cap snowball) |
| 매 high-skill audience (roguelike vet) | convex curve |
| 매 binary commit decisions | step function |
| 매 short session loop | step (clear payoff) |
| 매 long session escalation | continuous + variance |
**기본값**: 매 mildly convex (exponent ~1.3-1.5) + 매 EV premium 매 15% 매 risky path 의 매 적용.
## 🔗 Graph
- 부모: [[Game Economy]] · [[Decision Making]]
- 변형: [[위험과 보상 구조(Structures of Risks and Rewards)]]
- 응용: [[핀치 포인트(Pinch Point)]]
- Adjacent: [[Loss Aversion]]
## 🤖 LLM 활용
**언제**: 매 economy / progression / encounter 매 design 시 매 player choice tension 의 calibrate 시.
**언제 X**: 매 narrative-only 매 walking sim (no choice stakes) — 매 R&R framework 매 misapplied.
## ❌ 안티패턴
- **매 risk without reward**: 매 die 시 매 lose progress, 매 win 시 매 nothing extra. 매 player 매 leave.
- **매 reward without risk**: 매 free 의 grind 의 best gear. 매 boring.
- **매 hidden EV**: 매 player 매 calculate 의 X. 매 trap design (slot machine illusion) — 매 ethical 의 X.
- **매 binary cliff**: 매 EV jump 매 too sharp 매 → 매 only one viable path.
## 🧪 검증 / 중복
- Verified (Schell *Art of Game Design*, Adams *Fundamentals of Game Design*).
- 매 modern roguelite 매 case studies (Hades, Balatro, Slay the Spire).
- 신뢰도 A.
## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — R&R curve types + EV framework + working code patterns |