Announcement

Collapse
No announcement yet.

[SUPPORT] Advanced Turn Based Tile Toolkit

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

    Hey Monokkel, love the toolkit and really appreciate the ongoing support. I'm trying to figure out if I should do the cover system engineering myself or wait for your update. I know you don't want to give a timeline but are we talking about about a double digit number of months?
    Not that I really expect or demand an update I've already got way more value out of the toolkit than I had possibly hoped! If you are going to GDC let me know and I'll buy you a beer.

    Comment


      Hey Jiyko, I think it is a very fair question and though I will not give an estimate for the reasons I have mentioned I'll try to give you a better idea of how far off I am. It will certainly not be in a double digit number of months and I have completed most of what I want in the update. I think probably the best I can do is to list what I have made so far and what I intend to add before the update is done.

      What I have:
      - Cover system, including accuracy and dodge
      - modular skill system including the sample skills Fire Laser, Overwatch, Heal, Explosive Shot, Sprint and Mind Control.
      - advanced AI built into the skill system where the AI decides the best skill of all availible depending on the situation. Added for Fire Laser, Overwatch, Sprint and Explosive Shot.
      - Basic VR support with a simple VR level
      - Added several awesome creative common meshes for example games, including environments, units and weapons. Skeletal meshes have been rigged by u/Bankworthy.

      Left to do:
      - Make a good looking example level demonstrating the cover and skill system, using the mentioned creative commons assets.
      - Adding a few common features to the VR level, including teleportation.
      - Extensive testing and bug fixing of the new features.

      I hope that gives you a general idea. I have far less remaining than I have done, and I will try to stop myself from coming up with new features to add (and especially my recurring urge to reinvent something I've already made :P ). If you want to have use my cover system before then I've detailed the method I used in a post here. Afraid it will be difficult to make it to Cali and GDC this March, but thanks for the offer! I'll be enjoying the icy winds of Norway's west coast instead.
      Advanced Turn Based Tile Toolkit (Marketplace - Support)

      Dungeon Crawler Toolkit (Marketplace - Support)

      Discord

      Comment


        Originally posted by Monokkel View Post
        [ATTACH=CONFIG]123866[/ATTACH]
        How do you find the get node that has an array of indexes as the output. The only Get node I have access to gets the individual item, but not index array.

        Edit: I just figured it out! You right click the item pin and select "split the struct pin."

        Also, for your new trace channel: WallTrace. In your project details what did you set the default response to be?

        Originally posted by Monokkel View Post
        [ATTACH=CONFIG]123867[/ATTACH]
        Shouldn't the outward event pin be connected to completed? Other wise it is going to go through the rest of the construction script and event graph events until finished.
        Last edited by Mewbits; 01-06-2017, 08:18 PM.

        Comment


          Oops, you are right about the wrong pin connections there. Rookie mistake :P

          I've set WallTrace to block by default. Generally I feel there is generally more stuff that you do not want units to be able to move through than the opposite, so I think it makes sense as a default. You should configure the defaults so that commonly movable stuff such as pawns, vehicles etc. ignore this trace. You could probably also just use PathTrace or RangeTrace for walls, though if you used PathTrace it would not be possible to click "through" any such tiles and click the tile behind the wall. Also, not using RangeTrace gives you flexibility in case you want walls that can be attacked through, but not moved through (windows, maybe) or the opposite (thick fog).
          Advanced Turn Based Tile Toolkit (Marketplace - Support)

          Dungeon Crawler Toolkit (Marketplace - Support)

          Discord

          Comment


            Hi Monokkel,
            I've been working on an accuracy system, currently it multiplies the number of tiles distance by an accuracy cost (currently 3.5) and subtracts it from a base accuracy value that is a customizable attribute of each pawn. Ive contained all of this in a function in the ATBTT_player_controller blueprint because It contained all of the variables that I needed within the function.
            However I intended to use the function in Unit_Parent just during attack victim just before Receive damage, If it true then it does damage if not It minuses the damage value from itself and runs that into recieve damage, so damage is done.
            The issue i'm having is when I call the function in Unit_Parent I need a reference to it, I created a reference but when I run it in game every shot misses and every time I try to take a shot I get this error;
            Error Blueprint Runtime Error: Accessed None trying to read property ATBTT Player Controller Ref from function: 'ExecuteUbergraph_Unit_Parent' from node: Accuracy Calculation in graph: EventGraph in object: Unit_Parent with description: Accessed None trying to read property ATBTT Player Controller Ref

            Its probably a rookie mistake as I am quite new to blueprints but any help you could offer would be amazing. If you need to see my blueprint then I can take a few screenshots if its neccsary.
            Thanks

            Comment


              Hello Gojiberries,

              you are probably just not accessing the reference in the right way. Could you show me a screenshot of the part of the event graph of Unit_Parent where you are accessing the player controller?
              Advanced Turn Based Tile Toolkit (Marketplace - Support)

              Dungeon Crawler Toolkit (Marketplace - Support)

              Discord

              Comment


                Hey monokkel,
                Here is the Unit parent Graph, thanks for getting back so quick.
                Regards,
                G
                Click image for larger version

Name:	Unit parent.PNG
Views:	1
Size:	208.8 KB
ID:	1121167

                Comment


                  Originally posted by GojiBerries View Post
                  The issue i'm having is when I call the function in Unit_Parent I need a reference to it, I created a reference but when I run it in game every shot misses and every time I try to take a shot I get this error;
                  Error Blueprint Runtime Error: Accessed None trying to read property ATBTT Player Controller Ref from function: 'ExecuteUbergraph_Unit_Parent' from node: Accuracy Calculation in graph: EventGraph in object: Unit_Parent with description: Accessed None trying to read property ATBTT Player Controller Ref
                  Hi Gojiberries,

                  I ran into a problem similar to this where it wouldn't recognize my player controller ref that I had created in the Unit_Parent's event begin play. When setting up the reference, I was trying to use find all actors of class and then get the actor with index 0. However, you should instead get player controller and cast it to the ATBTT Player Controller then set the reference from the cast node. Only after changing it to this, did my reference work. Hope this helps.

                  I would be interested in seeing the blueprints for your Accuracy Calculation event in your Player controller, if at all possible. If not, that's fine.
                  Last edited by Mewbits; 01-10-2017, 06:30 PM.

                  Comment


                    Hey Mewbits,
                    Thanks for the response, Ive added what you said in and use the get player controller function and cast it to ATBTT_Playercontroller just wondering If i need to have an index going into the player controller function?
                    I'm happy to show you the accuracy calc I did get some help from someone with a cover system some parts of the accuracy and would not have anything close to this without his help, but I have reworked some things things myself, It's not finished yet as I need to add in some extra stuff in as right now it's just down to that pawns attribute values but i'm working on having the pawns equip weapons and have those weapons affect accuracy eg.pistols having a higher accuracy cost for distance and having each weapon have its own base accuracy stat.
                    Ill try and do what you suggested however i am still a bit confused when it comes to so of the blueprint functionality.
                    Click image for larger version

Name:	player controller.PNG
Views:	1
Size:	256.2 KB
ID:	1121173
                    Click image for larger version

Name:	Accuracy.PNG
Views:	1
Size:	187.7 KB
ID:	1121172
                    Last edited by GojiBerries; 01-10-2017, 08:51 PM.

                    Comment


                      Originally posted by GojiBerries View Post
                      Hey Mewbits,
                      Thanks for the response, Ive added what you said in and use the get player controller function and cast it to ATBTT_Playercontroller just wondering If i need to have an index going into the player controller function?
                      I'm happy to show you the accuracy calc
                      Thanks Gojiberries,
                      Index 0 should be fine so long as it is not a multi-player game.

                      Comment


                        [MENTION=4318]Monokkel[/MENTION] I finally got around to taking another look at moving multiple units simultaneously. Your original example works just fine, I messed up some of the connections, but it looks like it's all good now. I'll let you know if it causes any issues later down the line.
                        Anime Shading Model - Twitter

                        Comment


                          Thanks guys accuracy systems working now,
                          However Im having an issue with my cover system. It works if the grid isn't multi level but as soon as I make a grid with the height map it does not apply cover on the higher areas.
                          Its base off the accuracy system that Monokkel already helped out with on this forum. Where is applies a value to each tile edge based off if there is a tile with a cover value next to it.
                          Also currently it only works with walls that take up a full gridspace, I haven't got it working with the thin walls that just make one side of a grid impassable and i cannot for the life of me figure it out.
                          I figure that I need to add the z value of the grid to get it to work just not sure how to go about it. Here is my work so far.
                          Click image for larger version

Name:	cover 1.PNG
Views:	1
Size:	147.8 KB
ID:	1121186
                          Click image for larger version

Name:	cover 2.PNG
Views:	1
Size:	282.3 KB
ID:	1121187
                          Click image for larger version

Name:	cover 3.PNG
Views:	1
Size:	211.9 KB
ID:	1121188
                          Last edited by GojiBerries; 01-11-2017, 08:13 AM.

                          Comment


                            [MENTION=72428]GojiBerries[/MENTION]: I'm glad you were able to get the Player Controller reference correctly (thanks, Mewbits!). The reason your original solution did not work is probably because you are using an empty player controller reference. You would need to set it up to reference a specific player controller for it to work with a single reference variable as you did in your original screenshot. You could do this by getting the player controller and casting this to ATBTT_Player_Controller just like Mewbits suggested and then use the output from the cast to set the specific reference for your ATBTT Player Controller ref variable. If you did this at event begin player you would not have to cast every time you needed to access the player controller in game. This only really matters if you want to access the player controller several times per tick, though, as casting is not very performant, or to make your blueprints easier to read.

                            I'm not sure if you're aware, but I posted all the blueprints for my WIP cover and accuracy system a while ago here. It shares a lot of similarities with what you've done, but there are some differences. For instance, I am using line traces to check for cover instead of using a cover array. It works with multi-level grids and thin walls between tiles. Do you think this solution is something you could also use?
                            [MENTION=16997]Selentic[/MENTION]: Great! I'll be interested in hearing about your progress. I'm assuming there will still be some hurdles to overcome, but it seemed to work fine from my limited testing.
                            Advanced Turn Based Tile Toolkit (Marketplace - Support)

                            Dungeon Crawler Toolkit (Marketplace - Support)

                            Discord

                            Comment


                              [MENTION=4318]Monokkel[/MENTION]:
                              Hey man, Ill take a look at it as I think your system sounds really elegant. Thanks for the link and for responding, nice to find helpful peeps
                              Last edited by GojiBerries; 01-11-2017, 12:40 PM.

                              Comment


                                [MENTION=4318]Monokkel[/MENTION]

                                AI pawns set to pass through friendlies pathfinding don't actually take advantage of that.
                                Anime Shading Model - Twitter

                                Comment

                                Working...
                                X