Trying to find helpful JSON dialogue tutorials / explanations

  • Hi,

    As students in my mobile gaming course begin working on their final projects, I'm hoping to deepen my knowledge of how JSON files can be used to create a rudimentary dialogue system.

    So far, I've come across the following resources:

    • Dialogue Designer III - An inexpensive utility from itch.io that can be used to write dialogues. This tool exports to JSON format, but the documentation does not include examples of how to parse the JSON files.
    • JSON Manager Plugin - Now deprecated because the functionality has been folded into C3, this plugin came with a sample file that includes helpful comments and explanations, but I'm not sure which parts of the event sheet are still applicable. Tried disabling the add-on manager to see if any of the code still worked, but it wouldn't load the file without the add-on.
    • An old version of "Dialogue System Template" that I purchased for Construct 2 a couple years ago when a student wanted to create a visual novel. I just realized that it has been updated for C3.
    • JSON documentation in the C3 manual.

    I'm trying to make sense out of these resources, but I am still missing some of the big picture. Resources like 'Dialogue System Template' and 'Dialogue Designer III' are somewhat helpful, but they assume that one is using these particular tools. I would *love* to find some sort of higher-level explanation of the concept. Can anyone point me to other resources or explanations or sample C3 files which helped you make sense out of JSON and dialogue options?

    As a related question, I'm also trying to figure out how the JSON structure intersects with arrays and dictionaries. Is the idea that we first parse a JSON file and, after it has been loaded and parsed, we use this information to populate arrays and/or dictionaries?

    I'm sure I can figure all of this out. Just missing a few pieces/insights about how everything fits together.

  • There is a JSON plugin for Twine and a paid Twine plugin for C2 (and I have a C3 conversion.)

    So you can write dialogue in Twine output to JSON and then import to C3 and use Twine plugin to output.

    C3 Twine plugin (paid)

    colludium.itch.io/twine-plugin

    Twine: twinery.org

    Twine JSON export: github.com/DigitalCarleton/Prairie/wiki/Exporting-Data-from-Twine-to-JSON

  • This is not JSON driven (is that a requirement?)

    I like this one, it has a nice display and a built-in editor. Also paid. Check it out:

    scirra.com/store/royalty-free-game-templates/dialogue-system-template-699

  • Thanks for these resources!

  • Also, good timing - on the Construct Twitch channel, they just started a tutorial on developing a dialogue system with JSON!

    twitch.tv/constructteam

  • What a great coincidence!

  • Just for clarification, my template is Dictionary and Array based. The JSON is simply said Dictionary and Array "AsJson" representation.

    I could probably rewrite it completely to use a pure JSON solution and be a lot more flexible and expandable. However, JSON wasn't "natively" supported back then as an official Construct plugin... so I settled for a more rigid approach with arrays and dictionaries.

  • Mikal getting a good little plug there for our Twitch channel, thanks! Though I'm not 100% sure the stream yesterday will quite cover what you're looking for in terms of JSON adelwich purely because I'm still learning to use it myself.

    That being said, I am planning on writing a tutorial about JSON-based dialogue systems, as well as using arrays for displaying text. If I remember rightly, there should be a shorter video stored on Twitch covering the Array method, and the full stream from yesterday will be up there for the next 13 days (and heading to YouTube soon!)

    I could probably share the test file I've been using to build the JSON system if you like, and this video tutorial from Vimlark also explains the array system better than I probably do!

    I have also used Dialogue Designer, and while it's a really neat tool, the exported JSON file terrified me 😅

  • You can get the project file I made for the dialog system here.

    Laura did use it and incorporated it to her own project.

  • This is *so* helpful. Thank you so much, Kayatric and Laura.

    Also, it makes me feel better to know that I'm not the only person who was terrified by the JSON file generated by that tool. :)

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Laura_D posted this course of tutorials, explaining further how to make a dialogue system.

  • This is FANTASTIC. Thank you, Laura!

  • adelwich

    Glad you find it useful! There's still more to come, so the course will be updated over the next couple of months depending on how long it takes me to work out how to do certain bits!

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)