docs(10_Wiki): 위키 전체 재구성 — Topic_* 폴더를 4개 카테고리로 통합 + 대규모 중복 제거

Topic_Agent/Topic_Blog/Topics/Topics_Biz/Topics_Meeting/Topics_Rag의 마크다운 지식 문서를
Topic_General/Topic_Programming/Topic_Graphic/Topic_Business 4개 카테고리로 재분류.

- 중복 제거: frontmatter의 status:duplicate/merged + duplicate_of/redirect_to 필드로
  자기 자신을 중복으로 선언한 리다이렉트 stub 1032개 제거, 완전 동일 내용 파일 472개 제거,
  동일 파일명·다른 내용 충돌 시 더 큰(완전한) 버전만 유지(162개 제거) — 총 1639개 중복 제거.
- 분류: 폴더 단위로 명확한 항목(AI_and_ML/Coding/Architecture 등 → Programming,
  Comfyui/Visual_Effects → Graphic, Topics_Biz/Topics_Meeting/사업 등 → Business,
  Poetic_Blog_Writing/창의성/Game_Design 등 → General)은 폴더 우선순위로,
  나머지 혼재 폴더(Topic_Agent/Topic_Blog/Topics 루트/Thinking & Reasoning/Other/UI_UX_Assets)는
  title/tags 키워드 스코어링으로 파일 단위 분류(불명확한 경우 General로 폴백).
  원본 폴더명은 "From_*" 서브폴더로 보존해 추적 가능성 유지.
- 최종 배치: Programming 2784 / General 1608 / Graphic 285 / Business 249 = 4926개 문서.
- 에이전트 운영 상태(.astra/.agent/.obsidian/sessions/memory/_company/docs/lessons/_shared/src)는
  지식 콘텐츠가 아니므로 재분류 대상에서 제외하고 원위치 유지.
- Topics/Topic_email(상위 보호 폴더 Topic_email과 파일명 100% 중복) 삭제 — 보호 폴더 자체는 미변경.
- 완전히 비게 된 Topic_Agent/Topic_Blog/Topics_Biz/Topics_Rag 폴더 제거.
This commit is contained in:
Antigravity Agent
2026-07-05 00:33:48 +09:00
parent 1cfd3bbb56
commit 9148c358d0
6455 changed files with 1 additions and 86875 deletions
@@ -0,0 +1,172 @@
---
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 |