Announcement

Collapse
No announcement yet.

[SUPPORT] Advanced Turn Based Tile Toolkit

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

    HI Monokkel, first time poster, just bought the toolkit a couple weeks ago.

    I have been playing around with it and loving your tutorials. I ran across two things that look like they have been updated since older videos, but haven't found the new solution. Was hoping you could point me in the right direction or let me know if you had an ETA for a tutorial vid otw (BTW, that VR demo looks amazing).

    1. I am not seeing the "HeightMap" actor that I saw in a previous video. I would love to be able to create a mesh that becomes transparent when you are underneath it like you showed in those videos. Is that still possible with the toolkit or will I need to write my own height map actor?

    2. Big units, I don't think I saw a video on them, but I have been playing with them and they look awesome. I would love some big units! Currently mine act a little funky and not sure if I have failed to set something up or the system was still under construction? I have made a YouTube video if you would like to see what I mean.

    Thank you so much for the kit!

    Comment


      Hi Monokkel, great asset!
      I've been reading the BP graphs, and am going to watch the tutorial vidoes. Here's what I'm trying to figure out, and hopefully you can give some suggestions about it:

      I want to use Marketplace Epic assets (more specifically, paragon & infinity blade assets) to build a level where building blocks are basically natural and high-fidellity, but heroes walk in map using tiles instead of nav mesh. There are rocks & trees & lava where heroes can't walk through, and there are flat places where heroes walk fast. Think of a super tiny Dota or LoL map.
      So around this there are:
      - How to combine the realistic assets with grid system? Like, use grid as base, and make a giant rock into a BP which takes 3*3 hex tiles? Or, just make the whole level, and use some tool to automatically generate tiles that fit the terrain? If latter, where in this project should I check out?
      - How to make it more natural? Since you've been making a X-com like game, maybe you have lots of experience about it. Hopefully you can teach us one thing or two.
      - What is the recommended way of using paragon characters with ATBTT? I see there is a series of videos talking about humanoid characters reparenting to Unit. According to my specific goal, are there any suggestions?

      Have a great day, and thanks in advance!

      Comment


        Hi Monokkel.
        I apologize for the translation, because my knowledge of English is too small.
        I really liked your toolkit, it is multifunctional and contains many ready-made mechanics. That's just to understand them quite difficult, it would be great to see in the toolbox comments for what this or that function or variable is responsible. But with this you can still understand by trial and error, but to add something your own turns into beating against the wall, only you overcome one another appears.
        I had difficulties with the creation and destruction of objects during the game.
        1. When BP_GA_Platform_Tiled is spawned, a grid on it refuses to appear. It is clear that the grid is projected at the beginning of the game, but how to add if the game is already underway.
        2. When destroying the BP_CoverSystem object continues to work, the question arises how to remove this object from the system.
        3. How to make BP_CoverSystem work with a destructible mesh, he refuses to see it.
        4. How to make large units, how to increase it is understandable, we increase the value of "size" in attributes, but he refuses to move.
        These questions caused difficulties, since I could not find information on them.

        Comment


          Originally posted by FuTou View Post
          Hi Monokkel, great asset!
          I've been reading the BP graphs, and am going to watch the tutorial vidoes. Here's what I'm trying to figure out, and hopefully you can give some suggestions about it:
          Glad you like the asset I'll do my best to answer your questions.

          Originally posted by FuTou View Post
          I want to use Marketplace Epic assets (more specifically, paragon & infinity blade assets) to build a level where building blocks are basically natural and high-fidellity, but heroes walk in map using tiles instead of nav mesh. There are rocks & trees & lava where heroes can't walk through, and there are flat places where heroes walk fast. Think of a super tiny Dota or LoL map.
          So around this there are:
          - How to combine the realistic assets with grid system? Like, use grid as base, and make a giant rock into a BP which takes 3*3 hex tiles? Or, just make the whole level, and use some tool to automatically generate tiles that fit the terrain? If latter, where in this project should I check out?
          It basically boils down to keeping the grid in mind while designing. Your rock does not necessarily need to be a blueprint. It could just be a static mesh. But you proably want to scale most things so that they fit fairly well onto the grid. For square grids this is super easy, as you can just use the default UE4 grid snapping. For hex grids it will take some more testing and moving things around.

          Originally posted by FuTou View Post
          - How to make it more natural? Since you've been making a X-com like game, maybe you have lots of experience about it. Hopefully you can teach us one thing or two.
          As long as you understand how the grid works you are pretty free to design the map as you want. For natural looking scenes you probably want to use the procedural grid systems. Namely the automatic heightmap generation using line traces and automatic wall generation through (bTraceForWalls) in BP_GridManager. After that it is a matter of having meshes you want to be able to walk on block the PathTrace collision channel, have meshes you want to block movement block the WallTrace collision channel and have meshes you want to occlude vision block the RangeTrace collision channel. You will want to play around a bit with how your meshes collision is set up for this. In many cases the default collision geometry of your meshes might work fine, while you might in other cases want to add new collision boxes to fine-tune your setup.

          Originally posted by FuTou View Post
          - What is the recommended way of using paragon characters with ATBTT? I see there is a series of videos talking about humanoid characters reparenting to Unit. According to my specific goal, are there any suggestions?
          You're in luck. I very recently made three new videos on using custom skeletal meshes for units. Take a look:



          Originally posted by FuTou View Post
          Have a great day, and thanks in advance!
          You too, and no worries!
          Advanced Turn Based Tile Toolkit (Marketplace - Support)

          Dungeon Crawler Toolkit (Marketplace - Support)

          Discord

          Comment


            Hi Monokkel!
            There is Overwatch feature in the Toolkit feature list, but I can't find it from project. Have you taken it away? Is there any example how did you do it in the first place?

            Comment


              Originally posted by histiz View Post
              Hi Monokkel!
              There is Overwatch feature in the Toolkit feature list, but I can't find it from project. Have you taken it away? Is there any example how did you do it in the first place?
              Hi histiz , I'm on the latest version of the kit and can see the ability in Maps>Advanced>Abilities. The BP is called BP_Ability_Overwatch. If you didn't know, all assets belonging to the XCOM-ish map Monokkel made is inside this "Advanced" folder, including abilities, units and other utilities. Keep in mind you can use the search bar in the Content Browser, meaning that if you type in "overwatch" in the root folder Unreal will automatically find any files containing the name for you. Use the search bar on the folder contents panel, not the bar on the folder directories.

              As for information on how he did it, your best bet at the moment is to go back and watch his video talking about the map, though by now it may or may not be a bit outdated, or searching in this forum with the "overwatch" keyword i would imagine.

              Of course, if Monokkel could make some tuts for dummies like me on the subject, I wouldn't complain teehee...
              Last edited by Justo; 03-06-2019, 09:20 AM.
              Artstation | 3D Artist | Krakow

              Comment


                Originally posted by Justo View Post

                Hi histiz , I'm on the latest version of the kit and can see the ability in Maps>Advanced>Abilities. The BP is called BP_Ability_Overwatch. If you didn't know, all assets belonging to the XCOM-ish map Monokkel made is inside this "Advanced" folder, including abilities, units and other utilities. Keep in mind you can use the search bar in the Content Browser, meaning that if you type in "overwatch" in the root folder Unreal will automatically find any files containing the name for you. Use the search bar on the folder contents panel, not the bar on the folder directories.

                As for information on how he did it, your best bet at the moment is to go back and watch his video talking about the map, though by now it may or may not be a bit outdated, or searching in this forum with the "overwatch" keyword i would imagine.

                Of course, if Monokkel could make some tuts for dummies like me on the subject, I wouldn't complain teehee...
                Thanks Justo , but I can't find that Overwatch BP! Are you sure that you have latest Toolkit? Downloaded Toolkit again (cleared downloaded content) and made fresh new project and there is no BP_Ability_Overwatch. Is it possible that it's removed from latest ATBTT that is in Marketplace?

                Comment


                  Sorry for the late reply, JBetamaxxx and Danort. When you make your first post on these forums it takes a while for Epic to validate it and it also seems this prevents me from getting an e-mail notification, so I did not see your comments until now.

                  Originally posted by JBetamaxxx View Post
                  HI Monokkel, first time poster, just bought the toolkit a couple weeks ago.

                  I have been playing around with it and loving your tutorials. I ran across two things that look like they have been updated since older videos, but haven't found the new solution. Was hoping you could point me in the right direction or let me know if you had an ETA for a tutorial vid otw (BTW, that VR demo looks amazing).

                  1. I am not seeing the "HeightMap" actor that I saw in a previous video. I would love to be able to create a mesh that becomes transparent when you are underneath it like you showed in those videos. Is that still possible with the toolkit or will I need to write my own height map actor?
                  The heightmap blueprint is still there, just moved and renamed. You can find it as BP_GA_Platforem in Core/Tiles. You can see an example of implementation in the JungleRaid map.

                  ​​​​​​​
                  Originally posted by JBetamaxxx View Post
                  2. Big units, I don't think I saw a video on them, but I have been playing with them and they look awesome. I would love some big units! Currently mine act a little funky and not sure if I have failed to set something up or the system was still under construction? I have made a YouTube video if you would like to see what I mean.
                  Yeah, this feature has always been a bit of a headache. For square grids and units up to a size of 5*5 tiles it works fine, but it is the sort of feature that impacts a lot of other features in the toolkit, since it breaks the basic assumtion of 1 tile = one unit. This means that whenever you make an ability or modify the AI you need to write the blueprints so that it targets and considers multiple different tiles etc. In short I would not recommend using big units unless you are very proficient with both blueprints in general and this toolkit in particular. To see an example of an ability set up to work with big units see BP_Ability_Move.

                  Originally posted by Danort View Post
                  Hi Monokkel.
                  I apologize for the translation, because my knowledge of English is too small.
                  I really liked your toolkit, it is multifunctional and contains many ready-made mechanics. That's just to understand them quite difficult, it would be great to see in the toolbox comments for what this or that function or variable is responsible. But with this you can still understand by trial and error, but to add something your own turns into beating against the wall, only you overcome one another appears.
                  I had difficulties with the creation and destruction of objects during the game.
                  1. When BP_GA_Platform_Tiled is spawned, a grid on it refuses to appear. It is clear that the grid is projected at the beginning of the game, but how to add if the game is already underway.
                  2. When destroying the BP_CoverSystem object continues to work, the question arises how to remove this object from the system.
                  3. How to make BP_CoverSystem work with a destructible mesh, he refuses to see it.
                  These questions are all related, as all of them have to do with how the toolkit does many things at the start of the game, which does not change unless you do so directly. If you want to add new tile locations after the game has started you need to change the GridLocations TMap in BP_GridManager. To be able to move to that tile, the surrounding tiles must have edges connected to that tile. This is defined in the GridEdges TMap. Since you are talking about platforms I'm assuming you are using multi-level grids, which makes this a bit difficult. However, you can use many of the same function that are used at the beginning of the game to achieve the same effect later. Here is one example setup as a starting point:

                  First I spawn a BP_GA_Platform actor above the tile hovered over by the mouse (this could just as well have been a regular static mesh):



                  Next I repeat the setup normally done for the whole grid at the start of the game, but only do it for the index I spawned over as well as all its neighbors (in order to have them connect their edges appropriately):


                  Here is the pastebin for this code.

                  This does the job for a platform covering a single tile. For a larger platform, like the one you are suggesting, you would need to loop over every tile the platform covers as well as one more tile in every direction.

                  Let me know if you run into any difficulties. My next planned tutorials will be about the various grid arrays in BP_GridManager and how they affect pathfinding etc.

                  Originally posted by Danort View Post
                  4. How to make large units, how to increase it is understandable, we increase the value of "size" in attributes, but he refuses to move.
                  These questions caused difficulties, since I could not find information on them.
                  Firstly, it only works with square grids, and also does not work 100% with multi-level grids. For single-level square grids it will work, but you need to set both the size of the unit and the max unit size of BP_GridManager. As mentioned before, big units are pretty difficult to work with, and if you are using grids with overlapping levels I would not recommend using this feature.

                  Originally posted by histiz View Post
                  Hi Monokkel!
                  There is Overwatch feature in the Toolkit feature list, but I can't find it from project. Have you taken it away? Is there any example how did you do it in the first place?
                  You are correct that the overwatch ability does not exist in the current version. I broke the implementation during a previous refactoring and have not gotten around to re-implementing it yet. This is partly because I was not perfectly happy with the previous implementation. It is on my list of things to add, but thanks for reminding me about it. Apologies for the incorrect feature listing. I will remove it from the list and will try to add an improved version soon.
                  Advanced Turn Based Tile Toolkit (Marketplace - Support)

                  Dungeon Crawler Toolkit (Marketplace - Support)

                  Discord

                  Comment



                    Originally posted by histiz View Post

                    I can't find that Overwatch BP! Are you sure that you have latest Toolkit? Downloaded Toolkit again (cleared downloaded content) and made fresh new project and there is no BP_Ability_Overwatch. Is it possible that it's removed from latest ATBTT that is in Marketplace?

                    Well that's odd...I just created a new project, ATBTT apparently up to date in the Epic Game Launcher, 2.0 from 15/11/18 supposedly, and I can see the Overwatch BP in that directory...? It's not in the map of course, like Monokkel says he's taken it out of the game because the BP is currently broken, but the BP uasset should still be there...?
                    Last edited by Justo; 03-06-2019, 02:04 PM.
                    Artstation | 3D Artist | Krakow

                    Comment


                      Originally posted by Monokkel View Post
                      ...but the second is easy. For only allowing counter-attacks for units with a range of 1, all you need to do is to add a branch that checks that the range of the target unit is equal to 1. If the range of the unit does not matter, but rather what the distance between the units is, you can use the GetDistanceInTiles... function from BP_GridManager.
                      I saw the word "easy" and took the bait. Would love to make this work just for experimenting more with ATBTT's architecture. Here's my progress and current obstacles if anyone can chime in:

                      1-As for the logic of the affair: first check if the incoming attack is a counterattack. If true, do nothing - we do not want an infinite loop of counterattacks. If not, check if the enemy is one tile away, and if he is, send the signal for the counterattack. The CA could be an Ability BP, to make things easier with the validation checks.
                      2-Since this is something unit-specific, I thought the best thing would be to put this logic in the Event Graph of the unit, after the Event Animate Hurt is activated? After the animation is played, do this action.
                      3-How do I get the enemy's position (to calculate the Index and other operations) for this? Working on a BP_Unit_Anim copy, I tried using the incoming Action of the Animate Hurt event, pass it through a Break FAction pin to get the Vector, but this returns always 0,0,0, or at least its 0th element. I imagine this is so because this information was not put into the Vector array inside this particular Action?
                      Artstation | 3D Artist | Krakow

                      Comment


                        Thanks Monokkel!

                        I did find that BP_GA_Platform and Wall after playing around a bit. As for the big units, No worries! I searched through the rest of the thread and saw similar comments.

                        As for the "late" reply, don't even worry about that! You responded plenty fast! Keep up the good work, I enjoy watching all of your tutorials and playing around with this toolkit, very fun!

                        Comment


                          hi knut

                          not something super important but just take a note for it, in bp_ga_tile blueprint you need to add small delay before the function - get tile base edge. engine trying to read grid manager ref to early

                          cheers

                          leo

                          Comment


                            Originally posted by Justo View Post

                            Well that's odd...I just created a new project, ATBTT apparently up to date in the Epic Game Launcher, 2.0 from 15/11/18 supposedly, and I can see the Overwatch BP in that directory...? It's not in the map of course, like Monokkel says he's taken it out of the game because the BP is currently broken, but the BP uasset should still be there...?
                            Yes Justo, that is really odd. Did you clean downloaded content? If you have downloaded Toolkit before and make new project, then it is using same files and doesn't download it again. Anyway no Overwatch BP or uasset.
                            Originally posted by Monokkel View Post
                            You are correct that the overwatch ability does not exist in the current version. I broke the implementation during a previous refactoring and have not gotten around to re-implementing it yet. This is partly because I was not perfectly happy with the previous implementation. It is on my list of things to add, but thanks for reminding me about it. Apologies for the incorrect feature listing. I will remove it from the list and will try to add an improved version soon.
                            Thanks for the reply Monokkel and no problem with incorrect feature listing. It would have been nice to see how you did it, but I will do my own implementation then.

                            Comment


                              histiz what exactly do you mean with clear downloaded content, just to be certain I did that? I tried manually sending to the dustbin my previous ATBTT project (inside my Unreal Projects directory) then re-downloaded the project using the same name for the new project.
                              Artstation | 3D Artist | Krakow

                              Comment


                                I will look into reimplementing the overwatch ability fairly soon. For those who need something before then, install the 4.20 version of ATBTT (which you can open in 4.21) where these blueprints are still included. Be warned that they are a bit glitchy, though. It seems their animations disrupt the action system in some rare cases, which is why I removed them for the time being.

                                Originally posted by Justo View Post
                                Well that's odd...I just created a new project, ATBTT apparently up to date in the Epic Game Launcher, 2.0 from 15/11/18 supposedly, and I can see the Overwatch BP in that directory...? It's not in the map of course, like Monokkel says he's taken it out of the game because the BP is currently broken, but the BP uasset should still be there...?
                                Weird, no idea why you are seeing this. They seem to be gone on my end.

                                Originally posted by Justo View Post

                                I saw the word "easy" and took the bait. Would love to make this work just for experimenting more with ATBTT's architecture. Here's my progress and current obstacles if anyone can chime in:

                                1-As for the logic of the affair: first check if the incoming attack is a counterattack. If true, do nothing - we do not want an infinite loop of counterattacks. If not, check if the enemy is one tile away, and if he is, send the signal for the counterattack. The CA could be an Ability BP, to make things easier with the validation checks.
                                2-Since this is something unit-specific, I thought the best thing would be to put this logic in the Event Graph of the unit, after the Event Animate Hurt is activated? After the animation is played, do this action.
                                Ok, my previous suggestions were a starting point, but when you know precisely what you need for your game the requirements and best practices will change. The solution I gave you does both the attack and the counterattack within the same ability (of the attacker). This works if you only have one melee attack type in your game, but if you have a lot of varying properties for the melee abilities of different units this makes the approach less ideal. However, using the action system, if you want two different animations to play out in parallel it is simplest to animate them as part of the same action (like I suggested). If you want to animate the counter attack after Animate Hurt is played then the attacks will not happen at the same time, which is what I think you wanted? Please give me a more detailed description on what you want to happen both on the game logic side and for what is shown to the player.

                                Originally posted by Justo View Post
                                3-How do I get the enemy's position (to calculate the Index and other operations) for this? Working on a BP_Unit_Anim copy, I tried using the incoming Action of the Animate Hurt event, pass it through a Break FAction pin to get the Vector, but this returns always 0,0,0, or at least its 0th element. I imagine this is so because this information was not put into the Vector array inside this particular Action?
                                Yep, this action does not normally need the position of the enemy, so this is not input into the action. If you want to use this you have to do so. Also note that you should never do game logic stuff within actions. They are strictly for showing stuff to the player. If you use stuff like grid indexes within an action you will often get weird results, since such gameplay logic stuff is calculated instantly, while the animation of actions happen later. For instance, if you move a unit from one tile to another, the unit reference will first be moved on the grid (instantly), and then an action will be called which moves and animates the unit actor when the time comes in the action queue. Therefore if you try to get the unit's grid index at the start of the animated movement action you will not get the index representing where the unit was at the start of moving its reference on the grid. If this is still a bit unclear I recommend rewatching my videos on the action system.

                                Originally posted by JBetamaxxx View Post
                                Thanks Monokkel!

                                I did find that BP_GA_Platform and Wall after playing around a bit. As for the big units, No worries! I searched through the rest of the thread and saw similar comments.

                                As for the "late" reply, don't even worry about that! You responded plenty fast! Keep up the good work, I enjoy watching all of your tutorials and playing around with this toolkit, very fun!
                                Great! Have fun developing and let me know if there is anything else.

                                Originally posted by leo bar View Post
                                hi knut

                                not something super important but just take a note for it, in bp_ga_tile blueprint you need to add small delay before the function - get tile base edge. engine trying to read grid manager ref to early

                                cheers

                                leo
                                Ok, thanks for letting me know. Could you tell me the condition under which you get a warning for this? Is this when spawning new tiles?

                                Originally posted by histiz View Post
                                Thanks for the reply Monokkel and no problem with incorrect feature listing. It would have been nice to see how you did it, but I will do my own implementation then.
                                As mentioned, the ability and status effect 4.20 version of the toolkit should be a good starting point.
                                Advanced Turn Based Tile Toolkit (Marketplace - Support)

                                Dungeon Crawler Toolkit (Marketplace - Support)

                                Discord

                                Comment

                                Working...
                                X