--- id: wiki-2026-0508-permanent-loss title: Permanent Loss category: 10_Wiki/Topics status: verified canonical_id: self aliases: [permadeath, irreversible loss, hard mode] duplicate_of: none source_trust_level: A confidence_score: 0.85 verification_status: applied tags: [game-design, mechanics, roguelike, risk] raw_sources: [] last_reinforced: 2026-05-10 github_commit: pending tech_stack: language: design framework: game-design --- # Permanent Loss ## 매 한 줄 > **"매 죽으면 끝, 매 잃으면 영영"**. 매 game / system 디자인에서 진행/asset/character의 회복 불가 상태. 매 roguelike permadeath, EVE Online ship loss, hardcore Diablo, blockchain key loss 까지 매 동일한 인지적 무게의 변형. ## 매 핵심 ### 매 왜 만드나 - **긴장감 / stakes**: 매 모든 결정에 무게. - **진정한 economy**: 매 sink 가 있어야 inflation 억제 (EVE). - **Earned mastery**: 매 회복 불가 → 매 학습이 진짜. - **Story permanence**: 매 동료 사망의 emotional weight (XCOM, Fire Emblem classic). ### 매 비용 - 매 churn 위험 — 매 casual 이탈. - 매 cheating / exploit incentive 폭증. - 매 server-side validation 필수. - 매 onboarding 이 가혹. ### 매 design dial 1. **Scope**: full character / one run / one item / one decision. 2. **Forewarning**: 매 명확히 표시 vs 매 surprise (anti-pattern). 3. **Mitigation**: 매 backup, mercy mechanic, save point. 4. **Recovery curve**: 매 전부 잃나, 매 일부 carry-over (meta-progression). ### 매 modern hybrid (2026) - **Roguelite**: 매 run-level perma + meta progression (Hades, Dead Cells). - **Soft permadeath**: 매 character 죽으면 sealed save (Hardcore Diablo IV Season). - **Insurance**: 매 EVE 의 ship 보험 → 매 partial loss. - **Optional ironman mode**: 매 player choice. ## 💻 패턴 ### Server-authoritative perma-death ```ts // 매 client 의 죽음 신호 의 신뢰 X → server validation async function onPlayerDeath(playerId: string, ctx: DeathContext) { const valid = await validateDeath(playerId, ctx); // 매 hit log + position trace if (!valid) return ban(playerId, "fake-death-exploit"); await db.tx(async (t) => { await t.character.update(playerId, { status: "DEAD", died_at: now() }); await t.inventory.transfer(playerId, lootDropPool(ctx)); // 매 drop on ground await t.audit.log({ type: "PERMADEATH", playerId, ctx }); }); emit("character_lost", { playerId }); } ``` ### Meta-progression (roguelite) ```ts type RunState = { hp: number; items: Item[]; floor: number }; type MetaState = { soulCurrency: number; unlocks: Set }; function endRun(run: RunState, meta: MetaState, died: boolean): MetaState { const earned = run.items.length * 10 + run.floor * 25; return { soulCurrency: meta.soulCurrency + earned, // 매 carry over unlocks: meta.unlocks, // 매 영구 unlock }; // 매 run.items / run.hp 는 discard } ``` ### Ironman save (single slot, no rewind) ```ts class IronmanSave { async commit(state: GameState) { // 매 atomic write, no quicksave, no branching await fs.writeFile(this.path + ".tmp", serialize(state)); await fs.rename(this.path + ".tmp", this.path); } // 매 load → if dead: archive + new game forced } ``` ### Insurance / partial recovery (EVE-style) ```ts function onShipDestroyed(ship: Ship, owner: PlayerId) { const insured = lookupInsurance(ship.id); const payout = insured ? ship.hullValue * insured.coverage : 0; // 매 fittings/cargo 는 lost (변경 불가) pay(owner, payout); destroy(ship); } ``` ### Forewarning UI ```tsx function HardcoreDoor({ onEnter }: Props) { return (

매 Hardcore Zone

매 이 곳에서 죽으면 character 가 영구 삭제됩니다.

매 backup 불가, revive 불가.

매 입장
); } ``` ## 매 결정 기준 | 상황 | Approach | |---|---| | 매 core loop 의 stakes 필요 | Run-level perma (roguelite) | | 매 economy sink 필요 | Item/ship perma + insurance | | 매 narrative weight | Ally permadeath (warned) | | 매 wide audience | Optional ironman, default soft | | 매 PvP MMO | Item drop on death, server auth | **기본값**: 매 roguelite 형 (run perma + meta progression) — 매 stakes ↑, 매 churn ↓ 의 balance. ## 🔗 Graph - 부모: [[Game Design]] · [[Risk-Reward]] - 변형: [[Permadeath]] - 응용: [[EVE Online]] - Adjacent: [[Loss Aversion]] ## 🤖 LLM 활용 **언제**: 매 design 이 진정한 stakes 와 economic sink 를 요구. 매 mastery curve 가 핵심 fantasy. **언제 X**: 매 mass-market casual / story-driven linear / 매 multiplayer cooperative low-skill audience. ## ❌ 안티패턴 - **Surprise perma**: 매 사용자가 모르고 죽음 → 매 review bomb 보장. - **Cloud save abuse 가능**: 매 client save → 매 backup 으로 negate. - **Perma without sink design**: 매 lost item 의 가치 없으면 매 의미 없음. - **No mercy at onset**: 매 tutorial 부터 perma → 매 funnel 붕괴. ## 🧪 검증 / 중복 - Verified (GDC talks on roguelikes, EVE economist reports, Hades post-mortem). - 신뢰도 A. ## 🕓 Changelog | 날짜 | 변경 | |---|---| | 2026-05-08 | Phase 1 | | 2026-05-10 | Manual cleanup — permadeath dials + server-auth patterns |