"매 죽으면 끝, 매 잃으면 영영". 매 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
Scope: full character / one run / one item / one decision.
Forewarning: 매 명확히 표시 vs 매 surprise (anti-pattern).
Mitigation: 매 backup, mercy mechanic, save point.
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
// 매 client 의 죽음 신호 의 신뢰 X → server validation
asyncfunctiononPlayerDeath(playerId: string,ctx: DeathContext){constvalid=awaitvalidateDeath(playerId,ctx);// 매 hit log + position trace
if(!valid)returnban(playerId,"fake-death-exploit");awaitdb.tx(async(t)=>{awaitt.character.update(playerId,{status:"DEAD",died_at: now()});awaitt.inventory.transfer(playerId,lootDropPool(ctx));// 매 drop on ground
awaitt.audit.log({type:"PERMADEATH",playerId,ctx});});emit("character_lost",{playerId});}
Meta-progression (roguelite)
typeRunState={hp: number;items: Item[];floor: number};typeMetaState={soulCurrency: number;unlocks: Set<string>};functionendRun(run: RunState,meta: MetaState,died: boolean):MetaState{constearned=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)
classIronmanSave{asynccommit(state: GameState){// 매 atomic write, no quicksave, no branching
awaitfs.writeFile(this.path+".tmp",serialize(state));awaitfs.rename(this.path+".tmp",this.path);}// 매 load → if dead: archive + new game forced
}
Insurance / partial recovery (EVE-style)
functiononShipDestroyed(ship: Ship,owner: PlayerId){constinsured=lookupInsurance(ship.id);constpayout=insured?ship.hullValue*insured.coverage : 0;// 매 fittings/cargo 는 lost (변경 불가)
pay(owner,payout);destroy(ship);}
언제: 매 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).