Announcement

Collapse
No announcement yet.

[SUPPORT] Advanced Turn Based Tile Toolkit

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Originally posted by AceD View Post
    Yeah the errors have no influence to the gameplay though.. Or not that i have noticed it so far. I receive the errors first when moving my character. Not when i start and stop the game without any action. MyPlayer is based on the Unit_Player_Melee, yes. I removed the AttackVictim_1 and DestroyUnit Custom Events and disabled the Event Move Timeline Update Func. Inside the Unit_BP i removed only the "set up the Health Bar" part in the construction script. In the Event Graph i deleted the Attack Victim, Receive Damage and Kill Unit parts and disconnected the other events, which shouldn't be a problem if i'm not mistaken cause the are all not needed for the WASD-movement.
    ok, hard to know what the cause might be. I would double check that the reference is set up correctly in the construction script. It should be right after setting up the health bar. You are not setting its value yourself anywhere?

    Originally posted by Draice View Post
    Hey there, I can't recall if this was covered in one of your video tutorials already, but is there a way to programmatically change a tile from passable to impassable in blueprints, and can we programatically place thin walls and thick walls from blueprints. I'm mucking around with procedural map generation in Paper2D and wanted to know if there was a way to setup a grid manager to match my procedural layout data. Thanks!
    There are a few ways you cann do this. Firstly you can leverage ATBTT's procedural grid generation by setting TraceForWalls to true in the grid manager public variables and have your procedural algorithm place meshes (or invisible collision boxes) that block the WallTrace trace channel. If you generate your map before the grid manager is activated, then this will work even for things that were not placed in the viewport by hand. Another way is to use the MakeTileImpassable and RemoveEdgeBothWays functions, which respectively remove all edges from a tile and that removes a specified edge. Passability between tiles is decided by the EdgeArray and EdgeArrayInteger arrays. EdgeArrayInteger stores an array for each tile index which determines what tiles can be moved to from that tile. The EdgeArray does the same, but also stores the movement cost. Check the RemoveEdge and AddEdge functions in BP_GridManager to see how to manipulate these arrays appropriately. One thing to remember is that you should never alter just one of these arrays, but modify them both in the same way any time you alter anything.
    The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

    Comment


      Originally posted by Monokkel View Post
      ok, hard to know what the cause might be. I would double check that the reference is set up correctly in the construction script. It should be right after setting up the health bar. You are not setting its value yourself anywhere?
      Ok i found the issue. When i had rebuild the changes you made to the Unit, i somehow created a new Grid_Manager_Ref inside this Unit, who were connected with the pawn array and vector field array. I deleted them and connected it with the original Grid_manager_Ref. Now it's working without errors!

      Comment


        Been playing around with using this system as the basis for a VR game now I own a rift and boy does it (mostly) work well!

        https://puu.sh/xiKwH/2cc949c8ac.gif

        Comment


          Originally posted by AceD View Post
          Ok i found the issue. When i had rebuild the changes you made to the Unit, i somehow created a new Grid_Manager_Ref inside this Unit, who were connected with the pawn array and vector field array. I deleted them and connected it with the original Grid_manager_Ref. Now it's working without errors!
          ah, yes that makes sense. I tried to understand how you could get errors trying to access an empty reference, while at the same time that reference was accessed without issue in another part of the graph. There being two different reference variables solves that problem :P Glad it works without errors now.

          Originally posted by tamaster92 View Post
          Been playing around with using this system as the basis for a VR game now I own a rift and boy does it (mostly) work well!

          https://puu.sh/xiKwH/2cc949c8ac.gif
          Looks awesome! I've been meaning to add Unreal's default VR movement to my VR example map, like you have in the video. Happy to see someone is using the VR features of the toolkit I own a Vive and want more VR TBS games!
          Last edited by Monokkel; 08-28-2017, 05:49 PM.
          The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

          Comment


            Hi guys I'm trying to add a custom menu using a widget and a new hud class I can get it to show the menu when I press play the level loads but I have no control over any character has anyone else set up menu if so what where your settings ? Cheers

            Comment


              Originally posted by Deftones4 View Post
              Hi guys I'm trying to add a custom menu using a widget and a new hud class I can get it to show the menu when I press play the level loads but I have no control over any character has anyone else set up menu if so what where your settings ? Cheers
              Hi there! Loading levels should work out of the box. Check if this very simple setup works: Create a new, empty map. In the level blueprint add an input event that triggers loading the default example map, like so:



              Check if this works, just as a starting point. Then replace with your custom map and see if the issue persists. This is a problem that occurs only when you load a map, and not when that map is the starting map, correct?
              The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

              Comment


                Hi Monokkel, where is multiplayer? We talked about it in may, you said a "A couple of months". Where is this great update?

                Comment


                  Hello Monokkel yep I got it I shouldn't try to do things when I'm tired but this is to addictive ha ha. I'm looking to put a round timer in I'm using the sci-fi mode not sure if anyone has done this but my thinking was to give each player 30 seconds a turn and have a total round time of say 10 mins have it displayed on the view port. If anyone has an idea where to start with this please let me Know.
                  cheers
                  P.s Monokkel thanks for your help appreciate it

                  Comment


                    Hello again Monokkel!

                    New questions incoming :

                    1) Can you have two grids on a same map overlaying each other. (One type of units will see/snap to and use their own grid and second type of units will use their grid? Can they interact properly in this case?)

                    2) In Bp_Camera_grid , you have a Get All actors of class node in Event tick. Unreal documentation says that it is a very slow node that should not be used every tick. This might be a performance issue when a project gets more beefy. What do you think?



                    Best Regards
                    Malokai

                    Comment


                      Hey, good day. I have a small question.
                      I place destructible meshes on map and they work fine - they can be destroyed by grenade blasts and block line of sight. However, as pawns can not shoot through these objects, they can simply move through them. Tiles appear blocked for shooting LoS (and block everything behind these meshes), but they are not blocked for movement.
                      Though destructible meshes block shooting, they also do not grant cover.
                      My "move" and "shoot" skills use almost identical pathfinding structure (based on your skills) and I can not find the difference or the problem. Did I miss something?

                      Ideally, I would like to have a cover system of blocks that can be destroyed by shots and blasts, so if you have any better idea on how to do this I would gladly hear it.

                      Comment


                        After trying for many hours how to use this plugin for my game I have few conclusions that maybe will make it better.
                        First of all it would be nice to have separate forum. It is almost impossible to find anything here.
                        Second thing. Would be really nice to focus more on grid functionality than other functions that most people wont use. For exapmple (in my case), its good to know how to make laser shooting in a game but I don't really need it. On the other hand, I am trying 3rd day in a row to make AI unit move to a specific tile if unit is damaged and I get only two results: unit is going to that tile but ignores that it has no action points to reach that tile in one turn or it goes out of the map. Such thing as moving unit to a specific tile should be highest priority to have in this plugin and it should be simple to use and setup. I watched all movies that you submitted and still don't understand all to be able to make units move to a tiles that are few turns away. Most games need that functionality if not all.
                        Another example would be that one cant use for example only grid map in game because it is hardcoded to reference other things that I dont need to change like game mode, camera and others. Why I cant use only nicely ordered hexes and have to change code everytime I start new project?
                        Otherwise it is really good plugin and I hope it will be improved even more but like I said - made more universal and more focused on grid functionality because other things are game specific anyway. For example by adding Before Enter Tile (with ability to cancel move or choose action) and After Enter Tile events.

                        Edit: One small thing. In game mode-> event begin play, script checks if game camera is spawned. If it is, it resets rotation and location to default values. It could be added that it does so only if follow unit is enabled (or remove it entirely) - in my case I rotated camera in editor, disabled following units and then had to look why in game it is pointing in other direction than I set up in editor
                        Also for some reason AI units still are attacking with 0 move even when I disable it in unit options (I am using basic example not skill one).

                        Edit2: I don't know if that two problems are not related (AI unit that is going few turns at once and attacking with 0 move when it shoudnt) - maybe somewhere AI controller is not updating current move variable? I have no clue if it is the case and how to fix this. But I found that while checking if it should attack it still had max current move like it was not moving at all. Hope it helps.

                        Edit3: I managed to solve somehow to force AI to move to a specific tile when it is damaged but it is more a hack than a solution since I don't understand what I actually did. I used Find path to tile in range in AI controller to move close to a destination and then I checked if distance is close enough and used Find path within pathfinding array before initializing movement. I can't use Find path to tile in range only because unit stops one tile before destination and dont want to enter there(when I set range to 1) and when I set to 0 then it goes out of the map. Whem I use Find path within pathfinding array only - units goes directly to destination tile in one turn without checking if it isnt too far. It could be useful to have Find path to tile (without checking range). Or maybe it is already there and I don't know where.
                        Sorry for too long post but maybe someone had similar problems so I posted what I found.
                        Last edited by tutkarz; 08-31-2017, 04:30 PM.

                        Comment


                          Hi all, terribly sorry for the late answers. It seems like I’ve stopped receiving post notifications after Epic switched to the new forum style. I should probably have guessed this would happen, but it did not cross my mind. I’ll get to your questions now.

                          Originally posted by DeniksDD View Post
                          Hi Monokkel, where is multiplayer? We talked about it in may, you said a "A couple of months". Where is this great update?
                          Yeah, this is why I don’t like to give estimates… As with anything in game development things always take a lot longer than what you suspect. The update is feature complete at this point, but since I’ve done a complete revamp of many of the core systems I have a lot of testing, commenting and cleanup to do. Especially features that are highly dependent on other subsystems, such as the skill system, has taken a lot longer to get done than I originally estimated. I’m working on the toolkit whenever I have the time and I’m making constant progress, but it is hard to give an exact time for when it’s done, as my previous guess proves…


                          Originally posted by Deftones4 View Post
                          Hello Monokkel yep I got it I shouldn't try to do things when I'm tired but this is to addictive ha ha. I'm looking to put a round timer in I'm using the sci-fi mode not sure if anyone has done this but my thinking was to give each player 30 seconds a turn and have a total round time of say 10 mins have it displayed on the view port. If anyone has an idea where to start with this please let me Know.
                          cheers
                          P.s Monokkel thanks for your help appreciate it
                          Hmm, you could have this controlled by a HUD widget. Use a timer that is called after Activate Unit. Have a float track in the timer that goes from 1-30 and output it to a text box in the widget. When the timer Is finished, call the End Turn event in the player controller. You could do something similar with the longer timer for all the units of a faction. When it ran out you would have to code it so that all units of the current faction are set to the end of the Initiative Order array in the game mode before starting the turn of the unit then at index 0 (the first unit of the next faction)


                          Originally posted by RC_Malokai View Post
                          Hello again Monokkel!

                          New questions incoming :

                          1) Can you have two grids on a same map overlaying each other. (One type of units will see/snap to and use their own grid and second type of units will use their grid? Can they interact properly in this case?)

                          2) In Bp_Camera_grid , you have a Get All actors of class node in Event tick. Unreal documentation says that it is a very slow node that should not be used every tick. This might be a performance issue when a project gets more beefy. What do you think?



                          Best Regards
                          Malokai
                          1) Sorry, no. Only one grid is supported at a time. I am looking into how I can change the toolkit to make it work, but It will at least not be in the next update. Depending on what you want you can fake it, though. By having a large grid that is split in two by a gap it will look like two grids. You can do similarly using multi-level grids to have something that function and look like two separate grids, even though they are created by the same grid manager.


                          Originally posted by Anton Nadvorskiy
                          Hey, good day. I have a small question.
                          I place destructible meshes on map and they work fine - they can be destroyed by grenade blasts and block line of sight. However, as pawns can not shoot through these objects, they can simply move through them. Tiles appear blocked for shooting LoS (and block everything behind these meshes), but they are not blocked for movement.
                          Though destructible meshes block shooting, they also do not grant cover.
                          My "move" and "shoot" skills use almost identical pathfinding structure (based on your skills) and I can not find the difference or the problem. Did I miss something?

                          Ideally, I would like to have a cover system of blocks that can be destroyed by shots and blasts, so if you have any better idea on how to do this I would gladly hear it.
                          Hi there! LoS in ATBTT is handled by the RangeTrace trace channel, meaning that any mesh or collision box that blocks RangeTrace in its collision properties will block LoS. For movement, this is handled by the PathTrace and WallTrace channels. Objects blocking PathTrace can be stepped on, unless they have a height difference higher than what is determined in the HeightImpassableCutoff variable in BP_GridManager. Blocking WallTrace does nothing unless you check TraceForWalls in the public variables of BP_GridManager.

                          If enabled, traces will fire in all grid direction for each tile, and any traces blocked by WallTrace will cause the EdgeArray to remove an edge between the tiles on either side (making it impossible to pass between the two). Try setting your destructioble meshes to block WallTrace and enable TraceForWalls. After destroying the destructible meshes make sure to run the MakeTilePassable function in BP_GridManager for the appropriate tile index to make it possible to pass through after destruction.

                          If you do not wish to use the WallTrace option you can also make your destructible meshes child actors of the BP_Tile blueprint, which includes public variables for setting the cost of the edges surrounding the tile (0 makes it impassable from the selected direction)


                          Originally posted by tutkarz View Post
                          After trying for many hours how to use this plugin for my game I have few conclusions that maybe will make it better.
                          First of all it would be nice to have separate forum. It is almost impossible to find anything here.
                          Second thing. Would be really nice to focus more on grid functionality than other functions that most people wont use. For exapmple (in my case), its good to know how to make laser shooting in a game but I don't really need it. On the other hand, I am trying 3rd day in a row to make AI unit move to a specific tile if unit is damaged and I get only two results: unit is going to that tile but ignores that it has no action points to reach that tile in one turn or it goes out of the map. Such thing as moving unit to a specific tile should be highest priority to have in this plugin and it should be simple to use and setup. I watched all movies that you submitted and still don't understand all to be able to make units move to a tiles that are few turns away. Most games need that functionality if not all.
                          Thank you for the suggestion. This support thread has of course become pretty huge over the years, and it takes ages to sift through it all. Epic requires sellers to have a support thread, though, and I like to have all support in one place. I hope to make some FAQ’s and similar in the future, to make it less necessary to search for ages for common questions. Right now I’m focused on getting my update out, however.

                          As for what features are needed in all games, and what are more game specific, this is a choice I made a while ago. I wanted to have a core toolkit which includes features that are used by most TBS games. Then I create game examples on top of this that have more game specific features. The 2D game example and the SciFi tactical map are such examples. These allow me to show users how to implement much requested features without bloating the basic toolkit. This is why shooting lasers is not a feature of the default toolkit, but is included in the SciFi example.

                          I agree that a simple move to command is missing from the toolkit, and as such this is one of the things I’ve added to the WIP update. I will give you a rundown of this tomorrow (sorry, it was late at night when I saw all the new forum posts)

                          Originally posted by tutkarz View Post
                          Another example would be that one cant use for example only grid map in game because it is hardcoded to reference other things that I dont need to change like game mode, camera and others. Why I cant use only nicely ordered hexes and have to change code everytime I start new project?
                          Otherwise it is really good plugin and I hope it will be improved even more but like I said - made more universal and more focused on grid functionality because other things are game specific anyway. For example by adding Before Enter Tile (with ability to cancel move or choose action) and After Enter Tile events.
                          Thanks again for the suggestions. Keeping things generic is something I always try to do, and there is of course some room for improvement in this area. An AfterEnterTile event is also something I have added to the coming update.

                          Originally posted by tutkarz View Post
                          Edit: One small thing. In game mode-> event begin play, script checks if game camera is spawned. If it is, it resets rotation and location to default values. It could be added that it does so only if follow unit is enabled (or remove it entirely) - in my case I rotated camera in editor, disabled following units and then had to look why in game it is pointing in other direction than I set up in editor
                          Also for some reason AI units still are attacking with 0 move even when I disable it in unit options (I am using basic example not skill one).
                          Thanks, adding such a check for the camera spawning is a good idea. I’ll have to look into the second issue. Thanks for letting me know.

                          Originally posted by tutkarz View Post
                          Edit2: I don't know if that two problems are not related (AI unit that is going few turns at once and attacking with 0 move when it shoudnt) - maybe somewhere AI controller is not updating current move variable? I have no clue if it is the case and how to fix this. But I found that while checking if it should attack it still had max current move like it was not moving at all. Hope it helps.
                          Thanks. You have an eye for finding bugs Is this in the default toolkit or the SciFi examples. I know there are some rare initiative issues in the SciFi example which I’ve fixed in my WIP project.

                          Originally posted by tutkarz View Post
                          Edit3: I managed to solve somehow to force AI to move to a specific tile when it is damaged but it is more a hack than a solution since I don't understand what I actually did. I used Find path to tile in range in AI controller to move close to a destination and then I checked if distance is close enough and used Find path within pathfinding array before initializing movement. I can't use Find path to tile in range only because unit stops one tile before destination and dont want to enter there(when I set range to 1) and when I set to 0 then it goes out of the map. Whem I use Find path within pathfinding array only - units goes directly to destination tile in one turn without checking if it isnt too far. It could be useful to have Find path to tile (without checking range). Or maybe it is already there and I don't know where.
                          Sorry for too long post but maybe someone had similar problems so I posted what I found.
                          As mentioned I’ll give you a rundown of how to achieve this result tomorrow. Kudos for figuring out most of it already. I’ll give an explanation for how this works in the toolkit when I give you my solution. Don’t worry about asking too many questions. You gave valuable input and pointed out some bugs I need to address, so thanks for that

                          And again, sorry to all for the long wait. I'll enable notifications in the new forum and hope it works. And I'll try to remember to check by frequently even if I don't get notifications.

                          The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

                          Comment


                            Originally posted by Monokkel View Post
                            As for what features are needed in all games, and what are more game specific, this is a choice I made a while ago. I wanted to have a core toolkit which includes features that are used by most TBS games. Then I create game examples on top of this that have more game specific features. The 2D game example and the SciFi tactical map are such examples. These allow me to show users how to implement much requested features without bloating the basic toolkit. This is why shooting lasers is not a feature of the default toolkit, but is included in the SciFi example.

                            I agree that a simple move to command is missing from the toolkit, and as such this is one of the things I’ve added to the WIP update. I will give you a rundown of this tomorrow (sorry, it was late at night when I saw all the new forum posts)
                            These examples are excellent starting points for new projects. Thats why its good to have them bug free also. I am happy that plugin gets upgraded for basic functions like move to tile and I can't wait to get it
                            Also please consider adding Before enter tile event because it allows to have some suprices for player like hidden enemy units etc. in game that will block tile when exposed. I will work on it probably anyway so maybe I will post if I will do it to speed up process.

                            Comment


                              Originally posted by Monokkel View Post
                              After destroying the destructible meshes make sure to run the MakeTilePassable function in BP_GridManager for the appropriate tile index to make it possible to pass through after destruction.
                              That is a great idea! I've created a blueprint and added destructible mesh there - it is now blocking LoS and Pathfinding. After mesh's destruction, I make the tile passable and it ceases to block anything. Works great, thank you.

                              However, if I add static mesh that grants cover to this blueprint and destroy it on mesh's fracture - while the tile becomes passable, it still grants cover.
                              Is there any function that can delete cover from a tile in a way it makes the tile passable? I've tried to find it myself, but with no success.

                              Comment


                                Best way to switch between units? Already have a UI where you can select a unit from and it'll get the ref to the correct unit pawn in your team but simple activating that unit is not doing it, it resets the movement when you move. Do you need to do something special? Will continue to look into it but figured I might as well ask directly.
                                Marketplace Asset - Economy Kit; Marketplace Asset - Notification Kit; Marketplace Asset - Achievepedia; Marketplace Asset - Player Stats Kit; Marketplace Asset - Photomode;
                                Marketplace Asset - Interaction Kit; Marketplace Asset - Turret Kit; Marketplace Asset - Character Stats Kit; Marketplace Asset - Smooth Camera Kit; Plugin - Toggl Plugin;
                                Hire us here; Panda Studios, Game development company.; Official Unreal Engine Game Jam Sponsor

                                Comment

                                Working...
                                X