How to create a fallout new vegas like dialogue and quest system?

While there are many tutorials on how to create dialogue and quest systems most seem to be about how to create MMORPG style “dialogue” systems that might not be applicable to a proper RPG.

What I need is a dialogue and quest system that are integrated and allows for dialogue to effect quest stages and objectives, dialogue to be affected by character stats, faction alignment, actions, ect and for events to affect dialogue.

I am more of an artist,writer and level designer than a programmer so I am not very confident in my ability to integrate multiple different styles of dialogue and quest system.

Does anyone know of any tutorial series that covers how to make these two systems and integrate them?

1 Like

From what I saw, the tutorials on YouTube are pretty bad for this type of dialog. I had to come with a solution on my own.

In short, I created 2 widgets: one for the dialog window and one for the player answers. After that, I placed the player answers widget (which is just a text widget) inside the dialog window widget. I’m using data tables to choose the text to display.

This is how it looks like:

DialogWidget.gif

It takes a little of work initially, but it’s simpler than many of the tutorials on YouTube and makes life a lot easier. Also it’s more organized, which is very important when you have a ton of text to display.

Do you know of any guides on how to do it this way? I would have difficulty trying to figure it out on my own.

I also would need to know how to connect it to a quest system any ideas?

You should look at Grogger’s,
https://forums.unrealengine.com/unre…ialogue-system

I’m not saying buy it, but take a look at how it’s been implemented to get some ideas. There is documentation and video tutorials that might be useful. The documentation is thorough and every bp is explained hopefully this helps.

As for quest systems, Skyrim use progress numbers from 0 to 100 where 100 is complete. Spreadsheets are your friend.

Ah ok.

I have a question about the Bethesda method of quest scripting. I am familiar with the 0-100 quest stages from the “setqueststage” command (a lot of quest mods can be bugged) but it is not clear to me how multiple branching paths are handled in this system. Are there simply different sets of numbers for the different sets of objectives found on different paths?

Another question I have is if quest stages are used how is the quest stage set?

Sorry for my ignorance, but as I said in the first post programming and the technical stuff is not my strong suit.

A branching, environment-dependent, character-dependent, progress-dependent dialog system is a programming language in itself.
You could express the entirety of each quest or character as a blueprint. Create an event for each character answer, that evaluates all the variables from the world and puts out the next set of “text” and “available prompts.”
When the player chooses one of the prompts, that maps to the next event in the blueprint, that in turn evaluates more logic about the world, and outputs more prompts.
The good news about this, is that doing things like “giving items” or “changing the weather” or whatever, is really easy, because blueprints can do anything.
The bad news about this, is that it’s a horrible mess to develop and debug because quests structured like this are inherently a horrible mess on the inside.

The question then becomes: Where do you put the blueprint/s for the dialog? On each character? On some overall “quest” object? In level blueprints?
My recommendation is to have one blueprint per quest, and carry that forward (on the player character?) between maps, and then have some way to identify which characters in which levels actually fulfill which roles in the quest. Might have some function in Event Begin Play that looks for matching characters in the level when it’s loaded and binds them to variables in the blueprint.
Interacting with characters then means looking the character up in each active quest blueprint, to generate possible prompts, and displaying those to the user.
Note that, after each choice is selected, or the player takes actions that change faction standing etc, you have to re-generate which prompts are valid for the character; easiest might be to do this for each time a new set of prompts is needed.