Upcoming Mod - Racial Dialogue Overhaul (RDO)
Hey everyone! Just wanted to show what I've been working on recently; but I'm also looking for feedback from modders/players.
RDO is a mod that is inspired by a comment I got on my Immersive NPC Dialogue mod (formerly Random NPC Dialogue).
>One thing I would wish was possible (but would probably require tweaking the conversation scripts) was a blend between this mod and the vanilla system. The idea is, making the NPC have the dialogue add a set of arrays that contain a group of multiple strings, then the NPC would store a value of which array it wants to use as some form of "dialogue personality". That way, the script would pick a random line from the array in that index every time it is interacted with, giving you a more consistent personality on the dialogue. You could have a set of lines for those that don't trust strangers in an array, then in another array, it could have a set of lines of a personality that loves outsiders. That way, you could have a NPC that consistently says welcoming stuff, or distrustful stuff.
I struggled a lot with it at first, but I got the idea working eventually, and then I put it on the backburner for quite a few months. Recently I've returned to it after updating Immersive NPC Dialogue, and finished some more features. Now I'm finally working on categorizing vanilla dialogue and adding new custom dialogues for applicable vanilla NPCs.
How does the mod work, and what does it do?
Well... all NPCs have a personality. There are 15 vanilla personalities in the game. RDO puts each NPC personality into ONE of 4 dialogue groups: LOVE, NEUTRAL, HATE, or FEAR.
love = {"cheerful", "flirty", "excited", "socialite", "ambitious"},
neutral = {"normal", "clumsy", "dumb", "fast", "nocturnal"},
hate = {"jerk", "intrusive", "emo"},
fear = {"anxious", "easilyspooked"}
This is the main focus of the mod: categorizing dialogues in a brand new config so that reactions and dialogues with the player will always remain consistent. Happy NPCs will always greet and talk with you cheerfully, and angry NPCs that don't like your race will respond as such.
One feature I added recently was the ability for the HATE and FEAR groups to stop conversing with you after 3 interactions, which you can also see in the video. They'll say some mean or fearful things, but then similar to an Oblivion NPC (lol), they'll start telling you to go away or leave them alone until they unload/reload. This is both to combat the issue of needing to write A LOT of negative dialogues for diversity, and because I thought it simply made sense. Somebody who hates you isn't gonna wanna keep talking to you.
I am someone who loves to write tons of different reactionary dialogue for my modded races, but... if you use Immersive NPC Dialogue, you could speak to the same NPC several times and get widely different responses... which didn't really make sense... So this mod is the answer to that!
But, I will be honest with you: it is a lot of work. For both myself and any modder that wants to add support. For me personally, writing dialogues in the style of the vanilla races is really hard, but I'm trying my best. It'll also be a lot of work for modders adding support, because they need quite a bit of dialogue variety to avoid noticeable repetition. But in the end I believe it will be worth it. The config is layed out similar to converse.config, so it's really easy to patch. (Also, it's an opt-in sort of system so that NPCs who don't have support just default to their regular behavior.)
Does anyone have any suggestions for the mod so far? Is it something that would make your game more immersive? Any other thoughts?
P.S. For modders or players who want to understand more of the behind-the-scenes stuff, here you go: NPCs are forced to greet the player, if they have an available greeting dialogue. They wait for a couple seconds, and then automatically pick a converse dialogue to say to the player. When interacted with again, they'll remember they have already greeted the player, and randomly pick another converse dialogue. Repeat until the NPC unloads/reloads.
"default" and "generic" dialogues are pulled from the vanilla "converse.config" for dialogue variety.
LOVE Group:
- Happy Greeting (Custom)
- Happy Dialogue (Custom + Generic)
NEUTRAL Group:
- Neutral Greeting (Custom + Default + Generic)
- Neutral Dialogue (Custom + Generic)
HATE Group:
- Hate Greeting (Custom)
- Hate Dialogue (Custom)
FEAR Group:
- Fear Greeting (Custom)
- Fear Dialogue (Custom)