f8b21af4be
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>
173 lines
6.3 KiB
Markdown
173 lines
6.3 KiB
Markdown
---
|
|
id: wiki-2026-0508-핀치-포인트-pinch-point
|
|
title: 핀치 포인트(Pinch Point)
|
|
category: 10_Wiki/Topics
|
|
status: verified
|
|
canonical_id: self
|
|
aliases: [Pinch Point, Story Pinch, Tension Pinch, 핀치]
|
|
duplicate_of: none
|
|
source_trust_level: A
|
|
confidence_score: 0.9
|
|
verification_status: applied
|
|
tags: [narrative, story-structure, pacing, screenwriting, game-narrative]
|
|
raw_sources: []
|
|
last_reinforced: 2026-05-10
|
|
github_commit: pending
|
|
tech_stack:
|
|
language: markdown
|
|
framework: narrative-design
|
|
---
|
|
|
|
# 핀치 포인트(Pinch Point)
|
|
|
|
## 매 한 줄
|
|
> **"매 protagonist 의 antagonist 매 force 매 reminder beat"**. 매 Larry Brooks *Story Engineering* (2011), Syd Field 매 paradigm 매 elaboration. 매 3-act / 4-part structure 의 두 핀치 (Pinch 1 ~37%, Pinch 2 ~62%) 매 reader 매 stakes 의 reinforce + 매 hero 매 vulnerability 의 expose.
|
|
|
|
## 매 핵심
|
|
|
|
### 매 위치 / 매 function
|
|
- **Pinch 1 (~37% mark)**: 매 first half 매 의 antagonistic force 의 의 의 reminder. 매 protagonist 매 still 매 reactive.
|
|
- **Pinch 2 (~62% mark)**: 매 protagonist 매 proactive shift 의 직전. 매 highest 매 stakes-reveal 의 the moment.
|
|
- 매 Brooks 의 4-part 의 → Part 1 (setup), Part 2 (response), Part 3 (attack), Part 4 (resolution). 매 pinch 매 Part 2/3 의 의 anchor.
|
|
|
|
### 매 game narrative 의 매 mapping
|
|
- 매 RPG act break / boss reveal moment 매 typical pinch.
|
|
- 매 mid-game antagonist 매 "true power" 매 reveal scene.
|
|
- 매 ally betrayal / death 의 stakes 의 raise.
|
|
- 매 player 매 "of course this enemy 매 still 매 dangerous" 의 의 reminder.
|
|
|
|
### 매 응용
|
|
1. 매 *Star Wars: A New Hope* — Pinch 1: Death Star demonstrates power on Alderaan. Pinch 2: Obi-Wan 의 death.
|
|
2. 매 *Lord of the Rings: Fellowship* — Pinch 1: Nazgûl on Weathertop. Pinch 2: Balrog / Gandalf falls.
|
|
3. 매 *Hades (game)* — 매 Hades 본인 매 throne room reveal 매 mid-run pinch.
|
|
4. 매 *Final Fantasy 7* — Aerith 의 death (mid-game pinch).
|
|
5. 매 TV serials (*Breaking Bad* season midpoints) 매 동일한 beat 의 의 사용.
|
|
|
|
## 💻 패턴
|
|
|
|
### Story beat sheet (markdown template)
|
|
```markdown
|
|
## Act Structure with Pinch Points
|
|
|
|
| % | Beat | Function |
|
|
|---|------|----------|
|
|
| 1% | Hook | Open question |
|
|
| 12% | Inciting Incident | Disturb status quo |
|
|
| 25% | Plot Point 1 | Hero commits |
|
|
| **37%** | **Pinch Point 1** | Antagonist shows force |
|
|
| 50% | Midpoint | Information shift |
|
|
| **62%** | **Pinch Point 2** | Stakes raised; hero vulnerable |
|
|
| 75% | Plot Point 2 | All-is-lost / proactive shift |
|
|
| 90% | Climax | Final confrontation |
|
|
| 99% | Resolution | New equilibrium |
|
|
```
|
|
|
|
### Game pinch trigger logic
|
|
```typescript
|
|
type StoryProgress = { actPercent: number; flagsSet: string[] };
|
|
|
|
function checkPinchTriggers(p: StoryProgress): string | null {
|
|
if (p.actPercent >= 0.37 && !p.flagsSet.includes("pinch1")) {
|
|
return "TRIGGER_PINCH_1"; // antagonist demonstration cutscene
|
|
}
|
|
if (p.actPercent >= 0.62 && !p.flagsSet.includes("pinch2")) {
|
|
return "TRIGGER_PINCH_2"; // ally death / power reveal
|
|
}
|
|
return null;
|
|
}
|
|
```
|
|
|
|
### Tension curve modeling
|
|
```python
|
|
import numpy as np
|
|
import matplotlib.pyplot as plt
|
|
|
|
def tension_curve(beats: dict[float, float]) -> np.ndarray:
|
|
"""beats: {percent: tension_level 0-1}. Interpolated curve."""
|
|
xs = np.array(sorted(beats.keys()))
|
|
ys = np.array([beats[x] for x in xs])
|
|
grid = np.linspace(0, 1, 100)
|
|
return np.interp(grid, xs, ys)
|
|
|
|
beats = {
|
|
0.0: 0.1, 0.12: 0.3, 0.25: 0.5,
|
|
0.37: 0.65, # pinch 1
|
|
0.50: 0.55, # brief reprieve
|
|
0.62: 0.80, # pinch 2 — higher than pinch 1
|
|
0.75: 0.95,
|
|
0.90: 1.00,
|
|
1.0: 0.2,
|
|
}
|
|
curve = tension_curve(beats)
|
|
```
|
|
|
|
### Pinch beat checklist (writers' tool)
|
|
```typescript
|
|
interface PinchBeat {
|
|
position: 1 | 2;
|
|
showsAntagonistPower: boolean;
|
|
protagonistVulnerable: boolean;
|
|
raisesStakes: boolean;
|
|
thematicEcho: string; // ties to central theme
|
|
doesNotResolve: boolean; // pinch ≠ midpoint resolution
|
|
}
|
|
|
|
function validatePinch(b: PinchBeat): string[] {
|
|
const errs: string[] = [];
|
|
if (!b.showsAntagonistPower) errs.push("Pinch must show antagonist force");
|
|
if (!b.protagonistVulnerable) errs.push("Hero must feel threatened");
|
|
if (!b.raisesStakes) errs.push("Stakes must escalate vs prior beat");
|
|
if (!b.doesNotResolve) errs.push("Pinch must NOT resolve the conflict");
|
|
return errs;
|
|
}
|
|
```
|
|
|
|
### Quest-graph pinch slot (RPG design)
|
|
```typescript
|
|
type QuestNode = { id: string; tag: "setup" | "pinch1" | "midpoint" | "pinch2" | "climax" };
|
|
|
|
const mainline: QuestNode[] = [
|
|
{ id: "intro_village", tag: "setup" },
|
|
{ id: "first_dungeon", tag: "setup" },
|
|
{ id: "antagonist_wipes_town", tag: "pinch1" },
|
|
{ id: "midgame_revelation", tag: "midpoint" },
|
|
{ id: "mentor_dies", tag: "pinch2" },
|
|
{ id: "final_assault", tag: "climax" },
|
|
];
|
|
```
|
|
|
|
## 매 결정 기준
|
|
| 상황 | 사용 |
|
|
|---|---|
|
|
| 매 3-act feature script | 2 pinches at 37% / 62% |
|
|
| 매 short story / one-act | 1 pinch around 60% |
|
|
| 매 long-form novel (60+ chapters) | multi-pinch (per act) |
|
|
| 매 RPG main quest | pinch beats anchored to act breaks |
|
|
| 매 TV episode (~22min) | 1 mini-pinch ~act break 2 |
|
|
|
|
**기본값**: 매 ~37% / ~62% 의 의 두 pinch 매 placement, 매 adapt 의 의 length 의 .
|
|
|
|
## 🔗 Graph
|
|
- 응용: [[위험과 보상(Risks and Rewards)]]
|
|
- Adjacent: [[Tension Curve]]
|
|
|
|
## 🤖 LLM 활용
|
|
**언제**: 매 narrative game / screenplay / novel 의 의 outline 시, 매 mid-act 매 pacing slump 의 fix 시.
|
|
**언제 X**: 매 systemic / sandbox 매 narrative-light 매 game (Minecraft, factory sims) — 매 forced pinch 매 awkward.
|
|
|
|
## ❌ 안티패턴
|
|
- **매 pinch 매 = 매 midpoint**: 매 confused. 매 pinch 매 reminder, 매 midpoint 매 information shift.
|
|
- **매 resolved pinch**: 매 pinch 매 의 의 antagonist force 매 defeated 시 매 → 매 stakes collapse.
|
|
- **매 flat pinches**: 매 두 pinch 매 same intensity → 매 escalation 의 의 의 X.
|
|
- **매 telegraph 매 X**: 매 pinch 매 의 의 의 surprise 매 의 의 의 의 의 의 의 의, 매 setup 매 weak 시 매 cheap.
|
|
|
|
## 🧪 검증 / 중복
|
|
- Verified (Brooks *Story Engineering*, Field *Screenplay*, Snyder *Save the Cat*, Truby *The Anatomy of Story*).
|
|
- 신뢰도 A.
|
|
|
|
## 🕓 Changelog
|
|
| 날짜 | 변경 |
|
|
|---|---|
|
|
| 2026-05-08 | Phase 1 |
|
|
| 2026-05-10 | Manual cleanup — pinch positions + game-mapping + tension curve code + checklist |
|