Announcement

Collapse
No announcement yet.

[SUPPORT] Advanced Turn Based Tile Toolkit

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

    @VFe: Great to hear you got it working! Epic made some changes to the way blueprints are compiled in 4.7 that significantly increases the size of blueprint scripts. This, in combination with the already massive size of the Grid Manager might have been to much for your Mac to handle. As you can see in my list of planned features I intend to make the toolkit more modular in the future, which includes splitting it up overmmultiple blueprints. This will hopefully remedy the problem.

    As for individual initiative values, that's actually how I planned to make it initially. However I decided that it was too game specific to include as default. I will be adding it when I make my dungeon crawl example level. That won't be for some time, so if you want to add it yourself it's actually pretty simple.

    Just make a new public float variable called initiative on Unit_Parent. Then in the event graph of the Grid Manager find the add pawns in initiative order function and modify it so that it adds the pawns into the initiative array according to their initiative values.
    Advanced Turn Based Tile Toolkit (Marketplace - Support)

    Dungeon Crawler Toolkit (Marketplace - Support)

    Discord

    Comment


      Hi, just want to say straight up that i'm really impressed with many aspects of the toolkit, but as a programmer looking for a tile solution it's very difficult to get into it. It will mainly need a migration of gameplay logic away from the grid manager (the one problem i have with this otherwise fantastic product) though It does do exactly what you say it does and that is no criticism (Well done!).

      If i can manage to get the main logic operational i'd be glad to send it to you as abstracted gameplay specific logic from the manager itself into more programmer friendly places.

      Gamemode(world rules) -> Pawns(handle their own movement) -> Grid manager (make network safe/only handle path generation/only tile data) -> Player controler (send data to camera controller/handle user input)

      for me, this should be a higher priority (from my perspective of course, art wise it's a dream) as it really will help with anything to do with extending the features in the future.
      Last edited by Midnaut; 03-24-2015, 12:30 AM.

      Comment


        Thanks for both the kind words and the valid criticism, Midnaut. If you have read the rest of this thread you are aware that ambershee raised similar points shortly after I released the toolkit. At the time I was uncertain if the benefits of splitting up the blueprint would outweigh the costs, but as I've continued working on the toolkit and gotten feedback from numerous users I've become convinced that it has to be done. As you can see from my planned feature list, increased modularity is a fairly high in priority.

        There are a few reasons why it's not on the very top, though. Firstly, the main feature I'm working on now (automatic walkability grid generation without tile placement) is such a major overhaul of the toolkit that I prefer to get it out of the way before doing any reorganization. The other feature that has higher priority, touch controls and performance increase, is what has been requested the most by users and also something that's fairly easy to add. I am also working on preparations for migrating the gameplay logic in parallel with adding these features; by turning more of the functionality into self contained faunctions, for instance.

        Thanks a lot for the suggestion of how it would make the most sense to split up the blueprint. It's pretty close to what I had in mind myself. I have to ask for a couple of clarifications, though. Could you explain in more detail what you would consider "world rules" to be contained in game mode? Also, could you expand on what you mean with "only tile data" in the Grid Manager? Do you feel that generation of visibility grids would be appropriate for the Grid Manager?
        Advanced Turn Based Tile Toolkit (Marketplace - Support)

        Dungeon Crawler Toolkit (Marketplace - Support)

        Discord

        Comment


          Hi, sorry for any ambiguity in my previous post. For the Game mode, even though ive seen you say in your previous posts that you dont want to overwrite peoples game modes already, its the ideal way to encapsulate the game rules as per the unreal documentation.

          So to clarify a bit, GameMode should handle players (2 or 1vai), how players enter, what units they can place, should contain data like points needed to win etc, all things to do with defining how a game mode will function. For more info check out the gameplay framework documentation as itll word it a lot better than i can (this is all typed on my phone sorry)

          With how the Grid manager should work in my opinion, is that it handles the main grid state (unit positions, tile data), and would provide access to functions that would output visibility for a given unit. That would be called by the unit itself when appropriate so yes, generating the visibility should be a part of the grid manager from my understanding.

          Comment


            Ok, thanks for clarifying. Here is how I am now planning to split up the blueprint:

            Grid Manager: Contains all grid-sized arrays. Contains all functions pertaining to these arrays. This includes generating walkability (pathfinding), finding paths within walkability grids, drawing shapes on the grid and checking line of sight (visibility). None of these functions will be called by the grid manager at runtime, but will be called through different blueprints. The grid manager is also responsible for a lot of things at event begin play and in its construction script, including procedurally generating grids depending on terrain.

            GameMode: Handles initiative order, starting and ending turns. Handles placing of new pawns and tiles on the grid at runtime if the game allows for this. Decides when to end the game.

            Player controller: Handles input to control the camera and interaction with the grid. Handles displaying the hover marker and visualization of splines used in movement and aiming. The logic contained within "Choose action depending on tile clicked" and parts of the logic within "Display path" will be moved here, as well as most of what is currently contained in BP_Grid_Camera.

            Pawns: Queries the grid manager for pathfinding and visibility. Handles movement and attacking along the splines created in the player controller. Handles animation through the pawn event graph and the connected animation blueprint. Handles what happens when damage is received. Includes the code currently contained in move pawn, initiate movement, initiate attack, attacking and damage pawn. Notifies the game mode when movement is completed or the pawn dies. Might handle the AI, though I'm still uncertain if this would be better handled by the game mode or if I can recreate it in behavior trees.

            If anyone reading this feels something here is out of place or that I have forgotten something, please post in this thread.
            Advanced Turn Based Tile Toolkit (Marketplace - Support)

            Dungeon Crawler Toolkit (Marketplace - Support)

            Discord

            Comment


              Originally posted by Monokkel View Post
              @J.J:Franzen: Using a variable as a version number is probably a good way to do it. I could even place the version variables at all points in the blueprint graphs where the newest changes have been made. That way you can search for the variable and find all the appropriate areas, perhaps with a comment describing the changes.

              As to your soulution for touch support I'd still very much like to see what you come up with

              @DukuDragon: For your second question you're not asking about the game mechanics of healing, but how you are going to justify instant healing in a world without magic, right? If it is sci-fi enough this isn't much of a problem, following Arthur C. Clarke's third law of prediction, any sufficiently advanced technology is indistinguishable from magic. You could just say it's a cloud of nano-robots or whatever. And what is wrong with repair facilities and mobile repair units? Is there something about these solution that you feel are limiting from a game mechanical standpoint?

              As for your second question I've long though about making a list of planned features. I guess now is as good a time as any. Ok, here goes:

              Planned Features (Percentage Completed)
              - Have movable and visible tiles in range meshes conform to the underlying landscape (95%)
              - Auto generate walkability and grid maps based on terrain without having to place tile meshes (80%)
              - Add more options for displayng and calculating visibility and pathfinding (sprinting, multi-turn movement (Civ-style), displaying walkability and visibility simultaneously) (50%)
              - Adding the option of spreading demanding operations over multiple ticks, improving performance on weaker hardware (50%)
              - Improved support for using sprites and 2D assets (30%)
              - Touch controls (10%)
              - Increase modularity of blueprints.
              - Add example maps of more specific TBS genres with custom code:
              --- 4X strategy (building and exploring)
              --- XCOM-like (Cover system ++)
              --- D&D-like (Dungeon visibility, complex game mechanics)
              - True height maps with overlapping grids.
              - Multiplayer support.
              - Units larger than one tile.

              I think those are the big ones, though I've probably forgotten a few.
              If I can add something to this list an "Art guide" for the lack of a better term for size, scale, etc. would be handy as well for making our tiles and units.

              Just saying
              Last edited by HeadClot; 03-25-2015, 07:53 PM.

              Comment


                thanks for your reply. I think your answer for 7C answered 7B also. mainly I was wondering about objects that take up more than one block but fractions of others too.
                if I ever get use to the Unreal 4 engine I'll be sure to buy this toolkit.

                Comment


                  Originally posted by HeadClot View Post
                  If I can add something to this list an "Art guide" for the lack of a better term for size, scale, etc. would be handy as well for making our tiles and units.

                  Just saying
                  I'm not sure if I completely understand what you're saying. This is not related to me splitting up the blueprint, right? Do you mean if I could create a guide for how big you should make any custom meshes you're importing? That shouldn't matter as long as you keep everything you make proportional to each other. The grid scales automatically to the size of the default grid mesh. As for importing and using your own meshes, my third video tutorial concerns this. Could you clarify a bit?

                  Originally posted by Kairon Woulfgang View Post
                  thanks for your reply. I think your answer for 7C answered 7B also. mainly I was wondering about objects that take up more than one block but fractions of others too.
                  if I ever get use to the Unreal 4 engine I'll be sure to buy this toolkit.
                  Ok, great! Just post here if you have any additional questions.
                  Advanced Turn Based Tile Toolkit (Marketplace - Support)

                  Dungeon Crawler Toolkit (Marketplace - Support)

                  Discord

                  Comment


                    Edit: Sorry for the post, I fixed it - my friend (who I'm working with) packaged the content incorrectly.
                    Last edited by 41yards; 03-27-2015, 05:19 PM.

                    Comment


                      Originally posted by 41yards View Post
                      Edit: Sorry for the post, I fixed it - my friend (who I'm working with) packaged the content incorrectly.
                      Didn't get to read what problem you were having, but glad you sorted it out
                      Advanced Turn Based Tile Toolkit (Marketplace - Support)

                      Dungeon Crawler Toolkit (Marketplace - Support)

                      Discord

                      Comment


                        I just seen this on the market place, seems very interesting. I have two questions before I buy.

                        1. Is it possible to use units other than a single humanoid, like vehicles

                        2. Is it possible to have stuff on the tiles the pawns interact with; for example a (one hex size) building a pawn would enter


                        I would assume there would need to be some tweaking to get the above, but wanted to make sure the kit was a decent place to start for such things.

                        Comment


                          Originally posted by nrm21122 View Post
                          I just seen this on the market place, seems very interesting. I have two questions before I buy.

                          1. Is it possible to use units other than a single humanoid, like vehicles

                          2. Is it possible to have stuff on the tiles the pawns interact with; for example a (one hex size) building a pawn would enter


                          I would assume there would need to be some tweaking to get the above, but wanted to make sure the kit was a decent place to start for such things.
                          Hi nrm21122,

                          both things you mention are certainly possible, though you will of course have to script the specific functionality yourself. For vehicles that isn't much harder than replacing the skeletal mesh with a vehicle instead. You would mostly have to modify the parts concerning animation, but that's not too hard.

                          Interaction is a very broad term, but everything can be done if you script it. If all you want is entering buildings all you have to do is make sure the tile does not have a wall on the edge containing the entrance and it should work out of the box. There are a number of ways you could then fire events when the unit enters, from using functionality in the toolkit to just using a simple trigger volume.

                          Feel free to ask if you have any more questions.
                          Advanced Turn Based Tile Toolkit (Marketplace - Support)

                          Dungeon Crawler Toolkit (Marketplace - Support)

                          Discord

                          Comment


                            Actually I have troubles on sorting Units based on a custom Initiative integer value (inherited from Unit Parent and different for every unit: for example enemy ranged has an initiative value of 5, player ranged has 6 etc.) ... basically I've implemented an insertion sort algorythm but it doesn't work in clean way.

                            Anybody here has implemented a working sorting algorythm?
                            It seems like that the GET function during debug gets a wrong value on the array index... for example a[i] where i=4 and array has 5 elements (0,1,2,3,4) get a value out of bounds (none value) but it should pick the correct value as I can see in the debugger... not easy to explain at all.

                            Any suggestion?
                            Fantasy Turn-Based Tactical Game
                            STEAM: https://store.steampowered.com/app/9...Arcane_Legacy/
                            IG: https://www.instagram.com/arcanelegacyofficial/
                            FB: https://www.facebook.com/ArcaneLegacy/
                            WEB: http://www.arcanelegacy.com

                            Comment


                              Hi Wisdom-HELLy,

                              I've made an inititative sorting algorithm as per your request. Replace the nodes in the "Sort Pawns in initiative order" funtion with these and the pawns should be sorted automatically. You'll of course have to replace the initiative variables I've used here with your own. I've used floats in this case.

                              http://blueprintue.com/view/9WttiyPK/

                              Edit: In case you haven't used bluprintue before, copy the code below the graph on bluprintue directly into the appropriate event graph in your project.

                              Edit 2: This does naturally not work in conjunction with allowing to switch between pawns by clicking on them.
                              Last edited by Monokkel; 03-31-2015, 02:01 PM.
                              Advanced Turn Based Tile Toolkit (Marketplace - Support)

                              Dungeon Crawler Toolkit (Marketplace - Support)

                              Discord

                              Comment


                                Thanks for the quick response

                                I will buy it here in a few, want to get on a more secure machine before entering payment info

                                With that I do have one question:
                                I am under the impression that using Blue prints alone are not the best option for making a game, and C++ should be included. It is my understanding blue prints are great for quick little things; is this correct?

                                Assuming that that is true, are blue prints alone a real option for a turn based strategy game?

                                I ask because I was going to use some c++ code, and possibly converts some of the blue prints into c++. A couple of friends were saying they think for a turn based game there may be little need to use c++

                                was hoping a few people on here had thoughts on this

                                Comment

                                Working...
                                X