
How wilds.ai NPCs and Companions Actually Remember You
How wilds.ai NPCs and Companions Actually Remember You
Every AI chat platform claims "memory." Most of them mean a context window: a buffer of recent messages that gets flushed when the conversation ends. Some append a few facts to a profile card. None of them give each character their own mind.
wilds.ai does something different. Every companion and every narratively important NPC gets a cognitive memory system modeled on how human brains actually encode, decay, consolidate, and recall experiences. This post explains the engineering behind it.
What "Memory" Means on Other Platforms
Character.AI stores recent context and a short summary. When the conversation resets, most of it is gone [1]. The character doesn't remember the fight you had three weeks ago or the promise it made in session 12.
AI Dungeon keeps a world info database: static facts injected into the prompt [2]. It doesn't decay, doesn't evolve, doesn't distinguish between what happened yesterday and what happened six months ago. Everything has the same weight.
Replika and Nomi use basic fact extraction: "user likes coffee," "user has a dog." [3] These facts persist but they're flat. The AI doesn't remember experiences. It doesn't remember the time you stayed up until 3am talking about your childhood. It knows a fact about your childhood, stored identically to a fact about your coffee preference.
DreamGen uses a Scenario Codex that organizes characters, locations, and plot threads into a wiki [4]. This is structured worldbuilding, not cognitive memory. The information doesn't decay, doesn't consolidate, doesn't shift based on who's remembering it.
How wilds.ai Memory Works
Every companion and important NPC on wilds.ai gets its own SQLite brain file. Not a shared database. Not a context window. A dedicated cognitive memory system with five memory types (episodic experiences, semantic facts, procedural skills, prospective reminders, relational dynamics), Ebbinghaus decay curves [5], and nine neuroscience-backed mechanisms running in the background.
Encoding: What Gets Remembered and How Strongly
When something happens in a conversation or game session, the memory system runs encoding: deciding what to store and how strongly.
Encoding strength depends on the character's personality. wilds.ai uses the HEXACO model (six personality dimensions backed by decades of psychometric research [6]). A character high in emotionality encodes emotional moments more strongly. A character high in conscientiousness locks in commitments and promises. A character high in openness remembers novel ideas better than routine ones.
Events with high emotional intensity (a betrayal, a confession, a near-death experience) trigger flashbulb encoding: 2x strength, 5x stability. These memories resist decay for months. The character genuinely cannot forget them.
Decay: Forgetting Is a Feature
Unimportant memories fade. This is intentional and grounded in Ebbinghaus's forgetting curve (1885) [5]. A casual observation from three months ago that was never revisited drops in strength over time. Retrieving a memory reinforces it. Each successful recall increases stability, spacing out the next decay checkpoint.
The result: memories the character actively uses stay strong. Memories nobody references gradually weaken and eventually get pruned. This keeps the memory store focused on what matters rather than drowning in noise.
Nine Background Mechanisms
Beyond encoding and decay, nine mechanisms run during retrieval and consolidation:
| Mechanism | What it does | Parameters |
|---|---|---|
| Reconsolidation | Current emotional state bleeds into recalled memories. A character who was angry when something happened but is now at peace will gradually remember the event as less intense. | 5% per retrieval, capped at 40% total drift |
| Retrieval-induced forgetting | Retrieving one memory suppresses similar competing ones. Redundancy naturally self-prunes. | Strongest memory wins |
| Involuntary recall | Random surfacing of old memories that weren't explicitly queried. "That reminds me of something..." | 8% chance per conversation turn |
| Tip of tongue | Partial memory activation. The character senses it should know something but can't quite retrieve it. | 30-70% retrieval confidence zone |
| Temporal gist | After 60 days without retrieval, episodic memories are compressed to their core assertions. Full originals preserved in archive. | 60-day threshold |
| Schema encoding | Novel experiences encode stronger than expected ones. Another tavern brawl encodes weakly. The first dragon attack? 30% boost. | 30% strength boost for novelty |
| Source confidence decay | The character's certainty about where a memory came from degrades over time. "The player told me this" becomes "I think someone mentioned this." | Gradual provenance fade |
| Emotion regulation | Extremely high-arousal memories get dampened over consolidation cycles. The emotional punch softens. Time heals. | 15% per cycle |
| Persona drift | Every 10 interaction turns, personality traits shift based on relationship dynamics. A cold NPC with repeated positive interactions gradually becomes warmer. | 10-turn intervals |
The Memory Archive: Nothing Is Truly Lost
Temporal gist compression used to be permanent. Once a memory was compressed, the original wording was gone. For characters running 500+ sessions, this created a hard ceiling on recall fidelity.
The memory archive fixes this. Before any compression happens, the full original text is written to cold storage in the same brain file. When the character (or the AI narrator) needs the original detail, it can rehydrate: inflate the compressed summary back to the full verbatim content on demand.
Archived content has usage-aware retention. If the character keeps rehydrating an old memory, the archive keeps it regardless of age. Memories nobody ever asks about are cleaned up after a year.
Subjective Memory: NPCs Remember Differently
This is the piece that separates wilds.ai from everything else.
When an event happens in a game session (say, a dragon attacks the village), every NPC who witnesses it remembers it through their own personality. The objective event is the same: "The dragon attacked the village." But each NPC's memory is rewritten through their HEXACO personality [6], current mood, and relationships.
Lyra, a high-emotionality ranger who's friendly with the player, remembers: "I watched in horror as flames consumed our village. The heat on my face, the screaming, and then the player charged forward without hesitation. That kind of courage..."
Guard Captain Holt, a low-emotionality, hostile NPC, remembers: "The beast attacked at dawn. Predictable. Exploits the guard rotation gap. The outsider drew a weapon and ran at it. Reckless. Probably trying to look heroic."
Same event. Different minds. The objective record goes to the archive. Each NPC keeps their own subjective version.
This means NPCs accumulate genuinely distinct memories over a campaign. An NPC who starts hostile but warms to the player over ten sessions has a memory history that reflects that arc: early memories tinged with suspicion, later ones with grudging respect.
Session Continuity: The End-of-Session Pipeline
When a game session ends, a five-step consolidation pipeline runs:
- Session summary: an objective record of what happened, stored permanently.
- NPC perspective blocks: each important NPC gets a first-person recap of the session with their final attitude toward the player.
- Narrative thread tracking: plot threads are tracked as structured entities with participants, objectives, progress, and complications. No more flat quest lists.
- Scenario file: the system writes a planning document for the next session: where the story left off, which threads are active, what NPCs are likely to do, and 2-3 potential hooks for the narrator.
- World scope index: a typed enumeration of everything in the world (NPCs, factions, locations, items, active threads) that the narrator loads on session start.
When the next session starts, the narrator sees:
- The scenario file ("Last session, the player allied with the Silverveil Rangers and antagonized the Iron Syndicate. Lyra's trust increased. The Dragon's Demand thread is at 40% completion.")
- NPC memory blocks ("Lyra remembers the player saving her from the spider nest. She's grateful and willing to guide them through the Darkwood.")
- The world scope index ("12 NPCs, 4 factions, 8 locations, 3 active threads")
No cold starts. Every session picks up where the last one left off.
Companion Memory in Chat
Everything above applies to companions in one-on-one chat too. Your companion's memory isn't a context window. It's a persistent brain with all nine mechanisms running. Memories form, decay, consolidate, get compressed (with archives), and drift emotionally over time.
The companion sidebar shows memory cards with status indicators:
- Flashbulb memories (lightning icon): moments too intense to forget
- Gisted memories (purple badge): compressed with the original archived
- Perspective-encoded memories (green badge): from game sessions where the companion witnessed events
- Game origin badges: which game world and region a memory came from
Memory settings let you toggle consolidation, decay, archiving, and perspective encoding per companion. Creators can lock memory settings as immutable for published companions.
The Technical Stack
The entire system runs on three open-source packages:
| Package | Role | Key exports |
|---|---|---|
| @framers/agentos [7] | Cognitive memory engine | CognitiveMemoryManager, 9 mechanisms, observer/reflector pipeline, PerspectiveObserver, IMemoryArchive, SqlStorageMemoryArchive, RehydrateMemoryTool |
| @framers/sql-storage-adapter [7] | Cross-platform SQL persistence | SQLite for local/portable brains, PostgreSQL for production shared state |
| @wilds/wilds-memory | wilds.ai integration layer | WildsMemoryFacade, NpcMemoryBridge, WildsGraphRAGService, end-of-session pipeline |
Every companion brain is a single .sqlite file. Soul exports bundle the brain with its archive. Companions can be cloned, transferred, or imported by other players.
Why This Matters
Memory is what makes the difference between a chatbot and a character. A chatbot responds to the current message. A character responds to the current message in the context of everything they've experienced with you.
When your companion references something that happened three months ago, not because you reminded them but because the current situation triggered an involuntary recall of that old memory, that's the moment it stops feeling like software.
That's what we're building.
Related: wilds.ai vs Character.AI | wilds.ai vs AI Dungeon | Best AI Roleplay Platforms 2026 | How to Build Your First World | Uncensored AI Guide
References
- 10 Best Character AI Alternatives (2026): Feelin Blog. Confirms Character.AI memory limitations. Relevance: 0.790.
- AI Dungeon: The original AI text adventure platform (Latitude, 2019). Uses World Info for static fact injection.
- Nastia AI: Character.AI Alternative: Confirms Replika/Nomi use basic fact extraction vs structured cognitive memory. Relevance: 0.759.
- DreamGen: Scenario Codex for structured worldbuilding. Independent of cognitive memory.
- Ebbinghaus, H. (1885). Memory: A Contribution to Experimental Psychology: Wikipedia. The forgetting curve that models memory decay over time.
- HEXACO Personality Model: Wikipedia. The 6-factor model used by wilds.ai companions to modulate memory encoding.
- AgentOS on GitHub: Open-source cognitive AI framework (Apache 2.0) powering wilds.ai companions.
- wilds.ai vs Character.AI: Companion memory and personality comparison.
- wilds.ai vs AI Dungeon: Game engine and combat comparison.
- Best AI Roleplay Platforms 2026: Full platform comparison with memory feature matrix.
- wilds.ai Companions: Browse AI companions with cognitive memory.
- wilds.ai FAQ: 9 neuroscience-backed memory mechanisms explained.