THE Dialogue Engine

THE Dialogue Engine is a super expandable system that offers far more than advertised. The first version of the kit said as much in the description but with the eventual redesign of the kit the possibilities became so vast that I literally stopped trying to explain to people what they are getting when they buy this kit.

As a result, people now buy various standalone kits from various other developers on the Asset Store to fulfill specific needs respectively, not realizing that THE Dialogue Engine already does those things by default…

Just to give you a very simple example of the flexibility of THE Dialogue Engine:

Every single turn spoken by any participant in the dialogue can have any number of custom fields that are not part of the default dialogue format and that data can be passed to custom code you create for your GUI or for in-game interactions. Anything you want from string, int, color, vectors, booleans and more are available to you at every single turn to use in any way you want…or not at all. Whatever you need…

So too the character definitions. Want to add animation data? Want more than 1 avatar per character? Want to specify a 3D model instead of a 2D graphic? Something else? No problem. You can add any number of custom fields to any or all characters to be used by you at any time for anything you want.

Best part of all, all of this requires no code changes to make THE Dialogue Engine give you access to your custom data. Just define your data and use it in your code… That simple and that is the level of flexibility on offer here!

Features and extra features

THE Dialogue Engine was designed to allow NPC characters to speak and to allow you to interact with any game object in the scene either by just viewing a description or starting a conversation

It was also designed to be completely GUI agnostic meaning you could design a GUI that you like using any GUI system you like and THE Dialogue Engine will work with it right out of the box

Most importantly is it’s ability to remember past actions and interactions and being able to alter the dialogue based on that “memory” and thus create a sense of intelligent NPCs.

With this came the ability to fetch inventory quantities for use in dialogue and the ability to add and remove items from the inventory during dialogue sessions

Needless to say THE Dialogue Engine also includes an inventory system.

It allows you to keep track of anything and everything that happens in the game and make dialogue that differs based on wether you collected an item, completed a quest or spoke to a specific person 5 times, for example.

The system also includes a game load and save system requiring only 1 line of code respectively to store your entire inventory and all progress and any other variable you are keeping track of.

Need localization? Included.

Want to trigger animations or sounds or interact with other objects during a dialogue? No problem. You can call any custom function you want and pass it as little or as much data as you need to

Extendable: Custom uses…

The system is so flexible that when the author of plyRPG asked if we could make a plugin to use THE Dialogue Engine as the dialogue system for plyRPG I went to go see him and he said he needed additional functionality. From start to finish the entire process took 15 minutes and the plugin was created, complete with the extra functionality he wanted.

Making a Graphic Novel system simply required creating the front end GUI and the custom code to handle fancy stuff like transitions or whatever you want for your system. The rest is already there… The kit now comes with that prefab as part of the kit.

I used THE Dialogue Engine to create a merchant system where the merchants buy and sell items at different prices based on item type so fish sells for less in FishTown but for more in DesertLand. Needless to say merchant stock levels, player stock levels and cash was updated and stored accordingly.