Hey guys!

Now that we've reached a fairly stable build of this mod with some solid character and feature additions, I though I'd write a little bit about how I'd recommend using it. There have been a number of posts from people talking about the varying output quality of the characters, going as far as to say the mod is actually not good at being immersive, and in a way I actually completely agree! Without getting too technical, this mod basically hooks up to a weaker version of ChatGPT and essentially begs it to stay in character and reply in the correct format. As many of you have seen, begging does not always work.

So why do we use dollar store ChatGPT instead of the real deal which would probably provide more consistent, higher quality output? The shorter answer is the dollar store version is free and it's not scared of a little romance. For a roleplaying mod, I figured those things were the highest priority. That being said, there are ways you can strike a balance between getting better outputs while preserving your immersion, so I want to cover some of those now.

1. Working around limited memory

As you've probably noticed, these characters have very limited knowledge of their own lives and history in the game and its events, let alone the broader common knowledge you'd expect from someone living in or around Night City in 2077. Judy won't know who Evelyn is, Panam won't know who Saul is, no one will know Johnny, Arasaka, etc. However, one thing you should start taking advantage of to avoid brushing up against this issue is how good the AI is at playing along. What I mean by that is, if you randomly mention Saul to Panam, she will have no idea who you're talking about and just make something up (hallucinate). If instead, you provide a tiny bit of context about who Saul is, she tends to quickly pick up on it and run with whatever you're saying. Consider these potential messages to Panam:

V: Hey Panam, how do you feel about what Saul did yesterday?

V: Hey Panam, I heard you butt heads with Saul again on the best way to run the Aldecaldos, how are you feeling about it?

In the second message, the AI is able to interpret from the language that Saul is an Aldecaldo, he has some role in running the clan, and that she and Saul disagree often. I’ve found that I can work a little extra context into conversations like this without it breaking my immersion too much, and in doing that, I can have much deeper and more interesting dialogue consistently. In general, you should try to be the one bringing up specific details to avoid hallucination as much as possible. Lead the conversation, and let the AI take a more reactive approach. You can see other examples of this in the images tab.

2. Editing the system prompt

While currently Judy won’t know who Evelyn is, Rogue will in fact know who Johnny is. That’s because with Rogue, I experimented with adding more detail into her system prompt like that she used to date Johnny back in the day. It’s something I have to be careful with, because the more context I put into the system prompt, the less context I can store in the conversation history. Regardless, this is also a powerful strategy for you to try in your own games, but it will require you modifying the mod files.

This is a lot less scary than it sounds, and I’ve posted an entire video on not just how to edit characters but how to add new ones that you can watch here. In GenerativeTextingUtilities.reds you have access to everything I tell the AI to keep it in character, and there you can add as many details as you want to any of the characters. I will warn you though, sometimes the more detail you add, the worse the output gets because the AI fixates on those details. I tried to tell Panam her favorite food was pierogies and it was all she would talk about after that…

3. Using mod commands

The last thing I’ll mention is I implemented a Reset and Undo feature into the mod. Reset will wipe your conversation history with the character you’re talking to, while Undo will just erase the last message you both sent. I’ve found these incredibly useful for two main cases. I use Undo whenever the last message the AI sent me is kind of jank. If it makes no sense, has formatting artifacts, or just wasn’t where I wanted the conversation to go, I’ll undo the message and either try again or try a different message altogether. 

I’ll use Reset whenever I want to switch topics entirely or when I want to simulate the passage of time. This is because as of now, the AI does not have awareness of the passage of time, only the current time in game, so it won’t know if hours have passed since you last messaged them. An alternative to this is you could say in your message that time has passed, and it will know, but I usually avoid this if I want the topic of the conversation to change, otherwise the AI may fixate on the current conversation history.

I hope some of these notes help you guys preserve your immersion and ultimately have fun with the mod! It’s not perfect, and until large language models progress further, it may never be perfect, but for now, it’s come a long way and there are multiple avenues of growth I plan on pursuing. Please let me know in the comments below if you have any questions or just want to chat about how to use this mod, otherwise feel free to continue posting in the Posts tab or Bugs tab if you want to report a bug.

Happy texting!

Article information

Added on

Edited on

Written by

jmtokx

2 comments

  1. bilibiliGM
    bilibiliGM
    • member
    • 4 kudos
    Hello author, this control does not support Chinese character input, only English input, can it be adapted to Chinese content input? Looking forward to your response!let input = HubTextInput.Create();
  2. TheEvilStranger
    TheEvilStranger
    • premium
    • 12 kudos
    thanks for the update choom