Files
puzzle-design-kb/book/puzzles/distraction-physics.html
2026-03-18 15:09:24 -07:00

581 lines
52 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE HTML>
<html lang="en" class="light sidebar-visible" dir="ltr">
<head>
<!-- Book generated using mdBook -->
<meta charset="UTF-8">
<title>NPC Distraction Physics - Puzzle Design Knowledge Base</title>
<!-- Custom HTML head -->
<meta name="description" content="A taxonomy of puzzle design patterns from classic point-and-click adventure games">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff">
<link rel="icon" href="../favicon-de23e50b.svg">
<link rel="shortcut icon" href="../favicon-8114d1fc.png">
<link rel="stylesheet" href="../css/variables-8adf115d.css">
<link rel="stylesheet" href="../css/general-2459343d.css">
<link rel="stylesheet" href="../css/chrome-ae938929.css">
<link rel="stylesheet" href="../css/print-9e4910d8.css" media="print">
<!-- Fonts -->
<link rel="stylesheet" href="../fonts/fonts-9644e21d.css">
<!-- Highlight.js Stylesheets -->
<link rel="stylesheet" id="mdbook-highlight-css" href="../highlight-493f70e1.css">
<link rel="stylesheet" id="mdbook-tomorrow-night-css" href="../tomorrow-night-4c0ae647.css">
<link rel="stylesheet" id="mdbook-ayu-highlight-css" href="../ayu-highlight-3fdfc3ac.css">
<!-- Custom theme stylesheets -->
<!-- Provide site root and default themes to javascript -->
<script>
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-c567150f.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-35c178c7.js"></script>
</head>
<body>
<div id="mdbook-help-container">
<div id="mdbook-help-popup">
<h2 class="mdbook-help-title">Keyboard shortcuts</h2>
<div>
<p>Press <kbd></kbd> or <kbd></kbd> to navigate between chapters</p>
<p>Press <kbd>S</kbd> or <kbd>/</kbd> to search in the book</p>
<p>Press <kbd>?</kbd> to show this help</p>
<p>Press <kbd>Esc</kbd> to hide this help</p>
</div>
</div>
</div>
<div id="mdbook-body-container">
<!-- Work around some values being stored in localStorage wrapped in quotes -->
<script>
try {
let theme = localStorage.getItem('mdbook-theme');
let sidebar = localStorage.getItem('mdbook-sidebar');
if (theme.startsWith('"') && theme.endsWith('"')) {
localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
}
if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
}
} catch (e) { }
</script>
<!-- Set the theme before any content is loaded, prevents flash -->
<script>
const default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? default_dark_theme : default_light_theme;
let theme;
try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
if (theme === null || theme === undefined) { theme = default_theme; }
const html = document.documentElement;
html.classList.remove('light')
html.classList.add(theme);
html.classList.add("js");
</script>
<input type="checkbox" id="mdbook-sidebar-toggle-anchor" class="hidden">
<!-- Hide / unhide sidebar before it is displayed -->
<script>
let sidebar = null;
const sidebar_toggle = document.getElementById("mdbook-sidebar-toggle-anchor");
if (document.body.clientWidth >= 1080) {
try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
sidebar = sidebar || 'visible';
} else {
sidebar = 'hidden';
sidebar_toggle.checked = false;
}
if (sidebar === 'visible') {
sidebar_toggle.checked = true;
} else {
html.classList.remove('sidebar-visible');
}
</script>
<nav id="mdbook-sidebar" class="sidebar" aria-label="Table of contents">
<!-- populated by js -->
<mdbook-sidebar-scrollbox class="sidebar-scrollbox"></mdbook-sidebar-scrollbox>
<noscript>
<iframe class="sidebar-iframe-outer" src="../toc.html"></iframe>
</noscript>
<div id="mdbook-sidebar-resize-handle" class="sidebar-resize-handle">
<div class="sidebar-resize-indicator"></div>
</div>
</nav>
<div id="mdbook-page-wrapper" class="page-wrapper">
<div class="page">
<div id="mdbook-menu-bar-hover-placeholder"></div>
<div id="mdbook-menu-bar" class="menu-bar sticky">
<div class="left-buttons">
<label id="mdbook-sidebar-toggle" class="icon-button" for="mdbook-sidebar-toggle-anchor" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="mdbook-sidebar">
<span class=fa-svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path d="M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z"/></svg></span>
</label>
<button id="mdbook-theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="mdbook-theme-list">
<span class=fa-svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path d="M371.3 367.1c27.3-3.9 51.9-19.4 67.2-42.9L600.2 74.1c12.6-19.5 9.4-45.3-7.6-61.2S549.7-4.4 531.1 9.6L294.4 187.2c-24 18-38.2 46.1-38.4 76.1L371.3 367.1zm-19.6 25.4l-116-104.4C175.9 290.3 128 339.6 128 400c0 3.9 .2 7.8 .6 11.6c1.8 17.5-10.2 36.4-27.8 36.4H96c-17.7 0-32 14.3-32 32s14.3 32 32 32H240c61.9 0 112-50.1 112-112c0-2.5-.1-5-.2-7.5z"/></svg></span>
</button>
<ul id="mdbook-theme-list" class="theme-popup" aria-label="Themes" role="menu">
<li role="none"><button role="menuitem" class="theme" id="mdbook-theme-default_theme">Auto</button></li>
<li role="none"><button role="menuitem" class="theme" id="mdbook-theme-light">Light</button></li>
<li role="none"><button role="menuitem" class="theme" id="mdbook-theme-rust">Rust</button></li>
<li role="none"><button role="menuitem" class="theme" id="mdbook-theme-coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="mdbook-theme-navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="mdbook-theme-ayu">Ayu</button></li>
</ul>
<button id="mdbook-search-toggle" class="icon-button" type="button" title="Search (`/`)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="/ s" aria-controls="mdbook-searchbar">
<span class=fa-svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352c79.5 0 144-64.5 144-144s-64.5-144-144-144S64 128.5 64 208s64.5 144 144 144z"/></svg></span>
</button>
</div>
<h1 class="menu-title">Puzzle Design Knowledge Base</h1>
<div class="right-buttons">
<a href="../print.html" title="Print this book" aria-label="Print this book">
<span class=fa-svg id="print-button"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path d="M128 0C92.7 0 64 28.7 64 64v96h64V64H354.7L384 93.3V160h64V93.3c0-17-6.7-33.3-18.7-45.3L400 18.7C388 6.7 371.7 0 354.7 0H128zM384 352v32 64H128V384 368 352H384zm64 32h32c17.7 0 32-14.3 32-32V256c0-35.3-28.7-64-64-64H64c-35.3 0-64 28.7-64 64v96c0 17.7 14.3 32 32 32H64v64c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V384zm-16-88c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24z"/></svg></span>
</a>
<a href="https://github.com/noti/puzzle-design-kb" title="Git repository" aria-label="Git repository">
<span class=fa-svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg></span>
</a>
<a href="https://github.com/noti/puzzle-design-kb/edit/main/src/puzzles/distraction-physics.md" title="Suggest an edit" aria-label="Suggest an edit" rel="edit">
<span class=fa-svg id="git-edit-button"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path d="M421.7 220.3l-11.3 11.3-22.6 22.6-205 205c-6.6 6.6-14.8 11.5-23.8 14.1L30.8 511c-8.4 2.5-17.5 .2-23.7-6.1S-1.5 489.7 1 481.2L38.7 353.1c2.6-9 7.5-17.2 14.1-23.8l205-205 22.6-22.6 11.3-11.3 33.9 33.9 62.1 62.1 33.9 33.9zM96 353.9l-9.3 9.3c-.9 .9-1.6 2.1-2 3.4l-25.3 86 86-25.3c1.3-.4 2.5-1.1 3.4-2l9.3-9.3H112c-8.8 0-16-7.2-16-16V353.9zM453.3 19.3l39.4 39.4c25 25 25 65.5 0 90.5l-14.5 14.5-22.6 22.6-11.3 11.3-33.9-33.9-62.1-62.1L314.3 67.7l11.3-11.3 22.6-22.6 14.5-14.5c25-25 65.5-25 90.5 0z"/></svg></span>
</a>
</div>
</div>
<div id="mdbook-search-wrapper" class="hidden">
<form id="mdbook-searchbar-outer" class="searchbar-outer">
<div class="search-wrapper">
<input type="search" id="mdbook-searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="mdbook-searchresults-outer" aria-describedby="searchresults-header">
<div class="spinner-wrapper">
<span class=fa-svg id="fa-spin"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path d="M304 48c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zm0 416c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM48 304c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm464-48c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM142.9 437c18.7-18.7 18.7-49.1 0-67.9s-49.1-18.7-67.9 0s-18.7 49.1 0 67.9s49.1 18.7 67.9 0zm0-294.2c18.7-18.7 18.7-49.1 0-67.9S93.7 56.2 75 75s-18.7 49.1 0 67.9s49.1 18.7 67.9 0zM369.1 437c18.7 18.7 49.1 18.7 67.9 0s18.7-49.1 0-67.9s-49.1-18.7-67.9 0s-18.7 49.1 0 67.9z"/></svg></span>
</div>
</div>
</form>
<div id="mdbook-searchresults-outer" class="searchresults-outer hidden">
<div id="mdbook-searchresults-header" class="searchresults-header"></div>
<ul id="mdbook-searchresults">
</ul>
</div>
</div>
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script>
document.getElementById('mdbook-sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
document.getElementById('mdbook-sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
Array.from(document.querySelectorAll('#mdbook-sidebar a')).forEach(function(link) {
link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
});
</script>
<div id="mdbook-content" class="content">
<main>
<h1 id="npc-distraction-physics"><a class="header" href="#npc-distraction-physics">NPC Distraction Physics</a></h1>
<p><strong>Information Architecture</strong>: NPC follows patrol/behavior pattern that blocks access to location or item. Blocking condition is <em>physical/spatial</em> rather than dialogue-based: line-of-sight, proximity triggers, or path obstruction. Solution requires manipulating environment to break the blocking condition without direct confrontation.</p>
<p><strong>Player Action Pattern</strong>: Observe NPC behavior loop. Identify environmental object/action that can exploit timing, physics, or AI limitations. Execute action to divert/obstruct/block NPCs attention or movement. Access previously blocked element during distraction window.</p>
<p><strong>Core Mechanic</strong>: Spatial/temporal manipulation creates opportunity window. Unlike Sensory Exploitation (direct vulnerability attack like tickle/sleep), DNP exploits <em>environment</em> + <em>NPC pathfinding/routine</em>. Player becomes environmental engineer, creating puzzle in 3D space using standard actions.</p>
<p><strong>Variations</strong>:</p>
<ul>
<li>Pull lever/activate object that NPC must investigate, breaking patrol pattern</li>
<li>Create physical obstruction (object on tracks, blocking door)</li>
<li>Redirect NPC attention via object manipulation (pull totem nose → monkey hangs there → NPC path rerouted)</li>
<li>Timing puzzle: wait for patrol cycle gap + execute grab action in short window</li>
</ul>
<p><strong>Adventure Game Implementation</strong>:</p>
<ul>
<li>LOOK at environment to spot interaction point that affects NPC behavior</li>
<li>Standard WALK/USE/PULL/PUSH actions on environmental objects</li>
<li>Observe NPC AI pattern (patrol route, reaction triggers)</li>
<li>Trigger environmental change → NPC reroutes or becomes occupied → access granted</li>
</ul>
<p><strong>Example Structure</strong>:</p>
<pre><code>Blockage Phase:
→ Target [ITEM] protected by [NPC_GUARD] with patrol loop to [OBJECT]
→ Direct theft impossible ("Can't steal while watched!")
Solution Phase:
→ Examine [ENVIRONMENTAL_OBJECT] within guard's patrol path/range
→ Realize action will divert NPC attention or alter movement pattern:
- USE object on [TRIGGER_POINT] creates distraction
- PULL [OBJECT] physically obstructs NPC path
- TIME window when NPC is investigating/occupies alternate location
Execution Phase:
→ Activate environment while NPC distracted → Access [ITEM] during vulnerability window
→ Distraction must be sustained or timed precisely
</code></pre>
<p><strong>Kings Quest VI Parallel</strong>: None identified in walkthrough.</p>
<p><strong>Monkey Island Example</strong>:</p>
<ul>
<li><strong>Totem Pole / Monkey Blockade</strong>:
<ul>
<li>Goal: Enter Giant Monkey Head interior (blocked)</li>
<li>Problem: Monkey guards it, standing on totem pole nose</li>
<li>Solution: Pull Nose down → Monkey follows and hangs from pulled-down nose → Monkey physically occupies space away from gate → Access granted</li>
<li>Distraction + spatial displacement = access</li>
</ul>
</li>
</ul>
<hr>
<h3 id="indiana-jones-fate-of-atlantis---submarine-guard-distraction-team-path-indy2"><a class="header" href="#indiana-jones-fate-of-atlantis---submarine-guard-distraction-team-path-indy2">Indiana Jones: Fate of Atlantis - Submarine Guard Distraction (Team Path, INDY2)</a></h3>
<p><strong>Setup</strong>: After reaching the Nazi submarine via hot air balloon crash, Indy and Sophia are separated—Sophia is imprisoned in a cell while Nazi guards patrol the corridors. Indy needs to reach the emergency rudder controls to guide the sub into the airlock. A guard stands watch near the rudder control room with no direct combat option available (Team path focuses on cooperation over violence).</p>
<p><small>Source: walkthroughking_ashley_walkthrough.html, lines 89 — “Get her to distract the guard, and then walk around behind him.”</small></p>
<p><strong>Blocking Condition</strong>: Guard stands stationary at fixed position blocking access to emergency rudder control. Cannot pass, cannot fight (on Team path), must create opportunity through environmental/social manipulation.</p>
<p><strong>Physical/Spatial Solution Chain</strong>:</p>
<ol>
<li>Sophia is in adjacent cell with wall opening allowing voice communication</li>
<li>Use Intercom/communicate with Sophia → coordinate distraction plan</li>
<li>Sophia shouts about “bucket” or “pail”—creates noise distraction audible to guard
4- Guard turns toward sound source (Sophias cell), turning back away from rudder corridor</li>
<li>While guard faces distraction: Walk Indy around behind him, through previously-blocked passage</li>
<li>Access emergency rudder controls unimpeded</li>
</ol>
<p><small>Source: gamefaqs_darth_maul_walkthrough.html, lines 981-987 — “Head for the right and open the trap door that leads to the strong box…Sophia will pick up a bucket and knock it over. The guard will hear the noise and run to Sophias cell. While he is distracted, use the key to unlock the rudder controls.”</small></p>
<p><strong>Environmental Manipulation</strong>: The distraction isnt an object thrown or lever pulled—it uses SOCIAL ENVIRONMENT (two separated allies coordinating) + AUDITORY TRIGGER (bucket noise). Guards AI prioritizes unexpected sounds near prisoner cells as security threats.</p>
<p><strong>Why Its Distraction Physics</strong>: Player doesnt confront guard directly. Instead, they manipulate the environment (Sophias bucket, communication between rooms, acoustic propagation) to create temporal opportunity window. Guard reroutes from patrol position due to environmental stimulus outside his blocking role.</p>
<p><strong>Alternative Solution Paths</strong>: Each path type has different approach:</p>
<ul>
<li><strong>Wits Path</strong>: Create fire in torpedo tube using rag + wires → guard responds to emergency evacuation (environmental hazard distraction)</li>
<li><strong>Fists Path</strong>: Direct combat defeats guard (not distraction—different path specialization)</li>
</ul>
<hr>
<h3 id="gabriel-knight-1-mime-distraction-for-cop-radio-access-gk1"><a class="header" href="#gabriel-knight-1-mime-distraction-for-cop-radio-access-gk1">Gabriel Knight 1: Mime Distraction for Cop Radio Access (GK1)</a></h3>
<p><strong>Setup</strong>: Gabriel needs to learn the location of a crime scene from police radio broadcasts. A cop stands guard at his motorcycle with an active radio in Jackson Square. The cop will not let Gabriel near the radio and has no dialogue option revealing the information.</p>
<p><small>Source: mysterymanor_mbday630_walkthrough.html, lines 77-78 — “Go to park. Get mime to follow you to cop and use motorcycle when cop chases mime.”</small></p>
<p><small>Source: justadventure_walkthrough.html, lines 540-557 — “(iii) Ergo He must somehow get the cop to leave his bike for a while. (iv) Get the mime to annoy him so that the cop will chase him away… The mime will now start mocking the cop who will try to catch him and run after him away from his motor bike in so doing.”</small></p>
<p><strong>Blocking Condition</strong>: Cop occupies fixed position next to motorcycle radio. Direct approach = refused access. Radio broadcasts contain vital intel (crime scene at Lake Pontchartrain). A mime wanders Jackson Square, following and mockingly copying anyone he approaches.</p>
<p><strong>Environmental/Spatial Solution Chain</strong>:</p>
<ol>
<li>Approach mime near top of screen → mime begins following Gabriel</li>
<li>Walk Gabriel toward right side of screen, then diagonally through center area</li>
<li>Position themselves so mime ends up standing close to cop</li>
<li>Mime begins mocking gestures → cop becomes annoyed</li>
<li>Cop abandons motorcycle post and chases mime away from radio</li>
<li>Window opens: Use motorcycle radio while cop is absent (2 points)</li>
<li>Radio broadcast reveals crime scene location: Lake Pontchartrain</li>
</ol>
<p><small>Source: justadventure_walkthrough.html, lines 547-548 — “Whilst the cop is absent, QUICKLY use his radio. You will hear the location of the crime scene it is at Lake Pontchartrain [+ 2 points]”</small></p>
<p><strong>Environmental Manipulation</strong>: The mime acts as a natural NPC-following entity built into Jackson Squares simulation. Player doesnt control the mime directly—instead manipulates spatial positioning so mimes inherent annoying behavior triggers cops departure. Environmental chain-reaction, not direct item use.</p>
<p><strong>Why Its Distraction Physics (Not Sensory Exploitation)</strong>: Cop has no perceptual weakness or specific vulnerability. Instead, player uses a third NPCs programmed following/mocking behavior to ALTER THE COPS PHYSICAL POSITION in space. The cop willingly leaves because of social irritation, not because his senses were deceived or exploited.</p>
<hr>
<h3 id="broken-sword-shadow-of-the-templars---baphomet-key-swap-chapter-6"><a class="header" href="#broken-sword-shadow-of-the-templars---baphomet-key-swap-chapter-6">Broken Sword: Shadow of the Templars - Baphomet Key Swap (Chapter 6)</a></h3>
<p><strong>Problem</strong>: Guard retains real Baphomet key while wearing protective gloves that prevent theft. Must replace real key with fake using environmental manipulation chain to create opportunity window when guard removes gloves temporarily.</p>
<p><small>Source: broken-sword-1/4_agh_peter_christiansen_walkthrough.html, lines 469-498</small>
<small>Source: broken-sword-1/1_walkthroughking_broken_sword.html, lines 178-185</small></p>
<p><strong>Environmental Manipulation Chain</strong>:</p>
<pre><code>PHASE 1 - Initial Blockage Discovery:
→ Approach guard at Baphomet temple/tomb entrance
→ Guard holds real key but wears protective gloves at all times
→ Direct theft attempt fails ("Can't take key while guard wears gloves")
→ Fake key crafted earlier in inventory (prerequisite from prior puzzle)
PHASE 2 - Distraction Setup (Painter Room Adjacency):
→ Locate painter working in adjacent chamber/room
→ Painter creates noise or activity that can be leveraged
→ Phone line accessible in player's location for remote communication
PHASE 3 - Environmental Trigger Sequence:
Step 1 → Adjust thermostat in shared temperature-control area
- Creates discomfort condition for painter (too hot/cold)
Step 2 → Painter seeks relief, moves to different location/uses phone
- Environmental change breaks normal work pattern
Step 3 → Phone call initiated by painter OR player calls painter
- Painter engaged in conversation at distance from guard room
PHASE 4 - Guard Distraction Window:
→ Guard's attention drawn to noise/activity from painter room
→ During distraction period, guard removes gloves (temperature/comfort reason)
→ CRITICAL TIMING WINDOW opens when gloves off and attention diverted
PHASE 5 - Key Swap Execution:
→ While guard distracted AND gloveless → Use fake key ON real key location
→ Real key replaced with duplicate in inventory
→ Original now accessible without confrontation or timing failure
WHY IT'S DISTRACTION PHYSICS: Multiple environmental elements (thermostat control, phone communication, painter's behavior) chain together to create opportunity window. Player manipulates 3D space using standard actions, creates puzzle where NPC reroutes attention due to external stimulus. NOT Sensory Exploitation because guard has no specific vulnerability being attacked—player engineers DISTRACTION CONDITIONS through environmental controls, not direct exploitation of perceptual weakness.
</code></pre>
<hr>
<h3 id="broken-sword-ii-the-smoking-mirror---ketchs-landing-catflagpole-surveyor-distraction-chapter-5"><a class="header" href="#broken-sword-ii-the-smoking-mirror---ketchs-landing-catflagpole-surveyor-distraction-chapter-5">Broken Sword II: The Smoking Mirror - Ketchs Landing Cat/Flagpole Surveyor Distraction (Chapter 5)</a></h3>
<p><strong>Problem</strong>: George needs access to the museum where Captain Ketchs treasure information is hidden, but cannot enter directly. Bronson the surveyor blocks the area and guards his equipment. The cat at the museum creates environmental distraction opportunities that can be exploited to bypass both obstacles without confrontation.</p>
<p><small>Source: 2_the_spoiler_tom_hayes_walkthrough.html, lines 262-271 — “Use the inner tube with the tree. Use the red ball with the inner tube. Use the ladder, to leave Bronson hanging from the flagpole. Get the marker.”</small></p>
<p><small>Source: 4_kasagaming_walkthrough.html, lines 359-362 — “Go up to the museum. Use the ladder to extend it. Climb the ladder, attach the inner tube to the middle window flagpole, then descend the ladder. Attach the fish to the inner tube…”</small></p>
<pre><code>PHASE 1 - BLOCKING CONDITION DISCOVERY:
→ Arrive at Ketch's Landing Museum area
→ Bronson stands near ladder/flagpoles, guarding survey equipment and plans
→ Museum door locked; Ketch sisters appear during certain dialogue cycles
→ Direct entry impossible while Bronson occupies the space
ENVIRONMENTAL OPPORTUNITY IDENTIFIED:
→ Cat roams museum porch area (unrelated NPC)
→ Flagpole with sensor/target sits on elevated platform
→ Red ball accessible via cat baiting sequence
PHASE 2 - DISTRACTION CHAIN SETUP:
Step 1 → Trade worm/quilt/lipstick to Rio for fish
&lt;small&gt;Source: kasagaming_walkthrough, line 359 — "Offer the quill pen to the cat. It will shred it to pieces."&lt;/small&gt;
Step 2 → Place fish on museum porch where cat can access
Step 3 → Cat distracted by fish → allows player movement through area
STEP 4 → Climb ladder, extend flagpole rope system with inner tube
Step 5 → Lower ball to ground level via tube mechanism
PHASE 3 - PHYSICAL DISTRACTION DEPLOYMENT:
Step 6 → Place red ball in tree-based sling/catapult mechanism
&lt;small&gt;Source: tom_hayes_walkthrough, line 267 — "Use the inner tube with the tree. Use the red ball with the inner tube."&lt;/small&gt;
Step 7 → Launch ball at flagpole sensor/target → sensor knocked from pole
Step 8 → Bronson climbs ladder to investigate/repair damaged survey equipment
CRITICAL DISTRACTION WINDOW:
→ Bronson hangs from upper flagpole (stuck/investigating)
&lt;small&gt;Source: kasagaming_walkthrough, line 360 — "Use the ladder, to leave Bronson hanging from the flagpole."&lt;/small&gt;
Step 9 → While Bronson occupied above: retrieve survey marker/equipment freely
- Physical obstruction removed by environmental consequence
Step 10 → Collect plans and theodolite from beach area (Bronson's abandoned items)
Step 11 → Return to museum, present plans to Ketch sisters → gain entrance
ENVIRONMENTAL MANIPULATION SUMMARY:
- Cat → food distraction creates access window for item placement
- Ball/sling mechanism → physical projectile knocks sensor off pole
- Sensor damage → triggers Bronson's investigation response (AI reactivity)
- Bronson stuck above → ground-level items now unprotected
</code></pre>
<p><strong>Why Its Distraction Physics</strong>: Player never confronts Bronson directly. Instead, manipulates environment (cat food placement, ball sling launch, sensor destruction) to create cascading physical consequences that remove the blocking condition. Bronsons distraction is not an explicit “distracted state”—he climbs to repair equipment because sensor was destroyed and ends up physically occupying elevated space away from his items. This differs from Sensory Exploitation (no direct attack on NPC perception) and differs from pure Observation Replay (player creates conditions rather than waits for natural cycle).</p>
<p><strong>Distinction from Information Brokerage</strong>: While Rio provides fish through trade, the core mechanic is PHYSICAL DISTRACTION of Bronson, not network navigation. Fish collection enables ball/cat actions but doesnt follow NPC→NPC information flow pattern.</p>
<hr>
<h2 id="related-types"><a class="header" href="#related-types">Related Types</a></h2>
<ul>
<li><strong>Sensory Exploitation</strong>: Attacks NPC directly via vulnerability (tickle/sleep/food); DNP attacks NPC indirectly via environmental change that reroutes their behavior</li>
<li><strong>Timed Consequence</strong>: Both use timing windows, but TC is about narrative urgency without mechanical deadline; DNP creates players own temporary opportunity through active manipulation</li>
<li><strong>Multi-Faceted Plan</strong>: DNP often simpler “one action breaks blockage” vs MFPs multi-requirement synthesis from disparate sources</li>
<li><strong>Observation Replay</strong>: Related when exploiting NPC behavior cycles, but OR waits for natural timing while DNP CREATES distraction conditions proactively rather than passively observing existing patterns</li>
</ul>
<h3 id="simon-the-sorcerer-pub-barman-beeswax-beer-scheme-simon"><a class="header" href="#simon-the-sorcerer-pub-barman-beeswax-beer-scheme-simon">Simon the Sorcerer: Pub Barman Beeswax Beer Scheme (SIMON)</a></h3>
<p><strong>Problem</strong>: The pub barman controls access to a barrel of beer and a brewery voucher needed for the Dwarf Mine plot. Direct theft or trade fails—barman only abandons these items after believing the barrel is damaged/leaking. Exploiting his diagnostic behavior creates the opportunity window.</p>
<p><small>Source: walkthroughs/simon1/simon1.txt, lines 614-620 — “When you have the wax, go to the pub and ask the bartender for a drink. While he looks for ingredients, use the wax on the beer barrel to plug it up. This tricks him into thinking the barrel is empty… The bartender puts the barrel of beer outside, and he gives Simon a brochure containing a free beer voucher.”</small></p>
<p><small>Source: walkthroughs/simon1/simon1_2.txt, lines 196-203 — “Enter the bar and talk to the barman. Say Mix me a Wet Wizard, barkeep. Quickly use the wax on the beer barrel behind the bar to get a beer voucher. Exit the bar and get the beer barrel.”</small></p>
<pre><code>BLOCKING CONDITION ANALYSIS:
LOCATION: Drunken Druid Pub (Village)
GOAL: Acquire BARREL OF BEER + VOUCHER LEAFLET from barman's inventory
OBSTACLE: Barman actively guards both items, no dialogue trade option available
NPC BEHAVIOR PATTERN IDENTIFIED:
- When asked to make a drink, barman consistently:
- Turns away from counter
- Looks behind bar for "ingredients"
- Returns to front with completed beverage
This animation loop creates ~3-5 second window where his attention is diverted
from the beer barrel directly behind him.
ENVIRONMENTAL MANIPULATION CHAIN:
PHASE 1 - DISTRACTION INITIATION:
→ Enter pub, navigate to bar counter
→ TALK to barman, select dialogue option: "Mix me a Wet Wizard, barkeep"
→ Barman animation triggers (back turned, searching behind counter)
PHASE 2 - TIMED INTERVENTION WINDOW:
→ [CRITICAL TIMING]: Use WAX on beer barrel spigot while barman distracted
Why This Works: Wax plugs the spigot—barrel appears non-functional (no liquid flows when pressed)
The intervention must occur during distraction window, or barman notices player tampering.
PHASE 3 - NPC DIAGNOSTIC RESPONSE BEHAVIOR:
→ Barman returns, attempts to serve from now-plugged barrel
→ Dialogue indicates: "Barrel's gone dry / broken—what a shame"
→ BARREL DISPLACED OUTSIDE PUB (barman removes it from premises)
PHASE 4 - ITEM ACQUISITION WINDOW:
→ VOUCHER given to player as compensation ("free drink coupon for another time")
→ Exit pub immediately → BARREL now available for collection (outside door)
Why Both Items Become Available Simultaneously: The barman's diagnostic conclusion
("barrel is broken/empty") triggers BOTH actions: discarding barrel AND compensating customer.
WHY IT'S DISTRACTION PHYSICS:
NPC ATTENTION REROUTE THROUGH ENVIRONMENTAL SETUP:
Player doesn't distract barman with an object thrown elsewhere (like pulling totem nose).
Instead, creates CONDITIONS for item acquisition by exploiting NPC's built-in behavior loop.
The key distinction: Barman's "looking for ingredients" animation is NATURAL BEHAVIOR, not
something player FORCED him to do via environmental manipulation. Player TIMED their intervention
(to use wax) during this naturally-occurring attention shift window.
TEMPORARY OPPORTUNITY CREATION:
Once wax applied, barman discovers problem and creates NEW opportunity state (barrel outside = accessible).
This is distinct from Observation Replay where player watches NPC perform then waits for them to leave.
Here player ACTIVELY CHANGES the barrel's physical state during window, which THEN triggers
new behavior chain from NPC.
TIMING MECHANIC AS DISTRACTION CORE:
Walkthrough emphasizes "Quickly use the wax" or timing language—underscores narrow window where
barman's back is turned. This isn't about creating a lasting diversion (like knocking over object that he then investigates for 30 seconds). It's about EXECUTING THE CRITICAL ACTION during brief attention gap in his pattern.
COMIC DELIVERY:
Absurdity derives from wax-plugged-spigot = "empty/barrel-broken" conclusion. No logical person
would think a beer barrel is empty because one spigot fails—but the game's internal causality accepts this as valid barman reasoning. Barman never suspects foul play, only mechanical failure.
FAILURE MODE:
If player attempts to use wax while barman faces counter (no distraction active), interaction blocked:
"Barman notices you tampering with his supplies and kicks you out."
This demonstrates the timing requirement—the environmental exploit works ONLY during attention window.
</code></pre>
<p><strong>Why Its Distraction Physics</strong>: The puzzle requires exploiting the barmans existing behavior pattern (turned away to find ingredients) rather than creating a new distraction from scratch. Environmental manipulation (wax on spigot) occurs DURING naturally-occurring attention gap, triggering consequences (abandoned barrel outside). This differs from creating external noise or pulling levers—player hijacks NPCs routine moment of vulnerability through precise timing.</p>
<hr>
<h2 id="game-examples"><a class="header" href="#game-examples">Game Examples</a></h2>
<h3 id="indy1-roast-boar-distraction-via-fireplace-smoke"><a class="header" href="#indy1-roast-boar-distraction-via-fireplace-smoke">INDY1: Roast Boar Distraction via Fireplace Smoke</a></h3>
<p><small>Source: walkthrough-king.txt, lines 154-158</small></p>
<p><strong>Setup</strong>: Nazi Colonel Vogels office at Castle Brunwald is guarded by his dog. Indy needs to pass through the office to access items in the drawers, but the dog will attack if he enters without distraction. The kitchen upstairs has a roast boar being prepared and a fireplace with burning coals.</p>
<p><strong>Blocking Condition</strong>: Dog stands guard in front of Vogels office door. Cannot enter or take items from desk while dog is present. Direct combat possible but suboptimal (violence-heavy playstyle, loses puzzle points).</p>
<p><strong>Solution Chain</strong>:</p>
<ol>
<li>Go upstairs to kitchen area on 2nd floor</li>
<li>Take empty stein from counter, fill it from ale keg spigot</li>
<li>Go to fireplace adjacent to where roast boar hangs</li>
<li>Pour first stein of ale onto burning coals → creates thick smoke that fills room</li>
<li>Wait for smoke to clear enough to see/grab roast boar</li>
<li>Take roast boar (dogs food) into inventory, refill stein one more time</li>
<li>Return downstairs through guard corridors with boar in inventory</li>
<li>Approach Vogels office and GIVE roast boar to dog sitting at door</li>
</ol>
<p><small>Source: walkthrough-king.txt, lines 209-210 — “Enter the first door to the west to find Vogels office. Give the roast boar to the dog, then open the right drawer in”</small></p>
<ol start="9">
<li>Dog becomes occupied eating the boar → attention diverted from doorway</li>
<li>Enter office while dog distracted by food, access desk drawers freely</li>
</ol>
<p><strong>Environmental Manipulation</strong>: Fireplace coals convert liquid ale into smoke—physical transformation that temporarily reduces visibility enough to safely retrieve hanging meat. The ale creates a sensory barrier (smoke/ash) that protects Indy from thermal damage while accessing the otherwise unreachable item. Dogs behavior is not “hacked” through AI weakness—instead, player physically brings the object dog naturally wants to its location.</p>
<p><strong>Why Its Distraction Physics</strong>: Unlike Sensory Exploitation which attacks an NPCs direct vulnerability (feeding monkey fruit because monkeys like fruit), this puzzle requires MANIPULATING THE PHYSICAL ENVIRONMENT FIRST (ale→smoke conversion) before accessing the distraction item itself. The fireplace acts as a transformative medium: without creating smoke barrier, Indy cannot retrieve the boar due to proximity to burning coals. Once boar acquired, giving it to dog is straightforward—the complex puzzle was getting the boar, not convincing the dog. Environmental engineering (heat + liquid → temporary visibility reduction) creates opportunity window for item acquisition.</p>
<h3 id="indy1-security-console-ale-short-circuit"><a class="header" href="#indy1-security-console-ale-short-circuit">INDY1: Security Console Ale Short-Circuit</a></h3>
<p><strong>Setup</strong>: Nazi security control room at Castle Brunwald contains an alarm system that will trigger during escape sequence unless disabled. The room is guarded by a Nazi soldier patrolling outside the door, but can be bypassed via combat or Mein Kampf book trade. Inside, the security console has ventilation grating on its side panel.</p>
<p><small>Source: walkthrough-king.txt, lines 190-192</small></p>
<p><strong>Blocking Condition</strong>: Alarm system is active and functional. If triggered during escape, it will lead to confrontation with Donovan or fail Henrys rescue entirely. Cannot disable through normal “use console” interaction (no dialogue/options for deactivation). Physical short-circuiting required.</p>
<p><strong>Solution Chain</strong>:</p>
<ol>
<li>Acquire stein of ale from earlier kitchen sequence (carried throughout castle infiltration)</li>
<li>Navigate to security control room on ground floor corridor</li>
<li>Deal with guard outside door: either GIVE Mein Kampf book OR fight him</li>
<li>Enter security room past the neutralized guard</li>
<li>Locate grating/ventilation panel on SIDE of alarm console</li>
<li>USE stein ON grating → Pour ale into electrical components</li>
<li>Ale conducts electricity, short-circuiting the alarm system</li>
<li>Alarm disabled—will not trigger during escape sequence</li>
</ol>
<p><small>Source: walkthrough-king.txt, lines 191-192 — “Once done, pour your stein of ale into the grating on the side of the security console to disable the alarm system.”</small></p>
<p><strong>Environmental Manipulation</strong>: Liquid ale is conductive when poured onto exposed electrical contacts. The grating design exposes internal components without requiring tool-based disassembly. Indy exploits the consoles poor industrial design (open ventilation near sensitive circuitry) to achieve what hacking or sabotage cannot—pure physical destruction through fluid dynamics. This is not “breaking the alarm”—its repurposing a beverage container into a conductive fluid delivery mechanism.</p>
<p><strong>Why Its Distraction Physics</strong>: The puzzle uses environmental PHYSICS rather than NPC manipulation, but follows same pattern: observe system behavior (alarm triggers on escape) → identify exploitable interaction point (grating exposes internals) → use available item in unconventional way (ale as conductive destruction agent) → create window of opportunity (disabled alarm = safe route for Henry). The ales dual-use nature mirrors other DNP items (wax barrel plug, thrown bucket)—everyday object repurposed through understanding of environmental rules. Unlike simple “break console” solution, player must recognize that liquid + exposed electronics = failure mode they can engineer intentionally.</p>
<hr>
</main>
<nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons -->
<a rel="prev" href="../puzzles/symbol-code-translation.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<span class=fa-svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path d="M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z"/></svg></span>
</a>
<a rel="next prefetch" href="../puzzles/comedy-based-persuasion.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<span class=fa-svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path d="M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z"/></svg></span>
</a>
<div style="clear: both"></div>
</nav>
</div>
</div>
<nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="prev" href="../puzzles/symbol-code-translation.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<span class=fa-svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path d="M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z"/></svg></span>
</a>
<a rel="next prefetch" href="../puzzles/comedy-based-persuasion.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<span class=fa-svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path d="M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z"/></svg></span>
</a>
</nav>
</div>
<template id=fa-eye><span class=fa-svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path d="M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM432 256c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zM288 192c0 35.3-28.7 64-64 64c-11.5 0-22.3-3-31.6-8.4c-.2 2.8-.4 5.5-.4 8.4c0 53 43 96 96 96s96-43 96-96s-43-96-96-96c-2.8 0-5.6 .1-8.4 .4c5.3 9.3 8.4 20.1 8.4 31.6z"/></svg></span></template>
<template id=fa-eye-slash><span class=fa-svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zM223.1 149.5C248.6 126.2 282.7 112 320 112c79.5 0 144 64.5 144 144c0 24.9-6.3 48.3-17.4 68.7L408 294.5c5.2-11.8 8-24.8 8-38.5c0-53-43-96-96-96c-2.8 0-5.6 .1-8.4 .4c5.3 9.3 8.4 20.1 8.4 31.6c0 10.2-2.4 19.8-6.6 28.3l-90.3-70.8zm223.1 298L373 389.9c-16.4 6.5-34.3 10.1-53 10.1c-79.5 0-144-64.5-144-144c0-6.9 .5-13.6 1.4-20.2L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5z"/></svg></span></template>
<template id=fa-copy><span class=fa-svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path d="M502.6 70.63l-61.25-61.25C435.4 3.371 427.2 0 418.7 0H255.1c-35.35 0-64 28.66-64 64l.0195 256C192 355.4 220.7 384 256 384h192c35.2 0 64-28.8 64-64V93.25C512 84.77 508.6 76.63 502.6 70.63zM464 320c0 8.836-7.164 16-16 16H255.1c-8.838 0-16-7.164-16-16L239.1 64.13c0-8.836 7.164-16 16-16h128L384 96c0 17.67 14.33 32 32 32h47.1V320zM272 448c0 8.836-7.164 16-16 16H63.1c-8.838 0-16-7.164-16-16L47.98 192.1c0-8.836 7.164-16 16-16H160V128H63.99c-35.35 0-64 28.65-64 64l.0098 256C.002 483.3 28.66 512 64 512h192c35.2 0 64-28.8 64-64v-32h-47.1L272 448z"/></svg></span></template>
<template id=fa-play><span class=fa-svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path d="M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80V432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z"/></svg></span></template>
<template id=fa-clock-rotate-left><span class=fa-svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path d="M75 75L41 41C25.9 25.9 0 36.6 0 57.9V168c0 13.3 10.7 24 24 24H134.1c21.4 0 32.1-25.9 17-41l-30.8-30.8C155 85.5 203 64 256 64c106 0 192 86 192 192s-86 192-192 192c-40.8 0-78.6-12.7-109.7-34.4c-14.5-10.1-34.4-6.6-44.6 7.9s-6.6 34.4 7.9 44.6C151.2 495 201.7 512 256 512c141.4 0 256-114.6 256-256S397.4 0 256 0C185.3 0 121.3 28.7 75 75zm181 53c-13.3 0-24 10.7-24 24V256c0 6.4 2.5 12.5 7 17l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-65-65V152c0-13.3-10.7-24-24-24z"/></svg></span></template>
<!-- Livereload script (if served using the cli tool) -->
<script>
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
const socket = new WebSocket(wsAddress);
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script>
window.playground_line_numbers = true;
</script>
<script>
window.playground_copyable = true;
</script>
<script src="../ace-2a3cd908.js"></script>
<script src="../mode-rust-2c9d5c9a.js"></script>
<script src="../editor-16ca416c.js"></script>
<script src="../theme-dawn-4493f9c8.js"></script>
<script src="../theme-tomorrow_night-9dbe62a9.js"></script>
<script src="../elasticlunr-ef4e11c1.min.js"></script>
<script src="../mark-09e88c2c.min.js"></script>
<script src="../searcher-c2a407aa.js"></script>
<script src="../clipboard-1626706a.min.js"></script>
<script src="../highlight-abc7f01d.js"></script>
<script src="../book-a0b12cfe.js"></script>
<!-- Custom JS scripts -->
</div>
</body>
</html>