Jump to content

  • Log In with Google      Sign In   
  • Create Account

- - - - -

Starting a conversation

Posted by , 30 June 2010 · 288 views

I am working on a rpg in the style of Baldur's Gate and Dragon Age. An important part in these kind of games is the conversation system. The conversations are not just simple one liners but they branch and repeat in various ways so it is important that the conversation system is flexible enough to handle all of this.

A conversation is a line that may have several lines or responses. It may also have an action script that is executed when the line is activated. There can also be a condition script and if it evaluates to true then the line is visible. This means that there can be several roots in a conversation and the one that is used is the first one whose condition evaluates to true.

A line can also be a link to another line which means that the conversation jumps to that line instead, this can be great for conversations that repeat.

This is what I got so far:

class ConversationLine {
Guid ID;
Guid Link; // optional
string Condition; // Optional
string Action; // Optional
string Text;
List<ConversationLine> Lines;

typedef List<ConversationLine> Conversation;

I made an editor for this conversation system in C# and I will probably implement it in the actual game as soon as I have got the GUI up and running. I have attached a screenshot of the editor below.

January 2017 »

1516 17 18192021

Recent Comments

Recent Comments