[SUPPORT] Advanced Turn Based Tile Toolkit

Hmm, that’s strange. I’m not getting such an error. Have you made sure the blueprints are set up exactly like in my screenshots? If you have, you can send me a copy of your project and I will take a look at it.

Hello , so far im loving this framework! best purchase i’ve ever done in the UE marketplace.
My problem is that im mainly a 3d/2d artist so im having a lot of trouble customizing the grid to my needs.
Im not really trying to make anything too complicated (i think!) My idea was to make something like the advance wars/fire emblem games as you can see in this video:

Im not even asking about how to take the combat between units to a separate level (though it would be awesome to know how to do that!)
Just wanted to ask, is there a way to make different kind of hexes or squares, like one for each kind of terrain and then place them individually until you construct the whole grid?
So far i know how to replace the default mesh of the bp grid with my own but that only allows for a single type of hexe/square/terrain.
I’ve tried hiding the default grid, turning off walkability of the collision grid but when i try putting individual hexes/squares the pawns cant walk over them or keep walking over the invisible collision grid.
Ideally i would love to be able to construct levels like this:
PD: Sorry if its a stupid question or if im asking for something unreasonable , but im very new to game dev and get confused easily, anyway any help you could give me on this will be extremely appreciated!

Hi EduardoGaray! What you are asking is certainly possible and is supported by default. Making the collision plane not walkable, the default tile invisible and placing individual tile actors should work, and I’m unsure what you might be doing wrong. Are you using children of Tile_Parent or simply placing static meshes? Are you using meshes with collision blocking PathTrace? A word of warning about placing individual tiles is that it can have a pretty big impact on performance for large grids. Because of this I’ve created the option to turn all tiles you designate into instanced static meshes (provided they use a single material). If you are creating a 2D map I’ve figured out a way to use UE4’s built in tilemap functionality to build a map without placing a single time. I can get into detail if this is what you are doing.

thank you for your quick response! after reading your comment i checked everything again and the problem was actually the position of my custom meshes, after fixing that everything went smooth :smiley:
such a stupid mistake, thanks again!
Only other question i have left is regarding the camera blueprint, im now watching your blueprint video tutorial, but before delving too much into it i wanted to know if it would be easy to modify it so when a pawn moves or attacks the camera position changes so it either looks more cinematic like xcom or simply shows the action closer.

Good to hear you managed to fix it :slight_smile: Sure, it is possible to change to a more cinematic camera. Just place a custom camera actor wherever you need it to be and use UE4’s in-built functionality for switching between different cameras for the duration of the attack.

i see thanks!, i will look into that.

I’m now putting my final touches on update 1.6. Since UE4.11 took so long it thus seems like those of you who have not personally asked me for version 1.5 will jump right to 1.6 when 4.11 is released sometime this month. The biggest changes in 1.6 are heightmaps and multiple factions, but it also includes many other small and large improvements. Can’t wait to see what you guys do with all the new features :slight_smile:

Sounds wonderful! Looking forward to it. :slight_smile:

If there are support for multiple factions, I know what I will start developing in a heartbeat.

It will be a digital implementation of a board game I designed as a part of my group during my education, and in terms of game design, is the project that I am the most proud of having created

There is indeed support for multiple factions. You can add an arbitrary number of factions and set up which factions are considered enemies and whether or not units are controlled by the AI individually for each unit. I think it is always a good idea to test out ideas for TBS games as boardgames while developing, and that you already have designed a board game that is fun to play is a great starting point for making a game. I hope I’ll be able to play it myself some day :slight_smile:

Update 1.6 is done! I’ve sent it to Epic and it should hopefully be up by the time UE4.11 is. This means that update 1.5 was indeed skipped in the end, but at least everyone will soon get an even more awesome update! The jump from 1.4 to 1.5 is pretty massive and with the changes in 1.6 the difference will be even greater. On the bright side I am done with almost all features I consider essential in the base toolkit, which means that there will probably not be any major changes to the underlying systems from this point on. Future additions will mostly be additive rather than transformative, and come for the most part in the form of example maps. Here is the update log (new tutorial videos will be made shortly after the toolkit is uploaded):

v1.6 (being processed by Epic)

  1. Support for multi-level grids. Multi-level grids are generated automatically from underlying meshes.
  2. Added walls and platforms that turn semi-transparent when zoomed in or hovered over. Especially useful for multi-level grids. A simple example map is included demonstrating their use.
  3. Support for multiple factions. An arbitrary number of factions can be added. Units can be setup individually to be allies or enemies of the various factions.
  4. Any unit can be designated as AI or player controlled, regardless of faction. Allows for hot seat multiplayer among other things.
  5. Added option for using custom pathfinding specified for each unit. Included examples such as units that can pass through friendly units, units that ignore difficult terrain and units that cannot move diagonally.
  6. The path spline now uses a linear instead of a curved spline, which usually looks a lot better. Movement is still guided my a curved spline, as this makes for the most fluid movement.
  7. The default grid mesh can now be set as a hierarchical instanced static mesh, further increasing performance on large maps compared to regular instances static meshes.
  8. Various smaller changes including blueprint organization and commenting improvements.

