[SUPPORT] Advanced Turn Based Tile Toolkit

The hourglasses indicate that a unit has used up its turn. I haven’t added it yet in the new version, though.

You’re very welcome :slight_smile: Splitting up move is another thing I have not added back yet. Should not be terribly hard to add, though. With the updated ability system I would probably do this by modifying the BP_Ability_MoveAttack. One of the benefits of the ability system is that it makes everything more modular. Much of the stuff that was previously done in the player controller is now handled by the abilities, while the player controller mostly handles input to whatever is the active ability. This means that if you want to experiment by adding something like split move you can create a new ability without having to modify the base toolkit.

Like I said, I will get around to it, but if you want to add it yourself to get it quicker I would duplicate the MoveAttack skill and look at all places (outside of the AI events, probably) there are pathfinding events and have the move range depend on action points instead of the unit’s move score. And in the Pay Move AP function you would pay AP based on the exact cost of the movement. Lastly you would increase the action points of the units so they can move more than a couple of times. A modification like this also allows for attacks that take varying amounts of action points that can be used several times in a turn, if you want to make something with an action point system similar to for example Fallout 1/2.

Thanks for the reply , I can wait untill you add “can split up move”, as for the spline mesh, my fault, I imported wrong mesh(brain fart), it works.

Hello , I think I may have found a bug in the new version. When I uncheck the “show default tile” This happens(see attached pic)


Also, I am using a floor for a higher level, is there a way to show the tiles on that floor?

Edit: After looking into it more it seems the grid manager doesn’t like my custom mesh, your default map seems ok. I will look into this some more.

Edit 2 : Yup, doesn’t like my custom mesh !.(maybe because it is scaled up too much?)

Sorry it has taken me so long to get back to you on this, these days have been crazy busy. I will check for potential issues with custom tile meshes as soon as I have the time and will report back.

Not a problem with the late reply , The mesh I was using was scaled real big, I imported one the same size as yours and used the scaling in UE editor and there is no problem now.
I wouldn’t waste time on checking that, your time is better spent adding and re adding features. Thanks for the help.

Great job on the last update! Im getting familiar and had a few problems, cna I send that here?

BP_Unit_Anim_Adv
minimum range not seem to apply damage when range is bigger than 2.
Also when trying to set move range to 1, it get into walk turn loop, until attack.
Had trouble aiming a unit with grid size bigger than 1.

Got caught by surprise with this update! Some really interesting stuff, how is the multyplayer going to be? Are we going to need to host a server it or the players?

I was wondering if you could explain how to go about using a static mesh as a pawn, do I just have to create a new pawn class and add relevant functions from the bp_unit ?

Just letting you know that I’ve now confirmed this bug and am currently working on fixing it. Cannot give you a quick solution at the moment other than having show default tile set to true and then hiding the grid manager immediately after begin play.

Thanks! Yep, this is the best place for it.

Ok, I’ve been waiting for these sorts of reports. I was expecting there to be quite a few bugs showing up after release, even though I spent a lot of time bug testing. I always forget testing the minimum range stuff… I’ve confirmed that these bugs exist on my end and I’m working on fixing them now. Thanks a lot for reporting these to me. As for your last issue, that is to be expected. Big unit support is highly experimental at the moment, and I would not recommend using at the moment unless you are very experienced with the toolkit and UE4 and are prepared to do a lot of work yourself. In the next version it should work out of the box. I’m moving the Size variable into an “experimental” tag for the hotfix I’m working on now to make this clearer.

Edit: Here is a fix for the issue when move is set to one (in the event graph of BP_Ability_MoveAttack, in the Click comment box)

Multiplayer works now if you want to test it out. One player acts as the server, while others are clients. It is currently set up to work with Steam by default. Set the startup map to the multiplayer menu in Maps/MP, package the project, run it on two computers logged on to two different Steam accounts (the download region in steam settings must be the same for both machines. A quirk of UE4 test builds) and it should work just like that.

The unit blueprint is referenced all over the place, so if you create a new class instead of a child of the unit blueprint you’re going to get into all sorts of problems. Instead, create a new child blueprint of BP_Unit. Then place a static mesh component into it and you are almost done. There is one thing missing to make it work, and that is to make sure the OnHit event dispatcher is called at the same time as when an attack is shown to hit. If you do not call OnHit when using the default attack abilities, the game will not progress after you click attack, as it is waiting for the attack animation to say that it has hit. I’m adding a call to OnHit in the event graph of BP_Unit for the hotfix to make this clearer.

https://i.imgur.com/4TYIl0k.png

