[SUPPORT] Advanced Turn Based Tile Toolkit

Hii,
late reply, but great, thank you so much for fixing the target self/Range=0 issue!
Just, a tiny tiny addition to that:

Could you maybe add this fix to BP_Ability’s Queue Display Visible Tiles in Ability Range, too?
Because the self-targeting now works, but with Range=0 the tile the unit is standing on will not be highlighted like other targeting tiles will usually be highlighted. Literally just adding the self-tile to the targeting set in the display visible tiles function seems to fix it. :slight_smile:

grafik

Anyway, now that I’m all updated, time to go check out the awesome new features! :star_struck:

Hey Shiny, I have to apologize for the terribly late reply. Most of my support is done on Discord these days and I completely forgot this question. I will take a look at this at the first opportunity and find a fix for it. Thanks for making me aware of it!

New update is out! The 2D “Hydra’s Lair” map has been reimplemented and it now uses the Stats and Interact systems that were added earlier this year. Several bug fixes and minor features are also included in this update:

v3.4 (live 12.06.22)

  • Reimplemented 2D map, now using Stats and Interact systems.
  • Added debug component for displaying BP_Unit locations relative to their Puppet
  • FIXED: FIXED: AI controls one player faction when playing as dedicated server
  • FIXED: Data tables contain invalid floats after UE5 conversion
  • FIXED: Very large maps with dedicated servers don’t seem to replicate actions properly
  • FIXED: Grid not showing in SRPG map.
  • Added Gameplay Tag input for external actions
  • Changed lighting in all relevant maps to UE5 defaults
  • Reimplemented hiding decal markers on walls (fixed for Lumen)
  • Added general GameplayTag component
  • General purpose component for regular dispatcher events (converted from ExternalActionComponent)

It looks like ~500 * ~490 is the maximum size I can set for a hexagonal grid. Is this by design, or a glitch? Anything larger than those figures causes the grid to appear blank, occasionally throwing “Infinite loop detected” compiler errors.

Hello, just recently purchased the toolkit. I am new to making games, so I wanted to try to make a simple game first before making a turn base game, so I thought would make a variation of a match 3 game from your tool kit. I am having a problem finding out how the movement is being handle. I just want to be able to change location of two actors, but I can’t seem to figure out how to change it.

Thanks

Hi Cubistic, terribly sorry for the late reply. 500 x 500 is actually quite a bit larger than what is supported out of the box. The toolkit can support larger maps than the biggest ones in Civilization and XCOM, but not ones that are massively bigger. Depending on how few grid setup features you have enabled it is possible to push a bit over 100*100, but not that much further.

You can push it further up by increasing the max loop iteration count, but the loading times for your maps will start to get pretty slow. There are other ways to increase it too depending on what you need. The first is to generate the grid over multiple ticks. Takes some tweaking of the GridManager, but can be done. The second is to convert the grid generation algorithm to C++. I have done this previously and can share the code with you if you want.

Hi Jim, it depends a bit on what you are after. Are the actors of the Unit class or just simple actors? The tiles are stored as integer indexes, but these can be converted back and forth between location vectors. Perhaps my tutorial on grid indexing will be useful?

This might be the sort of question that will be quicker to resolve over the support Discord, which has become the main support channel for this toolkit, and is better suited for chatting back and forth and figuring out your exact requirements. Here is a link: ATBTT / DCT / RLDB

New ATBTT tutorial is up! This one builds on the previous Stats System tutorial and explains how to create traits and statuses , which explained briefly are stats that can run their own gameplay logic. Hope you find this one useful:

New update is out for UE5.1. This one contains mainly bug fixes.

v3.4.1 (live 25.11.22)

  • FIXED: After climbing a ladder, puppets will sometimes keep sliding slowly forward after stopping
  • FIXED: In networked games, pressing tab would switch between units even if it isn’t your turn
  • FIXED: GetIndexesInRange did not properly get all levels for multilevel hexagonal grids
  • FIXED: Local damage calculation not used in SRPG stat unit’s damage calculation (defense and attack don’t matter)
  • Fixed lighting issues in Demo map
  • Replaced deprecated skeletal mesh getters in puppets
  • Removed deprecated configs in .ini
  • Disabled unnecessary replication of puppet component and ability system component
  • Abilities with can target self set to false no longer show a target marker under the owning unit

I am interested in the GridGeneration algorithm in C++ if you have it available. I wanted to start experimenting with procedural generation of Hex Maps, with custom tile heights etc. Basically a worldgen for a Civ Game. I suspect this is probably easier to do in C++ than in BPs, but if you have any advice (or somewhere covered this in a tutorial video I missed) let me know.

I am on the Discord and happy to contact you there as well if you prefer.

