Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Dialog Tree System


balliztik1
 Share

Recommended Posts

![](http://beaubuckley.info/derrick/DialogTree.png)

This is a screenshot of a simple conversation I made in a few minutes in Neverwinter Nights' Aurora Toolset. For a couple years, I've pondered making something like this for Eclipse, but have never got around to it. Now, though, with EO out, there's finally a base that is easy enough to work with, without a ton of clutter, so I was thinking about getting underway with the project.

I was admittedly inspired when I prowled the source code for Elysium Diamond many months ago. I heard they had a conversation system, so I was intrigued. After having been spoiled by Neverwinter, though, I quickly dismissed Elysium's system and made my own in Sadscript: http://www.touchofdeathforums.com/smf/index.php/topic,51472.0.html. But, no one seemed to use it, whether for lack of understanding or lack of need. However, I believe hardcoding a system like this could open up many, many possibilities to users, while adding in a simple interface for editing, like NWN has.

So, my questions to you, Eclipse, are twofold:

* First, would you use a system like this? I know there have been requests to make NPCs more interactive, but my first attempt was more-or-less ignored. I'm curious to just how much of a demand there really is.
* Secondly, what kind of features would you want in a system like this? As a person who loves adding more capabilities, I'll be sure to recreate all the amazing features that the Aurora Toolset had, such as custom events with dialog, and multiple tiers, as seen above. Are there any more that would be necessary?

I'm pretty sure I've got the actual "making" this thing down, so that won't be a problem, once I can get started. Any feedback is appreciated, and will be considered. Let me know what your take on a conversation system is.

Just for the record, here's a primitive list of some features:

* Tokens - In the example above, "" is a token. This is a bit of text that isn't code, but when read by the server, will be executed as if it was a function. These would give the user a wide variety of things to have an NPC say, based on various values a player's data stores.
* Events - Though not shown, the above conversation has a series of scripts that fire under certain circumstances. These will be popular effects like playing a sound or animation, or setting a variable. Because it would be open source, users could add their own custom events as well.
* Tiers - Each conversation can be as long or as short as needed by means of tiers and nodes. If you need only a one-liner for a shopkeeper or townsperson, that is possible, but the support for a full dialog is there.
Link to comment
Share on other sites

One thing I was thinking, though, is how to display the text. I'll edit on a screenshot of NWN's way of displaying.

![](http://beaubuckley.info/derrick/NWNConvo.png)

Another way to do it, that I think might be more "retro" would to have the text display slowly, like a Final Fantasy game, and you push a button to continue, etc.

![](http://img27.imageshack.us/img27/4888/ff2chapter1005ws9.png)

The problem is, that's 3 different systems (NWN, FF, and text input). Most people would suggest having a variable to choose which one you wanted to use, but that would still mean programming in 3 types - which means cluttering up a source code, etc. I greatly want to avoid that, especially given that Eclipse is supposed to be an engine with just what is needed. If necessary, this might end up being a few separate tutorials or something. I haven't decided.
Link to comment
Share on other sites

Well this feature is a good idea, it's kind of obvious for a decent rpg (mmo included) and could bring a new layer of complexity to Eclipse made games if someone utilizes it well, from simple stuff like asking NPC about diffrent things like rumors or weather, to things like multi-ending quests that can impact your character's development.
And as for the graphics, a list would look good, with player pressing a 1234 button or even better clicking the option he wants to select, go for the Mass Effect dialogue wheel lol.
Link to comment
Share on other sites

You'd be surprised how many MMOs lack basic RPG elements like this. Even WoW, which is among the most popular of the MMOs, doesn't have but a small bit of conversation. It's rare to see any interaction besides a popup asking if you want to accept a quest, etc. I'd be willing to bet 90% or more of MMOs are like this, too, from what I've played. Runescape has a nice bit of conversation scripting, though, and The Old Republic is going to be where Bioware debuts the first fully-voiced MMO, so conversation will be big there. Neverwinter Nights, admittedly, focused more on the roleplaying aspects than does the average MMO. Still, it would be a nice step in the right direction, I'd say.

My point in debating this is because of the demand. With most MMOs not utilizing something like this, I don't know if it would be a feature many would make use of, etc.

On a side note, has anyone played Shadowrun for the SNES/Genesis? That had an interesting dialog system, for certain. ;D
Link to comment
Share on other sites

lol, when I was reading your post, I was like "I'll write 'that's where TOR kicks in'" and then you mentioned TOR later… ninja'd before even knowing it. Anyway, as sayed - it would make an awesome feature if somebody would use it properly, but most likely it won't be used at all. If you have free time do it - sure. Nothing sounds better than adding "complex conversation system" when advertising Eclipse Orgins.
Link to comment
Share on other sites

Well, that's assuming Robin would want it. If it's not going to be a popular feature, I doubt he'd want to add it. Still, it'd be nice to have in the tutorial section. I'd just be using Origins as the base. It would be nothing to port it to Stable or something, too, but Origins is really the way to go, so I wouldn't want to outright make it for an older version.
Link to comment
Share on other sites

I've actually been brainstorming something like this for a long time now.

I created a basic version of this for the old Wind's Nocturne, but I never managed to create a decent tree system for it.

![](http://i38.photobucket.com/albums/e112/Kite_Minase/1-15.png)

The main problem I had was with creating the editor. I never thought of looking back at the old NWN toolset. I had great fun using that and the editing suite was absolutely amazing.

I wish you the best of luck. If you tutorialise this for Origins it'd save me a _lot_ of work and time.

**EDIT:**

Program it the option way. (NWN)

FF was developed around consoles and typing is just annoying.
Link to comment
Share on other sites

I like the idea of having input. Like the old old Ultima games where you type in keywords and if it is something relevant to the NPC, they will respond to it. But that can be quite a pain as every NPC you have to set up what keywords etc. they have to recognize (maybe it's easy to do I don't know). Shadowrun had a limited method like this, where you learn keywords and they are kept in a list and you can select a keyword to see if the NPC knows anything about it. This is a good balance and it's good because it can be kept more in context (like a quest can trigger you to forget the keyword since it's no longer relevant to the player).

As far as MMORPGs, the only game I know that has something like this is Mabinogi.

>! ![](http://img.photobucket.com/albums/v400/annacomnena/mabinogi/vena.jpg)
Link to comment
Share on other sites

Keywords aren't actually too hard to do. All you'd have to do is compare what the player typed to a list, then have it trigger an event. With an event system in place, it'd probably take only a few minutes to code the logic and construct an editor.

I really like Robin's display image up there. Overlaying on the chat box is a great way to not clutter the screen. Runescape used that to good effect.

As far as the usefulness goes, if this does happen, I don't want it to be a feature useful only to some. Even if a player just wants something simple like a shopkeeper saying hello, that will obviously be supported. Just because it will be coded to handle multiple types of events doesn't mean that it can't be used to just deliver one-liners. In fact, in Neverwinter Nights, you had the option to display text as an overhead message rather than opening a dialog box for a simple bit of text. I'm going to edit on a list of some features I plan on, in more detail.
Link to comment
Share on other sites

@Sir:

> As to answer your question:
>
> I would use it, if it is released separately.

Aye, it would be. The plan is to have all the logic in one module and one form file so it's easy to install or uninstall. It shouldn't take more than just adding the files, then making edits to your admin panel as appropriate.
Link to comment
Share on other sites

Thanks for all the feedback, everyone. This project will be underway eventually. I'm currently undertaking a sort of last hurrah with Stable, working to organize the scripting section, as well as give the engine one last unofficial debug fix. After that, though I'll surely still help with source edits and scripts for Stable, I'll be working more with making some edits to Origins. Robin's created a wonderful base; it just needs coders to write some tutorials, like Unknown_Raven has been doing, and hopefully, me, in the future.

So, do continue to leave comments if you have something to say. This is on hiatus for now. I expect I'll be starting into it as early as next week or so, though. Until then, I'll just keep tweaking the design for it.
Link to comment
Share on other sites

Sounds like you'll have quite a bit of fun with this feature, Ballie. I'm actually surprised no one has thought of doing this in the first place. Convos are a big part of RPGs and bringing them into EO is a great way to make the engine stand out even more. Good luck mate and keep us posted.

- Adulese
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...