Announcement

Collapse
No announcement yet.

[SUPPORT] Advanced Turn Based Tile Toolkit

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

    Are the animations while moving still in the Experimental folder? Or is it part of the standard stuff now? Thanks!
    Last edited by Zennisin; 08-25-2019, 11:29 PM.

    Comment


      Originally posted by Zennisin View Post
      Are the animations while moving still in the Experimental folder? Or is it part of the standard stuff now? Thanks!
      They are still in experimental, and it might be that I never migrate them to the main toolkit. The thing is, as I've developed this toolkit I've learned that every new addition I make increases development time on every future feature I want to implement (since I need each new feature to work with every old one).

      To combat this issue while still adding new cool stuff I've added the experimental folder (in addition to the example maps). The things in this folder range from something interesting that might be a cool starting point to something that is more or less fully functioning, but not something I feel is generic enough to be a part of the base toolkit. The move animation stuff goes mostly in the latter category (except for the climb animation, which is more in the former). As such you should feel free to use the split movement stuff in your game.

      The fact that they are in experimental does not mean that they are not usable. If you use them and run into any issues, let me know, and I will provide the same support for these features as I do for the rest of my toolkit.
      The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

      Comment


        Hey Knut,

        First of all, great job on this project, I think it's awesome, too bad I am probably too noobish (or too tired after work) to fully understand how everything is connected.

        My first problem is as follows: I am trying to make some traps and I want the traps to deal damage, but not end movement. After watching the tutorials, I split it into simulation and animation, etc, and it works, whoever walks into them takes damage. It mainly works well, unless there is only an AI and a player controlled unit remaining. Then, if the player-controlled unit dies on movement while walking the traps, the game enters an infinite loop and exits (it calls RunOnActorSelected on the AI unit forever, though the game should have ended). If the AI unit dies from traps when moving, the remaining player unit can stroll around indefinitely, and the end game is not triggered.
        This behaviour does not happen if there are also other units, it only happens on last kill made by my traps, kill that would otherwise trigger end game.

        So, I am pretty sure I am doing something wrong, but I've been investigating this for some time, and still I don't have the faintest idea what. I will upload my blueprints screenshots, and hope you can help me

        Second thing: I am curious how/if a ready-action/shoot-on-sight ability could be implemented. I admit not having seen all of the video tutorials, I got stuck on problem 1, but I like to think about the future as well.

        Third thing: is there an API kind-of-thingie? A document describing the parameters for various stuff (I am mostly thinking about the QueueAction macro here), and I always try to remember, open all the blueprints, or open the video.

        Looking forward to hearing from you,
        Thanks
        Attached Files

        Comment


          Originally posted by valmuadib View Post
          Hey Knut,

          First of all, great job on this project, I think it's awesome, too bad I am probably too noobish (or too tired after work) to fully understand how everything is connected.

          My first problem is as follows: I am trying to make some traps and I want the traps to deal damage, but not end movement. After watching the tutorials, I split it into simulation and animation, etc, and it works, whoever walks into them takes damage. It mainly works well, unless there is only an AI and a player controlled unit remaining. Then, if the player-controlled unit dies on movement while walking the traps, the game enters an infinite loop and exits (it calls RunOnActorSelected on the AI unit forever, though the game should have ended). If the AI unit dies from traps when moving, the remaining player unit can stroll around indefinitely, and the end game is not triggered.
          This behaviour does not happen if there are also other units, it only happens on last kill made by my traps, kill that would otherwise trigger end game.

          So, I am pretty sure I am doing something wrong, but I've been investigating this for some time, and still I don't have the faintest idea what. I will upload my blueprints screenshots, and hope you can help me

          Second thing: I am curious how/if a ready-action/shoot-on-sight ability could be implemented. I admit not having seen all of the video tutorials, I got stuck on problem 1, but I like to think about the future as well.

          Third thing: is there an API kind-of-thingie? A document describing the parameters for various stuff (I am mostly thinking about the QueueAction macro here), and I always try to remember, open all the blueprints, or open the video.

          Looking forward to hearing from you,
          Thanks

          Hey Valmuadib, no need to feel stupid when it comes to this particular issue, that is for sure. Actions interrupting movement is one of the things I've personally struggled the most with when it comes to finding a clean and generic implementation. As you have noticed it is particularly problematic when it comes to a unit dying on its own turn, and particularly if that death also leads to game over. However, the last update was (among other things) an attempt to fix these issues, and you'll find that there is both a spike trap and an Overwatch shot ability in the Maps - Experimental folder. These are exactly the two things you say you're after, so check them out and see if they solve your problems.

          Your code looks good from what I can tell, by the way. The issue does not lie in your specific code, but rather how unit death and Game Over is handled. If you're using the very latest version I'm not sure why your solution does not work while mine does. I'll have to check my code to figure that out, but I'm still on vacation away from home for another week.
          The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

          Comment


            Originally posted by Monokkel View Post
            There is both a spike trap and an Overwatch shot ability in the Maps - Experimental folder. These are exactly the two things you say you're after, so check them out and see if they solve your problems.
            Well, that is a welcome new lead, going to check that right now And I am pretty sure I have the latest version, but will double check that as well.

            Originally posted by Monokkel View Post
            I'm still on vacation away from home for another week.
            Have a great week then!

            Comment


              Originally posted by Monokkel View Post

              I'm very sorry to hear that you had to bang your head against the wall for a week for this, Locoweed. This is something that I should clearly have discovered and fixed a long time ago, and I thank you for posting your solutions here. From your screenshots it seems like you are not using the latest version, though. My last update was a major overhaul of the turn system, which I had hoped would eliminate these sorts of issues (among other things). I am away now and cannot confirm for myself for another week, but I will certainly look into this when I'm back and see if this is still a problem. If so I will make sure to fix it.
              It's all good. I need to get more in depth into the code structure anyhow. Sometimes I get lost lost in there when trying to add new things and stuff. Mainly I wanted you to be aware that if action points was left on last unit in game and it was run by AI, the Game Over message would never happen. And it is always possible I changed some code somewhere that made that happen also, but that code I added in probably wouldn't hurt to add anyway. So you might check it out when you have time.

              Comment


                And also, enjoy your vacation!

                Comment


                  Heya Knut,

                  Where does the AI actually call the 3 AI choices you have? I am guessing all the AI is in C++ or something. Do We have accessibility to that code. The AI works fine for basic units in my game, but for Hero Units need to have more complex AI to hunt or worry about other Hero Units and other specific AI for certain circumstances. Could we have a AI system similar to your Ability system at some point? Where we can add a AI and be able to edit what it does. and assign our specific AI to that unit.

                  Thanks, Loco
                  Last edited by Locoweed; 08-30-2019, 04:14 PM.

                  Comment


                    Originally posted by Locoweed View Post

                    It's all good. I need to get more in depth into the code structure anyhow. Sometimes I get lost lost in there when trying to add new things and stuff. Mainly I wanted you to be aware that if action points was left on last unit in game and it was run by AI, the Game Over message would never happen. And it is always possible I changed some code somewhere that made that happen also, but that code I added in probably wouldn't hurt to add anyway. So you might check it out when you have time.
                    Ok, thanks. I'll check it out as soon as I'm back.

                    Originally posted by Locoweed View Post
                    Heya Knut,

                    Where does the AI actually call the 3 AI choices you have? I am guessing all the AI is in C++ or something. Do We have accessibility to that code. The AI works fine for basic units in my game, but for Hero Units need to have more complex AI to hunt or worry about other Hero Units and other specific AI for certain circumstances. Could we have a AI system similar to your Ability system at some point? Where we can add a AI and be able to edit what it does. and assign our specific AI to that unit.

                    Thanks, Loco
                    Everything in the toolkit is made with blueprints and you have access to everything I have access to. The AI is done through the abilities (as well as the Ability System to a lesser extent for units who implement this component ).

                    Most of the important AI code is in BP_Ability, with specific abilities overwriting and adding to the code of this parent blueprint.

                    To check out how it works I recommend adding a break point on the selection of an AI unit and then stepping through the nodes one at a time to see the entire system in action.

                    The AI works in a similar fashion for all of the included abilities. First the ability finds all potential targets of the ability and assigns a value based on some criteria (health of the target, for instance). Then it assigns a value to all tiles that can be moved to from which the ability can be used.

                    It finds the highest product of these two values and compares it to the equivalent product values of any other abilities the unit has (if it implements the ability system). The highest value determines the ability to use, the tile to move to and the target to use the ability on.

                    ​​​​​​​The devil is in the details, of course, and AI is one of the more complex parts of the toolkit. Let me know if you need any more help in figuring things out after stepping through the code.
                    The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

                    Comment


                      Originally posted by Monokkel View Post

                      Everything in the toolkit is made with blueprints and you have access to everything I have access to. The AI is done through the abilities (as well as the Ability System to a lesser extent for units who implement this component ).

                      Most of the important AI code is in BP_Ability, with specific abilities overwriting and adding to the code of this parent blueprint.

                      To check out how it works I recommend adding a break point on the selection of an AI unit and then stepping through the nodes one at a time to see the entire system in action.

                      The AI works in a similar fashion for all of the included abilities. First the ability finds all potential targets of the ability and assigns a value based on some criteria (health of the target, for instance). Then it assigns a value to all tiles that can be moved to from which the ability can be used.

                      It finds the highest product of these two values and compares it to the equivalent product values of any other abilities the unit has (if it implements the ability system). The highest value determines the ability to use, the tile to move to and the target to use the ability on.

                      The devil is in the details, of course, and AI is one of the more complex parts of the toolkit. Let me know if you need any more help in figuring things out after stepping through the code.
                      Thanks again,
                      Loco

                      Comment


                        I have changed the damage in my character blueprint instance,but then I ran the game,damage is still 35.And then I found that this damage is deal with DamageRange in BP_Ability_Laser BP.
                        Does that means the shoot can only have same damage between any type of character?

                        Comment


                          Originally posted by Locoweed View Post

                          Thanks again,
                          Loco
                          No worries

                          Originally posted by xermao View Post
                          I have changed the damage in my character blueprint instance,but then I ran the game,damage is still 35.And then I found that this damage is deal with DamageRange in BP_Ability_Laser BP.
                          Does that means the shoot can only have same damage between any type of character?
                          What damage value is used depends on the ability. BP_Ability_Laser was designed with the assumption that each unit might have multiple abilities with different damage values, so it uses the Damage variable within BP_Ability_Laser by default, instead of the one tied to the unit.
                          The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

                          Comment


                            Thanks for your quick reply,I have another question,Why does enemy always goes to my character very closed,and shoot.I think it should shoot in a long range.
                            Just like in my video.
                            https://www.youtube.com/watch?v=soKNjb-Ir7E

                            Comment


                              Originally posted by xermao View Post
                              Thanks for your quick reply,I have another question,Why does enemy always goes to my character very closed,and shoot.I think it should shoot in a long range.
                              Just like in my video.
                              https://www.youtube.com/watch?v=soKNjb-Ir7E
                              If you're using the laser ability enemies try to get as close as possible in order to increase their accuracy (while take into account the cover value of tiles). You'll need to tinker with the AI for that ability if you want it differently. If you use Ability_MoveAttack it is set up to look at the unit's PreferredRange variable, which can be set to prefer long range.
                              The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

                              Comment


                                Originally posted by Monokkel View Post
                                I hope you're prepared to spend a lot of time learning and experimenting. Best of luck, and let me know if you have any follow-up questions.
                                Hey, hope everything is well

                                I've been working with the toolkit on a full time basis and been really enjoying it. Have been trying to get all the easier tasks for my project done this week while you were away.

                                If you're back, I would love to revisit the two questions you said wished you were home for.

                                1) Attackable objects on the corners of square tiles. In my case, these objects only need to be attacked when a Unit is within the 4 adjacent squares that the corner object resides on. So we might be able to use collision to our advantage somehow. However, I will need to have the objects belong to the factions (Player, Enemy, Faction 3) both for the aura effects i mentioned on their 4 adjacent squares and because any object that doesn't belong to your faction will need to block pathfinding for movement and abilities (in this regard, I'm happy to have my Units only be able to move 1 square at a time if that makes everything significantly easier).

                                2) Selecting multiple Units to be able to attack together/add their damage together for a single attack. This is also a case where range isn't an issue, the Units only need to be able to attack adjacent enemies and adjacent corner objects.

                                Anyways, i'm more than happy to spend a lot of time trying to get it right, looking forward to continuing to work on it

                                Comment

                                Working...
                                X