[SUPPORT] Advanced Turn Based Tile Toolkit

How can I make a map with an irregular shape without placing a bunch of no entry tiles everywhere (I imagine that would bog down the computer). I want to make a map that is actually in a hexagon shape but the grid manager makes hex maps in a “square” shape.

​​​​​​Glad I could help :slight_smile:

So generally you then want to turn off ShowDefaultTile and then create your map in whatever way you want within the grid bounds (using meshes, lanscapes, ISMs, whatever), but for your specific requirements I actually added just that a couple of updates ago. In your GridManager set bHexShapedGrid to true and you should get the result you are after.

Hey, so I just grabbed this toolkit because it seems to have a pretty extensive grid system written. I’m looking to get the specific tile under the cursor, and then search an array of specific nearby tiles (think like tangrams or tetriminos) that will also be effected once the player places an actor. Is there a specific video in your playlist that might go over that type of thing, or is there somewhere in the blueprints that would be relevant?

Oh my gosh, I missed that when scrolling through the grid options. Dude this thing is amazing and so helpful! I’ve already got a prototype of my game up and running largely thanks to this kits movement system.

Hey IndexError, hope you’ll like the toolkit! Yep, I’ve put a lot of work into the grid system. I don’t have a specific tutorial for exactly what you are asking, but there are some that cover similar ground. My tutorials on Grid Indexing and Finding Tiles are a good idea to watch. My more recent one on adding Terrain Costs should also be useful, as it gets into how to add and access your own types of grid data:

Great to hear! Feel free to share images or videos of your project in the #showcase on my Discord channel when you have something to show :slight_smile:

good day. foundnext problem after i add the pupet from video ATBTT - Puppets #3 - Non-Humanoid Puppets, ATBTT - Puppets #3 - Non-Humanoid Puppets. the game word incorrectly. i can move anymore. add the video i try to add diferit models and iggy also and try on new project. add video t_video5438550025581890786.mp4 - Google Drive

Hi, sorry for the late answer. Seems I no longer recieve e-mail notifications after the forum design rework. Think it should be working now, though. Thanks for providing a video. I’m still not completely sure what is going on here, though. You seem to be using the default puppets without any custom models? Could you give me the steps I need to follow to reproduce this bug?

Guys, need help.
Trying to create new abilities based on the existing ones. Looks like “can target self” option is not working properly - tick/untick does not do anything. Even “heal” ability does not work correctly.
Am I missing something? Is there an easy way to cast an ability on yourself?

resolved. some time use duplicate sometime macing chaild and work. but if i repeate 4 -5 times the ue receive error from video.

have some question .

  1. multiple moving, make one step the another step, I found on video but in this version missing.
  2. how to make an creature with 2 and 7 hex size.
  3. how to add fly to creatures.
  4. i found the initiava widget how to make it work.
  5. how to add event on win and lose load level.
  6. how to copy abilities from creatures on jungle map to other creatures.
  7. how to turn of disapering of death creatures   for next resurection.
  8. make 2 hex attack.
  9. how to make number of shots.
    if exits video send the link pls.

I mace the video is take 2hour some time this problem appear after 2-4 puppet on video i make 15 puppet. number of puppet on map also differ. widget also not make any changes. widget is only an image no function.
and not work change player/enemy. ue4 error atbtt.mp4 - Google Drive

Hi again, those are a lot of questions to answer. It is difficult to give a detailed answer to all of them. I will give short answers and then you can decide which of these you want to tackle first and I will give you a more detailed suggestion for that one. But first some quick answers:

  1. You can do the following: Set Move of your units to 1 and increase their AP. In your movement abilities set MoveCostType to FromPathfindingCost. Check if this result is similar to what you are after.
  2. There is no built-in support for units taking up multiple tiles on hexagonal grids. Only for square grids and this is also in an experimental stage. You could follow the example of the big units on square grids to implement something similar for hexagonal grids, but it is a lot of work.
  3. I would need more information here as flying can mean a lot of things. Do you mean units that ignore costs of terrain? Units that can move between tiles of any height difference? Units that can choose a tile to “jump” to?
  4. The initiative widget is not currently functional. I changed a lot of code in the last big update and I haven’t gotten around to adding everything back yet. If you want to do that yourself you can dowload the 4.25 version of ATBTT and check out the implementation there so that you can reimplement it, but it will take some work.
  5. You can do this in the BP_Action_GameOver blueprint. Add an open level node in this one and a variable in the action to specify the level. The action is spawned in BP_TurnManager > EndGameIfConditionIsMet.
  6. The units there have a couple of special components (The ability system, extra attributes and stealth components), so you would need to add those. Also these abilities assume that your GridManager has the cover and stealth components. Check the components of these actors on the JungleRaid map to see which exact ones you need.
  7. In BP_Action_ModifyHealth in the AttemptDestroyAction function disable the DestroyActor(TargetPuppet) node.
  8. Not sure what this means. You mean like the grenade ability in JungleRaid?
  9. Not sure I understand this one either. You mean that the unit attacks multiple times in a row even though you only click once? Maybe try watching my HoMM tutorial videos (the newest ones I made). I explain how to add a counterattack there. A multi-attack could use a similar setup, just with the same unit attacking multiple times instead.

