Announcement

Collapse
No announcement yet.

[SUPPORT] Advanced Turn Based Tile Toolkit

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

    Originally posted by Monokkel View Post

    Hmm, that is odd. When you use the same steps on a blank project without ATBTT do you get the same issues?
    Uhhhm... good question.. when it comes to actual coding and multiplayer I have absolutly no idea how that works. I know how to setup a server generally but only on shipped games. :s

    Comment


      How would i go about adding a healer can can replenish friendly units' health. How would i add that to the AI

      Comment


        Hello everyone, and Monokkel Thank you for your email, so I've been asking around for help and I understand what specifically I need from you.
        ```So I was sent this As for game mode and most state I guess the turn based one will be more relevant as it has the turn and grid/hex movement logic. the CCG toolkit - all you need out of it is interface and widgets (user interface). Making a game like in first video would take 2-4 weeks, if you have all the art assets done. To quick sum up your questions 1. use majority of turn based kit, and jsut work with widgets on the second. 2. learn "drag and drop" for user interface. it can triger events and do basically anything. 3. you need an ability system that is editable and easy to understand. that can spawn stuff, deal damage, query collisions etc. i can say that ABLE is a good choice. 4. working with ui very much resembles working with HTML. it's pretty tough to learn fast for non-web developer. Hope that helps a little at least. ```

        So if anyone else here has used the advance turned base toolkit and intergrated it with CCGtoolkit let me know, or if anyone know's where in the turned base tool kit I would need to go to do this please do not hesitate to answer I'll take any help I currently can get.

        #1 I need to integrate both kits first.
        #2 I need to make it so when I pick a card it turns my mouse into an action event like use spell and lights up targets spell can be used on, on the board.
        #3 I need to make it so when I pick a card if be monster I can summon it to the field. I want to click on the card then click on the field.
        #4 I need to understand how to change the UI.

        Comment


          Hello again, just a quick question

          Do you know from where the BP_TurnManagers Initialize gets called? I'm still on my debugging quest for the ServerTravel issues and I found out this never gets called.

          Cheers!

          Comment


            Hey all, sorry for the late reply. I have some serious deadline work at my dayjob. I'll answer anything I can do quickly without testing stuff out in the engine. I'll return as soon as I have the time to answer more in depth if needed.

            Originally posted by Mivke1 View Post
            Hey man!

            Now I've checked the Player Controller, the Grid Camera, the Game Mode, the Turn Manager and the Action Manager. As far as I can tell the initializing of those are done via the following:

            Player Controller - Event Begin Play
            Grid Camera - Called from Player Controller Event Begin Play
            Game Mode - Event Begin Play and OnPostLogin

            Just wanted to know if there is any of these I have missed somewhere or if this looks right to you? I'm coming in on a solution on the whole LobbyGM->GamemodeGM switch via Server Travel but there are a few kinks left to sort out, specially when this is done through Steam. I will update this if I find the solution so you or someone else can solve it like I have, or maybe in a better way if possible

            Cheers man!
            Hmm, seems correct. There are some more that I wonder, though. Event Begin Play for the game mode should happen before any of this and should among other things initialize the grid manager and turn manager. Check if these things happen before the player controller's event begin play.

            Originally posted by Danjio View Post

            Uhhhm... good question.. when it comes to actual coding and multiplayer I have absolutly no idea how that works. I know how to setup a server generally but only on shipped games. :s
            Ah, ok. In that case it is difficult for me to know what parts of your issues might be caused by my toolkit and what parts are caused by something more basic. I would recommend you try setting up a multiplayer game for a game without ATBTT first, using one of the many tutorials out there. If you succeed at that, but still have issues with ATBTT, let me know.

            Originally posted by vBucka View Post
            How would i go about adding a healer can can replenish friendly units' health. How would i add that to the AI
            There is actually already such an ability included. Check out the ability BP_Ability_Heal in Maps/Advanced/Abilities.

            Originally posted by JuKaiZen View Post
            Hello everyone, and Monokkel Thank you for your email, so I've been asking around for help and I understand what specifically I need from you.
            ```So I was sent this As for game mode and most state I guess the turn based one will be more relevant as it has the turn and grid/hex movement logic. the CCG toolkit - all you need out of it is interface and widgets (user interface). Making a game like in first video would take 2-4 weeks, if you have all the art assets done. To quick sum up your questions 1. use majority of turn based kit, and jsut work with widgets on the second. 2. learn "drag and drop" for user interface. it can triger events and do basically anything. 3. you need an ability system that is editable and easy to understand. that can spawn stuff, deal damage, query collisions etc. i can say that ABLE is a good choice. 4. working with ui very much resembles working with HTML. it's pretty tough to learn fast for non-web developer. Hope that helps a little at least. ```

            So if anyone else here has used the advance turned base toolkit and intergrated it with CCGtoolkit let me know, or if anyone know's where in the turned base tool kit I would need to go to do this please do not hesitate to answer I'll take any help I currently can get.

            #1 I need to integrate both kits first.
            #2 I need to make it so when I pick a card it turns my mouse into an action event like use spell and lights up targets spell can be used on, on the board.
            #3 I need to make it so when I pick a card if be monster I can summon it to the field. I want to click on the card then click on the field.
            #4 I need to understand how to change the UI.
            Seems like something you should be able to get working with the ability system. If you look in the player controller of ATBTT you can see how abilities are normally activated. When the player hovers over or clicks a tile, the player controller checks if the current active unit is owned by the player owning the player controller receiving the input. If it does control the unit, it finds the active ability of that unit and sends inputs to that ability, which takes over the rest. In your case what you need to do is to instead of getting the ability reference from the unit, you would get it from whatever card was last activated.

            In other words, the cards must hold a reference to a spawned instance of the ability they represent. When you click the card you would set this ability as the active ability somewhere. Possibly in a custom card manager. That is what I would start with. If you get that working, then clicking a card would work much the same as clicking an ability icon in the JungleRaid map. Essentially the cards you are using are very much like ability buttons in other games. The difference is mostly that the abilities are drawn randomly and discarded after use.

            Originally posted by Mivke1 View Post
            Hello again, just a quick question

            Do you know from where the BP_TurnManagers Initialize gets called? I'm still on my debugging quest for the ServerTravel issues and I found out this never gets called.

            Cheers!
            It is called in the SetupCoreBlueprints function in BP_ATBTT_State which itself is called after EventBeginPlay in the game mode. To find out where any variable, function or event is used, right click it and select "find references". Then click the litle binoculars icon to search for it in all blueprints. I concede that I made a stupid naming choice in this case, since for initialize you'll also find many unrelated events.
            The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

            Comment


              Originally posted by Monokkel View Post
              Hmm, seems correct. There are some more that I wonder, though. Event Begin Play for the game mode should happen before any of this and should among other things initialize the grid manager and turn manager. Check if these things happen before the player controller's event begin play.

              It is called in the SetupCoreBlueprints function in BP_ATBTT_State which itself is called after EventBeginPlay in the game mode. To find out where any variable, function or event is used, right click it and select "find references". Then click the litle binoculars icon to search for it in all blueprints. I concede that I made a stupid naming choice in this case, since for initialize you'll also find many unrelated events.
              Do you have some kind of flow chart for how the core parts should initialize, like a timeline? It would help alot in the debugging, I could try to add delays to match it and see if I get good results then go from there. Also, I've located that printing a string right before BP_ATBTT_State calls Initialize on BP_TurnManager prints the string, but the string right after the Initialize ON the BP_TurnManager does not. I have no idea why the call on that funcion does not work, do you have ANY idea? I mean the SetupCoreBlueprints continues and activates the GridManager, it's just that initalizing of the TurnManager that seems to fail...

              Regarding the tip, thanks alot! Super helpful, as I stated earlier I'm very new to all of this
              Last edited by Mivke1; 04-17-2018, 03:27 PM.

              Comment


                Originally posted by Monokkel View Post

                That is a mistake on my end. I have set up abilities so they can be specified as either using the variables defined in the ability or the unit using the ability by default. For BP_Ability_MoveAttack this should be set to use the units' attributes, but I have apparently set it wrong. To fix this, go to BP_Ability_MoveAttack and set the default value of bUseUnitAttributes (I think that is the name I used) to true. I'll fix this in the next hotfix.
                Hey man!

                Thanks for replying! I finally got around to checking out if bUseUnitAttributes is set to true and it has been set to true this whole time.

                Click image for larger version