I’m on to fixing all the issues you have listed now. I’ll get back to you both when I’ve found solutions to them.

Awesome , I was just wondering about the static mesh because I was trying to use blender to make lod’s for the skeletal meshes and was getting no where. BUT, I have a program, Ultimate Unwrap 3D and it has a poly reduction tool that works perfectly for skeletal meshes, even the UE4 man. I cant believe I missed that in UU3D. Thank for the help and I am really looking forward to the hot fix. By the way…are you ever gonna get a “Donate” button some where ? :rolleyes:. Thanks again !

Edit: Oooh, my post #1000! Apparently I’m Elite, now. Have to use those 1337 skillz to improve the toolkit further.

You’re doing me a big favour by reporting bugs, so no need to donate to me for fixing them. As far as I see it, buying the toolkit gives everyone right to as good support as I’m able to give. Unwrapping and LODs is outside my area of expertise, so if you run into any issues with the toolkit when it comes to these things, let me know. I’ll continue to look into the DisplayStaticMesh issue.

@VitorSilvestre : Gotten around to the minimum range issue now. I have added the following to the FindVisibleUnitsInRange function. I could in theory skip the branch and just have everything using FindDistance, even when MinRange < 2, however FindVisibleUnitsInRange is sometimes called multiple times during a single tick for the AI, so this is done to make it as efficient as possible.


​​​​

@ : Try this out for your custom default tile mesh issues:


If your custom default tile mesh is of a different size than the default one, note that you will have to make rescaled versions of the TilesInMoveRange etc. meshes. I considered automating this resizing, but keeping it manual allows users to more easily use markers that don’t take up an entire tile, if this is what they want. Maybe I’ll add a toggleable option for this in a later version.

Congrats “THE ELITE”, I will give it a try and let you know how it goes, Thanks

Hey Guys,

I think I found a bug, but it could be Unreal-wise, not sure. When I open the BP_Playercontroller_AtBTT I wont get the green compiled tick showing up. same goes for saving. It works though but it is kinda gliched out.

So just to let you know, no rush and have a good week everyone.

Greetings

Yeah, this is a known bug and it is a bit annoying. It is just a visual bug in the engine and does not affect anything, but I’m still trying to fix it. Strangely it compiles fine if you first open any of the functions in the player controller. It only happens if you compile while in the event graph.

Hey,

Yeah I thought about that. Anyway, I want to implement a inventory and equitment system but I kinda dont know where should I place it. I started to code it into BP_Unit but I couldnt get the inputs working so I made it now into the BP_Playercontroller_ATBTT its working there but I dont think it should be there because its unit related. And I fear that when I pickup an item every unit gets it. or maybe I start entire new BP only for this? But yeah I really like the new system you made!

Greetings

Thanks! Yeah, organizing and knowing where to put stuff if something that takes practice. One of the big reasons for my refactoring was that I had worked up a much better understanding of this over the years, and felt compelled to move blueprints around to more sensible places. I agree that it makes the mosts sense to have inventory systems at least in part tied up to each unit, and I don’t why that shouldn’t work. Seems like the sort of thing that would make sense to have in a blueprint component. Perhaps also a larger inventory manager singleton blueprint that does most of the hard work, but references inventory components on the unit for the specific data. This might also be something a data table is well suited for… Well, the devil is in the details and the best implementation depends a lot on what you are trying to do. Maybe I could help you understand why the input is not working? Could you be a bit more specific as to what goes wrong?

Yes I understand it way better than before because of the refactoring. Im still more a beginner when it comes to coding but it motivates a lot if the main work is done so Im very enthusiastic about your toolkit. With input I meant the keybindings, I only got my inventory opening when I put it into the BP-Playercontroller. What makes sense though. I using a youtube tutorial for that but its for a thirdperson-character. So I need to rethink parts of it. basically I want the unit in a collison area around an item and when the mouse hovers over the object it starts to highlight the item then click on it and it goes into the inventory. Maybe I look into some documentation about the things you mentioned so I find something to solve it. I also started the inventory thing yesterday, so I probably asked to early. sorry about that.

hi. i’m junghoon. Our team is developing games using these tools.
I have one question. What if you want to make the enemy unit recognize as an object?
What I want is that the enemy within range is treated like obstacle.
please reply

That works perfectly , I hope that wasn’t too hard to find and fix. (I was using rescaled versions of all tiles also), Thanks

Hey Monokell or other toolkit user, I want check if my target is more then 1 tile away from attacker when attacking to change attack animation. Does anyone know how to check this?