[SUPPORT] Advanced Turn Based Tile Toolkit

Legendary :slight_smile:

Okay, after months of work Iā€™ve just sent update 1.7 to Epic. It is the biggest update Iā€™ve done so far. There is a lot of stuff included in this update. Iā€™ll list the most important ones, but there have also been a multitude of other small fixes and changes over the past months and listing all of it would take ages and not be very interesting. In most cases the parts where Iā€™ve made changes in blueprints will be marked by a boolean called Version 1.7. Search for this variable in any blueprint to navigate to the changes if you want details. But to give an overview of the update in broader strokes, here is a list of changes and additions:

v1.7 (being processed by Epic)

  • New example map of an XCOM-style turn based tactics game, including the following:

  • Skill system (with premade skills laser beam, explosive shot, overwatch, heal and mind control. Particle effects borrowed from Infinity Blade assets.

  • Advanced AI to work along with the skill system to assess and select the best skill and location depending on the situation.

  • UI for selecting skills.

  • AI units in example map begin the game inactive and enter the combat if hearing or spotting a unit or being damaged (handy for stealth games).

  • Cover system

  • Dodge, accuracy, random damage ++

  • An awesome selection of creative commons sci-fi assets. Skeletal meshes have been rigged by u/Bankworthy (thanks!)

  • Edge scrolling and scroll limits.

  • New WallTrace trace channel to improve automatic map generation.

  • Basic VR example map for room-scale VR board games with motion controls.

  • VR example unit that gets materials and attributes set automatically based on faction and range.

  • Win condition added back. Now works with blueprint nativization due to new function library set to not be nativized.

  • Disable rotation in BP_GridManager now works as intended.

  • Fixerd bug that causes units to consider all units to be friendly (felt like Ford in Westworld fixing this one :,( )

  • Added new functions for searching for and selecting units in range. Greatly improves efficiency of calculations in AI Controller.

  • Various bug fixes and performance improvements for functions.

I think that should be most of it. Fingers crossed for Epic uploading this to the marketplace soon. Hope you guys will have fun with all the new features!

Ok, now this is fixed in the new update, but since youā€™ve mentioned that you probably wonā€™t convert it, here is what you need to fix. The problem is that the functions that set up the edge arrays sometimes try to search outside the grid. This can be fixed with some reorganization and a couple of branches. Remove the Create Walls On Grid Edges function from the Event Graph and Construction Script of BP_GridManager. Instead place it inside the Add Viewport Terrain to Arrays function at this exact spot:

Now, in both the Remove Edges On East And West Side Of Grid and Remove Edges On North And South Side Of Grid functions add a branch to check that the index outputted from the reverse foreach loop is greater than -1

Lastly in the Vector to Index 3D function (also in BP_GridManager) change this number from 1 to 2:

Unless I missed something that should do the trick.

Excellent, Thank you.

Ok this makes me excited :smiley:

Hi ,
Iā€™ve tested the Spawn Unit function and itā€™s working well (I added a Spawn Unit node to the end of the Activate Grid Manager graph). But my Unit_Player canā€™t target spawned enemies and the player can walk into tiles occupied by spawned units. Is there a way to fix these problems?

Hey Mon!
The new update sounds great, when do you think it would be up for grabs?
Also is the nativize completely working now?

Seems like there is a bug in the Spawn Unit function. Donā€™t know how it appeared, since it was working before, but it is very simple to fix. You need to connect the output from the SpawnActor node inside the Spawn Unit function to the input of the Set Array Element node. Like so:

Not sure when it will be uploaded. That is up to Epic. It usually takes about a week. Nativize should work both in the new update and the one currently on the marketplace.

Cant wait, thanks for keeping this going!

Thanks for the quick reply, its working great :).

I love the kit, but there are a few things I get stuck with due to a lack of understanding. Is there any detailed documentation or tutorials for the kit?
Also, for this latest update (Iā€™ve yet to play with it but cant wait), I was wondering what approach should I take to make my enemies do both ranged attacks, and melee attacks (assuming the player gets quite close to them)?

My pleasure :slight_smile: Iā€™ll probably take a break for a few weeks and work on some other stuff for a little while. The final sprint went on for a lot longer than I planned.

Thanks for making me aware of the bug so I could fix it :slight_smile:

Just out of interest, is there out-of-the-box support for larger units? Imagine a fantasy game with a troll unit, for example, that would take up an area / space of 3 tiles by itself?

There is not such support out of the box, no. It has been requested quite a few times, and the reason I have not added this yet is that it is very difficult to make a general solution. Particularly having one system take into account both hex, square and (particularly) multi-level grids is very challenging. It is much easier to implement this for a game where all this is specified in advance. I want to add this in the future, but probably in a concrete game example.

The new update is out! Iā€™ll be making a video covering the new features when I have the time, but for now take a look for yourselves. The two most obvious additions is the new example game utilizing cover, skill systems and advanced AI which can be found in Maps/SciFi/Jungle_Raid and the VR example map in Maps/VR.

The jungle raid map utlilizes some fantastic creative commons assets created by u/invluse on reddit (here is a link to a description and all the assets). These assets are licensed under creative commons zero, which means that anyone is free to use them for commercial use without even crediting the creator (though I still think anyone who uses them definitely should). The skeletal meshes in this asset pack were not rigged, but have been rigged by unreal user u/Bankworthy (thanks!).

The contents of this update are a tad more experimental than my usual updates. I have experimented with a lot of different stuff, so there are problably quite a few bugs that I havenā€™t gotten to. Please let me know if you run into anything that doesnā€™t seem to be acting the way it should. The blueprints contained in Jungle Raid are intended to serve as an inspiration and as a possible way of doing things, not as the best possible solution for all games. All of the features in this map are not completely generic, which means that users might have to make adjustments to implement them in different sorts of maps.

For anyone who owns a Vive I recommend checking out the VR game example and tell me if you have any feedback. This map is pretty basic, and just has the minimum required to get input from the motion controllers to interact with the toolkit. In the future I will be looking into expanding this example and add support for different sorts of input ++

Enjoy!

Hi, congrats on the new update release!

ATBTT is an amazing toolkit, thank you for your hard work in creating it.

I have a question regarding multiplayer. Can you give an educated guess as to whether ATBTT could have multiplayer added? Do you think there might be any fundamental reasons why it might not?

A simple ā€˜listenā€™ server setup seems doable. Networking Overview for Unreal Engine | Unreal Engine 5.1 Documentation

And at the core, I feel like it shouldnā€™t be too terribly difficult, and mostly a matter of setting up the Actors to be replicatable, as well as all properties, and then add RPCā€™s to all the effects and such to make sure each player sees the same things going on. Networking Overview for Unreal Engine | Unreal Engine 5.1 Documentation

Is there any reason those additions would be especially difficult/impossible?

THANK YOU again for this great toolkit and for taking the time to answer questions!

Sorry, I seem to have missed your comment since we posted almost at the same time.

I do not have a written documentation, but I have made more than five hours of tutorials that are available on my YouTube channel. Check the first post of this thread.

In the latest update enemies can have any number of skills and will compare these to each other to determine what skill is best used in a situation. If you add a melee skill and want enemy units to prefer using this over ranged attacks when player units are close you should modify the functions that sets the AI Estimated Value variable of this skill to output a higher value the lower the distance is to an enemy.

Multiplayer is one of the most requested features, and I want to look into implementing it in the future. Iā€™m considering making this a priority now that the new update is finally out, though I have not entirely made up my mind yet. I believe the toolkit is well suited for adding multiplayer, and some users have done so with success already. I think what you describe with using a listen server makes sense, though I have not experimented with multiplayer yet myself, so I cannot answer from personal experience. If you decide to try it out, let me know if you find any major roadblocks.

This is purely hypothetical, but have you ever considered making custom versions of the toolkit to fit individual needs, for a fee higher than that of the ā€˜baseā€™ toolkit? Or making multiple turn based toolkits (one focused on rpg, one on old school strategy, one on multiplayer, one on tactical games, for example) to sell separately but at slightly price then the main toolkit? I know this is more of a spare time project for you and takes alot of personal time, Iā€™m thankful people like you contribute to the UE marketplace, which hopefully one day will match the Unity marketplace in terms of quantity. I donā€™t know if UE marketplace assets make much income for the developers but I hope they do in the larger more complex assets Iā€™ve seen, like this, the ccg toolkit, the sidescroller shooter toolkit, the tower defence/fps toolkit, and others Iā€™ve seen that seem really cool.

Sure, I did consider something like this at some point, but in the end I think that would be worse for both me and users of the toolkit. Many of the modifications and improvements I make for the toolkit could benefit many genres of turn based strategy games, and having multiple versions would mean that I would have to implement any such changes in all versions, increasing my workload. I also thinks it helps sales for users to know that if they make one purchase they will get all future features I add. My goal was always to make the sort of asset I would love to have bought when I first started using the engine, and as someone interested in all sorts of TBS games, a generic framework is what I have made. This only goes so far, though, as many interesting features are specific to certain genres. For this reason I have made example games demonstrating more genre specific features, such as the included 2D dungeon crawler map and the new XCOM-style tactical combat map.

I just purchased your toolkit last week and experience using Unreal only a few weeks longer than that maybe. I have a project all setup in SVN source control, and while it may be easier for me to just start a new project to utilize your new version of the toolkit, I find this may be a good exercise to see how upgrading your toolkit in an existing project becomes viable as we go into the future and an inevitable 1.8 gets released with more great features.

So would I go about upgrading my project with the new update. Maybe a better question is how do you use the toolkit in a project: Do you keep the base blueprints in the default folder of AdvanceTurnBaseTileToolkit and create child blueprints of everything placed in the root project folder? A normal programming project would have an asset folder or 3rd party library folder, so in my experience that is what I would expect, but I am unsure the practices of Unreal. It seems some people just basically create their game in the existing blueprints provided by your toolkit, adding more functionality that way.

I guess the simple question boils down to:

Do you have a solution to easily upgrade 1.6->1.7?