Name:	fig1.PNG
Views:	14
Size:	8.1 KB
ID:	1462813

                Looked around the blueprint and I do not see that variable used anywhere.

                I tried tweaking this damage variable to set to the unit's damage
                Click image for larger version

Name:	fig 2.PNG
Views:	12
Size:	234.9 KB
ID:	1462814


                The health bar did not change (I set it the health to 10), but after 5 attacks (set damage to 2), the system said "Player Faction won". So I think damage is working on the back end, but the animation and the health bar is not correct. Again not sure if I implemented it correctly. Thank you again for taking a look into this!

                Comment


                  Originally posted by ravem0n View Post

                  Hey man!

                  Thanks for replying! I finally got around to checking out if bUseUnitAttributes is set to true and it has been set to true this whole time.

                  Click image for larger version

Name:	fig1.PNG
Views:	14
Size:	8.1 KB
ID:	1462813

                  Looked around the blueprint and I do not see that variable used anywhere.

                  I tried tweaking this damage variable to set to the unit's damage
                  Click image for larger version

Name:	fig 2.PNG
Views:	12
Size:	234.9 KB
ID:	1462814


                  The health bar did not change (I set it the health to 10), but after 5 attacks (set damage to 2), the system said "Player Faction won". So I think damage is working on the back end, but the animation and the health bar is not correct. Again not sure if I implemented it correctly. Thank you again for taking a look into this!
                  Try checking in BP_Ability..same bool there, thats the one you need !

                  Comment


                    Hey Knut, Thanks for your awesome work!

                    I want to make moving platforms (grids) for my prototype. The grids should be able to move and everything on them should move with them.
                    I discovered that when I am moving the first GridManager in the level it happens automatically, but it doesn’t happen with every other grid/tile I am using in the same level.
                    Is there a way to use multiply “main”GridManagers in a scene so it will happen automatically with all of them? Or is there any other “easy” way to make it?

                    Thanks so much
                    Guy

                    Comment


                      Originally posted by Mivke1 View Post

                      Do you have some kind of flow chart for how the core parts should initialize, like a timeline? It would help alot in the debugging, I could try to add delays to match it and see if I get good results then go from there. Also, I've located that printing a string right before BP_ATBTT_State calls Initialize on BP_TurnManager prints the string, but the string right after the Initialize ON the BP_TurnManager does not. I have no idea why the call on that funcion does not work, do you have ANY idea? I mean the SetupCoreBlueprints continues and activates the GridManager, it's just that initalizing of the TurnManager that seems to fail...

                      Regarding the tip, thanks alot! Super helpful, as I stated earlier I'm very new to all of this
                      I have not really made a flowchart for this, but the general setup order is the following: Game mode starts up. Signals game state to setup reference to core blueprints (turn manager, action manager and grid manager) and initializes each of these in that order. Meanwhile the the game mode delays for two ticks while all of this is setting up. When that time has passet it sets the TurnState in the game state to TurnBasedCombat, signaling that the game is ready to start.

                      Whenever a new player logs in it first checks to see if the grid manager is done initalizing (last step of the above setup process). If it is it initializes the player controller for that player. If it isn't it delays until it is. The HUD is initialized as part of initializing the player controller as well as the grid camera.

                      This means that the grid camera's setup will be the last thing to run for any player logging in, so at the end of the grid camera's setup it signals to the turn manager that a new player has joined and is possessing a grid camera. The turn manager keeps track of such signals from players joining to know if enough players have joined to begin the game and activate the first unit in initiative.

                      If you want to see more specifically what happens, add a break point right after event begin play for the game mode and step through the nodes one after one in the blueprint debugger.

                      ravem0n: Like Skulldug said, bUseUnitAttributes is used in the parent blueprint (BP_Ability). To find all instances where a variable is used right click it and choose "find references". That gives you all references in the current blueprint. Click the binoculars icon afterwards to find references in all blueprints.

                      This is a mistake on my end, though. My intention was to have damage be set based on the damage variable of the unit in the MoveAttack ability. To fix this, make the following change in BP_Ability_MoveAttack (to override a parent function in a child blueprint click the override button in the function tab of the child blueprint in question)



                      For an explanation of why units were seemingly damaged without displaying it using your solution, see my videos on the action system. You likely input a damage of 0 into the queued action macro (the one in your screenshot, which is only used for animation and not underlying game logic), while still using the old damage value for the server side TakeDamage function happening directly after.
                      The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

                      Comment


                        hi knut


                        first of all I wanted to thank you fro the realy great toolkit that you made (I am using its concept in my project a lot). it's an amazing work and the support and help you give is impeccable. And I'm sure that the help and learning you give to many people through your system is Very satisfying for you.

                        My project is a cross between a turnbased and a third person.and i now I just started to add multiplayer and came back to your toolkit and I am a bit confused And hope you can help me.

                        My problem is this:

                        In what had been so far - the ai was run throw ai controller and it was clear to me that when the boolen aicontroled is true its go to the ai turn and ai controller .......
                        In the last update I can not figure out where I find the places where the I can find the transition to the ai (singleplayer).
                        In addition, I understand that now the AI is executed through the same controller

                        If you (or anyone else from the forum) can explain the way in which the last update workflow of the ai , so that I can convert my old project I will be very glade

                        thanks in advance
                        leo

                        Comment


                          Originally posted by leo bar View Post
                          hi knut


                          first of all I wanted to thank you fro the realy great toolkit that you made (I am using its concept in my project a lot). it's an amazing work and the support and help you give is impeccable. And I'm sure that the help and learning you give to many people through your system is Very satisfying for you.

                          My project is a cross between a turnbased and a third person.and i now I just started to add multiplayer and came back to your toolkit and I am a bit confused And hope you can help me.

                          My problem is this:

                          In what had been so far - the ai was run throw ai controller and it was clear to me that when the boolen aicontroled is true its go to the ai turn and ai controller .......
                          In the last update I can not figure out where I find the places where the I can find the transition to the ai (singleplayer).
                          In addition, I understand that now the AI is executed through the same controller

                          If you (or anyone else from the forum) can explain the way in which the last update workflow of the ai , so that I can convert my old project I will be very glade

                          thanks in advance
                          leo
                          Note: I have already answered this question over e-mail since there were some issues with the forums. Here is an edited version of my reply in case other developers might be wondering the same thing.

                          First my inital answer as I misunderstood his question:

                          Originally posted by Monokkel View Post
                          Hi Leo,


                          the new update is a big change, so it is not surprising that you are confused. The next tutorial I plan to make will be about the ability system, which is where AI is now handled. Sorry it is taking so long to make new tutorials. Work has been crazy busy. I'll explain where to start looking, though.

                          So before when a unit was activated, it checked whether it was AI controlled (looking at the boolean) and had the player or AI controllers take over from there. This was all well and good in games where you want all AI and player units to act the same, but it is a bit awkward to work with if you want units that act very differently.

                          To change this, AI (as well as interpeting player input) is handled by whatever ability blueprint the units are using. This makes stuff much more modular, as you can change the entire behavior of a unit just by changing the ability it is using.

                          So now, instead of going to the AI controller when a unit is activated that has bAIControlled set to true, it goes to whatever is set as the DefaultAbility in the public variables of that unit. When that ability is activated it first runs some nodes that work for both AI and player units and then goes on to nodes specific for AI or players. I recommend checking out the base class for abilities (BP_Ability) first and then looking at BP_Ability_MoveAttack), as these two together do the same job as the AI controller did before.

                          If an AI unit has a AbilitySystem component it is a bit more complicated, as here the AI unit can have multiple abilities and will loop through all of them to determine which one it wants to use in any situation.

                          Hope that helps you find out where to look. Let me know if I can clear up any other confusions.
                          Then my second answer where I address his actual question:

                          Originally posted by Monokkel View Post
                          In the example levels provided I have just set bAiControlled to true manually. You can set it to true however you want. Creating child blueprints is one way. Setting them on spawn is another (bAIControlled is set to Expose On Spawn, so when using SpawnActor you can set it then). You could loop over all units at the start of the game and set it to true whenever faction = enemy. Or you could edit the construction scripts so that the value of AiControlled is set based on the faction there. It is just a variable so you can set it using whatever method you prefer and that works best for your project.
                          The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

                          Comment


                            Originally posted by GuyGtmn View Post
                            Hey Knut, Thanks for your awesome work!

                            I want to make moving platforms (grids) for my prototype. The grids should be able to move and everything on them should move with them.
                            I discovered that when I am moving the first GridManager in the level it happens automatically, but it doesn’t happen with every other grid/tile I am using in the same level.
                            Is there a way to use multiply “main”GridManagers in a scene so it will happen automatically with all of them? Or is there any other “easy” way to make it?

                            Thanks so much
                            Guy
                            Hey Guy, sorry for ignoring your question. I somehow did not see it the last time. Multiple grid managers is not supported as of yet. The way references are set up makes having multiple grid managers very difficult with the current setup. However, it is usually possible to "fake" whatever result you are after using just one grid manager. I'll have to learn a bit more about what you want to achieve, however. Could you explain your desired end result in more detail? Not really the techical undelying stuff, but what gameplay you want to enable and how you want it to look. Do you want something like two floating islands composed of multiple tiles where one island flies over to the other when you flip a switch or something? Describe it in detail and I'll try to think of a way to make it work.
                            The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

                            Comment


                              Originally posted by Monokkel View Post

                              Hey Guy, sorry for ignoring your question. I somehow did not see it the last time. Multiple grid managers is not supported as of yet. The way references are set up makes having multiple grid managers very difficult with the current setup. However, it is usually possible to "fake" whatever result you are after using just one grid manager. I'll have to learn a bit more about what you want to achieve, however. Could you explain your desired end result in more detail? Not really the techical undelying stuff, but what gameplay you want to enable and how you want it to look. Do you want something like two floating islands composed of multiple tiles where one island flies over to the other when you flip a switch or something? Describe it in detail and I'll try to think of a way to make it work.
                              Hey Knut,

                              Yes. Your example of the floating islands is more or less what I am trying to achieve.

                              For my prototype, the player can spend some resources , once per turn, that will allow him to have control on some of the grids. The player can then choose a ui button for this “special power” and There should be some previsualization of the platform he chose and how it can move. Then, if and when he confirms, the platform moves with all the elements on it.

                              I hope this makes sense.

                              Thank you very much for your support.

                              Guy

                              Comment


                                Is there an explicit list somewhere of what the steps are to migrate this plug-in to an existing project? I see these steps:

                                ! ) Migrate the AdvancedTurnBasedTileToolkit folder to the content folder of the other project
                                2) Copy over the .ini files.

                                Is there anything else? What part of the .ini files are important? Looking at them it's not intuitively obvious to me what I may need. I can't just copy them directly over and wipe out my changes to the files.
                                Last edited by GamingByNumbers; 04-21-2018, 04:15 PM.

                                Comment

                                Working...
                                X