--- id: wiki-2026-0508-immersive-sims-deus-ex-thief title: Immersive Sims — Deus Ex / Thief category: 10_Wiki/Topics status: verified canonical_id: self aliases: [Immersive Sim, ImSim, Looking Glass School, Systemic Design] duplicate_of: none source_trust_level: A confidence_score: 0.9 verification_status: applied tags: [game-design, immersive-sim, systemic, level-design, genre] raw_sources: [] last_reinforced: 2026-05-10 github_commit: pending tech_stack: language: design-doc framework: systemic-game-design --- # Immersive Sims — Deus Ex / Thief ## 매 한 줄 > **"매 systems × player intent = emergent solution"**. Immersive sim 은 매 Looking Glass / Ion Storm 계보 (Ultima Underworld 1992 → Thief 1998 → Deus Ex 2000 → System Shock 2 → Dishonored → Prey 2017 → Weird West 2022 → 매 2026 indie revival). 매 핵심: 매 designer 의 단일 path 의 X — 매 simulated systems 의 interaction 으로 매 player 의 own solution 의 emerge. ## 매 핵심 ### 매 pillars (Warren Spector / Harvey Smith 의 formulation) 1. **Player choice / consequence** — 매 multiple solutions per problem. 2. **Systemic interaction** — 매 fire + oil + water + electricity 의 combine. 3. **Object permanence / consistency** — 매 NPC 의 routine, 매 item 의 persistent state. 4. **Verbosity over scripting** — 매 NPC 가 매 system rules 의 obey, 매 cutscene 의 X. 5. **Diegetic UI / immersion** — 매 immersion break 의 minimize. ### 매 systemic affordances - **Stealth**: shadow, sound, line-of-sight. - **Combat**: hitbox, damage type, armor. - **Tools**: rope arrow, biomod, gloo cannon, mimic ability. - **Environment**: light switch, vent, water, electricity, fire. ### 매 응용 1. Stealth-action design (Dishonored, Hitman WoA). 2. RPG branching (Disco Elysium, Cyberpunk 2077 의 일부). 3. 0451 lineage (System Shock remake, Prey, BioShock 의 일부). 4. Indie revival (Gloomwood, Peripeteia, CYGNI: Foundation 2026). ## 💻 패턴 ### Systemic property tagging (entity-component) ```cpp struct Entity { Flags props; // FLAMMABLE | CONDUCTIVE | WET | HEAVY | ALERTABLE }; void OnFireContact(Entity& e) { if (e.props & FLAMMABLE) e.AddState(BURNING); if (e.props & ALERTABLE) e.Alert(FIRE_NEARBY); } void OnElectric(Entity& e) { if (e.props & WET && e.props & ALERTABLE) // wet creatures take more e.Damage(ELECTRIC, base * 2.0f); } ``` ### NPC schedule (Thief / Dishonored AI routine) ```python class GuardSchedule: def __init__(self): self.waypoints = [ (Pos(10, 5), "patrol", dur=4.0), (Pos(20, 5), "look_around", dur=2.0), (Pos(20, 15), "patrol", dur=4.0), (Pos(10, 15), "chat_with_other", dur=6.0), ] def tick(self, dt, world): if world.alert_level > 0: self.transition_to_search() else: self.advance_waypoint(dt) ``` ### Vision / sound stealth check ```python def detected(observer, target, world): if not has_los(observer.pos, target.pos, world): return False light = world.light_level_at(target.pos) # 0..1 cover = target.crouching * 0.4 distance_factor = clamp(1 - dist(observer, target)/observer.sight_range, 0, 1) score = light * distance_factor - cover return score > observer.detection_threshold ``` ### Multi-solution objective ```yaml objective: assassinate_target solutions: - lethal_direct: poison_drink + walk_away - lethal_indirect: rig_chandelier + cause_alarm - non_lethal: blackmail_evidence + spare_path - chaos_route: cause_riot + target_dies_in_chaos # matrix: chaos_score × notoriety_score → 매 ending branch ``` ### Property-based interaction matrix | Source \ Target | FLAMMABLE | CONDUCTIVE | WET | |---|---|---|---| | FIRE | burn | melt insulation | extinguish | | ELECTRICITY | spark→burn | propagate | shock+ | | WATER | extinguish | short-circuit | (no-op) | ## 매 결정 기준 | 상황 | Approach | |---|---| | Linear narrative game | 매 일반 scripting (imsim 의 cost 의 too high) | | Sandbox / heist / stealth | **매 imsim** — 매 systemic 의 baseline | | Multiplayer competitive | 매 imsim 의 X (consistency cost) | | RPG with branching | 매 imsim-lite (Cyberpunk 식 — 매 일부 system 만) | **기본값**: 매 4-5 systems 의 deep interaction (3+ pairs 의 emergent) > 매 20 systems 의 shallow. ## 🔗 Graph - 부모: [[Systemic_Design]] - 응용: [[Dishonored]] - Adjacent: [[Procedural-Level-Geometry]] · [[Base-Layouts-and-Kill-Zones]] · [[Biomechanics-of-Injury]] ## 🤖 LLM 활용 **언제**: 매 systemic / stealth / RPG 의 design pillar discussion, 매 player-agency 의 framework, 매 emergent gameplay 의 recipe. **언제 X**: 매 narrative-linear / cinematic action (Naughty Dog 식) — 매 imsim cost 의 burden. ## ❌ 안티패턴 - **System inflation**: 매 30+ systems 의 shallow interaction = 매 emergent X. - **Inconsistent rules**: 매 fire 가 매 어떤 oil 만 burn = 매 player trust 의 X. - **Designer's intended path bias**: 매 stealth path 만 매 reward → 매 choice 의 illusion. ## 🧪 검증 / 중복 - Verified (Spector 2000 GDC "Postmortem of Deus Ex"; Smith / Colantonio Arkane interviews 2012-2024; Looking Glass retrospective 2022). - 신뢰도 A. ## 🕓 Changelog | 날짜 | 변경 | |---|---| | 2026-05-08 | Phase 1 | | 2026-05-10 | Manual cleanup — pillar formulation, property-tagging code, multi-solution matrix |