RimTalk Lucid Chronicle
Give your colonists memories, your colony a Chronicle — and conversation a stage to happen on.
RimTalk Lucid Chronicle is a RimTalk extension that gives colonists a memory system as simply as possible, then lets an AI storyteller weave a colony Chronicle from those memories.
Colonists summarize daily events in light of their own persona, condense those memories through layered summaries, and keep updating their current long-term memory. Because of this, in theory, memories never fully evaporate, and colonists gradually change and grow over a long playthrough. To help those memories and stories take shape, this mod also adds Conversation Mode, which lets RimTalk conversations continue while game time is paused. The LLM model normally follows your RimTalk settings, but you can also specify a separate model just for memory summarization.
This mod was inspired by RimTalk Expand Memory and rebuilt from scratch to be simpler and more multilingual-friendly. The goal is that, once RimTalk is installed, you set each colonist’s persona, press a preset button suited to your LLM or API budget, and it works well enough from there. If you want advanced customization—such as tag-based memory classification or detailed per-colonist background settings—please use Expand Memory instead.
Note: This mod replaces RimTalk’s Chat History feature. With the default settings, it automatically disables RimTalk-side Chat History, but if you are using a customized RimTalk entry, please disable Chat History yourself.
- Day log (raw data)
Stores that day’s raw conversation and event logs while adding addressee information, monologue detection, speaker status tags, location, and timing labels (just now / N hours ago). - Short-term memory (today so far)
Each time enough day-log lines accumulate, they are condensed into a first-person "today so far" summary using a diff update: only the previous summary + the new lines are sent. - Mid-term memory (daily summary)
At the end of the day, the day is condensed into a single entry. The input is not the entire raw log, but the "today so far" summary plus only the remaining tail lines. This keeps prompts from bloating even on very chatty days, helping prevent slow LLMs from breaking down. - Long-term memory (the memory backbone)
When mid-term memories exceed their cap, the older half is integrated with the current long-term memory and rewritten into one "memory backbone". - Pinned memory
Any memory you consider important can be pinned so it will never be forgotten.
At a configurable interval, the mod cross-references RimTalk’s persona with the colonist’s long-term memory and briefly extracts how their values, fears, attachments, way of speaking, and behavioral criteria have changed. To prevent drift caused by repeated patching, this supplement is not "updated" like a summary; it is freshly generated from the long-term memory each time. In academic-paper terms, the relationship is like "Results" (long-term memory) and "Discussion" (persona supplement = behavioral criteria).
When several characters are present, RimTalk can run into the problem where everyone mistakes who a line was meant for and starts replying. This mod uses its own algorithm to reduce that confusion.
Addressee inference algorithm (checked from top to bottom)
- Explicit target: the addressee output by the AI. Not very common.
- Player directive: the target when you right-click to have X talk to someone.
- Vocative name at the start of the line: detects a name + vocative boundary near the beginning, such as "Taro, …".
- Reply chain: if the line was triggered as a reply to an earlier line, the earlier speaker is treated as the addressee.
- Recent-speaker list (proximity first): rather than just using the single last speaker, the mod treats the closest recent speaker within a time window, map, and distance as the conversation partner, reducing mix-ups in scenes with 3 or more characters.
- RimTalk’s pair: if still unresolved, the partner chosen by RimTalk is used as the addressee.
- Non-specific marker: as a last resort, if even RimTalk’s pair is unavailable, the line is marked as "(to those present)", so everyone does not assume it was specifically "for me" and run off replying.
Other mechanical handling
- Monologue detection: monologues are detected from system information and tagged onto memory, rather than leaving everything to the prompt.
- Status tags: the speaker’s status, such as visitor, prisoner, or enemy, is taken from game data and tagged. So your colonists won’t scream "a friend went down!" when a raider collapses.
RimTalk’s standard feature lets you make a chosen colonist speak a line you type. This mod adds a right-click menu to start an AI-driven conversation without typing a line.
It also adds Conversation Mode, toggled from the bottom-right play-settings icon row. While active, the game is paused, but selected pawns can keep generating RimTalk dialogue. No more drafting colonists to stop them wandering away mid-scene, and no more mashing pause just to catch a conversation at the right moment.
- Right-click pawns to add or remove conversation participants.
- Let the conversation advance automatically, or use manual mode to generate one line at a time.
- Adjust the interval between automatic lines.
- Use per-participant "Talk" buttons to make a specific pawn speak next.
Let them talk as much as you like, and give your colony’s chronicle richer detail.
An AI storyteller automatically generates daily brief chronicles and 10-day saga-style chronicles, making it easy to look back on your colony’s history.
- A per-colonist memory viewer: browse each memory layer, and edit / pin / delete entries. If the AI summary misread something, you can fix it by hand. You can also delete inconvenient memories. Oops.
- Copy / export: persona information, individual memories, and chronicles can be copied for all colonists at once. Since this roughly covers the colony’s narrative history, you can feed the copied text to an LLM outside the game and continue the colony’s conversations in a pseudo-TRPG style.
- Colony events are remembered from RimWorld’s system letters by LetterDef kind, in a language-neutral way.
- Battle records of downs and deaths can be remembered. So your colonists won’t keep wanting to charge after the enemy has already been wiped out.
- Social logs from specific mods can be ingested by specifying package IDs. For example, if you use Rim*ob*orld, entering the relevant ID lets colonists hold conversations that react to those events.
- Developed in Japanese and English environments, but because it avoids language-dependent hardcoding, it works in multiple languages. Default prompts are Japanese in Japanese environments and English otherwise. The English prompts instruct the model to "write in the same language as the game environment", so other languages should work as well.
- This was made mainly for my own enjoyment, so it still has plenty of room for improvement. Feedback and bug reports are welcome.