danger/u/
This thread is permanently archived
Designing a game dialog system

| Hello,
I was wondering if any of you had any links or tips for developing a dialog system to be part of a game. What I want is for dialog files to be simple, but to still give access to variables, conditional jumps, etc...
Would any of you amazing coders have any resources giving ideas, designs, or pitfalls to avoid?


| It's a vast topic with many ways to accomplish it. This was actually a big hurdle for us to overcome (Travelling Merchant). We ended up creating our own using a directed graph structure.

Anyways there's alot you can consider, firstly what engine are you using? Things like ren'py and twine are built for this sort of thing and you might want to just make your game there.



| If you're using something else you could still possibly use twine if you find a parser for it or figure it out yourself.

If you want to make your dialogue system from scratch, I can show you what we did, we have a barebones version of our dialog system made in c++ up on github if you wanna take a look.


| >/v/


| >>424984
>>>v *


| >>424973
Renpy and Twine/Yarn are good, but too focused on the VN type. Dialogues will be an element in my game but not the main aspect.
But I'm wondering if I should rather make everything from scratch, or create a parser for an existing language to take advantage of existing tools (thinking about yarn here mainly), but it implies more work for the same results. I'd be interested to see your system, even though I might not be able to understand it clearly (never liked C++ ^^')


| >>424984
I don't think it fits in a video game thread as this is more of a general programming question than a game one. In thia case the system would be used in a game, but dialogues are not exclusive to games.


| Have a look on speech-dispatcher (interface for multiple speech synthesis engines) and simon (speech recognition). I assume the dialog part will be part of the game development.

I'm myself working on a dialog-system for KDE based on these components.


| Oh, and if you want a good open source speech synthesis than maybe have a look on MaryTTS. It's not perfectly natural but still wayy better than espeak. Unfortunately it's written in java with some annoying client-server model.


| >>425041
Which means btw. that mary also isn't compatible with speech dispatcher out of the box right now. I'm working on it^^


| >>b4f2be
Maybe I missed your point, but I'm talking about a textual, RPG-like dialogue system, not about voice synthesis/recognition.
Thanks for the indications anyway, might be useful eventually.


| >>425151
Well for a pure text based RPG you could just write a text file in some usable format and process it with some simple functions. You could even do it with a bash script. Or you could even represent the dialog paths by multiple textfiles, directories and symbolic links. Pretty easy. If you want to fire all hardware ressources you got into a text RPG you could also use renpy.


| >>425256
The problem I have is finding out how to have at the same time easy-to-write dialogue files, but with the ability to have conditional statements, variable and light scripting, with a robust parser.
For example, your file-based idea is good, but not so easy to write as it will quickly become a mess if you have many branches. I'd like to make it accessible to non-devs.
Maybe I'm just trying to have something too perfect, however, that's true...


| >I'd like to make it accessible to non-devs.
How are textfiles not accessible?
If you look for something more front-endish maybe try out dialog/kdialog/GNOME-dialog. Or if you want do something more serious, than start learning qt. Beside C++ there are also bindings for python. And there still is renpy ;-)


| So for those who are interested I think I'll try to use the Eno language. Extremely easy to write, explicit error messages, and they have a parser for python (see it as a json alternative if you want). I thought I might share it since it's not a common language.


| >>425898
Thx. Interesting, looks like beautified ini files^^


| >>425941
And also more powerful as there are neat advanced features. I found this language by chance, and I'm happy I did because it really looks cool

Total number of posts: 17, last modified on: Mon Jan 1 00:00:00 1541070074

This thread is permanently archived