Announcement

Collapse
No announcement yet.

Blueprint Dialogue System

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #91
    Nice system! Does all the functionality work on Android builds as well?
    Klepto - Burglary Simulator

    Comment


      #92
      Originally posted by potassiumfrog View Post
      Hey Grogger! Can your system deal with multiple languages, selected at game start?
      Thanks,
      Colin
      Hi Colin, the system can use multiple languages using the built in UE4 localization tools, or you can alter the getter functions in BPC_Dialogue (GetAsset, GetSpeakerAttribute, GetDialogueRowNames, and GetDialogueItem) to point to different data-tables based on your own language switches! This last method is useful if you have localized text images (as far as I know, UE4 does not support this natively yet).


      Originally posted by NobleSpoon View Post
      Nice system! Does all the functionality work on Android builds as well?
      Thanks NobleSpoon! While I have not tested the functionality on touch devices, it uses raw UMG which does support touch controls. Unfortunately I can only guess that it would work at this time (if any current users read this and can confirm, that would be great!).

      Comment


        #93
        Thanks for the quick response. I'll likely hold off a bit to see if anyone using this for mobile can provide some input. One of the main things I want to ensure is customization features like the typewriter effect will still work. I intend on using this system to emulate an interactive Linux terminal.
        Klepto - Burglary Simulator

        Comment


          #94
          Originally posted by Grogger View Post
          While I have not tested the functionality on touch devices, it uses raw UMG which does support touch controls. Unfortunately I can only guess that it would work at this time (if any current users read this and can confirm, that would be great!).
          There's a touch simulation mode in the editor if you ever want to test it without a touch device. Project Settings > Mouse Properties > Use Mouse for Touch. Does a fairly accurate simulation, I think I recall there being some weirdness with drag/drop.

          Comment


            #95
            It's me again haha.

            I was wondering how high controller support is on your priority list.

            This since I'm working on a project at school and we are setting up a task list (don't really have a lot of programmers, so any future updates that might help us with the dialogue system is obviously always perfect .
            Possibilities are we might port the game to PS4, and therefor would need controller support.

            Comment


              #96
              Originally posted by Brum_ View Post
              It's me again haha.

              I was wondering how high controller support is on your priority list.

              This since I'm working on a project at school and we are setting up a task list (don't really have a lot of programmers, so any future updates that might help us with the dialogue system is obviously always perfect .
              Possibilities are we might port the game to PS4, and therefor would need controller support.
              Hey hey,

              I'm working on fixing some issues reported first, and then going on to the new features (controller support being one of the top new features). Assuming it doesn't go horribly wrong, it will be in the next update, but I can't say if the update will be in a week or a month just yet (I haven't done any estimates).

              Comment


                #97
                Originally posted by Grogger View Post
                Hey hey,

                I'm working on fixing some issues reported first, and then going on to the new features (controller support being one of the top new features). Assuming it doesn't go horribly wrong, it will be in the next update, but I can't say if the update will be in a week or a month just yet (I haven't done any estimates).
                Awesome! Thanks for the fast reply and good luck with it all .

                Comment


                  #98
                  Originally posted by NobleSpoon View Post
                  Thanks for the quick response. I'll likely hold off a bit to see if anyone using this for mobile can provide some input. One of the main things I want to ensure is customization features like the typewriter effect will still work. I intend on using this system to emulate an interactive Linux terminal.
                  Hi NobleSpoon,

                  I was able to deploy on Android and the UI works out of the box (testing with 4.9 on an Samsung S3 Android - stock). All that is needed is to 'GetActorUsables' and call the Use message on the actor when you detect an interaction (if you get to this point, have a look at BPC_UseScanner and the sample ThirdPersonCharacter for these functions).



                  Originally posted by Brum_ View Post
                  It's me again haha.

                  I was wondering how high controller support is on your priority list.

                  This since I'm working on a project at school and we are setting up a task list (don't really have a lot of programmers, so any future updates that might help us with the dialogue system is obviously always perfect .
                  Possibilities are we might port the game to PS4, and therefor would need controller support.
                  Hi Bram,

                  I am just confirming that gamepad support will be in the next version, which I should be submitting for an update sometime this week or next week. There is now a built in handling for controllers in the UI, but UMG is not built for Gamepads at the moment, so I also made it extensible by providing an 'unmanaged input' mode (which tells the dialogue system to do nothing about input) and exposing the function calls for selecting buttons, so that the Player Controller or Character classes can better handle gamepad interactions.

                  Comment


                    #99
                    Originally posted by Grogger View Post
                    Hi Bram,

                    I am just confirming that gamepad support will be in the next version, which I should be submitting for an update sometime this week or next week. There is now a built in handling for controllers in the UI, but UMG is not built for Gamepads at the moment, so I also made it extensible by providing an 'unmanaged input' mode (which tells the dialogue system to do nothing about input) and exposing the function calls for selecting buttons, so that the Player Controller or Character classes can better handle gamepad interactions.
                    Awesome man! Thank you very much. Looking forward to the update

                    Comment


                      Hey Grogger,

                      I'm kinda stuck, so I'm hoping you can help me out .

                      In our narrative you can have several starting lines depending on the mood the NPC is in. Now i've seen that you can do this with your condition tab. However, upon checking the Demo for some initial explanation to see how it would work I find the !BranchVisited() condition. Sadly, I'm unable to find this function whatsoever, so is this just a placeholder function, am I blind (could very well be the case), and what would be the best location to put these condition tags?

                      Secondly, one of my team members found a possible bug in the system, which I thought could come in handy for people to know, namely:
                      if you have a branching dialogue line and add something in the post action tab, it will NOT be triggered, since it will go to the new line beforehand.

                      Again thanks in advance!
                      Cheers

                      Comment


                        Originally posted by Brum_ View Post
                        In our narrative you can have several starting lines depending on the mood the NPC is in. Now i've seen that you can do this with your condition tab. However, upon checking the Demo for some initial explanation to see how it would work I find the !BranchVisited() condition. Sadly, I'm unable to find this function whatsoever, so is this just a placeholder function, am I blind (could very well be the case), and what would be the best location to put these condition tags?
                        Hey there Bram,

                        Sorry about that, it was a test function that has since been removed. The branches visited are not being tracked in the system, to do this, I would either set a script variable in the pre or post action (if it's not often needed), or extend the system to store a variable for all visited branches - this is more involved however.

                        Originally posted by Brum_ View Post
                        Secondly, one of my team members found a possible bug in the system, which I thought could come in handy for people to know, namely:
                        if you have a branching dialogue line and add something in the post action tab, it will NOT be triggered, since it will go to the new line beforehand.
                        Thank you for the report! I will look into that when I get home tonight. In the meantime, executing it in-line should work as a workaround?

                        Comment


                          Originally posted by Brum_ View Post
                          Secondly, one of my team members found a possible bug in the system, which I thought could come in handy for people to know, namely:
                          if you have a branching dialogue line and add something in the post action tab, it will NOT be triggered, since it will go to the new line beforehand.
                          I haven't been able to reproduce this issue, the Post action is always being called before a branch. Could it be that the script being run is overwritten or some such thing? What was supposed to be executed (or any other details you could provide to help me reproduce the issue)?

                          Thanks

                          Comment


                            Update 1.2

                            New Update:
                            This update is now available
                            v1.2 Changelog:

                            General Changes:
                            • Upgraded the project to 4.9
                            • Improved Use Scanner performance

                            New Features:
                            • Added a new Mouse Use Scanner for cursor interaction
                            • Added SetSpeakerId script function to allow changing the name and portrait inline. It can also be used in the prescript column (this can be useful if there is a conditional statement to set the speaker id).
                            • Added gamepad support and input type switching. The default is Mouse and Keyboard and it can be changed at runtime or in editor
                            • Added Unmanaged input mode support to allow external input management (eg. Showing/hiding mouse cursor, setting the Input mode, managing key-binding, etc...).
                            • Added a new convenience operator '>>' to easily create multiple branch partitions in a single row in the data table (eg. "This is branch one >> This is branch two >> This is branch three") . The sample has been updated to demonstrate this.
                            Note: to display >> in the text, use the escape character: \>>
                            Note2: Pre actions will run before the first partition, and Post actions run only at the end of the last partition.

                            Fixes:
                            • Fixed an issue that would cause the system to lock up all player input if the Close function was not called and no valid branches were provided.
                            • Fixed SetSpeakerPortrait to be usable from the PreScript column
                            • Fixed escape character '\' being printed for text and responses (to print a backslash, use two. Eg. \\ displays one \)
                            • Fixed a bug that wouldn't find variables at the beginning of a text line


                            Documentation:

                            I have attached to this post the gritty details of the update for those who have edited the core files (avoid doing this if possible).
                            Attached Files
                            Last edited by Grogger; 04-06-2016, 12:42 PM.

                            Comment


                              Originally posted by Grogger View Post
                              Upcoming Update:
                              I have finalized the changes and testing for v1.2 of the Blueprint Dialogue System and have submitted it to Epic for updating. I will update this post and the front page when it has been updated.
                              v1.2 Changelog:

                              General Changes:
                              • Upgraded the project to 4.9
                              • Improved Use Scanner performance

                              New Features:
                              • Added a new Mouse Use Scanner for cursor interaction
                              • Added SetSpeakerId script function to allow changing the name and portrait inline. It can also be used in the prescript column (this can be useful if there is a conditional statement to set the speaker id).
                              • Added gamepad support and input type switching. The default is Mouse and Keyboard and it can be changed at runtime or in editor
                              • Added Unmanaged input mode support to allow external input management (eg. Showing/hiding mouse cursor, setting the Input mode, managing key-binding, etc...).
                              • Added a new convenience operator '>>' to easily create multiple branch partitions in a single row in the data table (eg. "This is branch one >> This is branch two >> This is branch three") . The sample has been updated to demonstrate this.
                              Note: to display >> in the text, use the escape character: \>>
                              Note2: Pre actions will run before the first partition, and Post actions run only at the end of the last partition.

                              Fixes:
                              • Fixed an issue that would cause the system to lock up all player input if the Close function was not called and no valid branches were provided.
                              • Fixed SetSpeakerPortrait to be usable from the PreScript column
                              • Fixed escape character '\' being printed for text and responses (to print a backslash, use two. Eg. \\ displays one \)
                              • Fixed a bug that wouldn't find variables at the beginning of a text line


                              Documentation:

                              I have attached to this post the gritty details of the update for those who have edited the core files (avoid doing this if possible).
                              Glorious! Really looking forward to it. Regarding the bug, i'll ask one of the programmers that found out and will report as soon as I know .

                              Question though: is it easy to update an existing project with the update?

                              Comment


                                Originally posted by Brum_ View Post
                                Glorious! Really looking forward to it. Regarding the bug, i'll ask one of the programmers that found out and will report as soon as I know .

                                Question though: is it easy to update an existing project with the update?
                                If you haven't touched the core files, it should be a drop in update with the possibility for minor things to check (Initial Branch is set to "auto_select" or something custom, and the Input Mode being set to Mouse & Keyboard to function as usual)
                                The attached file goes over all the changes that I have made, in case the core files were modified.

                                Comment

                                Working...
                                X