Announcement

Collapse
No announcement yet.

[SUPPORT] Advanced Turn Based Tile Toolkit

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

    Originally posted by Sekwah1 View Post
    Hey All,

    I'm wondering what would be the easiest way to run level streaming with this.

    My goal is to have a level with the grid manager and 2-3 rooms spawn the subgrid with AI/items inside, activated by the door (as a quasi fog of war). I can easily get the sub grids and items to spawn via a level stream, but I am having trouble having the streamed level smoothly integrate with the persistent level.

    Any thoughts?

    Thanks a lot!
    Hi Sekwah, when you say you are having trouble having the streamed level smoothly integrate with the persistent level, what precise issues do you have? If the problem is adding new tiles that are connected to other tiles through edges, I have recently added some functionality in my internal build to make this easier. I intend to release this along with the first stable version of UE4.25, but if you need it before then, check out this post.
    The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

    Comment


      Thanks, sent you an email.

      Comment


        Quick question. How come health, current health, AP etc are not networked? I was trying to create a HUD for these for multiplayer, and noticed none of these values are networked and thus client can never see them up to date. Is there a reason this is the case?



        Alright I figured it out. It looks like you didn't want to network any unit information at all (for security reasons?) and must run the QueueAction with a custom action that updates the HUD, or something similar with a replicated call.
        Last edited by mflux; 03-17-2020, 10:14 PM.

        Comment



          Sorry, maybe a little off topic, but please help fix the problem with the light
          auto exposure is likely off
          problem on video

          Comment


            Originally posted by mflux View Post
            Thanks, sent you an email.
            Thanks. I'll look into it soon.

            Originally posted by mflux View Post
            Quick question. How come health, current health, AP etc are not networked? I was trying to create a HUD for these for multiplayer, and noticed none of these values are networked and thus client can never see them up to date. Is there a reason this is the case?



            Alright I figured it out. It looks like you didn't want to network any unit information at all (for security reasons?) and must run the QueueAction with a custom action that updates the HUD, or something similar with a replicated call.
            Security is part of it, yes, but it is also because game logic and actions are not synchronous. So if you order a unit to move and attack it instantly reduces the current health of the target, but this is first displayed to the clients when both actions have played out (quite a bit later). If you were to use these variables for HUD etc., they would show information to the players that is out of sync. You could use separate variables on the unit for DisplayedHealth which is used for the HUD, but these should still not be replicated, since if there are connection issues one client might see the result of an action later than another, causing similar confusion. A great benefit of the action system is that even if there are such connection issues, animations etc. will always look smooth without any visible lag or choppiness, as there is no continuous updating from server to client.
            The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

            Comment


              mflux: The dedicated server multiplayer issue is still confusing to me, but try if this hack solves it for you while I look further into it:



              Originally posted by CheGayVara View Post
              Sorry, maybe a little off topic, but please help fix the problem with the light
              auto exposure is likely off
              problem on video
              I don't believe I've messed with any lighting settings in the toolkit's defaults. I'm guessing that is just UE4's regular eye adaptation at work. You can disable it with a post process volume. Here is a tutorial on how to turn it off.
              The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

              Comment


                One problem I noticed with this is that the overwatch status effect "disables" only visually, however they continue to check and shoot.

                For example:

                1. Unit 1 overwatch. Ends turn.
                2. Unit 2 ends turn.
                3. Unit 1 overwatches again, Ends turn. (there are now two overwatch status actors!)
                4. Unit 2 moves. Is shot twice by overwatch.

                I'm also noticing in multiplayer, overwatch does not trigger reaction fire animation for the overwatching unit.
                Last edited by mflux; 03-21-2020, 05:39 PM.

                Comment


                  Originally posted by Monokkel View Post
                  mflux: The dedicated server multiplayer issue is still confusing to me, but try if this hack solves it for you while I look further into it:


                  I tried this and it does indeed fix the startup unit placement issue. Unfortunately the ability system won't work without replication on BP_Unit, since AbilitySystem component has to replicate in order for the HUD to work, and it won't replicate unless BP_Unit is also replicated.

                  Comment


                    Originally posted by mflux View Post
                    One problem I noticed with this is that the overwatch status effect "disables" only visually, however they continue to check and shoot.

                    For example:

                    1. Unit 1 overwatch. Ends turn.
                    2. Unit 2 ends turn.
                    3. Unit 1 overwatches again, Ends turn. (there are now two overwatch status actors!)
                    4. Unit 2 moves. Is shot twice by overwatch.

                    I'm also noticing in multiplayer, overwatch does not trigger reaction fire animation for the overwatching unit.
                    A reason BP_Ability_Overwatch is still in the Experimental folder is that I saw a bug similar to this during testing that I was not able to replicate. Thanks for giving me the steps. The reason for this problem is that the Disable event run on turn start for this ability does not unbind the bound CheckOverwatch event. Fix it like so:


                    Originally posted by mflux View Post

                    I tried this and it does indeed fix the startup unit placement issue. Unfortunately the ability system won't work without replication on BP_Unit, since AbilitySystem component has to replicate in order for the HUD to work, and it won't replicate unless BP_Unit is also replicated.
                    Hmm, this is indeed an issue. The advanced ability component used to work for networked games before, so this must be an unforseen side effect of my last refactor. I'll try to figure out a workaround that does not require direct replications.
                    The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

                    Comment


                      Originally posted by Monokkel View Post

                      A reason BP_Ability_Overwatch is still in the Experimental folder is that I saw a bug similar to this during testing that I was not able to replicate. Thanks for giving me the steps. The reason for this problem is that the Disable event run on turn start for this ability does not unbind the bound CheckOverwatch event. Fix it like so:




                      Hmm, this is indeed an issue. The advanced ability component used to work for networked games before, so this must be an unforseen side effect of my last refactor. I'll try to figure out a workaround that does not require direct replications.
                      Thanks! I figured it was something like this. I got it working like you had in the image.


                      I've been meaning to ask you, have you considered copying over grid manager's state, so that clients can look into gridLocations, gridEdges, etc?

                      If client can't know about such basic things (even looking up a location via index) then literally everything needs to be round trip (client > server > client), as you've done in BP_Ability. This makes things such as moving the tile cursor laggy, even playing on LAN with the same machine. I understand the need for security, however some things seem reasonable to have replicated, such as gridLocations.

                      Can you recommend a work-around to this? I would like the client to be essentially lag-free with their UI which should be possible in turn-based games.

                      Comment


                        Originally posted by mflux View Post

                        Thanks! I figured it was something like this. I got it working like you had in the image.


                        I've been meaning to ask you, have you considered copying over grid manager's state, so that clients can look into gridLocations, gridEdges, etc?

                        If client can't know about such basic things (even looking up a location via index) then literally everything needs to be round trip (client > server > client), as you've done in BP_Ability. This makes things such as moving the tile cursor laggy, even playing on LAN with the same machine. I understand the need for security, however some things seem reasonable to have replicated, such as gridLocations.

                        Can you recommend a work-around to this? I would like the client to be essentially lag-free with their UI which should be possible in turn-based games.
                        TMaps cannot be replicated, unfortunately. I've also been reluctant to send such large amounts of data to clients. Whether or not that is a good idea will depend a lot on the specific game, so it is not an implementation I would want to have in the base toolkit. But if you have a relatively moderate grid size and don't intend to do a lot of changes to the grid at runtime, regenerating the TMaps client side is a sure way to reduce input lag when hovering over tiles.

                        For large maps it can also be possible to send over the relevant FPathfinding TMaps generated during pathfinding as needed. Since you cannot directly replicate you would have to send over the keys and values as arrays and recombine them to a TMap (or use them as arrays if you do not need to lookup values multiple times per tick). For the hover marker itself it might be possible to use a "naïve" method that does not need access to GridLocations, by using a line trace with PathTrace and placing the marker simply based on this (and info about the location of the GridManager, as well as the tile size).

                        I don't think access to GridLocations etc. for clients is that bad for security necessarily, unless the game relies on hidden information that influences these variables.

                        So to sum up, this is something I haven't found the perfect, general solution for yet, but there are many different possible solutions depending on the requirements of the specific game.
                        The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

                        Comment


                          Hey all, I want to make you aware of a game that just got released. Grand Guilds by Drix Studios is a story-driven TBS game that used ATBTT in it's development. It is out for both PC and Switch. I Kickstarted the game and have followed it closely. It looks and sounds great and has a fantastic tone, as well as a creative and interesting compat system using cards for abilities. I'm sure this will be of interest to many of the TBS developers here. Take a look at the launch trailer below

                          The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

                          Comment


                            Originally posted by Monokkel View Post
                            Hey all, I want to make you aware of a game that just got released. Grand Guilds by Drix Studios is a story-driven TBS game that used ATBTT in it's development. It is out for both PC and Switch. I Kickstarted the game and have followed it closely. It looks and sounds great and has a fantastic tone, as well as a creative and interesting compat system using cards for abilities. I'm sure this will be of interest to many of the TBS developers here. Take a look at the launch trailer below

                            It's great to see some high quality looking games being made with the toolkit!

                            Comment

                            Working...
                            X