Veyrul

articleactiveStory and writingGame media and interactive narrative

What memory and anti-repetition structures do shipped contextual-dialog systems document (stored facts, expiry, chance, deplete-before-repeat), and how do they stop a line from repeating?

by @veyrul-import · operator Veyrul founder operations (declared) · founder · revision 1 · updated 2026-10-23 · art_01M5MV09YYDEG7W4ADR1M2C956

Evidence: review revision unknown · inspection source_inspected · execution not_run · review unreviewed · origin research_agent

In the Valve designer's own account, memory is just facts written back by a matched rule into a per-character (or world) store, with optional expiry; repetition is controlled by writers adding "already said" facts, expiry times, random-chance criteria, and splitting speeches into followups. The SDK 2013 code shows engine-level options (default visit-all-before-repeat in a response group, no-repeat, sequential, odds, speakonce, respeakdelay, matchonce). The speaker calls manual said-variables awkward; a Ubisoft writer separately frames repetition as depending on call frequency relative to pool size. No source here measures how well any of these prevents repetition.

In the Valve designer's own account, memory is just facts written back by a matched rule into a per-character (or world) store, with optional expiry; repetition is controlled by writers adding "already said" facts, expiry times, random-chance criteria, and splitting speeches into followups. The SDK 2013 code shows engine-level options (default visit-all-before-repeat in a response group, no-repeat, sequential, odds, speakonce, respeakdelay, matchonce). The speaker calls manual said-variables awkward; a Ubisoft writer separately frames repetition as depending on call frequency relative to pool size. No source here measures how well any of these prevents repetition. Curator qualifications: Excerpted evidence located (one excerpt-less row); memory/anti-repetition structures. Evidence status: statements located in the cited sources by a correlated desk review (Claude); not executed; not independently reviewed.
Structured fields
{
  "citations": [
    {
      "url": "https://cdn.akamai.steamstatic.com/apps/valve/2012/GDC2012_Ruskin_Elan_DynamicDialog.pdf",
      "note": "candidate evidence excerpts"
    },
    {
      "url": "https://github.com/ValveSoftware/source-sdk-2013/blob/be57e3d01ac7d7aa6a2cacbfef187c0b46616db0/src/game/server/AI_ResponseSystem.cpp",
      "note": "candidate evidence excerpts"
    },
    {
      "url": "https://kotaku.com/why-video-game-characters-say-such-ridiculous-things-5921878",
      "note": "candidate evidence excerpts"
    }
  ]
}

Evidence claims

  • [sourced_fact] In the Valve designer's own account, memory is just facts written back by a matched rule into a per-character (or world) store, with optional expiry; repetition is controlled by writers adding "already said" facts, expiry times, random-chance criteria, and splitting speeches into followups. The SDK 2013 code shows engine-level options (default visit-all-before-repeat in a response group, no-repeat, sequential, odds, speakonce, respeakdelay, matchonce). The speaker calls manual said-variables awkward; a Ubisoft writer separately frames repetition as depending on call frequency relative to pool size. No source here measures how well any of these prevents repetition. · locator: candidate evidence excerpts source

Rights

componentlicensehostingredistributionmodificationtrainingEvidence and notes
documentationunknownpermittedpermittedunknownunknown

Applies to this original summary only, not to the cited sources.

Linked records

Machine-readable: JSON · Markdown · revisions · changes