I just purchased your package from the store and so far it’s been great. I have a question about your up-coming multi level grid update. Does this include stacked grids? For example, I want to create a building like in x-com where you can walk from the first floor, up some stairs and to the 2nd floor, etc… Is that possible?

Absolutely! XCOM was my main inspiration for creating the toolkit, so this is something I always wanted in. Here is a screenshot of it in action:

545f332c80f1ba943a5b4076c2658f30aebfbc11.jpeg

Hello.

I have a problem, when I play the camera spawns in the level at the current pawn but is not possessed.

I have modified the BP’s in many ways but the spawning of the camera in Game Mode and the Camera BP remains the same. The inputs are also bound correctly in the project settings.

I was wondering if you had any thoughts about what might be causing this? And also if you could explain where/how the camera is possessed or assigned to the player controller in your BP?

Hi there,

if you’re using the current version on the marketplace the camera is spawned in ATBTT_GameMode at the end of the first part of the event graph (right extreme of the green comment box). The default pawn in ATBTT_GameMode is set to “none”. This should cause the engine to select the camera pawn to possess as there should be no other options. This solution is a bit unusual, so I have changed it to a more conventional solution in the next update. Now I have set as the default pawn in ATBTT_GameMode and then manipulating it as follows:

This should be a more robust solution agains any changes users of the toolkit might make. I recommend using the solution depicted if you are still having issues.

Hey guys,

Don’t mean to interrupt. I really like seeing the activity going on in this page and projects being made with this toolkit. Keep up the good work! :slight_smile:

Thanks! I certainly don’t mind the interruption :slight_smile: I enjoy keeping the conversation in this thread going. I’ve had some form of forum thread discussing turn based strategy going since the release of UE4 and I love being a part of all these awesome TBS developers’ projects. TBS is my favorite game genre, so it is gratifying to know that more TBS games will probably end up being made with UE4 than what might have been the case if I had never made my toolkit. Thanks for stopping by the thread :slight_smile:

Looks very impressive. I’m not sure if I’m allowed to hijack, so feel free to ignore. I’m trying to create my first very simple game (Android tower defense) and I’m having a hard time finding any help for for how to create a simple grid. Besides this very impressive grid kit, I can’t find anything really.

So anyway, I don’t think I’d have any problems placing towers or writing a shortest path algorithm etc, I just don’t know how to create the actual grid. Since you are clearly the foremost expert in this area from what I can tell, is there any chance you can give some recommendations to get a rookie started?

Thank you and keep up the good work.

Hello fruxo,

if you’re intending to make a tower defense game I would highly recommend checking out Rohit Mohan’s Tower Defense Starter Kit. Rohit is an excellent developer who provides great support and I believe he is using a grid system similar to my own for his asset. He is probably the guy to get in contact with for Tower Defense specific stuff.

When it comes to creating a grid that can be more or less complex depending on what you intend to do. Creating a grid of static meshes is pretty straightforward. Run a loop equal to the vertical size of your grid times the horizontal size. For each loop index spawn a static mesh (preferrably an instanced static mesh or hierarchical instanced static mesh for performance reasons) at an X location equal to loopindex(mod)horizontal grid size * grid mesh X size and Y location equal to loopindex/horizontal grid size * grid mesh X size. I store these location in an array of vector for easy later lookup.

I also have a number of arrays of identical size to this array that I use to store various data, such as the costs of moving between the various tiles for my custom pathfinding, the locations of pawns etc. Going the other direction (from location to index) requires some calculations that are more complex. I can go into more detail if you’re interested, but I am not 100% sure what you want to achieve, and what I’m doing might be overkill for your purposes.

Thanks, I’ll have a look at Rohit Mohans work.

I’m just trying to create something extremely simple. My initial thoughts seems to be similar to what you suggested, ie I was thinking I’d have a grid bp which spawns and positions tile bps when constructed, based on what size and whatnot you set for the grid. So that’s good to know that I’m not completely going down the wrong track. I’m not entirely sure what you mean by “instanced static mesh” or “hierarchical instanced static mesh”, but I can google that. I suppose any mesh will do at this stage, and I assume there is a property I can use for making them visible/invisible in game when needed.

Like I said, I’m not too worried about the actual logic and whatnot, it’s more the UI stuff and UE4 specific features that has me a little confused on where to get started when creating the actual grid. But anyway, I think I got it covered for now.

Thanks for taking the time.

EDIT: started a quick test and I can get the tiles (currently just flattened cubes) to spawn in a grid easily. Not sure how to get the full grid to preview while designing though, or if that’s even possible.

EDIT: managed to find a guide (for a maze) which I think has all the information I need and more. Link just in case anyone is interested: fen-ue4: Create a 10k tiles maze in unreal engine 4. Thanks.