Friday, July 18, 2014

Dialog System

I spent about half of this week working on the dialog system. Rather than fall into the Not Invented Here trap and rolling my own, I investigated some existing solutions and eventually decided on ChatMapper to create the dialog trees (technically graphs, but everyone calls them trees) and Pixel Crusher's Dialogue System to handle the interaction in game.

Both products work well and are certainly have more features than anything I would have come up with in a reasonable time frame. I encountered several quirks that slowed me down and their documentation could be better organized, but Pixel Crusher's support has been very responsive-- I reported a bug and a question and a patch was posted within 12 hours.

This is not the final UI, but I now have a working in-game dialog. In my current prototype, when the player approaches the Saurid station a dialog appears and the player can converse with the commander.

In-game dialog window on top of the ChatMapper tool I'm using.
The next step is to add hooks into the dialog system's variables and logic, so that I can tie the interaction with the game-- e.g., the if the player discovers something that the Saurid might know about, this would appear as an option in the response menu. Or in the other direction, an interaction in the dialog might trigger some game change, such as starting a mission or adding information to the player's map.

Btw, if anyone knows of any good resources for dialog tree design, let me know!

No comments:

Post a Comment