492 lines
40 KiB
HTML
492 lines
40 KiB
HTML
<!DOCTYPE HTML>
|
||
<html lang="en" class="light sidebar-visible" dir="ltr">
|
||
<head>
|
||
<!-- Book generated using mdBook -->
|
||
<meta charset="UTF-8">
|
||
<title>Surreal Logic Bridge - 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/surreal-logic-bridge.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="surreal-logic-bridge"><a class="header" href="#surreal-logic-bridge">Surreal Logic Bridge</a></h1>
|
||
<p><strong>Information Architecture</strong>: Player encounters a blocking condition where standard causality fails (eggplant ≠ toupee logically). Success requires accepting and acting ON explicit comedic/absurdist equivalences stated by game world or implied through character dialogue. The “aha” moment recognizes the puzzle operates on cartoon logic, not physical simulation.</p>
|
||
<p><strong>Player Action Pattern</strong>:</p>
|
||
<ol>
|
||
<li>Attempt conventional solution → rejected with humorous failure</li>
|
||
<li>Game provides absurdist clue (dialogue, environmental joke, item description)</li>
|
||
<li>Player must mentally shift from realistic to surreal reasoning</li>
|
||
<li>Execute action that makes comedic but NOT literal sense</li>
|
||
<li>Success confirms the logic domain has shifted</li>
|
||
</ol>
|
||
<p><strong>Core Mechanic</strong>: The puzzle explicitly rejects real-world causality in favor of cartoon/comedy logic equivalences (X = Y because the joke says so, not physics). Player success depends on recognizing when to abandon realistic reasoning entirely.</p>
|
||
<hr>
|
||
<h2 id="variations"><a class="header" href="#variations">Variations</a></h2>
|
||
<div class="table-wrapper">
|
||
<table>
|
||
<thead>
|
||
<tr><th>Type</th><th>Clue Delivery</th><th>Equivalence Logic</th><th>Example</th></tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr><td><strong>Visual-Pun Bridge</strong></td><td>Environmental visual gag implies equivalence</td><td>X looks like Y → treat as same</td><td>Vegetable that looks like person’s head = that person</td></tr>
|
||
<tr><td><strong>Wordplay Literalization</strong></td><td>Double-meaning phrase taken literally</td><td>Pun becomes mechanic</td><td>“Toupee party” involves vegetable + toupee interaction</td></tr>
|
||
<tr><td><strong>Cartoon Physics Bridge</strong></td><td>Action violates physics but consistent with animation tropes</td><td>Impossible action works because cartoons say so</td><td>Pull beard → hidden door opens</td></tr>
|
||
<tr><td><strong>Surreal Item Combination</strong></td><td>Two unrelated items combine via comedic logic</td><td>A + B = C where relationship is joke-based</td><td>Eggplant on toupee transfers toupee to player</td></tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<hr>
|
||
<h2 id="game-examples"><a class="header" href="#game-examples">Game Examples</a></h2>
|
||
<h3 id="sam--max-hit-the-road-celebrity-vegetable-museum-toupee-acquisition-smhtr"><a class="header" href="#sam--max-hit-the-road-celebrity-vegetable-museum-toupee-acquisition-smhtr">Sam & Max Hit the Road: Celebrity Vegetable Museum Toupee Acquisition (SMHTR)</a></h3>
|
||
<p><strong>Problem</strong>: Player needs a toupee from Conroy Bumpus’s house at Bumpusville. The toupee sits prominently displayed above the fireplace but is guarded/alarm-protected. Direct interaction triggers alarm and guards appear. Standard stealth or distraction approaches fail or are unavailable.</p>
|
||
<p><small>Source: adventuregamers_walkthrough.html, embedded walkthrough lines 503-510 — “Use the Conroy Bumpus eggplant on the toupee. The alarm will sound and Lee-Harvey will throw you out of the house, but you’ll get the toupee.”</small></p>
|
||
<p><small>Source: abandonwaredos_solution.html, line 470 — “Use The Bumpus-Vegetable with the toupee -> Toupee”</small></p>
|
||
<pre><code>SETUP PHASE (Multi-Location Preparation):
|
||
Location: Bumpusville House, Library Room
|
||
Action: Use golf retriever on bookshelf → Obtain cleaning robot manual
|
||
Note: This provides INFORMATION about alarms but NOT solution method
|
||
Exit scene when maintenance droid appears
|
||
|
||
Location: Celebrity Vegetable Museum
|
||
Action: Pick up eggplant from vegetable display box
|
||
Dialogue context: Eggplant visually resembles Conroy Bumpus's head shape
|
||
Exit to car, travel back to Bumpusville
|
||
|
||
CRITICAL PUZZLE EXECUTION:
|
||
Location: Bumpusville House, Bedroom/Fireplace Area (9.3)
|
||
Phase 1 - Setup Previous Actions Complete:
|
||
- Toupee visible above fireplace/display shelf
|
||
- Eggplant in inventory (from vegetable museum, acquired earlier)
|
||
- Guardian NPC (Lee-Harvey maintenance droid) has patrolling pattern established
|
||
|
||
Phase 2 - Surreal Logic Bridge Moment:
|
||
1. Examine toupee → No direct pickup option available
|
||
2. Standard "distract then steal" fails—alarm triggers regardless of guard position
|
||
3. Player must recognize EGGPLANT + TOUPEE interaction as solution space
|
||
4. Use Eggplant ON Toupee (not on alarm, not on guard—on the toupee itself)
|
||
|
||
Phase 3 - Resolution:
|
||
- Alarm TRIGGERS (expected/acceptable consequence)
|
||
- Lee-Harvey appears and throws player out of the house
|
||
- TOUPEE IS NOW IN INVENTORY despite eviction
|
||
- Puzzle complete through accepted comedic trade-off
|
||
|
||
|
||
LOGIC DOMAIN ANALYSIS:
|
||
|
||
REALISTIC LOGIC (FAILS):
|
||
- Eggplant has no physical property that affects toupees
|
||
- Alarm system should prevent theft regardless of item used
|
||
- Eviction = failure state in standard adventure game logic
|
||
|
||
CARTOON LOGIC (SUCCEEDS):
|
||
- Vegetable shaped like head + toupee on head = vegetable CLAIMS toupee
|
||
- When player uses eggplant-on-toupee: toupee "transfers" to eggplant
|
||
- Taking eggplant = taking toupee (comedic equivalence)
|
||
- Alarm/eviction is COMIC CONSEQUENCE not puzzle failure
|
||
- Narratively "worth it" because toupee was obtained
|
||
|
||
Why Eggplant Specifically?
|
||
- Visual joke: Bumpus's head resembles eggplant shape/color
|
||
- Cultural reference: Eggplants as phallic/comedic vegetable tropes
|
||
- Absurdist escalation: Normal items don't work; must use thematically-linked JOKE item
|
||
</code></pre>
|
||
<p><strong>Why It’s Surreal Logic Bridge (Not Sensory Exploitation)</strong>:</p>
|
||
<ol>
|
||
<li><strong>Logic Domain Shift Required</strong>: Player actively rejects realistic causality—eggplant doesn’t STEAL via distraction or perception manipulation; it COMEDICALLY TRANSFERS ownership through visual pun logic</li>
|
||
<li><strong>Clue Provided Through Absurdism</strong>: The vegetable museum establishes “celebrity vegetables” as joke concept (John Muir gourd, Bumpus eggplant). Player must accept this world internal comedy rules apply to puzzle-solving</li>
|
||
<li><strong>Trade-off is Narrative, Not Mechanic</strong>: In sensory exploitation, you avoid detection entirely. Here you ACCEPT failure consequence (eviction) because the comedic logic override provides desired outcome anyway</li>
|
||
</ol>
|
||
<p><strong>Distinction from Meta-Puzzle Construction</strong>: The eggplant and toupee aren’t steps in a production chain. They don’t have sequential interdependence. Instead: EGGPLANT-AS-SURREAL-KEY directly unlocks TOUPEE ACCESS via cartoon physics equivalence, not through multi-step causal relationship.</p>
|
||
<hr>
|
||
<h3 id="sam--max-hit-the-road-tunnel-of-love-beard-pull-door-reveal-smhtr"><a class="header" href="#sam--max-hit-the-road-tunnel-of-love-beard-pull-door-reveal-smhtr">Sam & Max Hit the Road: Tunnel of Love Beard Pull Door Reveal (SMHTR)</a></h3>
|
||
<p><strong>Problem</strong>: Inside the Carnival’s Tunnel of Love attraction, a hidden door behind a medieval castle facade is invisible/unreachable via standard interaction. Player needs to access Doug the Mole Man’s room to obtain crowbar and Twine Ball location info.</p>
|
||
<p><small>Source: adventuregamers_walkthrough.html, embedded walkthrough lines 205-213 — “Look at the man on the right. Sam will pull the beard, and a small door in the castle will open. Walk through the door.”</small></p>
|
||
<p><small>Source: abandonwaredos_solution.html, line 279 — “Use the Beard of the Man to the Right -> Hidden door opens, Go through it”</small></p>
|
||
<pre><code>CARTOON PHYSICS EXECUTION CHAIN:
|
||
|
||
Location: Tunnel of Love Hidden Room (3.7)
|
||
Access Phase (prior to beard puzzle):
|
||
1. Ride swan boat into Tunnel of Love attraction
|
||
2. Use flashlight on back walls → reveals hidden fuse box
|
||
3. Use Max on fuse box → stops moving swan boat in place
|
||
4. Examine wall decorations → medieval castle facade with knight portrait visible
|
||
5. Portrait shows bearded man (medieval king/knight imagery)
|
||
|
||
The Surreal Logic Bridge:
|
||
CRITICAL MOMENT - Realistic logic would suggest:
|
||
- Examine portrait for hidden switches
|
||
- Look behind canvas/frame for mechanism
|
||
- Seek key or code elsewhere in room
|
||
- Attempt to open visible doors/windows
|
||
|
||
ACTUAL PUZZLE SOLUTION (Cartoon Physics):
|
||
6. Use PULL action on the knight's BEARD in the portrait
|
||
7. Beard removal triggers mechanical linkage
|
||
8. Hidden door physically slides open in castle wall
|
||
9. Enter newly-accessed passage → Doug's room
|
||
|
||
LOGIC ANALYSIS:
|
||
|
||
CARTOON TROPE UTILIZATION:
|
||
- Classic animation trope: Pull fake beard → reveal disguise/hidden person/mechanism
|
||
- Beards as removable props is established cartoon convention
|
||
- Portrait "come to life" interaction violates normal art-object rules
|
||
- Mechanical linkage between 2D portrait and 3D door exists without physical explanation
|
||
|
||
WORLD-BUILDING JUSTIFICATION:
|
||
- Tunnel of Love IS carnival ride → already operates on amusement-theme logic
|
||
- Hidden room contains Doug the Mole Man (another cartoon character)
|
||
- Entire sequence occurs within attraction designed for comedy/fantasy effects
|
||
|
||
CONSEQUENCE STRUCTURE:
|
||
No failure state—beard pull always works. The "puzzle" is recognizing that cartoon physics apply where realistic mechanics would fail.
|
||
</code></pre>
|
||
<p><strong>Why It’s Surreal Logic Bridge</strong>:</p>
|
||
<ol>
|
||
<li><strong>Explicit Cartoon Trope Reference</strong>: Pulling fake beard to reveal hidden thing is animation convention, not physical world behavior</li>
|
||
<li><strong>No Clues or Trial-and-Error Needed</strong>: Beard pull should seem obvious TO cartoon literate players but IMPOSSIBLE to realistic logic</li>
|
||
<li><strong>Success Confirms World Rules</strong>: After this puzzle, player learns Sam & Max operates on comedy physics consistently</li>
|
||
</ol>
|
||
<p><strong>Distinction from Environmental Storytelling Discovery</strong>: The hidden door isn’t discovered through careful observation of environmental details (cracks in wall, odd texture). It’s discovered through EXECUTING a cartoon action that has NO real-world precedent. The “clue” is genre literacy, not in-game detail.</p>
|
||
<hr>
|
||
<h2 id="related-types"><a class="header" href="#related-types">Related Types</a></h2>
|
||
<div class="table-wrapper">
|
||
<table>
|
||
<thead>
|
||
<tr><th>Type</th><th>Similarity</th><th>Distinction</th></tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr><td><strong>Metaphor-to-Literal Translation</strong></td><td>Both require non-literal thinking</td><td>Metaphor = decode language; SurrLogic = accept cartoon physics override</td></tr>
|
||
<tr><td><strong>Sensory Exploitation</strong></td><td>Both bypass standard interaction</td><td>SE exploits perception weakness; SL abandons causality entirely</td></tr>
|
||
<tr><td><strong>Meta-Puzzle Construction</strong></td><td>Both involve multi-step solutions</td><td>MPC uses realistic chains; SL uses joke equivalences as steps</td></tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<hr>
|
||
<h2 id="design-considerations"><a class="header" href="#design-considerations">Design Considerations</a></h2>
|
||
<p><strong>When to Use</strong>: Puzzles where comedy tone is central to game identity; situations where realistic logic would create tedium or false dead-ends.</p>
|
||
<p><strong>Risks</strong>:</p>
|
||
<ul>
|
||
<li>Overuse makes world feel inconsistent (can player trust ANY logic?)</li>
|
||
<li>Solutions may seem random rather than clever if clues aren’t thematic enough</li>
|
||
<li>Frustration when players can’t recognize genre convention reference</li>
|
||
</ul>
|
||
<p><strong>Best Practice</strong>: Anchor surreal equivalences in visual jokes or established character/world comedy. The eggplant works because vegetable museum established “celebrity vegetables” as running gag first.</p>
|
||
<h3 id="simon-the-sorcerer-watermelon-sousaphone-trade-simon"><a class="header" href="#simon-the-sorcerer-watermelon-sousaphone-trade-simon">Simon the Sorcerer: Watermelon-Sousaphone Trade (SIMON)</a></h3>
|
||
<p><strong>Problem</strong>: A musician is endlessly playing a sousaphone near the Troll Bridge, annoying Simon who needs to pass by. The musician refuses to stop—and crucially, offers the player the broken instrument after some event occurs. The solution involves an object interaction with no realistic causal link: throwing a giant melon directly into a brass instrument’s bell.</p>
|
||
<p><small>Source: walkthroughs/simon1/simon1.txt, lines 553-556 — “Go to the sousaphone player, near the troll bridge. Simon hates his music, so use the watermelon on the sousaphone. You receive a sousaphone for your troubles.”</small></p>
|
||
<p><small>Source: walkthroughs/simon1/simon1_2.txt, lines 115-116 — “Use the watermelon on the sousaphone to get the sousaphone”</small></p>
|
||
<pre><code>CARTOON PHYSICS ACTION REQUIRED:
|
||
|
||
REALISTIC EXPECTATION:
|
||
If player throws large fruit at a musical instrument during performance:
|
||
→ Instrument might be damaged (realistically expensive brass instrument)
|
||
→ Musician would be angry/upset
|
||
→ No guarantee of obtaining possession of the instrument
|
||
|
||
|
||
SIMON CARTOON LOGIC OUTCOME:
|
||
1- Player USES watermelon on sousaphone bell (direct contact action)
|
||
2- Watermelon physically enters and JAMS the brass tubing interior
|
||
3- Musician stops playing because instrument is now inoperable
|
||
4- COMIC EXCHANGE DIALOGUE occurs (not captured in walkthrough but implied):
|
||
- Musician: "You've ruined my sousaphone with this giant melon!"
|
||
- Simon: "Here's another one? Take it. My bad."
|
||
- Player receives the broken original as consolation replacement
|
||
|
||
|
||
WHY IT'S SURREAL LOGIC BRIDGE:
|
||
|
||
NO REAL-WORLD CAUSAL CHAIN EXISTS FOR THIS SOLUTION:
|
||
There is NO legitimate reason why throwing a watermelon at a sousaphone should result in player acquisition of that sousaphone. In realistic logic:
|
||
- Jamming instrument ≠ transferring ownership
|
||
- Damaging property usually creates conflict, not gift economy
|
||
|
||
The puzzle works PURELY through COMEDIC CAUSALITY:
|
||
"Watermelon clogs instrument" → "Musician defeated by absurdity" → "Player gets damaged goods as compensation"
|
||
|
||
|
||
COMIC JUSTIFICATION AS GAME LOGIC:
|
||
The humor derives from treating the exchange as completely legitimate within game world. No characters express shock at the fairness of "broken sousaphone for ruined watermelon"—it's accepted trade practice that the player receives the instrument simply by having destroyed its playability. This is cartoon logic where physical comedy automatically resolves to new item acquisition, regardless of realistic transaction rules.
|
||
|
||
|
||
FAILURE MODE ABSENCE AS MECHANICAL FEATURE:
|
||
Unlike other puzzles where wrong interactions lead to blocked progress or hostile NPC responses, surreal logic puzzles often have NO FAILURE STATE for their core action. Throwing the watermelon CANNOT "fail" in a traditional sense—it will ALWAYS jam and player will ALWAYS get the sousaphone because that's how cartoon equivalences work.
|
||
|
||
This differs from Sensory Exploitation (wrong item = failure to exploit) or Meta-Construction (wrong sequence = broken chain). The surreal action is BINARY AND GUARANTEED: perform the absurd interaction, receive the absurd reward.
|
||
|
||
|
||
THEMATIC ANCHOR IN SIMON WORLD:
|
||
Simon the Sorcerer establishes early that its world operates on comedic causality where ridiculous actions have legitimate game-state consequences. The watermelon-sousaphone trade justifies subsequent acceptance of other cartoon solutions like:
|
||
- Eating magic mushrooms to resize character
|
||
- Talking animals (owl, tree) providing quest help
|
||
- A talking pig (Rapunzel) eating through a chocolate door
|
||
|
||
Once player accepts "melon jams horn = get horn" as valid logic, the game's identity is confirmed: this world rewards absurdity as legitimate puzzle-solving methodology.
|
||
|
||
|
||
PREVIOUS CONTEXT NEEDED FOR FULL COMIC EFFECT:
|
||
The watermelon itself required a prior chain to obtain (beans → compost pile → melon growth). This means player HAS INVESTED in obtaining the absurd item before discovering its equally-absurd application. The comedy is AMPLIFIED because:
|
||
|
||
1- Player worked through realistic-ish chain for watermelon (water beans, plant on compost, harvest fruit)
|
||
2- Application context appears at first glance as hostile confrontation (musician blocking path)
|
||
3- Solution revealed to be GENTLE CARTOON PHYSICS rather than real conflict—no violence required, just throwing produce
|
||
|
||
The tonal shift from realistic item acquisition → cartoon application delivers the full comedic surprise that justifies the surreal equivalence.
|
||
</code></pre>
|
||
<p><strong>Why It’s Surreal Logic Bridge</strong>: The watermelon-to-sousaphone exchange requires player to abandon realistic causation entirely and accept cartoon physics where “damage through absurdity = compensatory possession transfer.” No trial-and-error, no clues about “fruit jams instruments”—just execution of inherently ridiculous action that game world accepts as legitimate transaction.</p>
|
||
<hr>
|
||
</main>
|
||
|
||
<nav class="nav-wrapper" aria-label="Page navigation">
|
||
<!-- Mobile navigation buttons -->
|
||
<a rel="prev" href="../puzzles/multi-faction-diplomacy.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="../docs/style-formatting.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/multi-faction-diplomacy.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="../docs/style-formatting.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>
|