43 lines
No EOL
27 KiB
HTML
43 lines
No EOL
27 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en-US" dir="ltr">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
<title>Challenges | The Paper Pilot</title>
|
||
<meta name="description" content="The Paper Pilot portfolio site">
|
||
<meta name="generator" content="VitePress v1.2.2">
|
||
<link rel="preload stylesheet" href="/assets/style.DZSXnSM5.css" as="style">
|
||
|
||
<script type="module" src="/assets/app.CZceM_yI.js"></script>
|
||
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
||
<link rel="modulepreload" href="/assets/chunks/framework.Cq0zXouN.js">
|
||
<link rel="modulepreload" href="/assets/chunks/theme.BI7Ww41l.js">
|
||
<link rel="modulepreload" href="/assets/public_lit_docs_challenges.md.CcPvv83c.lean.js">
|
||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Pacifico&family=Roboto+Mono:ital,wght@0,400;0,600;1,400&display=swap">
|
||
<link rel="manifest" href="/site.webmanifest">
|
||
<script defer data-domain="thepaperpilot.org" src="https://plausible.io/js/plausible.js"></script>
|
||
<meta name="og:description" content="The Paper Pilot portfolio site">
|
||
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
|
||
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
|
||
</head>
|
||
<body>
|
||
<div id="app"><div class="Layout" data-v-5d98c3a5><!--[--><!--]--><!--[--><span tabindex="-1" data-v-0f60ec36></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0f60ec36> Skip to content </a><!--]--><!----><header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad><div class="VPNavBar top" data-v-ae24b3ad data-v-ccf7ddec><div class="wrapper" data-v-ccf7ddec><div class="container" data-v-ccf7ddec><div class="title" data-v-ccf7ddec><div class="VPNavBarTitle" data-v-ccf7ddec data-v-ab179fa1><a class="title" href="/" data-v-ab179fa1><!--[--><!--]--><!----><span data-v-ab179fa1>The Paper Pilot</span><!--[--><!--]--></a></div></div><div class="content" data-v-ccf7ddec><div class="content-body" data-v-ccf7ddec><!--[--><!--]--><div class="VPNavBarSearch search" data-v-ccf7ddec><!----><div id="docsearch"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><span class="DocSearch-Button-Key">Meta</span><span class="DocSearch-Button-Key">K</span></span></button></div></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-ccf7ddec data-v-7f418b0f><span id="main-nav-aria-label" class="visually-hidden" data-v-7f418b0f>Main Navigation</span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/guide-to-incrementals/" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>Guide to Incrementals</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/projects/" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>Projects</span><!--]--></a><!--]--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://moddingtree.com" target="_blank" rel="noreferrer" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>Profectus</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-ccf7ddec data-v-e6aabb21><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-e6aabb21 data-v-d1f28634 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-d1f28634></span><span class="vpi-moon moon" data-v-d1f28634></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-ccf7ddec data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/thepaperpilot" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-github" /></a><a class="VPSocialLink no-icon" href="https://www.linkedin.com/pub/anthony-lawn/a9/a98/2" aria-label="linkedin" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-linkedin" /></a><a class="VPSocialLink no-icon" href="https://discord.gg/yJ4fjnjU54" aria-label="discord" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-discord" /></a><a class="VPSocialLink no-icon" href="https://mastodon.gamedev.place/@thepaperpilot" aria-label target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-mastodon" viewBox="0 0 16 16">
|
||
<path d="M11.19 12.195c2.016-.24 3.77-1.475 3.99-2.603.348-1.778.32-4.339.32-4.339 0-3.47-2.286-4.488-2.286-4.488C12.062.238 10.083.017 8.027 0h-.05C5.92.017 3.942.238 2.79.765c0 0-2.285 1.017-2.285 4.488l-.002.662c-.004.64-.007 1.35.011 2.091.083 3.394.626 6.74 3.78 7.57 1.454.383 2.703.463 3.709.408 1.823-.1 2.847-.647 2.847-.647l-.06-1.317s-1.303.41-2.767.36c-1.45-.05-2.98-.156-3.215-1.928a3.614 3.614 0 0 1-.033-.496s1.424.346 3.228.428c1.103.05 2.137-.064 3.188-.189zm1.613-2.47H11.13v-4.08c0-.859-.364-1.295-1.091-1.295-.804 0-1.207.517-1.207 1.541v2.233H7.168V5.89c0-1.024-.403-1.541-1.207-1.541-.727 0-1.091.436-1.091 1.296v4.079H3.197V5.522c0-.859.22-1.541.66-2.046.456-.505 1.052-.764 1.793-.764.856 0 1.504.328 1.933.983L8 4.39l.417-.695c.429-.655 1.077-.983 1.934-.983.74 0 1.336.259 1.791.764.442.505.661 1.187.661 2.046v4.203z"/>
|
||
</svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-ccf7ddec data-v-d0bd9dde data-v-b6c34ac9><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-b6c34ac9><span class="vpi-more-horizontal icon" data-v-b6c34ac9></span></button><div class="menu" data-v-b6c34ac9><div class="VPMenu" data-v-b6c34ac9 data-v-e7ea1737><!----><!--[--><!--[--><!----><div class="group" data-v-d0bd9dde><div class="item appearance" data-v-d0bd9dde><p class="label" data-v-d0bd9dde>Appearance</p><div class="appearance-action" data-v-d0bd9dde><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-d0bd9dde data-v-d1f28634 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-d1f28634></span><span class="vpi-moon moon" data-v-d1f28634></span><!--]--></span></span></button></div></div></div><div class="group" data-v-d0bd9dde><div class="item social-links" data-v-d0bd9dde><div class="VPSocialLinks social-links-list" data-v-d0bd9dde data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/thepaperpilot" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-github" /></a><a class="VPSocialLink no-icon" href="https://www.linkedin.com/pub/anthony-lawn/a9/a98/2" aria-label="linkedin" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-linkedin" /></a><a class="VPSocialLink no-icon" href="https://discord.gg/yJ4fjnjU54" aria-label="discord" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-discord" /></a><a class="VPSocialLink no-icon" href="https://mastodon.gamedev.place/@thepaperpilot" aria-label target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-mastodon" viewBox="0 0 16 16">
|
||
<path d="M11.19 12.195c2.016-.24 3.77-1.475 3.99-2.603.348-1.778.32-4.339.32-4.339 0-3.47-2.286-4.488-2.286-4.488C12.062.238 10.083.017 8.027 0h-.05C5.92.017 3.942.238 2.79.765c0 0-2.285 1.017-2.285 4.488l-.002.662c-.004.64-.007 1.35.011 2.091.083 3.394.626 6.74 3.78 7.57 1.454.383 2.703.463 3.709.408 1.823-.1 2.847-.647 2.847-.647l-.06-1.317s-1.303.41-2.767.36c-1.45-.05-2.98-.156-3.215-1.928a3.614 3.614 0 0 1-.033-.496s1.424.346 3.228.428c1.103.05 2.137-.064 3.188-.189zm1.613-2.47H11.13v-4.08c0-.859-.364-1.295-1.091-1.295-.804 0-1.207.517-1.207 1.541v2.233H7.168V5.89c0-1.024-.403-1.541-1.207-1.541-.727 0-1.091.436-1.091 1.296v4.079H3.197V5.522c0-.859.22-1.541.66-2.046.456-.505 1.052-.764 1.793-.764.856 0 1.504.328 1.933.983L8 4.39l.417-.695c.429-.655 1.077-.983 1.934-.983.74 0 1.336.259 1.791.764.442.505.661 1.187.661 2.046v4.203z"/>
|
||
</svg></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-ccf7ddec data-v-e5dd9c1c><span class="container" data-v-e5dd9c1c><span class="top" data-v-e5dd9c1c></span><span class="middle" data-v-e5dd9c1c></span><span class="bottom" data-v-e5dd9c1c></span></span></button></div></div></div></div><div class="divider" data-v-ccf7ddec><div class="divider-line" data-v-ccf7ddec></div></div></div><!----></header><div class="VPLocalNav empty fixed" data-v-5d98c3a5 data-v-a6f0e41e><div class="container" data-v-a6f0e41e><!----><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-a6f0e41e data-v-17a5e62e><button data-v-17a5e62e>Return to top</button><!----></div></div></div><!----><div class="VPContent" id="VPContent" data-v-5d98c3a5 data-v-1428d186><div class="VPDoc has-aside" data-v-1428d186 data-v-39a288b8><!--[--><!--]--><div class="container" data-v-39a288b8><div class="aside" data-v-39a288b8><div class="aside-curtain" data-v-39a288b8></div><div class="aside-container" data-v-39a288b8><div class="aside-content" data-v-39a288b8><div class="VPDocAside" data-v-39a288b8 data-v-3f215769><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-3f215769 data-v-a5bbad30><div class="content" data-v-a5bbad30><div class="outline-marker" data-v-a5bbad30></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-a5bbad30>On this page</div><ul class="VPDocOutlineItem root" data-v-a5bbad30 data-v-b933a997><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-3f215769></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-39a288b8><div class="content-container" data-v-39a288b8><!--[--><!--]--><main class="main" data-v-39a288b8><div style="position:relative;" class="vp-doc _public_lit_docs_challenges" data-v-39a288b8><div><h1 id="challenges" tabindex="-1">Challenges <a class="header-anchor" href="#challenges" aria-label="Permalink to "Challenges""></a></h1><p>Challenges can have fully customizable win conditions. Useful functions for dealing with Challenges and implementing their effects:</p><ul><li>inChallenge(layer, id): determine if the player is in a given challenge (or another challenge on the same layer that counts as this one).</li><li>hasChallenge(layer, id): determine if the player has completed the challenge.</li><li>challengeCompletions(layer, id): determine how many times the player completed the challenge.</li><li>challengeEffect(layer, id): Returns the current effects of the challenge, if any.</li></ul><p>Challenges are stored in the following format:</p><div class="language-js vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">challenges</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> rows</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: # </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">of</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> rows,</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> cols</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: # </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">of</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> columns,</span></span>
|
||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 11</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> name: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Ouch"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> challengeDescription: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"description of ouchie"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> goal: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> Decimal</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">100</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">),</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> etc</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> etc</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p>Each challenge should have an id where the first digit is the row and the second digit is the column.</p><p>Individual Challenges can have these features:</p><ul><li><p>name: Name of the challenge, can be a string or a function. Can use basic HTML.</p></li><li><p>challengeDescription: A description of what makes the challenge a challenge. <em>You will need to implement these elsewhere.</em> It can also be a function that returns updating text. Can use basic HTML.</p></li><li><p>goalDescription: A description of the win condition for the challenge. It can also be a function that returns updating text. Can use basic HTML. (Optional if using the old goal system)</p></li><li><p>canComplete(): A function that returns true if you meet the win condition for the challenge. Returning a number will allow bulk completing the challenge. (Optional if using the old goal system)</p></li><li><p>rewardDescription: A description of the reward's effect. <em>You will also have to implement the effect where it is applied.</em> It can also be a function that returns updating text. Can use basic HTML.</p></li><li><p>rewardEffect(): <strong>optional</strong>. A function that calculates and returns the current values of any bonuses from the reward. Can return a value or an object containing multiple values. Can use basic HTML.</p></li><li><p>rewardDisplay(): <strong>optional</strong>. A function that returns a display of the current effects of the reward with formatting. Default behavior is to just display the a number appropriately formatted.</p></li><li><p>fullDisplay(): <strong>OVERRIDE</strong>. Overrides the other displays and descriptions, and lets you set the full text for the challenge. Can use basic HTML.</p></li><li><p>unlocked(): <strong>optional</strong>. A function returning a bool to determine if the challenge is visible or not. Default is unlocked.</p></li><li><p>onComplete() - <strong>optional</strong>. this function will be called when the challenge is completed when previously incomplete.</p></li><li><p>countsAs: <strong>optional</strong>. If a challenge combines the effects of other challenges in this layer, you can use this. An array of challenge ids. The player is effectively in all of those challenges when in the current one.</p></li><li><p>completionLimit: <strong>optional</strong>. the amount of times you can complete this challenge. Default is 1 completion.</p></li><li><p>style: <strong>optional</strong>. Applies CSS to this challenge, in the form of an object where the keys are CSS attributes, and the values are the values for those attributes (both as strings).</p></li><li><p>layer: <strong>assigned automagically</strong>. It's the same value as the name of this layer, so you can do player[this.layer].points or similar</p></li><li><p>id: <strong>assigned automagically</strong>. It's the "key" which the challenge was stored under, for convenient access. The challenge in the example's id is 11.</p></li></ul><p>The old goal system uses these features:</p><ul><li><p>goal: <strong>deprecated</strong>, A Decimal for the amount of currency required to beat the challenge. By default, the goal is in basic Points. The goal can also be a function if its value changes.</p></li><li><p>currencyDisplayName: <strong>deprecated</strong>. the name to display for the currency for the goal</p></li><li><p>currencyInternalName: <strong>deprecated</strong>. the internal name for that currency</p></li><li><p>currencyLayer: <strong>deprecated</strong>. the internal name of the layer that currency is stored in. If it's not in a layer, omit. If it's not stored directly in a layer, instead use the next feature.</p></li><li><p>currencyLocation(): <strong>deprecated</strong>. if your currency is stored in something inside a layer (e.g. a buyable's amount), you can access it this way. This is a function returning the object in "player" that contains the value (like <code>player[this.layer].buyables</code>)</p></li></ul></div></div></main><footer class="VPDocFooter" data-v-39a288b8 data-v-d4a0bba5><!--[--><!--]--><div class="edit-info" data-v-d4a0bba5><!----><div class="last-updated" data-v-d4a0bba5><p class="VPLastUpdated" data-v-d4a0bba5 data-v-7e05ebdb>Last updated: <time datetime="2023-11-28T02:07:43.000Z" data-v-7e05ebdb></time></p></div></div><!----></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
|
||
<script>window.__VP_HASH_MAP__=JSON.parse("{\"garden_freeform-vs-chronological-dichotomy_index.md\":\"Cy7F9q-Q\",\"garden_garden-rss_index.md\":\"DOt5PhzY\",\"garden_the-small-web_index.md\":\"Db_xZe0o\",\"garden_weird_index.md\":\"vX1LN3iF\",\"garden_webrings_index.md\":\"BV4xXTqG\",\"garden_this-knowledge-hub_index.md\":\"B3g7DJbw\",\"garden_nostr_index.md\":\"CjoC5i0m\",\"garden_cinny_index.md\":\"CVySnVf6\",\"garden_activitypub_index.md\":\"_KqwdpkJ\",\"garden_chronological_index.md\":\"Cieoc9DO\",\"guide-to-incrementals_design_introduction_index.md\":\"CaCopZob\",\"garden_vitepress_index.md\":\"D2-d7kKK\",\"garden_freeform_index.md\":\"B0mh39tg\",\"garden_my-personal-website_index.md\":\"DcEgHyE0\",\"garden_synapse_index.md\":\"CgkosD30\",\"garden_fediverse_index.md\":\"BeGKVcNK\",\"garden_digital-gardens_index.md\":\"DmjqVF34\",\"garden_social-media_index.md\":\"CvNZ64NE\",\"public_gamedevtree_docs_achievements.md\":\"qVmm-BnU\",\"public_gamedevtree_docs_bars.md\":\"Dt-UXoIu\",\"public_lit_readme.md\":\"DuLjbiei\",\"public_kronos_docs_updating-tmt.md\":\"DRjPhOFI\",\"garden_commune_index.md\":\"BKXBEhqa\",\"public_kronos_docs_bars.md\":\"BYrK3D-E\",\"public_kronos_docs_grids.md\":\"BcTmwaQF\",\"projects_optispeech_index.md\":\"ZeStxM3G\",\"public_gamedevtree_docs_buyables.md\":\"Busu2o43\",\"guide-to-incrementals_ludology_appeal-developers_index.md\":\"CRa32vg6\",\"public_kronos_docs_upgrades.md\":\"atLA3-hv\",\"public_kronos_docs_!general-info.md\":\"BkhJZyek\",\"guide-to-incrementals_ludology_appeal-gamers_index.md\":\"BSFXWDEY\",\"garden_incremental-social_index.md\":\"CUn94yML\",\"garden_decentralized_index.md\":\"DUV2Fqmz\",\"garden_open-source_index.md\":\"HQlMg54q\",\"garden_fedi-v2_index.md\":\"BRxCOors\",\"garden_mbin_index.md\":\"CPOH1ug7\",\"public_lit_docs_!general-info.md\":\"BqGapUY6\",\"public_lit_changelog.md\":\"M_0aKNI0\",\"public_lit_docs_achievements.md\":\"BRWllbCS\",\"public_gamedevtree_docs_basic-layer-breakdown.md\":\"DDfmGBXG\",\"public_lit_docs_bars.md\":\"BfGCDNof\",\"garden_chat-glue_index.md\":\"ClLXpsAo\",\"public_lit_docs_basic-layer-breakdown.md\":\"DuQVphvd\",\"public_lit_docs_buyables.md\":\"CXuoyEud\",\"public_gamedevtree_docs_clickables.md\":\"CR_Q8Hhk\",\"guide-to-incrementals_ludology_content_index.md\":\"BuzLXAXp\",\"public_gamedevtree_docs_challenges.md\":\"DuBvN0H-\",\"public_gamedevtree_docs_getting-started.md\":\"D6a7Qvxo\",\"public_lit_docs_custom-tab-layouts.md\":\"4TZyzP9A\",\"projects_vecs_index.md\":\"B24STRt8\",\"public_lit_docs_getting-started.md\":\"DW3ch1fb\",\"index.md\":\"CXNMeUQB\",\"projects_babble_index.md\":\"DRPt90HG\",\"projects_dice_index.md\":\"C_ghiMFS\",\"public_lit_docs_infoboxes.md\":\"DecjDNjR\",\"public_lit_docs_milestones.md\":\"BEfovYXd\",\"guide-to-incrementals_ludology_definition_index.md\":\"DGADS4rc\",\"public_lit_docs_subtabs-and-microtabs.md\":\"CQEVsxlm\",\"public_gamedevtree_docs_milestones.md\":\"CtgZbFob\",\"public_gamedevtree_docs_subtabs-and-microtabs.md\":\"CYi-cOVg\",\"public_gamedevtree_changelog.md\":\"BkXgQ2qA\",\"public_lit_docs_trees-and-tree-customization.md\":\"Du0t1AaH\",\"public_gamedevtree_docs_updating-tmt.md\":\"CThSkBf8\",\"public_gamedevtree_docs_upgrades.md\":\"CJmwrkSZ\",\"public_lit_docs_updating-tmt.md\":\"DRc97TMA\",\"public_kronos_readme.md\":\"CO3V-tmw\",\"public_kronos_changelog.md\":\"DdkmNjl3\",\"public_kronos_docs_trees-and-tree-customization.md\":\"C_0_4vfR\",\"public_kronos_old things_2.0-format-changes.md\":\"DMaXzEbd\",\"public_lit_docs_upgrades.md\":\"DKBtH7dc\",\"public_kronos_docs_buyables.md\":\"B2oJ-w4B\",\"public_kronos_docs_challenges.md\":\"DxoYZrVF\",\"public_kronos_docs_clickables.md\":\"C-qMjMFg\",\"public_kronos_docs_custom-tab-layouts.md\":\"zWsVkpuV\",\"public_kronos_docs_getting-started.md\":\"DybO_36m\",\"public_gamedevtree_docs_!general-info.md\":\"DIRJAMPK\",\"guide-to-incrementals_design_criticism_index.md\":\"7C5LV8XX\",\"public_kronos_docs_subtabs-and-microtabs.md\":\"BGmuIVZH\",\"public_kronos_docs_infoboxes.md\":\"CVIW-Z8E\",\"public_kronos_docs_layer-features.md\":\"DaOaZOw1\",\"public_gamedevtree_docs_custom-tab-layouts.md\":\"BvMAjAT0\",\"public_kronos_docs_particles.md\":\"CYRsDudF\",\"public_kronos_docs_main-mod-info.md\":\"B5Eog2tw\",\"public_lit_docs_challenges.md\":\"CcPvv83c\",\"garden_logseq_index.md\":\"D539zXz_\",\"garden_matrix_index.md\":\"CyU55NBH\",\"garden_federated-identity_index.md\":\"CA-KO1Bl\",\"garden_forgejo_index.md\":\"BDSamqnD\",\"garden_the-cozy-web_index.md\":\"Ch2M89XA\",\"garden_atproto_index.md\":\"DQRTuxoL\",\"public_lit_old things_2.0-format-changes.md\":\"CfbYooNR\",\"projects_index.md\":\"BMe-htHq\",\"public_lit_docs_layer-features.md\":\"BcBg-rbW\",\"public_lit_docs_clickables.md\":\"gkMblrYN\",\"public_lit_docs_main-mod-info.md\":\"KMr-sPD7\",\"projects_citadel_index.md\":\"qkD5tJzZ\",\"public_gamedevtree_2.0-format-changes.md\":\"D_7qJOlg\",\"public_gamedevtree_docs_infoboxes.md\":\"BbUyRIKQ\",\"public_kronos_docs_achievements.md\":\"Bc_9p4F0\",\"public_kronos_docs_milestones.md\":\"DHIXf_DE\",\"guide-to-incrementals_index.md\":\"B49FnvQH\",\"public_gamedevtree_docs_main-mod-info.md\":\"dMJhRuvG\",\"public_gamedevtree_docs_layer-features.md\":\"BN3LqsK1\",\"public_kronos_docs_basic-layer-breakdown.md\":\"DDRe2V3W\",\"public_gamedevtree_readme.md\":\"B9GBuXDR\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"The Paper Pilot\",\"description\":\"The Paper Pilot portfolio site\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"outline\":\"deep\",\"nav\":[{\"text\":\"Guide to Incrementals\",\"link\":\"/guide-to-incrementals/\",\"activeMatch\":\"^/guide-to-incrementals\"},{\"text\":\"Projects\",\"link\":\"/projects/\",\"activeMatch\":\"^/projects\"},{\"text\":\"Profectus\",\"link\":\"https://moddingtree.com\"}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/thepaperpilot\"},{\"icon\":\"linkedin\",\"link\":\"https://www.linkedin.com/pub/anthony-lawn/a9/a98/2\"},{\"icon\":\"discord\",\"link\":\"https://discord.gg/yJ4fjnjU54\"},{\"icon\":{\"svg\":\"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"16\\\" height=\\\"16\\\" fill=\\\"currentColor\\\" class=\\\"bi bi-mastodon\\\" viewBox=\\\"0 0 16 16\\\">\\n <path d=\\\"M11.19 12.195c2.016-.24 3.77-1.475 3.99-2.603.348-1.778.32-4.339.32-4.339 0-3.47-2.286-4.488-2.286-4.488C12.062.238 10.083.017 8.027 0h-.05C5.92.017 3.942.238 2.79.765c0 0-2.285 1.017-2.285 4.488l-.002.662c-.004.64-.007 1.35.011 2.091.083 3.394.626 6.74 3.78 7.57 1.454.383 2.703.463 3.709.408 1.823-.1 2.847-.647 2.847-.647l-.06-1.317s-1.303.41-2.767.36c-1.45-.05-2.98-.156-3.215-1.928a3.614 3.614 0 0 1-.033-.496s1.424.346 3.228.428c1.103.05 2.137-.064 3.188-.189zm1.613-2.47H11.13v-4.08c0-.859-.364-1.295-1.091-1.295-.804 0-1.207.517-1.207 1.541v2.233H7.168V5.89c0-1.024-.403-1.541-1.207-1.541-.727 0-1.091.436-1.091 1.296v4.079H3.197V5.522c0-.859.22-1.541.66-2.046.456-.505 1.052-.764 1.793-.764.856 0 1.504.328 1.933.983L8 4.39l.417-.695c.429-.655 1.077-.983 1.934-.983.74 0 1.336.259 1.791.764.442.505.661 1.187.661 2.046v4.203z\\\"/>\\n</svg>\"},\"link\":\"https://mastodon.gamedev.place/@thepaperpilot\"}],\"sidebar\":{\"guide-to-incrementals\":[{\"text\":\"Ludology\",\"collapsible\":true,\"items\":[{\"text\":\"Defining the Genre\",\"link\":\"/guide-to-incrementals/ludology/definition\"},{\"text\":\"Appeal to Players\",\"link\":\"/guide-to-incrementals/ludology/appeal-gamers\"},{\"text\":\"Appeal to Developers\",\"link\":\"/guide-to-incrementals/ludology/appeal-developers\"},{\"text\":\"What is Content?\",\"link\":\"/guide-to-incrementals/ludology/content\"}]},{\"text\":\"Development\",\"collapsible\":true,\"items\":[{\"text\":\"Navigating Criticism\",\"link\":\"/guide-to-incrementals/design/criticism\"}]}],\"projects\":[{\"text\":\"Games\",\"items\":[{\"text\":\"Planar Pioneers\",\"link\":\"https://www.thepaperpilot.org/planar\"},{\"text\":\"Advent Incremental\",\"link\":\"https://www.thepaperpilot.org/advent\"},{\"text\":\"Game Dev Tree\",\"link\":\"https://www.thepaperpilot.org/gamedevtree/\"},{\"text\":\"Dice Armor\",\"link\":\"/projects/dice/\"},{\"text\":\"Capture the Citadel\",\"link\":\"/projects/citadel/\"},{\"text\":\"More on Itch\",\"link\":\"https://thepaperpilot.itch.io/\"}]},{\"text\":\"Non-Games\",\"items\":[{\"text\":\"Profectus\",\"link\":\"https://moddingtree.com\"},{\"text\":\"Incremental Social\",\"link\":\"https://incremental.social\"},{\"text\":\"V-ecs\",\"link\":\"/projects/vecs/\"},{\"text\":\"OptiSpeech\",\"link\":\"/projects/optispeech/\"},{\"text\":\"Babble Buds\",\"link\":\"/projects/babble/\"}]}]}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":true}");</script>
|
||
|
||
</body>
|
||
</html> |