[SUPPORT] Advanced Turn Based Tile Toolkit

Something akin to this?
Reachable is after pathfinding and pawn in sight is after find tiles

Pretty much, though you forgot an array. You can actually just do exactly what I suggested in the first screenshot of #639.

Cheers for your help again!

If you were interested about my invisible unit, in player controller i do this check if you select another player unit

If the cast succeeds thats where my base is and there isnt a unit already there so you can move a unit onto the base
if it fails then its not the base tile

@ - Thank you for the great explanation. I find the logic interesting and while what I am working on the check would be much better served on the entering tile that is a different issue for another time. If I upgrade my project to the newer version when released I will have to adjust to it. It will come done to what additional features are in the newer version and if I feel I need any of them. My biggest suggestion is putting in functions with well documented in and out flows so people can understand what they need to do on the surface level. If I had a function that I could put a wall or a block down and pass it the location and maybe a few other items then I think that would be extremely useful.

I think the major key is that I want to make use of the great work you have already done. This is why I make only child objects and call back to the parent functions or override them is I really need to through I try to avoid that as well. I have no temptation to change what you have done because I do not look at it all the time. I only look at it when I need to understand how something was implemented so I can call it correctly. Honestly I am not happy with my 2D array for my platforms because I feel there are better ways to keep track of where things are. I also feel that it is going against the grain of what you have already done.

Long and short of it I look forward to your new release and how that will effect what I am working on.

@: Thanks for the screenshot! Glad to hear the invisible unit solution worked. I might hit you up when I get around to making my 4X example game.

@Anzak: Iā€™m already doing my best to include useful utility functions for these sorts of things. I wonā€™t be able to cover all cases, but they should serve as handy examples also for users who want to modify the toolkit heavily.

Yeahh I would appreciate that, would be really useful!
I will obviously keep an eye on here and a look out for updates

Any news when this will be updated to 4.10?

Just curious :slight_smile:

Iā€™ve tested it out, and it seems like ATBTT 4.9 works almost without issue on UE4.10. The only problem that seems to possibly be of any significance is that Get Hit Result Under Cursor seems to return the wrong location in the Height Map example sometimes. Other than that the default the default height for tiles in range need to be set about half and unreal unit higher to prevent them from clipping through terrain (can be done in the public variables of Grid_Manager). So for those of you who want to use 4.10 I would recommend just taking a copy of your 4.9 project and opening it in 4.10. Iā€™ll test it out some more and send an update to Epic soon, but that process usually takes a while.

@ Got the base platform completed now and the spawning (well really activating) of new platforms works as intended. However I am not sure how closely you looked at the macro I created for finding all the indexes under an object. It works great for large objects but not so great for smaller objects. 1 Tile or less and it does not return the right index. I will be looking at it to see where my math is in error. I am sure it is something silly I did not account for.

How long until the next gameplay update?

Sorry for the late reply.

I didnā€™t really look it through at all. Mostly copied what you had without paying much attention. When I implement something similar into the released toolkit Iā€™ll give it a more thorough look. Good luck in fixing the math, and let me know if you need any assistance.

Iā€™m slowly but surely working on the update. I wonā€™t give any time estimate, as I seem to overshoot it every time I make one. After this update I think I will go back to releasing smaller and more frequent updates. My reasoning for making larger updates was that users would not have to update their projects as often, making it easier to keep their projects up to date. However for updates of this size people will have to make so large modifications that they might not bother. Iā€™ll try to find a middle ground in the future.

Found my logic error. I was subtracting half the bounds from the location but since the bounds was already half the size I needed to subtract the full bounds. The index reduction I was doing after the for loop made it look like it worked correctly for larger areas but I was just really putting in a negative buffer and did not realize it.

Got my random room generation working finally. Time to move on the player turn sequence.

@ On your next release could you look into adding more entry points on the PlayerController and making them more modular in terms of functions. This way as people want to change the turn order or add new sequences they will have an easy way to get to the key items. I might recommend a start and stop to each type action. For example setting up movement you can have a start movement phase and an end movement phase same for attack. Then make a Sequence function or event that can be called as the pawn is activated. This way a person could just override the Sequence to change the order of things. Again just a suggestion and looking at how to make it a bit more modular.

Ok, Iā€™ve sent my 4.10 update to Epic. The changes are extremely minor and only affect the example content, so you should all be able to just convert your 4.9 project to 4.10 without any fuss. Here are the changes:

v1.44 (being processed by Epic)

  1. Rebuilt the landscape in the heightmap example map as the old one was causing the Get Hit Tile Location and Index to sometimes return the wrong value.
  2. Changed the height of the meshes in the Tile_Cost tiles from 0.5 to 0.3 as it was clipping through the tiles in sight range/move range.

@Anzak: Glad to hear you got random room generation working :slight_smile: It is something Iā€™ll certainly be looking into in the future, and I might hit you up then. Good idea on making the Player Controller more modular. I have already added a few things that should make the toolkit more modular (for instance the event graph of Unit_Parent), though I wonā€™t be adding your suggestion to the next update as I have already added too much and need to refrain from adding more stuff so that I take even longer. Iā€™ll consider adding it for the update after, though.

Good to hear I would certainly love to lend a hand. I was thinking about the Controller a bit more and I look at a turn based game as a sequence of phases. If you had a function or set of events that allowed for phase control that would be very helpful. I am planning to almost completely override the PlayerController. Much of it will be copy and paste from your controller. Once it is done I will share it back with what I had in mind for a phase control. Keep up the awesome work I love seeing the new updates. Oh one question will the major update you are working on be 4.9 compatible? I am not planning to go to 4.10 at this point as there is nothing in 4.10 that I need at the moment so until there is a content pack that I want to add that needs 4.10 or I find a feature that I can not live without I am planning to stay at 4.9 for the forseeable future.

Ok, cool. Iā€™d love to check it out when Iā€™m done and see if I will want to do something similar.

I think the time I would spend making every update backwards compatible with every previous version of Unreal Engine would take so much time that I would never be able to add something new, so every new update I release will only be tested on whatever is the newest version at that point. I will try to help people individually who have problems using older versions, though. Still Iā€™m curious why you donā€™t simply convert your project to 4.10? It takes no time at all and since 4.10 is mainly a bug fixing update I doubt you will need more than an hour tops to get everything working perfectly.

Right now I would rather take that time to focus on the changes I need to make for my project. I donā€™t get a lot of time to work on it so I feel my time is better spent focusing on getting features I need working. When your next major release comes out I will move to 4.10 and use the time to make all the changes needed for both 4.10 and your release at the same time.

Ok, thatā€™s fair. If you havenā€™t I would still recommend trying to open your project in 4.10 and see if it works without you having to do any modifications at all. Chances for that seem to be pretty good.

In other news I just found a new, superior way of storing edges that will make creating multi-level grids a lot easier among other things. Unfortunately it will take some time to implement this, so this update will take even longer to get doneā€¦