Clarify LLM roleplay failure modes
This commit is contained in:
parent
ba63e23bb8
commit
8055cd01af
2 changed files with 50 additions and 21 deletions
|
|
@ -52,18 +52,42 @@ description: A persistent, source-grounded AI roleplaying world that remembers w
|
|||
</section>
|
||||
<section class="gd-breaks" aria-labelledby="breaks-title">
|
||||
<div class="gd-section-intro">
|
||||
<p class="gd-kicker">You have felt the seams</p>
|
||||
<h2 id="breaks-title">The dream ends when the world has an owner.</h2>
|
||||
<p>A language model can write a convincing room. That does not mean it knows where the room is, who remains inside it, or what the empire outside intends to do next. Ghostlight gives those decisions somewhere durable to live.</p>
|
||||
</div>
|
||||
<div class="gd-compare" role="list">
|
||||
<article role="listitem"><p>THE DREAM</p><h3>Canon becomes vibes.</h3><span>Mechanics mutate and distant places become neighbours because nothing beneath the prose owns the setting.</span><strong>Vault-grounded evidence and persistent topology keep the world attached to itself.</strong></article>
|
||||
<article role="listitem"><p>THE DREAM</p><h3>People vanish when you look away.</h3><span>The current speaker consumes the scene. Everyone else waits outside the context window until prompted to react.</span><strong>Every affected participant perceives committed events and may respond from their own state.</strong></article>
|
||||
<article role="listitem"><p>THE DREAM</p><h3>Knowledge teleports.</h3><span>Characters suddenly become experts or reveal secrets because the model saw information the character never earned.</span><strong>Knowledge, perception and authority are validated against the exact character proposing an action.</strong></article>
|
||||
<article role="listitem"><p>THE DREAM</p><h3>The narrator always says yes.</h3><span>A player can declare the impossible, dissolve every obstacle, and discover that a story without refusal has no stakes.</span><strong>You declare an attempt. The world decides whether it is possible, costly, uncertain—or refused.</strong></article>
|
||||
<article role="listitem"><p>THE DREAM</p><h3>History waits at the door.</h3><span>Wars, investigations and journeys freeze until the protagonist returns to make them narratively convenient.</span><strong>Clocks advance, populations move and institutions act during absence without puppeting the player.</strong></article>
|
||||
<article role="listitem"><p>THE DREAM</p><h3>Power exists to admire you.</h3><span>An extraordinary newcomer makes ancient institutions collapse into awe instead of recruiting, exploiting, resisting or containing them.</span><strong>Established powers pursue their interests. Being powerful makes you valuable—and dangerous.</strong></article>
|
||||
<p class="gd-kicker">Common failure modes</p>
|
||||
<h2 id="breaks-title">How LLM roleplay goes wrong.</h2>
|
||||
<p>Good prose can hide a broken game. These are six common failure modes, a concrete example of each, and how Ghostlight is being built to address them.</p>
|
||||
</div>
|
||||
<ol class="gd-failure-list">
|
||||
<li>
|
||||
<header class="gd-failure-heading"><span>Failure mode 01</span><h3>The world contradicts itself.</h3></header>
|
||||
<div class="gd-failure-detail gd-failure-example"><span>Example</span><p>The road that took a week becomes an afternoon. The inn moves across town. A spell quietly gains a new rule.</p></div>
|
||||
<div class="gd-failure-detail gd-failure-response"><span>How Ghostlight addresses it</span><p>Locations, rules, and committed events live in durable state, with relevant source evidence retrieved for narration.</p></div>
|
||||
</li>
|
||||
<li>
|
||||
<header class="gd-failure-heading"><span>Failure mode 02</span><h3>Characters know things they were never told.</h3></header>
|
||||
<div class="gd-failure-detail gd-failure-example"><span>Example</span><p>A guard recognises the alias you revealed privately to a thief three cities away.</p></div>
|
||||
<div class="gd-failure-detail gd-failure-response"><span>How Ghostlight addresses it</span><p>Each character acts from a local view built from what they perceived, learned, and remember—not from every fact the model can see.</p></div>
|
||||
</li>
|
||||
<li>
|
||||
<header class="gd-failure-heading"><span>Failure mode 03</span><h3>NPCs cease to exist offscreen.</h3></header>
|
||||
<div class="gd-failure-detail gd-failure-example"><span>Example</span><p>You leave a refugee convoy for a month. When you return, everyone is still waiting in the same camp for your next line.</p></div>
|
||||
<div class="gd-failure-detail gd-failure-response"><span>How Ghostlight addresses it</span><p>People persist beyond the active scene, and background change can be resolved at the level the campaign needs so individuals can leave, adapt, and return.</p></div>
|
||||
</li>
|
||||
<li>
|
||||
<header class="gd-failure-heading"><span>Failure mode 04</span><h3>Player declarations become facts.</h3></header>
|
||||
<div class="gd-failure-detail gd-failure-example"><span>Example</span><p>“I kick down the fortress gate” works because the player said it confidently—not because the character could do it.</p></div>
|
||||
<div class="gd-failure-detail gd-failure-response"><span>How Ghostlight addresses it</span><p>An attempted action is separate from its result. Possibility, cost, risk, and resolution are checked before the world changes.</p></div>
|
||||
</li>
|
||||
<li>
|
||||
<header class="gd-failure-heading"><span>Failure mode 05</span><h3>The world rearranges itself around the protagonist.</h3></header>
|
||||
<div class="gd-failure-detail gd-failure-example"><span>Example</span><p>A centuries-old order abandons its interests to admire, recruit, or obey the powerful newcomer.</p></div>
|
||||
<div class="gd-failure-detail gd-failure-response"><span>How Ghostlight addresses it</span><p>Characters and institutions have their own pressures, authority, and relationships, so they can refuse, bargain, exploit, contain, or resist.</p></div>
|
||||
</li>
|
||||
<li>
|
||||
<header class="gd-failure-heading"><span>Failure mode 06</span><h3>Consequences vanish from context.</h3></header>
|
||||
<div class="gd-failure-detail gd-failure-example"><span>Example</span><p>The broken treaty, wounded captain, and promised favour disappear once the relevant messages fall out of the chat history.</p></div>
|
||||
<div class="gd-failure-detail gd-failure-response"><span>How Ghostlight addresses it</span><p>Events and relationship changes are committed to durable state so later scenes can retrieve what still matters.</p></div>
|
||||
</li>
|
||||
</ol>
|
||||
</section>
|
||||
<section class="gd-world" id="world" aria-labelledby="world-title">
|
||||
<div class="gd-section-intro">
|
||||
|
|
|
|||
|
|
@ -69,15 +69,18 @@ body {
|
|||
.gd-proof span { color: #8f95a9; font-size: .82rem; line-height: 1.55; }
|
||||
|
||||
.gd-world, .gd-plans, .gd-breaks { max-width: 1180px; margin: 0 auto; padding: 5rem 1.5rem 7rem; }
|
||||
.gd-breaks { display: grid; grid-template-columns: .72fr 1.28fr; gap: 5rem; }
|
||||
.gd-compare { border-top: 1px solid rgba(255,255,255,.1); }
|
||||
.gd-compare article { display: grid; grid-template-columns: 6rem 1fr; column-gap: 1.5rem; padding: 1.7rem 0; border-bottom: 1px solid rgba(255,255,255,.09); }
|
||||
.gd-compare article > p { grid-row: 1 / span 3; margin: .2rem 0; color: #697086; font: 600 .58rem/1.4 "IBM Plex Mono", monospace; letter-spacing: .12em; }
|
||||
.gd-compare h3 { margin: 0 0 .45rem; font: 600 1.12rem "Space Grotesk", sans-serif; }
|
||||
.gd-compare span, .gd-compare strong { font-size: .78rem; line-height: 1.55; }
|
||||
.gd-compare span { color: #858ca0; }
|
||||
.gd-compare strong { margin-top: .5rem; color: #cbd1df; font-weight: 500; }
|
||||
.gd-compare strong::before { content: "↳ "; color: var(--mint); }
|
||||
.gd-breaks { display: grid; grid-template-columns: .66fr 1.34fr; gap: 5rem; }
|
||||
.gd-failure-list { margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.13); list-style: none; }
|
||||
.gd-failure-list > li { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem 2rem; padding: 2rem 0 2.2rem; border-bottom: 1px solid rgba(255,255,255,.1); }
|
||||
.gd-failure-heading { grid-column: 1 / -1; display: grid; grid-template-columns: 8rem 1fr; gap: 1.25rem; align-items: baseline; }
|
||||
.gd-failure-heading > span, .gd-failure-detail > span { font: 600 .6rem/1.4 "IBM Plex Mono", monospace; letter-spacing: .11em; text-transform: uppercase; }
|
||||
.gd-failure-heading > span { color: var(--violet); }
|
||||
.gd-failure-heading h3 { margin: 0; font: 600 1.28rem/1.25 "Space Grotesk", sans-serif; }
|
||||
.gd-failure-detail > span { display: block; margin-bottom: .45rem; color: #777f96; }
|
||||
.gd-failure-detail > p { margin: 0; color: #9da4b7; font-size: .86rem; line-height: 1.62; }
|
||||
.gd-failure-response { padding-left: 1.25rem; border-left: 2px solid rgba(115,239,209,.6); }
|
||||
.gd-failure-response > span { color: var(--mint); }
|
||||
.gd-failure-response > p { color: #cbd1df; }
|
||||
.gd-world { display: grid; grid-template-columns: .8fr 1.2fr; gap: 6rem; }
|
||||
.gd-section-intro { position: sticky; top: 2rem; align-self: start; }
|
||||
.gd-section-intro h2, .gd-final h2 { margin: .9rem 0 1.3rem; font: 550 clamp(2.7rem, 5vw, 4.8rem)/1 "Space Grotesk", sans-serif; letter-spacing: -.055em; }
|
||||
|
|
@ -144,7 +147,9 @@ body {
|
|||
.gd-proof { grid-template-columns: 1fr; margin: 0 1.15rem 5rem; }
|
||||
.gd-proof div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.08); }
|
||||
.gd-feature-grid { grid-template-columns: 1fr; }
|
||||
.gd-compare article { grid-template-columns: 4.7rem 1fr; column-gap: .8rem; }
|
||||
.gd-failure-list > li { grid-template-columns: 1fr; gap: 1rem; }
|
||||
.gd-failure-heading { grid-template-columns: 1fr; gap: .45rem; }
|
||||
.gd-failure-response { padding-left: 1rem; }
|
||||
.gd-feature-grid article { min-height: 240px; border-left-width: 1px; border-bottom-width: 0; }
|
||||
.gd-feature-grid article:last-child { border-bottom-width: 1px; }
|
||||
.gd-callback { margin-inline: 1.15rem; padding: 2.2rem 1.5rem; grid-template-columns: 1fr; gap: 1rem; }
|
||||
|
|
|
|||
Loading…
Reference in a new issue