I'm sorry if this is a stupid question but I can't seem to find this answer anywhere. Maybe it's super obvious or right in my face or something but how the hell do I access the journal to begin with?? I saw a flavor text saying I had a journal entry written, but where do I read the entry? What key do I press...? Where is it lmao
It's always a good idea to check the game settings/key bindings 😁 For me it's "N" to open the notebook and "L" to open Logbook (from where you can switch to Notebook and other info). If I am not mistaken this should also be the default keys.
Oh okay I see the issue now, because I have been doing that but it's not any different from the vanilla notebook or logbook. Maybe this mod is conflicting with another mod, but it appears it's just not working for me. Bummer :[
Sorry for the delayed response, I just wanted to let you know I'm not sure what I did but the mod is working now. I kinda went overboard with the modding and had a lot of conflicting mods in general, but now I've been combing through my mod list and fixing things up and your mod is working now so no issues here! I respect what you've done here it's a fun little addition to the game
Is it possible to reduce the priority of original text events? Is it possible to remove the original text? I'm interested in adding a lot of custom details like backstory for my character, but no matter what i do the journal entries always prioritize the original text over any other details i add. I've tried changing the "Only use details from original text" eventually trying to force it to prioritize custom details over the original text details but no luck.
Worked like a charm, thank you for the great advice! The key is to modify the neutral prompt for your characters personality, and add system prompts for backstory. This adds a whole new side to the role playing aspect of this game and it wouldn’t be possible without this mod. Keep up the amazing work! Or take a break, you’ve definitely earned it.
I'm having an issue where suddenly the mod is not writing anything in the actual entries. It was previously and i havent changed anything, now when it says 'writing entry' and "new entry written' or whatever it will have an entry in the log however it is blank. Please advise. Thank you! Awesome mod btw!
If you use remote AI via OpenRouter, you may have reached the daily limit:
Your account has a hard limit of 200 requests per day total across all free models.For all other models, rate limits are determined by the credits in your account.
https://openrouter.ai/docs/faq#how-are-rate-limits-calculated => How are rate limits calculated?
Pretty new to daggerfall modding. I have two questions. One, what do you mean by uncanny always hit is incompatible. Two, how come journal entries are not being written?
1.) The mod Uncanny Always Hit is not compatible, because my mod relies on the mod Vanilla Combat Event Handler. Uncanny Always Hit and VCEH both overwrite a base DFU function. So you can't have Uncanny Always Hit and VCEH both active at the same time.
If you do not have VCEH mod installed, the journal will not contain any info on how many enemies got killed.
2.) Did you rest in a tavern for at least 7+ hours?
If you travel to another town, and sleep for 7+ hours, there should be a new note in your Notebook. If not, something isn't right. You should also get a message at the top of the screen. If nothing has happened between rests, there will be no new entry.
Can you see the incoming request in LM Studio? As soon as you sleep for 7+ hours, LM Studio should get triggered and you should see something happening in it's console window.
Does the mod work without using AI?
Check these spot I marked, they should be active and the IP + Port should match with the mod settings:
Is it possible to change the style of the journal entries simply by modifying the ai prompt? Like, if I wanted the past events narrated in the style of the poetic Edda rather than as a charname journal in first person. Could it do entries like so: ”Strong was the claymore, when on that day, many a bandits, near Wayrest did fall.”
You can change the default prompt to whatever you like. The "only ASCII" is to make sure that no emojis get added, since this will crash DFU.
neutral-prompt=Make this journal entry of an adventurer {name}{className} more exiting to read. The adventurer just wrote down his latest adventures, since his last tavern visit, before going to sleep. Use only information found in the original text. Don't add an entry date. Write from the perspective of the adventurer. Answer in raw text with 200 words maximum, only ASCII:
Just make sure you put everything in one line.
Here are the prompts I used for the different styles you can choose from in the Mod Settings:
Settings.PrePrompt2 = "Turn this journal entry into a dark and foreboding tale. The adventurer {name}{className}, weary from battle, scrawls down his latest trials before exhaustion claims him. Enhance the tension, the fear, and the creeping dread of the unknown. Use only details found in the original text. Write from the perspective of the adventurer. Answer in raw text with 300 words maximum, only ASCII:";
Settings.PrePrompt3 = "Make this journal entry more humorous and lighthearted. The adventurer {name}{className} recounts his latest escapades with an exaggerated flair. Inject wit, irony, and a bit of self-deprecating humor while staying true to the original text. Write from the perspective of the adventurer. Answer in raw text with 300 words maximum, only ASCII:";
Settings.PrePrompt4 = "Rewrite this journal entry in a snappy, modern storytelling style—like a blog post from an adventurer {name}{className} who's just wrapped up another crazy day. Keep it fast-paced, engaging, and filled with personality, while staying true to the original events. Write from the perspective of the adventurer. Answer in raw text with 300 words maximum, only ASCII:";
Settings.PrePrompt5 = "Elevate this journal entry into an epic saga worthy of song and legend. The adventurer’s {name}{className} words should read like a tale passed down through the ages—grand, poetic, and filled with gravitas. Use only the original details but amplify the heroism. Write from the perspective of the adventurer. Answer in raw text with 300 words maximum, only ASCII:";
Settings.PrePrompt6 = "Transform this journal entry into an eerie and mysterious chronicle. The adventurer's {name}{className} words should carry an air of uncertainty, as if the events were woven into fate itself. Add a sense of wonder and cryptic foreshadowing, while staying true to the original text. Write from the perspective of the adventurer. Answer in raw text with 300 words maximum, only ASCII:";
Settings.PrePrompt7 = "Rework this journal entry as the delirious scribblings of an adventurer {name}{className} on the edge of madness. His words are frantic, disjointed—his sanity unraveling after witnessing horrors beyond mortal comprehension. Reality and nightmare blur as he desperately records his last lucid thoughts before sleep (or something far worse) takes him. Use only the original details but twist them into a descent into madness. Write from the perspective of the adventurer. Answer in raw text with 300 words maximum, only ASCII:";
Settings.PrePrompt8 = "Restructure the following journal entry so that the text transitions are slightly better and rewrite the text without brackets. Optimize the writing style so that it fits better to an RPG fantasy game, but not too highbrow. Answer in raw text, only ASCII:";
I already use OpenRouter in other applications so I will use that here as well. For the free options, I’ve had a lot of success with Meta Llama 3.3 70B Instruct in roleplaying. The 3.1 405B instruct model is also affordable at $0.8 per M tokens if you run out of freebees, and similar in performance.
I have a newborn right now so game time is limited, but I’m planning my next run in which this mod will certainly feature! I’m waiting for the release of the interior enrichment project and PCaAO v2.0 would be sweet as well (expected in a few months or so). Otherwise I’m pretty much on the Dream 90s modlist with a few more gameplay mods on top.
I’ll be sure to get back to you with the prompt once I get it right!
Nice, will have to try the 3.1 405B model. I am using the Llama 3.1 8b instruct model locally (4,5GB) and it's quite fast and had some nice output so far, eg. with the standard prompt: The whispers of gold still linger in my mind as I scribble these words by candlelight. Just a few hours ago, at The Toad and Castle, an old man's words hung in the air like a challenge. 'Gold hidden beneath the stones' - a phrase that sent shivers down my spine. What secrets lie beneath the surface? Is it mere madness or a hint of truth? The fires of adventure have been burning within me since I left Daggerfall. The Charenbridge Fields, though peaceful, only fueled the flames. And now, this enigmatic old man's words... it's as if fate itself is beckoning me to uncover the treasure he spoke of. Tomorrow, I'll don my leather armor and set out to unravel the mystery. Will it be a quest of fortune or a fool's errand? Only time will tell, but one thing's certain - I'm ready for whatever lies ahead. The night air seems to pulse with anticipation, and I can barely contain myself as I drift off into slumber, my heart racing with excitement.
--- OTHER VARIANT, same prompt and text:
The shadows dance upon my chamber walls as I scribble by candlelight. My mind still reeling from the day's events, or perhaps it's just the ale that refuses to let go of my senses. Whatever the case may be, I must set these words to paper before the darkness consumes all. I recall the sun-drenched expanse of Charenbridge Fields, where the wind whispers secrets to those brave enough to listen. My time in Daggerfall was a stark contrast – dull and uneventful, save for the memories of well-earned rest and replenished supplies. But then, as I sat at The Toad and Castle, a strange old man caught my attention with his mutterings about 'gold hidden beneath the stones'. His eyes gleamed with an unholy light, and before I could pry more information from him, he stumbled out into the night. A shiver ran down my spine as I watched him disappear into the darkness. The fire crackles, a soothing melody to lull me into dreamland. Yet, my mind refuses to let go of the possibilities that this enigmatic encounter has stirred within me. What secrets lie hidden beneath the stones? Only time will tell.
(Generated in 0.21s with LM Studio 4090 RTX + 64GB RAM)
It's hallucination. I am not sure if it would be a good idea to add these information to the AI journal Text. The AI may is inclined to always mention the gear the character is wearing :/ Maybe I could add a feature that these information will randomly be added to the prompt.
Yeah, signature equipment often feature vividly in a hero’s story or narrative. A pirate’s cutlass, a knight’s armor etc. I assume you are aware of Mantella in Skyrim? It takes loads and loads of input parameters and game world states into consideration, yet doesn’t overstate stuff like equipment IMO.
Hmm… I take it such screens must be taken at good moments to be useful? If they only consider the screen as you rest at the inn, it’s not too relevant. A good thing with your approach is that response times shouldn’t be too limiting anyway, right? I mean, the ai can fill out the journal in its own time in the background and when you open it, what is there is there.
I've been messing around with LLMs with the game data. At least with Gemini, it seems to be able to understand almost the entire Save folder when I uploaded it as a Code Folder, to the exclusion of being able to reliably give a list of equipped items without some serious prompt-crafting. I basically had to walk Gemini through how to parse the data and only send it a subsection of the file or else it seemed to run out of tokens to process it all properly.
Was just an idea, most things that happen could also be catched via in game events. Analyzing Screenshots is probalby overkill. But interesting that it would work in a reasonable time (at least when running it on your local machine).
I think something like this would not work great when using remote Servers (the latency would be too extreme, by the time an enemy got killed, you already left the dungeon when the message pops up lol)
I've been having fun with this, but certain quests keep getting mentioned in every thing, like Warm Ashes. I have updated it to the version that's supposed to minimize these background quests getting mentioned but it's absolutely every message that's like that.
The problem is, that you are using a savegame, where the Wilderness Quests have already been started and you were running an older version of Immersive Journal.
You must either start a new game or if you want, you can fix it manually:
1.) Create a new save game (to make finding it more easily) 2.) Go to your Savegame folder (You can open the Appdata Folder by double clicking the path show in the DFU Launcher) 3.) Find the newest SAVEXX folder inside the Saves folder (the highest number or change date is your newest save game) 4.) Open the mod_immersive journal.txt inside the savegame folder (I suggest a Texteditor like Notepad++)
This is a JSON file, there is a "JournalDays" entry, inside it you can find the Quests array, the line starts with: "Quests": [ There are blocks like this: { "UID": 33554657, "DisplayName": "Warm Ashes Cities (Dummy Startup)", "ShortName": "WAQ_CITIES_STARTUP", "StartTime": { "Year": 405, "Month": 0, "Day": 3, "Hour": 13, "Minute": 30, "Second": 13.35839 }, "EndTime": null, "State": "OnGoing", "Faction": "somewhere unknown", "StartRegion": "Daggerfall", "IsOld": true, "$version": "v1" }
Check for the DisplayName, when it reads something like "Warm Ashes" or the faction is "somewhere unknown" this is most likely one of these background Quests. Delete the whole block from { to }.
Repeat this for every block that has a weird display name or a faction "somewhere unknown".
Make sure that the last block doesnt have a `,` (comma) after it's closing bracket.
Let me know if this works for you or send me your mod_immersive journal.txt via a pastebin or post it here, I can then fix it for you.
I'm an old hand at meddling with these types of files, I got it handled once you pointed out where the data is stored. Literally every quest it was keeping track of was one of these persistent helper quests. Random Orcs Creator, Warm Ashes... all the things from my character's "Recurrent nightmares" was there. I left only an empty list `[]` and took the opportunity to clear out my NotebookData.txt as well. Also I crafted a custom prompt to make it appear to be fragments of a dream. I find that helps me forgive any possible "hallucinations".
Here's what it made.
15:34:19 on 9th of Morning Star, 3E406 in Linisa --- "", " Woke with dust in my throat, a chill despite the sun. The dreams\u2026", " fragments. Stone, endless grey stone. Walls *listening*. Not just the", " Fortress, but Sentinel itself\u2026 pressing in. Seventeen shadows fell in", " that place. Not battles, exactly. More like\u2026 shedding. Each strike, a", " layer of myself cast off against the cold. Ghosts whispering of ages", " past, brittle liches crumbling to ash, even the giants seemed\u2026 hollow.", "", " Then fleeting visions - the harsh red of Wadijuan, the quiet hope of", " Linisa\u2014blurred between the stone. Seven more points of darkness", " extinguished in the wilds. Tigers with teeth too long, burning flesh,", " desperate blades. ", "", " It feels like a purification. Each fallen foe, a fragment of fear or", " doubt silenced. But the Fortress\u2026 it wasn\u2019t the monsters that", " disturbed me, it was the *stillness* between them. Something is buried", " deep within those walls, and my spirit feels like it, too, is being", " tested, broken down. Is this strength, or\u2026 something else? I need to", " understand what these echoes mean.", ""
I think it would be possible. What exactly do you have in mind?
In vanilla it seems to be always the same bio ending with: The local folk treated you to drinks and food and unaccustomed praise. Later you slipped away and found that in addition to a bag filled with gold, the Emperor had handed you a note inviting you to share an audience with him at the Imperial Palace. You set out immediately.
I have played around with Gemini rewriting the entire bio for me, after "discussing" the character concept until it seemed to understand my intent well enough, running it through the character class questionnaire, answering the questions, discussing what Gemini had determined about my character from that, and letting it answer the bio questionnaire and letting it write a story based on all the questions and answers it had.
I think it came out well. I could share it here, but what I learned is that, at least with Gemini, it works better the more information you give it.
I noticed a lot of dummy Warm Ashes quests are being listed in the log too. If you could, I recommend not logging Quests with certain flags so dummy quests arent' logged.
Take "WAQ_WILD_DAY_EVENT01, None, M, 0, 0, event quest" for example.
If you could detect if a quest group is none, needs a membership, has minimum rep of 0 and flag of 0 then that would cut out almost if not all backrunning dummy quests that aren't meant to be logged.
57 comments
Search for "Fixing Long Model Names" :)
It's always a good idea to check the game settings/key bindings 😁 For me it's "N" to open the notebook and "L" to open Logbook (from where you can switch to Notebook and other info). If I am not mistaken this should also be the default keys.
https://www.nexusmods.com/daggerfallunity/articles/67 (last paragraph)
If that's what you're asking for. Adding a backstory as a static base should be possible this way.
Another way in LM Studio is to add a System Prompt in the "Interference" Tab in Developer Mode.
This will get used for every request then.
You can test if its working by setting the system prompt to
So an idea would be to add:
Hope this helps :)
EDIT: Don't skip the line "Only use ASCII", some LLMs tend to add emojis, which may result in erros, since DFU can't display them
Is this the case?
If you do not have VCEH mod installed, the journal will not contain any info on how many enemies got killed.
2.) Did you rest in a tavern for at least 7+ hours?
2). I have, and still nothing has happened. I've just been confused, is all.
You should also get a message at the top of the screen. If nothing has happened between rests, there will be no new entry.
I set up the offline ai model, and I still do not get journal entries. I disabled all the non-compatible mods. Any other ideas on how to fix this?
Does the mod work without using AI?
Check these spot I marked, they should be active and the IP + Port should match with the mod settings:
https://www.nexusmods.com/daggerfallunity/articles/67 (at the bottom)
You can change the default prompt to whatever you like. The "only ASCII" is to make sure that no emojis get added, since this will crash DFU.
neutral-prompt=Make this journal entry of an adventurer {name}{className} more exiting to read. The adventurer just wrote down his latest adventures, since his last tavern visit, before going to sleep. Use only information found in the original text. Don't add an entry date. Write from the perspective of the adventurer. Answer in raw text with 200 words maximum, only ASCII:
Just make sure you put everything in one line.
Here are the prompts I used for the different styles you can choose from in the Mod Settings:
Settings.PrePrompt2 =
"Turn this journal entry into a dark and foreboding tale. The adventurer {name}{className}, weary from battle, scrawls down his latest trials before exhaustion claims him. Enhance the tension, the fear, and the creeping dread of the unknown. Use only details found in the original text. Write from the perspective of the adventurer. Answer in raw text with 300 words maximum, only ASCII:";
Settings.PrePrompt3 =
"Make this journal entry more humorous and lighthearted. The adventurer {name}{className} recounts his latest escapades with an exaggerated flair. Inject wit, irony, and a bit of self-deprecating humor while staying true to the original text. Write from the perspective of the adventurer. Answer in raw text with 300 words maximum, only ASCII:";
Settings.PrePrompt4 =
"Rewrite this journal entry in a snappy, modern storytelling style—like a blog post from an adventurer {name}{className} who's just wrapped up another crazy day. Keep it fast-paced, engaging, and filled with personality, while staying true to the original events. Write from the perspective of the adventurer. Answer in raw text with 300 words maximum, only ASCII:";
Settings.PrePrompt5 =
"Elevate this journal entry into an epic saga worthy of song and legend. The adventurer’s {name}{className} words should read like a tale passed down through the ages—grand, poetic, and filled with gravitas. Use only the original details but amplify the heroism. Write from the perspective of the adventurer. Answer in raw text with 300 words maximum, only ASCII:";
Settings.PrePrompt6 =
"Transform this journal entry into an eerie and mysterious chronicle. The adventurer's {name}{className} words should carry an air of uncertainty, as if the events were woven into fate itself. Add a sense of wonder and cryptic foreshadowing, while staying true to the original text. Write from the perspective of the adventurer. Answer in raw text with 300 words maximum, only ASCII:";
Settings.PrePrompt7 =
"Rework this journal entry as the delirious scribblings of an adventurer {name}{className} on the edge of madness. His words are frantic, disjointed—his sanity unraveling after witnessing horrors beyond mortal comprehension. Reality and nightmare blur as he desperately records his last lucid thoughts before sleep (or something far worse) takes him. Use only the original details but twist them into a descent into madness. Write from the perspective of the adventurer. Answer in raw text with 300 words maximum, only ASCII:";
Settings.PrePrompt8 =
"Restructure the following journal entry so that the text transitions are slightly better and rewrite the text without brackets. Optimize the writing style so that it fits better to an RPG fantasy game, but not too highbrow. Answer in raw text, only ASCII:";
I have a newborn right now so game time is limited, but I’m planning my next run in which this mod will certainly feature! I’m waiting for the release of the interior enrichment project and PCaAO v2.0 would be sweet as well (expected in a few months or so). Otherwise I’m pretty much on the Dream 90s modlist with a few more gameplay mods on top.
I’ll be sure to get back to you with the prompt once I get it right!
The whispers of gold still linger in my mind as I scribble these words by candlelight. Just a few hours ago, at The Toad and Castle, an old man's words hung in the air like a challenge. 'Gold hidden beneath the stones' - a phrase that sent shivers down my spine. What secrets lie beneath the surface? Is it mere madness or a hint of truth?
(Generated in 0.21s with LM Studio 4090 RTX + 64GB RAM)The fires of adventure have been burning within me since I left Daggerfall. The Charenbridge Fields, though peaceful, only fueled the flames. And now, this enigmatic old man's words... it's as if fate itself is beckoning me to uncover the treasure he spoke of.
Tomorrow, I'll don my leather armor and set out to unravel the mystery. Will it be a quest of fortune or a fool's errand? Only time will tell, but one thing's certain - I'm ready for whatever lies ahead. The night air seems to pulse with anticipation, and I can barely contain myself as I drift off into slumber, my heart racing with excitement.
--- OTHER VARIANT, same prompt and text:
The shadows dance upon my chamber walls as I scribble by candlelight. My mind still reeling from the day's events, or perhaps it's just the ale that refuses to let go of my senses. Whatever the case may be, I must set these words to paper before the darkness consumes all.
I recall the sun-drenched expanse of Charenbridge Fields, where the wind whispers secrets to those brave enough to listen. My time in Daggerfall was a stark contrast – dull and uneventful, save for the memories of well-earned rest and replenished supplies.
But then, as I sat at The Toad and Castle, a strange old man caught my attention with his mutterings about 'gold hidden beneath the stones'. His eyes gleamed with an unholy light, and before I could pry more information from him, he stumbled out into the night. A shiver ran down my spine as I watched him disappear into the darkness.
The fire crackles, a soothing melody to lull me into dreamland. Yet, my mind refuses to let go of the possibilities that this enigmatic encounter has stirred within me. What secrets lie hidden beneath the stones? Only time will tell.
e.G. "[Adventurer wore leather armor, longsword]"
{name}{className}
Maybe the AI will not overdo it :)
But I am not sure if I will deep dive into this feature. Using gemma 3 12b, which needs at least 15GB (response is fast though, 0.88s)
I think something like this would not work great when using remote Servers (the latency would be too extreme, by the time an enemy got killed, you already left the dungeon when the message pops up lol)
AI models get more and more advanced, it's crazy.
You must either start a new game or if you want, you can fix it manually:
1.) Create a new save game (to make finding it more easily)
2.) Go to your Savegame folder (You can open the Appdata Folder by double clicking the path show in the DFU Launcher)
3.) Find the newest SAVEXX folder inside the Saves folder (the highest number or change date is your newest save game)
4.) Open the mod_immersive journal.txt inside the savegame folder (I suggest a Texteditor like Notepad++)
This is a JSON file, there is a "JournalDays" entry, inside it you can find the Quests array, the line starts with:
"Quests": [
There are blocks like this:
{
"UID": 33554657,
"DisplayName": "Warm Ashes Cities (Dummy Startup)",
"ShortName": "WAQ_CITIES_STARTUP",
"StartTime": {
"Year": 405,
"Month": 0,
"Day": 3,
"Hour": 13,
"Minute": 30,
"Second": 13.35839
},
"EndTime": null,
"State": "OnGoing",
"Faction": "somewhere unknown",
"StartRegion": "Daggerfall",
"IsOld": true,
"$version": "v1"
}
Check for the DisplayName, when it reads something like "Warm Ashes" or the faction is "somewhere unknown"
this is most likely one of these background Quests. Delete the whole block from { to }.
Repeat this for every block that has a weird display name or a faction "somewhere unknown".
Make sure that the last block doesnt have a `,` (comma) after it's closing bracket.
Let me know if this works for you or send me your mod_immersive journal.txt via a pastebin or post it here, I can then fix it for you.
Here's what it made.
15:34:19 on 9th of Morning Star, 3E406 in Linisa
---
"",
" Woke with dust in my throat, a chill despite the sun. The dreams\u2026",
" fragments. Stone, endless grey stone. Walls *listening*. Not just the",
" Fortress, but Sentinel itself\u2026 pressing in. Seventeen shadows fell in",
" that place. Not battles, exactly. More like\u2026 shedding. Each strike, a",
" layer of myself cast off against the cold. Ghosts whispering of ages",
" past, brittle liches crumbling to ash, even the giants seemed\u2026 hollow.",
"",
" Then fleeting visions - the harsh red of Wadijuan, the quiet hope of",
" Linisa\u2014blurred between the stone. Seven more points of darkness",
" extinguished in the wilds. Tigers with teeth too long, burning flesh,",
" desperate blades. ",
"",
" It feels like a purification. Each fallen foe, a fragment of fear or",
" doubt silenced. But the Fortress\u2026 it wasn\u2019t the monsters that",
" disturbed me, it was the *stillness* between them. Something is buried",
" deep within those walls, and my spirit feels like it, too, is being",
" tested, broken down. Is this strength, or\u2026 something else? I need to",
" understand what these echoes mean.",
""
Making it a dream also is a nice idea. :D
Glad you could solve the problem.
In vanilla it seems to be always the same bio ending with:
The local folk treated you to drinks and food and
unaccustomed praise. Later you slipped away and found
that in addition to a bag filled with gold,
the Emperor had handed you a note inviting you to share an
audience with him at the Imperial Palace. You set out
immediately.
I think it came out well. I could share it here, but what I learned is that, at least with Gemini, it works better the more information you give it.
Take "WAQ_WILD_DAY_EVENT01, None, M, 0, 0, event quest" for example.
-- name: WAQ_WILD_DAY_EVENT01
-- group: None
-- membership: M
-- minReq: 0
-- flag: 0
-- notes: event quest
If you could detect if a quest group is none, needs a membership, has minimum rep of 0 and flag of 0 then that would cut out almost if not all backrunning dummy quests that aren't meant to be logged.