Hi, just to check, but you have already contacted me on Discord about this and I’ve sent you the files, right? Making sure I did not send it to another person and have ignored your request.

New update is out for UE5.1. This is a fairly sizeable one with some new features as well as several tweaks, improvements and fixes. Some of the bigger changes are described below, but for a full list see my Trello.

v3.5 (live 01.02.23)

  • Added option for displaying tiles in move and attack range as an outline. The outline can be animated and works on multi level grids, but not on hexagonal grids.
  • Added Grid Manager option for procedurally removing any diagonal edges where any of the adjacent straight edges are blocked.
  • Added back a Virtual Reality map.
  • Swapped all input to UE5 Enhanced Input.
  • Improved performance of GetIndexesInRange and FindTilesInRange and grid location generation.
  • Added option for passing a gameplay tag container through events
  • FIXED: Stats turn manager ends the turn for the active unit multiple times
  • FIXED: Changing max stats at runtime did not update UI appropriately
  • FIXED: BP_Unit_Stats were not properly added to initiative if spawned at runtime

Don’t you want to support Hex like “MI_SquareGrid”? If you look at StrategyRpg, you can see an example of Decal for a tile, but this creates 90000 DecalComponents when the Tile is 300*300. Is it possible to apply?

The decal setup I have in the SRPG example map was just intended as an example of that genre, which has small enough grids that it has no performance impact. There are certainly other ways to visualize the grid for larger grids, such as MI_SquareGrid I have for square grids, the instanced static mesh setup I have for both hex and square grids etc. Putting a tiling hex material as a decal is certainly one way and relatively simple to set up. I can give you some pointers if you want.

New hotfix is out for UE5.1. There were some issues with the last update which have been fixed. Particularly one pretty serious memory leak (first point below) that anyone who is using the experimental stats system should fix. Full changelog is as follows:

v3.5.1 (live 10.02.23)

  • FIXED: Memory leak in BP_TextSplashComponent. Fixed by setting the InitialLifeSpan variable to 3.0
  • FIXED: Bombs will sometimes not explode when they reach their target (especially on low framerate), halting the game
  • FIXED: AI does not put enough priority on a tile’s safety value (from cover etc.). This can also cause an issue in the Demo map, where the game cannot proceed because the AI does not stand on the bridge raise button behind cover.
  • FIXED: Since 3.5 retaliate resets every turn instead of every round, allowing units to retaliate again for each new activated unit
  • FIXED: Some of the Puppets in the Jungle Raid map were duplicated
  • Tweaked BP_Ability_Laser AI to be a bit more aggressive
  • Action cam now always activated for overwatch shots

Hello! I am currently receiving this error message “Blueprint Runtime Error: “Accessed None trying to read property CallFunc_GetComponentByClass_ReturnValue_1”. Node: Get Cover Meshe Transforms Around Index Graph: EventGraph Function: Execute Ubergraph BP Ability Sprint Blueprint: BP_Ability_Sprint”. I have the hex _grid as my main one, with the stealth component added as well. My player character default ability is sprint as well. I believe this is causing my enemies to bug out as well. Any possible solutions?

Hi, the Sprint ability expects the Grid Manager to have the Cover System component implemented. It is trying to spawn shield icons for displaying cover, which your grid manager does not have. The cover system is also set up to only work with square grids by default. Disconnecting these nodes should take care of the warnings:

New update is out for UE5.2 which fixes several bugs. Changelog:

v3.5.2 (live 12.05.23)

  • FIXED: Stat names and tooltips in stats system unit HUD now update properly.
  • FIXED: Modifying a stat through an event that is bound to a stat being modified could cause original stat payload to be overridden.
  • FIXED: If the optimal place to shoot a bomb is the same tile that a AI Unit started its turn on it would move out of the way and then bomb itself
  • FIXED: “Add new ability” in the ability system component now works for AI Units.
  • FIXED: Abilities can now never be used if you don’t have enough Action points.
  • Abilities in ability box now greyed out if they don’t meet requirements (AP cost, generally).
  • New “Attempt Activate” event that only activates the ability if it meets its requirements (generally AP cost). Is now called in all places Activate was called before.

Hi, the link for the multiplayer documentation is no longer working. I was wondering if this is still a feature? Cheers

Hi JustKrancy, sorry for the late answer. My support these days is mostly done through my Discord. Multiplayer is still supported. What particular link are you refererring to? To quickly test networked multiplayer in the toolkit you can set DefaultOwningPlayer of Units on your map to different values and then play in editor with a number of clients equal to the number of unique DefaultOwningPlayer values. You might also want to check out the MpSpawn example map. If you test it in editor with three clients you can test that particular example setup which lets each player spawn units before the game starts.

Hello! I would like to make civilization type of game but i dont know how to create a “round” world, please help!

Oh, and discord link doesint work!