Alternate approaches to dialog

  • #1, by BenmirathTuesday, 15. October 2013, 01:56 11 years ago
    For my team's game, we're not quite satisfied with having the text free floating like the Visionaire default, and wanted to work out an alternative. We decided on using speech bubbles as a replacement, with the text overlayed on a speech bubble background. Something to this effect:
    To accomplish this, I assume I will not be able to rely on Visionaire's dialog mechanic? It seems rather rigidly tied to the current presentation, with lines of dialog as options, cycled through via arrows. I'm fine going about it with a diy approach, I'm just not sure how the best way to accomplish this would be. It seems like there are two main options:

    1) have it tied into an interface, if only partially. The bubbles could be buttons, either simply displaying the text when a standard line, or acting as a clickable button when replacing dialog options. The text would then be tied into either actions in the interface or scene.

    2) have it tied into the scene itself as objects. When the proper conditions are met/action is taken, the bubbles would appear, simulating a dialog sequence. This would simplify some of the placement of the bubbles, but would make a scene become quite cluttered very quickly.

    In either of these setups though, there's a few parts that I'm unsure of how to tackle. First would be simply the placement of the bubble. The character could move around, and the bubbles might show up in different locations depending on when activated. Second would be movement of the bubbles. We had hoped to have some visual feedback by having the bubbles move slightly, but it seems like the moving of objects is difficult, let alone moving ones with interactive components.

    I realize this may be a tall order, outside of the norms of the engine, but I would welcome any and all feedback. It very well may be beyond the scope of it as well, in which case I'll need to find an alternative.
    Thank you either way.


    31 Posts

  • #2, by AlexTuesday, 15. October 2013, 11:57 11 years ago
    creating the bubble background with an interface is probably a good idea. first you need to register event handlers for 'textStarted' and 'textStopped'. when the text is started you show the interface and when it's stopped you hide it.

    Further you need a hook function for 'setTextPosition' where you can position the interface (bubble background) and your text.

    It's not easy but I think it should be possible.

    Great Poster

    378 Posts

  • #3, by BenmirathWednesday, 16. October 2013, 01:48 11 years ago
    Hi Alex, thanks for the response. I thought it might be something like that.

    With the bubble backgrounds, there will be at least four different versions to handle the different positions that speakers might be talking from (two of which are on display in the image). I assume I would handle that by assigning the orientation to different values of a variable, and change the variable accordingly to display the correct speech bubble?

    The other big issue I'm unsure of is replicating dialog options. It seems like with Visionaire's own dialog system, you have limited options for how it is displayed, limiting its usefulness for the speech bubble setup I'm aiming for. I can replicate the logic of the dialog options, but I'm guessing the text would pose a problem. It seems like Visionaire can only display one of piece of text at a time, except for background text which has a time limit, neither of which lends itself to replicating the persistent dialog options. That being said, I'm new to the engine, and so might be overlooking something. Any thoughts on how to tackle this issue? Thanks again for the assistance!


    31 Posts

  • #4, by vozerSunday, 22. March 2015, 21:33 10 years ago
    hey! i just read this and actually find it a very nice idea to do "bubbles" for the dialogues. I am wondering if there was any result of this?

    I would like to keep using the Visionaire-Dialogues, but i see 3 questions here:

    .) How would be possible to enlargen the bubble automatically when more or less text is shown?

    .) I don´t quite get the idea with the interfaces. Is there a possibility to script this in the dialogue area?

    .) What would be the approach if i just want to use Bubbles for the "spoken text" and not the dialogue area? I would set event handlers and then somehow tell him to show the bubble behind the text?

    I just retook on working with Visionaire, so sry for the "maybe" nooby question.



    35 Posts

  • #5, by afrlmeSunday, 22. March 2015, 22:44 10 years ago
    A custom dialog interface is a lot of work, however you go about it. The current dialog system is a bit too set in stone, so you would have to build your own system via interface buttons, conditions, action parts & possibly even with Lua script.

    The dialog interface in Daedalic's Chains of Satinav game for instance was a custom made system.

    Technically it's possible to display object text indefinitely - although object text is only valid for playable scenes & not menu scenes. You can also display background text indefinitely by using the

    tag, but there lies a problem in background text & p tags as background can't be skipped. To skip it you would need to use Lua script to clear all active texts - I wrote a script for that ages back which is on the script index of the wiki.

    In regards to the interface bit: it just makes sense to create the system as an interface or even as multiple interfaces as it is a much cleaner method than creating the dialogs in each scene, but I guess it depends on the situation. If you are doing a close-up talking scene like in Chains of Satinav or Deponia, then it might be worth creating the dialogs in the scene itself as objects & / or animations.


    7283 Posts

  • #6, by BenmirathMonday, 23. March 2015, 03:41 10 years ago
    Figured I should chime in on Alex's point with a followup. His breakdown pretty much fully describes the process we went about for making the dialog bubbles, and I'd say it took even more work than he's indicated (there was a loooot of lua scripting to handle more complicated event branching). It's doable, but it'll take you far beyond the expected approach of the engine, with all the complications that entails.
    It can be a neat presentational angle, but approach with caution.


    31 Posts

  • #7, by berntsundeThursday, 31. March 2016, 06:55 9 years ago
    Speechbubbles never gets old smile)


    8 Posts