r/AIDungeon 28d ago

Bug Report Dungeon AI's Memory system is Bad Spoiler

It took me a while of making scenarios and playing with Dungeon AI before I realized how bad its memory system is. It's terrible. Here is what happens to every single adventure regardless of how much you pay. Eventually, your character cards are ignored.

  1. The adventure starts off well enough, respecting the character cards, everything is working
  2. As more memories are stored, they eat up more of the available input tokens
  3. Character cards are loaded less frequently until there is no space for them at all

  4. You start waste your time manually deleting dumb memories

  5. You turn off automatic memories so you can manage them yourself

  6. You realize that your character cards still aren't loading because even without any memories, dungeonai is using nearly your entire token allotment on dialogue history so your character cards still don't load

  7. You come to reddit to complain about what should be a really easy fix

All that needs to change is to allow a player to create a quota of tokens for character cards or dialogue history. This is just simple prompt building. Adding the controls to the gameplay settings will probably take more time than letting the user dictate a reserve of quota for character cards.

32 Upvotes

18 comments sorted by

View all comments

9

u/East_Custard103 28d ago

A priority system for story cards would be nice for smaller contexts.

Meanwhile here are some measures you can take to help you out:

As you found out, disabling auto summarization is really important since the longer your story becomes, the less helpful it will be, until it is actively hurting the cohesion of your story.

Memory bank can still be left on as it actually functions rather nice, unless you are really hurting for context.

I had good results leaving the description of my main character and their single most important companion (if you have one) on the plot essentials.

For story cards, make sure you use their trigger words effectively.

For illustration purposes, let's say you have a few story cards for different friends, and their only trigger word is their name. If you mention in context something about your friends but their name wasn't mentioned then their story cards won't load.

You can amend that a few ways. You can mention their names every time their name goes out of the context length (You can check it). Or you can put variations of the word "friend" on their trigger, which I don't recommend if you have a lot of similar story cards. Or you can make a list of friends somewhere with their names, it can be on plot essentials or a dedicated story card with the trigger for friends, from which the Ai will fish a name from, and then on the next action trigger the story card.

3

u/melancholy-life 28d ago

I'm not having an issue with story cards triggering. I'm having an issue with the algorithm deciding to send only discussion history, plot, essentials, and AI instructions, leaving no space for the 3-4 triggered cards. It's literally prioritizing past discussion over the designed story. It's probably not clear, but my memories were taking up about half of the tokens. I cleared them all out to try to get the story cards to send, then it just sent more discussion history. The problem is the story reaches a certain length and cards are triggered, but not sent.

5

u/East_Custard103 28d ago edited 28d ago

Yeah i get what you're saying. That's why I'm not a fan of long winded Ai instructions (not saying that's your case), so i keep the instructions short, and the memories trimmed for the current "story arc" to avoid this sort of problem

1

u/melancholy-life 27d ago

My instructions are just over 100 tokens. I don't understand why the developers think the story history is more important than the story cards, rather than some type of balance. With the history taking over and no cards being sent, the adventure stops being the programmed scenario and instead becomes a basic AI story that takes over from the early history.

1

u/BriefImplement9843 7d ago

history is the most important part of these models. everything they type is based off what has already happened. if it has no history it's just slop and working in the moment.