Announcement

Collapse
No announcement yet.

[SUPPORT] Advanced Turn Based Tile Toolkit

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

    Originally posted by Mashmashin View Post
    Hi, bought the toolkit some time ago and I have been struggling to get Fire Emblem-esque bow range working, but when I give my unit Range of 2 and minimum range of 2 with with diamond shaped vision turned on, I don't get any diagonal tiles. Is this a bug in the toolkit or have I missed some functionalities in the toolkit and how can I fix it?
    if you have a range of two and a minimum range of 2, you're only going to target squares which are exactly 2 tiles away. Diagonal tiles are not 2 tiles away (maybe? this could be the issue I'm not entirely sure how it counts these tiles for range). I'm not familiar with fire emblem bow range, but I gather that you're not able to shoot tiles which are completely adjacent? Try setting the minimum range to something like 1.5 and the max to something like 2.5 and see if you get something more like what you want
    Last edited by crossmr; 01-15-2019, 10:14 PM.

    Comment


      Getting double shields on my mesh here. It seems to be because the game thinks I can step up on it? maybe? Not sure here. If I set the block box to full height, it's single full shields all around, half height gives me this. I actually want half height on the ends and full height in the middle, but I noticed as soon as I made 1 square half height, I got this display.

      For anyone else's reference: This was fixed by setting the half height box to a height of 0.6, not 0.5 At 0.5 it wasn't blocking wall traces.

      So I've got an android version put together that, while not perfect, is a great foundation. I just recorded a gameplay video, which I'm uploading now. It was mostly fine, you'll be able to see some camera glitchiness in it, but you'll also see something odd at the end. When the AI was down to a single unit, it sort of, gave up? I don't know how to describe it. It had been using that unit until then, shooting, etc. But then suddenly when all the other units were killed, it just sort of ran that unit around and didn't do much. Didn't shoot or anything. This is the second game I've played as the police and in the first game it used that unit a lot. I had quite a long battle with that unit last time, so I don't think there is anything wrong with the unit, just thought I'd pass that along. I'll post the video when it's uploaded.

      https://www.youtube.com/watch?v=T3zx2BRVZXw
      Attached Files
      Last edited by crossmr; 01-16-2019, 10:37 AM.

      Comment


        Hi Knut!

        Thanks for the previous answer, you are really putting down time to support.
        You recently helped me find the damage variable via email, much appreciated.

        Simple question: I was wondering where I can find the Move variable? I want to randomize that as well. I spent two hours trying to find it but really couldn't. I was looking for variable that had the OwningUnit(since that would mean it's using the number you put in the placed unit in the map I guess?) variable attached but couldn't find any.

        NVM: I found it in BP_Ability->Update Attributes.
        Last edited by Juxtapox; 01-16-2019, 04:32 PM.

        Comment


          Originally posted by crossmr View Post
          Okay, I'll try making a new project when I get a chance and test it with the default stuff and see what happens. It could be the meshes themselves causing the issue or something else.

          Something I'll test when I get a chance to make a blank project. I think the controls are pretty close with those two changes, if you have any quick thoughts on what might differentiate moving and shooting, I can try and dig into that specific spot, I think it's the server interact that handles passing the input into BP_ability right? And that's where they all get it?
          The initial collision tracing to the grid to find a location is done client side, but everything that has to do with important game variables such as the grid arrays are handled server side, including the function that checks the height arrays to find the closest tile.

          Originally posted by crossmr View Post
          I finally got a chance to test the controls on a variety of android phones today here are my observations:

          Only basically every phone (including my own) the first character to move has some issues. I'm not sure why. But it needs some additional tapping and fussing. After that, any other characters move on a single touch.

          There are some slightly camera/hover issues with the weapon abilities based on laser. they work, and they're functional, but if you click the weapon ability and click the target, it highlights for a moment but then the target symbol jumps to another spot on the map, however tapping the target once (followed by a target symbol jump) and tapping the same target again does allow the unit to fire. As well when sliding the camera around, it sometimes jumps a bit back to where it is, this can be solved by rotating

          So my verdict is: the controls are functional, but glitchy. They're at least sufficient with the changes I made above (ticking the bool and connecting that one node) to be functional for testing purposes. I played out a whole game using them and it was fine, with the mildest of frustration. So I'm going to focus on other aspects of the game (like my roof snap issue), if you expect that you may get to the controls in a couple weeks or so. As you are much more familiar with all the guts of this I'll wait for your more detailed checking and feedback on it before I get to it. If I managed to clear everything else that I need to do before you get to it, I'll try to look at it more in detail.
          Ok, happy to hear that the issues seem pretty minor. Especially for the ability bar and the abilities used in JungleRaid as I never designed those with touch controls in mind. I will take a look at this when time permits.

          Originally posted by crossmr View Post
          Side note on the roof issue: even removing the ladder so that there is no path to the lower levels, still has the cursor unable to snap to those roof tiles. I also note that for your test, you're using BSP aren't you? and not static meshes? the first layer is also BSP or is that from the grid itself?
          In my tests the floor is the grid itself and the floors are scaled cube meshes, not BSPs.

          Originally posted by crossmr View Post
          If you give me an email address, I'll give you this static mesh, maybe you can try it out and see if it behaves strangely for you as well.
          That is probably the best way to go about finding the issue. Perhaps upload the project to OneDrive or similar and PM me a download link?

          Originally posted by crossmr View Post
          Just started working on a sniper kill cam, this is.. unfortunately not an easy endeavor due to the ways that animation and unit handling are setup. Because they're separated, you need to interrupt the normal process in more than one place. The shoot function calls a take damage, which kills the unit and kicks off the death action, but the damage is still passed through another queue as part of the "hurt" option, I guess. Because completely disconnecting take damage in the shoot function still results in the character running the dying animation when they are hit for enough damage. if I zoom fast enough, it's not that noticeable, but it seems like doing it properly would involve quite an in-depth rewiring of multiple parts. It's not a bad idea to separate those, but it makes certain kinds of things, like x-com style camera work, really difficult because you need much more precise control over the target's dying animation in these cases. I've got the sniper done, but I think I might have to alter my plans for other kinds of kill cams. This is just more of a head's up note for anyone wanting to do something similar, they should know what they're getting in to
          Working with the decoupled animation system can indeed take some getting used to, but something like this should be perfectly doable. I might be missing something about what you're trying to do, though. You're basing your ability on BP_Ability_Laser, right? Is the idea to have the camera zoom in over the shoulder of the unit as it is aiming and firing on a unit? If so you can always call on the camera to do this as part of the Shoot action in the Laser ability right before the ranged animation is queued. I'm probably missing something in what you're asking, though.

          Originally posted by Snowynight View Post

          I am so happy, It works beautifully. Thank you so much for your time and all the help.
          No worries

          Originally posted by Mashmashin View Post
          Hi, bought the toolkit some time ago and I have been struggling to get Fire Emblem-esque bow range working, but when I give my unit Range of 2 and minimum range of 2 with with diamond shaped vision turned on, I don't get any diagonal tiles. Is this a bug in the toolkit or have I missed some functionalities in the toolkit and how can I fix it?
          Originally posted by crossmr View Post

          if you have a range of two and a minimum range of 2, you're only going to target squares which are exactly 2 tiles away. Diagonal tiles are not 2 tiles away (maybe? this could be the issue I'm not entirely sure how it counts these tiles for range). I'm not familiar with fire emblem bow range, but I gather that you're not able to shoot tiles which are completely adjacent? Try setting the minimum range to something like 1.5 and the max to something like 2.5 and see if you get something more like what you want
          This is a bug I thought I had fixed, but apparently not. Sorry about that. Really easy to fix, though. Go to the FindTilesInRange function in BP_GridManager and add the DiamondShaped function input as input to the FindVisibleTilesFromTilesInRange:


          Originally posted by crossmr View Post
          Getting double shields on my mesh here. It seems to be because the game thinks I can step up on it? maybe? Not sure here. If I set the block box to full height, it's single full shields all around, half height gives me this. I actually want half height on the ends and full height in the middle, but I noticed as soon as I made 1 square half height, I got this display.

          For anyone else's reference: This was fixed by setting the half height box to a height of 0.6, not 0.5 At 0.5 it wasn't blocking wall traces.
          Unsure from your description here. Did you solve both these issues or one?

          Originally posted by crossmr View Post
          So I've got an android version put together that, while not perfect, is a great foundation. I just recorded a gameplay video, which I'm uploading now. It was mostly fine, you'll be able to see some camera glitchiness in it, but you'll also see something odd at the end. When the AI was down to a single unit, it sort of, gave up? I don't know how to describe it. It had been using that unit until then, shooting, etc. But then suddenly when all the other units were killed, it just sort of ran that unit around and didn't do much. Didn't shoot or anything. This is the second game I've played as the police and in the first game it used that unit a lot. I had quite a long battle with that unit last time, so I don't think there is anything wrong with the unit, just thought I'd pass that along. I'll post the video when it's uploaded.

          https://www.youtube.com/watch?v=T3zx2BRVZXw
          Hmm, I'm unsure why the AI would give up at that point. I used to have a similar, but more morbid bug where the last AI unit remaining (when all enemies were also killed) would then run to the corner of the map and kill itself. This was caused by the unit trying to find targets, which returned false which got interpreted at index 0, so it ran to index 0. Then it found itself on index 0 and killed itself. This is not what is happening in your case, though. Perhaps it is detecting so many enemies with so few allies that the expected value of an attack is 0 or less? You can try debugging this by printing the expected value as part of the AI ability comparison code in the ability system component.

          Thanks for linking the video, by the way. Fun to see the development progress.

          Originally posted by Juxtapox View Post
          Hi Knut!

          Thanks for the previous answer, you are really putting down time to support.
          You recently helped me find the damage variable via email, much appreciated.

          Simple question: I was wondering where I can find the Move variable? I want to randomize that as well. I spent two hours trying to find it but really couldn't. I was looking for variable that had the OwningUnit(since that would mean it's using the number you put in the placed unit in the map I guess?) variable attached but couldn't find any.

          NVM: I found it in BP_Ability->Update Attributes.
          Glad you found it
          Advanced Turn Based Tile Toolkit (Marketplace - Support)

          Dungeon Crawler Toolkit (Marketplace - Support)

          Discord

          Comment


            The initial collision tracing to the grid to find a location is done client side, but everything that has to do with important game variables such as the grid arrays are handled server side, including the function that checks the height arrays to find the closest tile
            Right now I'm just sorting out the execution flow and how it may differ between the two abilities.

            Touch Input->ClickAttempt->ServerConvertLocationToIndex->ServerInteract(FunctionCall)->ServerInteract which seems to be implemented on BP_Ability. As it both movesprint and the various shooting abilities have BP_Ability as their parent. With both abilities having BP as the parent, I'm a little confused as to why they behave differently (move as 1 touch shoot as 2 touch). I'll keep digging in to those.

            I'm going to try to adjust the camera glitchiness today where it sometimes refuses to pan or jumps around or at least see if I can figure out what is causing that.

            Working with the decoupled animation system can indeed take some getting used to, but something like this should be perfectly doable. I might be missing something about what you're trying to do, though. You're basing your ability on BP_Ability_Laser, right? Is the idea to have the camera zoom in over the shoulder of the unit as it is aiming and firing on a unit? If so you can always call on the camera to do this as part of the Shoot action in the Laser ability right before the ranged animation is queued. I'm probably missing something in what you're asking, though.
            The idea is that the camera follows the bullet to the target, from the snipers gun to wherever the target is. I have it called if the target would die from the damage received on the sniper ability that time. I'd like more ability to completely interrupt the ability, and I almost had it, but then it just refused to end the ability. On some moves I'd like to do a bit more cinematic camera work, but because of the decoupled system, I'm struggling to see where and how I can interrupt an ability. Obviously the best place to interrupt the ability is before the unit/animation is split. The problem I ran in to, is how to come back to the ability? I had it set up where in the shoot function, it would first calculate the random damage and compare it to the target's current health. If it was going to kill the unit, then it would branch skip take damage but return a new bool "bTargetDead" which would be checked in the main event graph, which would then skip render beam and call a function on the gridcamera which would do the stuff I wanted, it would also pass a reference to itself (the ability) to the gridcamera, which, on finish, could turn around and call back to a function on the ability to call "end ability" (after calling take damage and queue action for the death at the right time). Sadly this didn't work. The camera stuff worked, the unit died and animated at the proper time, but when the grid camera called back to the ability to run "end ability" nothing happened. The ability didn't end, and I couldn't move on to the next unit. You can see the sniper ability around 8:17 in the video I posted. He gets the kill shot on a unit and there is a bullet chase, but that's not quite how I want it.

            For the sniper ability, moving the camera from the sniper gun to the target fast enough can kind of get this in sync, but it's faster than I'd like, and I can't do any of the other camera stuff I wanted to do in this case. For other death camera sequences I had in mind, it isn't as easy, unless I set it up so the camera ignores the target and focuses only on the unit initializing because I can control that easier. What I need is a way that I can pause/interrupt an ability for a special event (usually a camera and, but not always, animation sequence), then go back and end that ability when I've handled that. Calling a function on the camera, which called a function on the ability, really didn't seem to work.

            Unsure from your description here. Did you solve both these issues or one?
            Yes, it's solved, if people want to have multiheight (1/2 and full cover) on a tile they can, they just have to make sure that any squares that should have half height cover are scaled to at least 0.6 and not 0.5, or at least over the height that they wall trace at.


            Hmm, I'm unsure why the AI would give up at that point. I used to have a similar, but more morbid bug where the last AI unit remaining (when all enemies were also killed) would then run to the corner of the map and kill itself. This was caused by the unit trying to find targets, which returned false which got interpreted at index 0, so it ran to index 0. Then it found itself on index 0 and killed itself. This is not what is happening in your case, though. Perhaps it is detecting so many enemies with so few allies that the expected value of an attack is 0 or less? You can try debugging this by printing the expected value as part of the AI ability comparison code in the ability system component.
            I don't recall this happening the first game. As I play more games against the AI, I'll try and make notes on any odd AI behaviour I see like this.

            Just played another game and mid-way through the game the same unit had issues. It ran around, took cover, fired a few times, but then at one point they were on the opposite side of a window with an enemy unit and had a chance to shot gun blast in the face and just ended their turn. Nothing to do with the window though, because other units had no issue, Right beside it was another unit in the same situation and it fired through just fine. I'll see if I can debug and find something wrong with that particular unit. I thought I had cleaned up an errant collisions, etc on their components.

            There is one sort of large issue I did notice with the touch controls. The UI doesn't block them. So if you fat finger your abilities, or click the information box, then you can accidentally click a move square. I'll see if I can figure out how to block that from getting through to the grid.

            Edit: Regarding the unit giving up, part of it seems tied to the shotgun. Is there a trace done from the end of the gun when checking to shoot? I saw another unit with a shotgun also exhibit the same behaviour. In front of the window, another unit on the opposite side, they couldn't shoot (they normally can there is no minimum range). They just skipped their turn. They didn't even step back to fire. So i'm wondering if there is a trace done from muzzle or something that the AI is failing on because the shotgun muzzle would be in a different location. The gun is otherwise set no collision to avoid that issue I had before.
            Last edited by crossmr; 01-18-2019, 10:46 PM.

            Comment


              Hi there. I've been developing in Unity for a while and I'm looking at getting into the Unreal Engine. I do have past c++ experience, and I'm quite comfortable there. I understand that this is Blueprint based (which is just fine with me), but I really like the idea of injecting some scripts to fine tune things.

              I understand I can create a c++ class and whatnot inside the engine, the question that I have; is there a way to create a new project similar to how one creates a new C++ project when setting up through the new start-up wizard?

              (Thanks for being nice with the newb question)

              Comment


                Originally posted by Monokkel View Post
                This is a bug I thought I had fixed, but apparently not. Sorry about that. Really easy to fix, though. Go to the FindTilesInRange function in BP_GridManager and add the DiamondShaped function input as input to the FindVisibleTilesFromTilesInRange:
                Thanks! But I have another problem with the same feature: When I try to issue an attack to an enemy that is placed diagonally, the unit wont attack or even end the turn. Regular non-diagonal directions are working just fine and the diagonal tiles without any units let me end a turn.
                Attached Files

                Comment


                  Hey, Monokkel!

                  Hope it's going well with your PhD

                  I had a quick question. I wanted to test this DisplayMovement Frame function (as i understand it is this X-Com style frame instead of tile highlights).
                  But i have trouble figuring out how to get Edge Line Locations from the grid.
                  Attached Files

                  Comment


                    Where can we download this?

                    Comment


                      Hi, I'm sorry if this has already been asked. Can someone help if there is a way where the turn base only activates when an enemy is altered and then ends once they are all dead? Like the classic Fallout. I was thinking it'll be a case of swapping game controllers and setting the AI of the same faction to a follow distance for player only.

                      Comment


                        Originally posted by SalahAdDin View Post
                        Where can we download this?
                        You have to buy it on the marketplace and then you can download it through your launcher and create a project with it.

                        Comment


                          So a bunch more testing here. I've been looking at the camera controls since yesterday. I'm not entirely sure what is causing the behaviour. Following the execution on this, everything seems to be plugged in correctly, and I can't reliably reproduce the behaviour. It seems to happen most if I'm trying to scroll across a larger map quickly, but it also happens when I'm swiping slowly. Basically, you could describe it as rubber banding:

                          I touch in some direction to pan the camera, swipe across the screen, the camera moves, but when I let go, the camera jumps back to its starting location.

                          I thought this was a fast swiping issue, so I changed the pan speed to give more movement on swipe to make it less necessary to swipe rapidly to move a short distance, but even when I take a noticeable pause in between swipes, it will still jump like this. My best guess is that it is somehow misinterpreting some kind of swipe as a press or something.

                          It's hard to debug this kind of stuff on the device itself. Especially when it can't be reproduced accurately. Just a little testing that might help. I'm moving on to ability clicking and see if I can't get anymore insight in to that.

                          Further testing of these three things:

                          1 - disconnecting tick as there is a comment saying it should be for tick
                          2 - checking the touch bool on click attempt
                          3 - hooking up the node on ability base

                          After experimenting with some combination of these three things, leaving tick and the ability base node connected and the bool checked gave the best results for controls in game.
                          Last edited by crossmr; 01-19-2019, 07:42 AM.

                          Comment


                            Good day,

                            Can I ask something

                            Im using the Toolkit for unreal 4.18. and i have a small issue.

                            On one map, when i do the Pathfinding, I see the path displayed (arrows or the spline path works well)

                            But on another map, I do not see the spline path(switching to arrows , same result, cant see anything) (i can still move normally, i see the highlighted tiles in range etc.)

                            i think i might have changed something and I forgot what it was

                            can somebody point me to where i can check??

                            Thank you

                            Comment


                              Sorry for the late answers, people. I'll get to all of it now.

                              Originally posted by crossmr View Post
                              Right now I'm just sorting out the execution flow and how it may differ between the two abilities.

                              Touch Input->ClickAttempt->ServerConvertLocationToIndex->ServerInteract(FunctionCall)->ServerInteract which seems to be implemented on BP_Ability. As it both movesprint and the various shooting abilities have BP_Ability as their parent. With both abilities having BP as the parent, I'm a little confused as to why they behave differently (move as 1 touch shoot as 2 touch). I'll keep digging in to those.

                              I'm going to try to adjust the camera glitchiness today where it sometimes refuses to pan or jumps around or at least see if I can figure out what is causing that.

                              There is one sort of large issue I did notice with the touch controls. The UI doesn't block them. So if you fat finger your abilities, or click the information box, then you can accidentally click a move square. I'll see if I can figure out how to block that from getting through to the grid.
                              Ok, that is good to know. Like I said I never had touch controls in mind when I designed the abilities for the advanced tactical map, so the cause could be any number of things. I'll let you know when I have the time to check the touch controls.

                              Originally posted by crossmr View Post
                              The idea is that the camera follows the bullet to the target, from the snipers gun to wherever the target is. I have it called if the target would die from the damage received on the sniper ability that time. I'd like more ability to completely interrupt the ability, and I almost had it, but then it just refused to end the ability. On some moves I'd like to do a bit more cinematic camera work, but because of the decoupled system, I'm struggling to see where and how I can interrupt an ability. Obviously the best place to interrupt the ability is before the unit/animation is split. The problem I ran in to, is how to come back to the ability? I had it set up where in the shoot function, it would first calculate the random damage and compare it to the target's current health. If it was going to kill the unit, then it would branch skip take damage but return a new bool "bTargetDead" which would be checked in the main event graph, which would then skip render beam and call a function on the gridcamera which would do the stuff I wanted, it would also pass a reference to itself (the ability) to the gridcamera, which, on finish, could turn around and call back to a function on the ability to call "end ability" (after calling take damage and queue action for the death at the right time). Sadly this didn't work. The camera stuff worked, the unit died and animated at the proper time, but when the grid camera called back to the ability to run "end ability" nothing happened. The ability didn't end, and I couldn't move on to the next unit. You can see the sniper ability around 8:17 in the video I posted. He gets the kill shot on a unit and there is a bullet chase, but that's not quite how I want it.

                              For the sniper ability, moving the camera from the sniper gun to the target fast enough can kind of get this in sync, but it's faster than I'd like, and I can't do any of the other camera stuff I wanted to do in this case. For other death camera sequences I had in mind, it isn't as easy, unless I set it up so the camera ignores the target and focuses only on the unit initializing because I can control that easier. What I need is a way that I can pause/interrupt an ability for a special event (usually a camera and, but not always, animation sequence), then go back and end that ability when I've handled that. Calling a function on the camera, which called a function on the ability, really didn't seem to work.
                              I think it should be fine to build it into the ability. One generic solution for jumping out of an execution chain to an arbitrary event graph and then jump back again to where you left off is to use an event dispatcher to bind the node that continues the execution of the ability, run your camera code, call the dispatcher, unbind the event and continue the execution chain.

                              Originally posted by crossmr View Post
                              I don't recall this happening the first game. As I play more games against the AI, I'll try and make notes on any odd AI behaviour I see like this.

                              Just played another game and mid-way through the game the same unit had issues. It ran around, took cover, fired a few times, but then at one point they were on the opposite side of a window with an enemy unit and had a chance to shot gun blast in the face and just ended their turn. Nothing to do with the window though, because other units had no issue, Right beside it was another unit in the same situation and it fired through just fine. I'll see if I can debug and find something wrong with that particular unit. I thought I had cleaned up an errant collisions, etc on their components.

                              Edit: Regarding the unit giving up, part of it seems tied to the shotgun. Is there a trace done from the end of the gun when checking to shoot? I saw another unit with a shotgun also exhibit the same behaviour. In front of the window, another unit on the opposite side, they couldn't shoot (they normally can there is no minimum range). They just skipped their turn. They didn't even step back to fire. So i'm wondering if there is a trace done from muzzle or something that the AI is failing on because the shotgun muzzle would be in a different location. The gun is otherwise set no collision to avoid that issue I had before.
                              Hmm, not sure what the visibility thing could be. Visibility traces are always done from the same place, which is from the center of one tile to another at VisibilityTraceHeight (defined in the public variables of BP_GridManager). What you describe does indeed seem like the sort of discrepancy where the AI in the ability evaluation phase decides that a unit can be targeted, but when it actually attempts to do so it fails out. Not sure what would be causing this, however. You could try logging the values the AI stores in TargetIndex and MoveTarget index of the shotgun ability when AssessAbilityValue is called in BP_Ability and compare it to what happens on AiActivate for the specific ability. If you can consistently replicate the issue at the same point in the combat you can add a breakpoint that activates at that time and step through AiActivate to check what goes wrong at that point.

                              Originally posted by PhillBorm View Post
                              Hi there. I've been developing in Unity for a while and I'm looking at getting into the Unreal Engine. I do have past c++ experience, and I'm quite comfortable there. I understand that this is Blueprint based (which is just fine with me), but I really like the idea of injecting some scripts to fine tune things.

                              I understand I can create a c++ class and whatnot inside the engine, the question that I have; is there a way to create a new project similar to how one creates a new C++ project when setting up through the new start-up wizard?

                              (Thanks for being nice with the newb question)
                              You can always add C++ code to a blueprint project. Just choose File and New C++ Class and you should be good to go.

                              Originally posted by Mashmashin View Post

                              Thanks! But I have another problem with the same feature: When I try to issue an attack to an enemy that is placed diagonally, the unit wont attack or even end the turn. Regular non-diagonal directions are working just fine and the diagonal tiles without any units let me end a turn.
                              Ah, dang. Seems there is still one more thing to change. Just as easy to fix, though. Go to the FindVisibleUnitsInRange function in BP_GridManager and attach the DiamondShaped input variable to the input of the two CheckIfTileIsVisibleFromOtherTile functions. That should do the trick.

                              Originally posted by RC_Malokai View Post
                              Hey, Monokkel!

                              Hope it's going well with your PhD

                              I had a quick question. I wanted to test this DisplayMovement Frame function (as i understand it is this X-Com style frame instead of tile highlights).
                              But i have trouble figuring out how to get Edge Line Locations from the grid.
                              Thanks! My deadline is approaching a bit quicker than what is ideal, but I'm positive I'll make it.

                              Unfortunately that experimental way of displaying a movement frame did not pan out. The function in BP_Ability_MoveAttack is just one I have forgotten to delete. I still have many ideas for possible ways to implement movement frames, but this has been a feature that has been surprisingly tricky to find an ideal solution for. For my current best try check out the 2D example map, which uses a post process material to display the movement frame. Works well for flat maps, but gets pretty glitchy with height differences, unfortunately. I'm basically waiting for inspiration to strike to get this feature fully implemented.

                              Originally posted by SalahAdDin View Post
                              Where can we download this?
                              Here is the link

                              Originally posted by crossmr View Post
                              So a bunch more testing here. I've been looking at the camera controls since yesterday. I'm not entirely sure what is causing the behaviour. Following the execution on this, everything seems to be plugged in correctly, and I can't reliably reproduce the behaviour. It seems to happen most if I'm trying to scroll across a larger map quickly, but it also happens when I'm swiping slowly. Basically, you could describe it as rubber banding:

                              I touch in some direction to pan the camera, swipe across the screen, the camera moves, but when I let go, the camera jumps back to its starting location.

                              I thought this was a fast swiping issue, so I changed the pan speed to give more movement on swipe to make it less necessary to swipe rapidly to move a short distance, but even when I take a noticeable pause in between swipes, it will still jump like this. My best guess is that it is somehow misinterpreting some kind of swipe as a press or something.

                              It's hard to debug this kind of stuff on the device itself. Especially when it can't be reproduced accurately. Just a little testing that might help. I'm moving on to ability clicking and see if I can't get anymore insight in to that.

                              Further testing of these three things:

                              1 - disconnecting tick as there is a comment saying it should be for tick
                              2 - checking the touch bool on click attempt
                              3 - hooking up the node on ability base

                              After experimenting with some combination of these three things, leaving tick and the ability base node connected and the bool checked gave the best results for controls in game.
                              Thanks for the detailed account of your testing. It will be helpful when I get around to fixing it. I'll try to make it a priority to look at once my thesis is handed in since you've put so much work into this.

                              Originally posted by chriscast View Post
                              Good day,

                              Can I ask something

                              Im using the Toolkit for unreal 4.18. and i have a small issue.

                              On one map, when i do the Pathfinding, I see the path displayed (arrows or the spline path works well)

                              But on another map, I do not see the spline path(switching to arrows , same result, cant see anything) (i can still move normally, i see the highlighted tiles in range etc.)

                              i think i might have changed something and I forgot what it was

                              can somebody point me to where i can check??

                              Thank you
                              Hmm, very hard to know what is wrong without more specifics, unfortunately. If the issue is caused by your own changes it could be almost anything. Could you explain a bit more? What are the main differences between the two maps? Are you using the same abilities?
                              Advanced Turn Based Tile Toolkit (Marketplace - Support)

                              Dungeon Crawler Toolkit (Marketplace - Support)

                              Discord

                              Comment


                                Ok, that is good to know. Like I said I never had touch controls in mind when I designed the abilities for the advanced tactical map, so the cause could be any number of things. I'll let you know when I have the time to check the touch controls.
                                I fixed the UI to catch errant taps. You just need to override touch and mouse down and return "handled". That way if you click a part of the UI that doesn't have a button it'll just eat that click and do nothing with it.

                                I think it should be fine to build it into the ability. One generic solution for jumping out of an execution chain to an arbitrary event graph and then jump back again to where you left off is to use an event dispatcher to bind the node that continues the execution of the ability, run your camera code, call the dispatcher, unbind the event and continue the execution chain.
                                I may have to go with that. That's something I'm coming back to after having a look at the camera/controls. In theory my execution flow that I had set up, should have worked, but somehow it interrupted the chain in a way that "end ability" got confused. End ability doesn't get passed any parameters, so I'd need to look in to exactly how that works, but binding something, like is already done there, might be the best way to do that.

                                Hmm, not sure what the visibility thing could be. Visibility traces are always done from the same place, which is from the center of one tile to another at VisibilityTraceHeight (defined in the public variables of BP_GridManager). What you describe does indeed seem like the sort of discrepancy where the AI in the ability evaluation phase decides that a unit can be targeted, but when it actually attempts to do so it fails out. Not sure what would be causing this, however. You could try logging the values the AI stores in TargetIndex and MoveTarget index of the shotgun ability when AssessAbilityValue is called in BP_Ability and compare it to what happens on AiActivate for the specific ability. If you can consistently replicate the issue at the same point in the combat you can add a breakpoint that activates at that time and step through AiActivate to check what goes wrong at that point.
                                I'll see if I can log that, it does seem directly tied to the shotgun. As I've seen the AI with a pistol stand in the same spot and shot an enemy on the other side of the window. The Pistol and shotgun abilities are identical, except that the shotgun shots a spread of projectile tracers and it's longer. Hence my wondering about a trace from the muzzle. The muzzle location is further out from the body (and may possibly clip with the wall or something like that). I'll start testing and see if I can figure out what's going on there.

                                A little more testing on this now: Pistol, assault rifle, uzi, all fine. Testing a little further, it seems that if a shot gun unit is directly beside a target, it can't shoot at all. Even with no wall in between. The minimum range on it is 1 the same as all my other shooting abilities. The mystery deepens. if I put a pistol unit right beside an enemy unit, he'll run a couple squares away and shoot. The shotgun unit just stands there and gives up his turn. if i start a shot gun unit 2 squares away, he runs up beside the enemy unit and gives up his turn.

                                Edit: Mystery solved. This was related to my "change weapon" ability that I created. Apparently the AI didn't know what to do with that, so instead of shooting its gun when it was close, it just gave up. I either have to remove those from AI players or create some functions that tell the AI what to do with that ability.

                                In terms of where I am right now:

                                1. Touch controls/camera movement
                                2. Weird bug with some meshes and the floor snapping

                                Are the two things I don't think I can solve without your input. But I've got a few other things to keep me busy that should take another 1-2 weeks (in app purchases, multiplayer, the action camera, building additional levels). My only suggestion for the touch controls is 1 tap "hover" and then second tap "execute". it makes the most sense for me. This would help prevent errant clicks moving a unit and also give a player a chance to evaluate hit percentage.
                                Last edited by crossmr; 01-20-2019, 12:36 AM.

                                Comment

                                Working...
                                X