[SUPPORT] Advanced Turn Based Tile Toolkit

Sorry, I missed your question initially. It seems we both wrote our posts at the same time. That is an old screenshot :slight_smile: Where did you find it? I don’t think I have it on the store page anumore.

Anyways, for that screenshot the effect was achieved by setting “show default tile” in the public variables of BP_GridManager to false, setting “show collision plane” to true (only while making the map) and then placing down tile actors manually. This works well for small maps, but having lots of separate meshes can become bad for perfromance at large maps. If you are making a large map using this method you can set the instantiate variable to true for the tiles and then clicking the instantiate bool in BP_GridManager once to turn all of them into instanced static meshes.

Another way would be to define the type of tile mesh on each tile in an array beforehand and then looping over this array to add these meshes as instanced static meshes at the start of the game.

Since tiles are no longer really necessary for ATBTT to work you could create the map in whatever way you wanted, using regular static meshes or whatever (as long as they block PathTrace) and the GridManager can be set up to automatically generate a walkable grid on top of them (check the procedural tag in the public variables of BP_GridManager).

Thanks for the tip! Seems I had just been using the wrong image hosting services.

Glad to hear it! Understanding the array structures of UE4 and ATBTT more specifically is key to mastering this toolkit.

Hey Simbuz, happy to hear you’re enjoying the toolkit. As I discuss a bit in the first of my new videos, the old video tutorials will only be partly viable after the new update goes live. Some things stay the same, and the tutorials should still be useful, but results may vary. This kind of sucks, since I spent so long making them, but I guess that is the price I pay for doing such a thorough refactoring. I will be making new tutorials, but it might take some time as this next half a year I’m going to be extremely busy with work as I’m on the last six months of my PhD. That does not mean you will have to wait six months for a new video, but that I can only make them days when I manage to find the time.

I felt I had to quickly make a tutorial on the action system, though, as it is the new feature that I feel is most difficult to understand without an explanation. Next in line is probably the ability system, which is also pretty complex, and differs a lot from how things were handled in earlier versions.

Edit: Had to leave before answering all your questions. I’ll get back to them later today.

Edit 2: Ok, so climbing is pretty easy to add on a grid-logic level, but the difficult part is animating it properly. If you simply add an edge between a tile on a roof and on the ground using the AddEdgeBothWays function, all units will be able to move between them. However, they will basically clip through the wall while playing the walk animation. I think this is going to be quite a bit easier in the new update. Before running the Move action you could loop through the array of location vectors and check if there is a large height difference between any two adjacent elements. If there are, and if this always means the presence of a ladder in your game, you could instead of just running the Move action do the following: Run the Move action for a spline consisting of indexes up to the ladder, then make a custom Climb action for animating the climbing and then run another Move action for the remaining locations. Something like that should probably work well.

I would not recommend using the teleport option as it does not work with the AI out of the box. If you add an edge instead, like suggested, the AI should be able to use it without issue.

As for the AI detecting the player in the JungleRaid example, they do actually look in a cone as well as hear in a radius. However, they look using the RangeTrace channel, which is not blocked by the cover tiles in the example. If you were to make more of a stealth game you might want to make a custom trace channel for AI detection to have maximum control, or you could try to trace with Visibility.