I’m afraid I don’t have the time to watch through your entire video (I have an 8 month old daughter and very little free time these days), so could you please tell me the time points in these video where you see that things behave differently than in my video?

Thanckyou vary much forenswar. I fully understand you i have the girl to )).

  1. Thank you
  2. i will wait this future. thank you.
  3. fly units that ignore costs of terrain ond obstacles.
  4. i will wait this future. thank you.
  5. Thank you. try to understand.
  6. on jungle raid exist hill grenade and other but if i symli copy tomy map the warior the game notwork.
  7. thank you.
  8. ad an image
  9. i use you tutorial of homm. one problem the melle unit respond torange unit and is incorect.
    i mean number of ammo for examle 12 shots. retur atack only one time per round like on homm.
    about the video i will search the problem for moment after i add many puppets the game stop working tryto found more concret after wath is hapening.
    thank you agen.

Hi again, I’ll try to answer your remaining questions:

  1. If you want units to ignore difficult terrain you can set their PathfindingType to IgnoreCost
  2. Hard to know what the issue is here. I’ll need more info. Are you getting any specific error messages? What exactly is not working?
  3. I’d look at the grenade ability for this (when you get it working). The code should work just as well for hex maps, I think.
  4. You can add a branch before the counter attack and check the range between the units and only do a counter attack if it is below a certain threshold.

i chenge the AP bat is a problem. then i walk by 1 step is ok but hi can walk 5 4 3 i add the video.

Good day. i cheange the info to load map if win or lose bat this setings work for all levels and if i win any levels i go to levelfrom config. 2021-04-22 04-31-34.mkv - Google Drive

i remove all part with destroi object ned to cheange somthin alse ?

Hey, so for the first problem (movement cost) make sure to set PathfindingCost in the ability you are using (BP_Ability_MoveAttack) to FromPathfindingCost. If not all movement distances cost 1 AP. Also, when you use BP_Ability_MoveAttack the last action point is always reserved for attacking, which is why you are seeing one less movement than expected. You can switch to BP_Ability_Move or modify BP_Ability_MoveAttack.

For your second problem (with Game Over), I’m not sure what is going on here, since I can’t see the entire game over function in your video. My suggestion was to have a new variable in the game over action where you can set the name of the level to load.

For your third issue you should not change the AttemptDestroyAction function in BP_Action. If you do so it will cause serious issues. What you need to do is to delete the overridden interface event in BP_Action_ModifyHealth (you can find it in the function list under interfaces. Select the function in the list and delete it).

This is enough for your puppets to not be destroyed. However, they will still turn invisible when the death animation is done. Then you need to disable this bit of code:

Hi,I’m sorry I have a new question here.
Forgive my poor English,I have tried best to use translation software but it’s still a little hard to translate.

The question is in BP_Unit_Anim ,the function QueueOrExtendMoveAction. I have watched your videos and I know why you spilt the MoveAction. But how can you assure that the MoveTarget is added to the MovePath before the puppet starts moving ??

When the function QueueOrExtendMoveAction is running,the BP_Action_Move should be spawned at the first time before the further MoveTarget is added. In the meantime , the BP_ActionManager stays in the DelayWhile (in the event AttemptPlayNextAction).When the BP_Action_Move was spawned, it should be added to the queue immediately, and then it will pass through the DelayWhile to PlayNextAction. There is no more time for the MoveTarget added to the MovePath. Two things are running at the same time almost.

I know my question is a little unnecessary since the game runs properly. But …you can regard me as an obsessive.

Hey, I can understand that you want to understand the inner workings of the toolkit. I’m not sure I completely understand the question, unfortunately. I know all the locations of the path before the puppet starts moving because I have found the entire path using FindPathToIndex in BP_Unit (using a PathMap variable it gets from the move ability you are using).

This entire path is found during a single tick before the puppet starts moving. This path is an array of integers corresponding to grid indexes. I use these to find the proper tile locations by looking in GridLocations in the grid manager.

I realize this is probably not what you’re asking, so sorry about that. Could you try to explain a bit more, perhaps using different words and I’ll try my best to understand. Translating software is often not that great when talking about techical stuff, but we’ll just have to try.