Announcement

Collapse
No announcement yet.

[SUPPORT] Advanced Turn Based Tile Toolkit

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

    Originally posted by Wisdom-HELLy View Post
    Yes, I'm actually trying to integrate GameSparks into Unreal Engine 4 and, less generally, on your toolkit.
    Basically I'm working on GameMode and PlayerController, I've added a new Actor naming it Faction_Parent and I've also added 3 children of this actor: LocalPlayer,CPU,NetworkPlayer (actually the game implement only 1vs1 battles).

    By adding also a new value (Network) in the faction enum, I'm starting to make the PUSH/PULL messages events for propagate every toolkit action on all network clients.
    Pull event will be a new "Activate Network Unit", where grid manager just listen from network until they push "End Turn", finish their troops movement or their turn countdown time expire.
    Push is more difficult, because I have to push through network every action of the flow, from showing highlited Tiles to movement, from attack to use skills.

    I will keep you in touch.
    Great! Sounds like you've made a lot of headway already. Feel free to ask if you have any questions regarding the toolkit, though I won't be much help when it comes to the specifics of multiplayer integration.
    The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

    Comment


      I want to change the way attacking works so it does not immediately end a pawn's turn. That way a pawn could attack and still take other actions afterwards.

      Comment


        Originally posted by Torint View Post
        I want to change the way attacking works so it does not immediately end a pawn's turn. That way a pawn could attack and still take other actions afterwards.
        The code that ends a unit's turn is in the event graph of Unit_parent. In the 4.8 version that Epic haven't uploaded yet this triggers at the end of the "Attack Victim" part of the graph. In the 4.7 version, however, this triggers roughly at the middle of the "recieve damage" part of the graph. If you want to prevent the turn from ending after a unit has dealt/taken damage you have to remove the "choose next pawn" node and connect it to whatever code you want to end a unit's turn. If you still want the AI's turn to end after it has attacked you'd still want to keep it there with a branch, though. Here is an example:

        Click image for larger version

Name:	4o1KPkg.png
Views:	1
Size:	149.1 KB
ID:	1080165
        The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

        Comment


          Thanks so much for the clarification!

          Comment


            Monokkel, I remember when you first released it you were having trouble with networking and had not yet implemented the map to work with height (in so far as having two units sharing the same grid space on two different height levels).

            Did you ever resolve those?

            Comment


              Originally posted by Alaan View Post
              Monokkel, I remember when you first released it you were having trouble with networking and had not yet implemented the map to work with height (in so far as having two units sharing the same grid space on two different height levels).

              Did you ever resolve those?
              Hi Alaan,

              networking remains something I know very little of, and is not something I've tried to implement yet. After release there have been many other things that have been higher priority, though when I made the toolkit more modular that was partially to make multiplayer intgration easier. There are a couple of users who are working on implementing multiplayer in their own ATBTT projects as we speak, who have more experience with that sort of thing than me. If they manage to get it to work I will ask them how they achieved this and try to replicate their efforts. If not I will try to make it from scratch when I'm done with adding the features that lie closer to my areas of expertise. Even though I have improved the heightmap functionality it is still not possible to have troops above and below one another at the same XY position. This is still on my to-do list, but it's one of the trickier features to implement. At the moment I'm working on improving the AI among other things. You can see the first post in this thread for my list of planned features.
              The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

              Comment


                Hi Monokkel, I just downloaded a new update for the 4.7.6 version of the toolkit. Could you update the change log for this update?
                Wave Spawning System | Tower Defense Starter Kit | Line of Sight Visualization

                Comment


                  Originally posted by Stormrage256 View Post
                  Hi Monokkel, I just downloaded a new update for the 4.7.6 version of the toolkit. Could you update the change log for this update?
                  Strange. This isn't the 4.8 update I sent to Epic. Seems like they just reuploaded my old 4.7 version again. I can't find any changes in this version that aren't already in the changelog. I'll notify Epic.
                  The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

                  Comment


                    Originally posted by Monokkel View Post
                    Strange. This isn't the 4.8 update I sent to Epic. Seems like they just reuploaded my old 4.7 version again. I can't find any changes in this version that aren't already in the changelog. I'll notify Epic.
                    Yea it seems so, it just verified the toolkit once again. I just thought the update was small, so that it was over before I knew it. After update, the toolkit size is the same as before and the project version in settings is listed as v1.4. So I guess you're right.
                    Wave Spawning System | Tower Defense Starter Kit | Line of Sight Visualization

                    Comment


                      Ok, so the 4.8 version is up. This is not a major feature update, but makes the toolkit compatible with 4.8 and fixes a few bugs. A larger feature update is still in the works. Here is the changelog:

                      v1.41 (23.06.15):
                      1. Updated the toolkit as per the "updating to 4.8" guidelines found here. Note: some of these changes are workarounds for bugs Epic introduced in 4.8, and will be changed back when these engine bugs are fixed.
                      2. Fixed the Create Walls on Edges function in ATBTT_GridManager. This function was not creating walls on edges correctly before.
                      3. Modified Add Viewport Terrain to Arrays to allow for getting height information from placed tile actors.
                      4. Changed the AI controller to appropriately account for difficult terrain when choosing a target to move towards.
                      The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

                      Comment


                        I've just made two new tutorials for the toolkit. It's more of a two parter, but both can be viewed and understood separately.

                        The first video shows how easy it is to add new features to the toolkit. In this example I show how to set up area attacks and destructible terrain:



                        In the second video I show how to set up a unit that uses a skeletal mesh with a different skeleton than the default UE4 humanoid one. I also show how to create units that do not use skeletal meshes at all.



                        Hope you like the new tutorials!
                        The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

                        Comment


                          What would be the best way to dynamically spawn units for the player. I have a menu system that allows the player to select their unit types but I cannot figure out where the best place/way to dynamically spawn the units and have them snap to the grid made by the grid manager. I can spawn them but they are not part of the tool kit. Please help, I will continue to look for the solution as well and If I can will post the solution to the forum once my pc stops being dumb.

                          Thank you in advance.
                          ---End Quote---
                          The following is from Monokkel and worked great to solve my issue. Thank you.
                          Hi Imonin, sorry about the silly computer. The important thing to understand about the toolkit is that everything important is happening within arrays, and all actors, such as tiles and units, mostly exist to display the current state of the grid to the player. For instance, the grid doesn't "know" that a unit is placed upon it, only that a certain index of the grid (corresponding to a location) is set to a certain value. So to add a unit dynamically you cannot simply spawn a unit actor, but must also add that actor to the appropriate arrays. For units that means the Pawn Actor Array (where you add a reference to the actor itself) and Pawn Array (where you add the faction of the pawn) inside BP_GridManager. This means that you must use the Set Array Element on the appropriate array on the index corresponding to the pawns desired location. You also need to add the unit to the initiative order contained within ATBTT_GameMode. I have made some utility functions that will add to
                          the next patch that do precisely this. This is a function contained within BP_GridManager which can be called from whichever blueprint that has a reference to the grid manager. Here's the function:

                          Image: http://i.imgur.com/OTD3074.png

                          and here's an example of how it can be called in ATBTT_PlayerController if you want to add a pawn to a tile you are currently hovering the mouse over by clicking '1':

                          Image: http://i.imgur.com/SMBBO1O.png

                          Hope that helps!

                          Comment


                            Monokkel, Nice work I really love what you have done. I am new with Unreal (since the start of the year though no time to really work with it) So I have tons of questions. Though I will jump to 3 that hit me right off the bat if they have already been answered I'm sorry I read most of the thread but it is a bit long so if I missed something I did not mean to.

                            1) Camera movement. From what I can tell you can only scroll in or out. The default settings on my screen I can not even see the entire movement area. I have not looked into the mouse interface much but would it make more sense to use something like a third person floating camera so players can pan and rotate so they can see all their options?
                            2) I noticed the for tick and for each tick loops are in the grid manager. Would it not be better to put in the game mode as a global function so it can be used by all blueprints? While I know the bulk of where you would want this is in the grid manager I am just thinking if there was something on actor that might be better to spread of ticks. Maybe an effect on an object in the world.
                            3) I noticed there were no black boards. Again just wondering if black boards would give more flexibility by place on a black board so all actors can access them. I know there are some private var that will be per actor but it seems there are plenty of global vars that could take advantage of this. Also it would be an easy way for users to keep their settings if they just import their back board after an update.

                            Really is a great product I can't want to really get into the nuts and bolts and learn from it. There were so many problems I was having with building my own system I thought it would be better to start with a working system and customize. I am glad I made the call. Keep up the good work.

                            Comment


                              Ok one more silly question. Why do you not take advantage of the navmesh for pathing?

                              Comment


                                Originally posted by Anzak View Post
                                Monokkel, Nice work I really love what you have done. I am new with Unreal (since the start of the year though no time to really work with it) So I have tons of questions. Though I will jump to 3 that hit me right off the bat if they have already been answered I'm sorry I read most of the thread but it is a bit long so if I missed something I did not mean to.
                                Thanks, Anzak. I'm glad you're enjoying the toolkit. I'll do my best to answer your questions.

                                Originally posted by Anzak View Post
                                1) Camera movement. From what I can tell you can only scroll in or out. The default settings on my screen I can not even see the entire movement area. I have not looked into the mouse interface much but would it make more sense to use something like a third person floating camera so players can pan and rotate so they can see all their options?
                                You can pan the camera using WASD and rotate it using Q and E at the moment. Touch support is coming in the future, as well as some other control options. There are also a few variables in BP_GridCamera that you can easily modify to change the distance you are allowed to zoom, speed of panning and rotation etc.

                                Originally posted by Anzak View Post
                                2) I noticed the for tick and for each tick loops are in the grid manager. Would it not be better to put in the game mode as a global function so it can be used by all blueprints? While I know the bulk of where you would want this is in the grid manager I am just thinking if there was something on actor that might be better to spread of ticks. Maybe an effect on an object in the world.
                                Those loops aren't used for anything in the current version on the marketplace. They cannot be functions as functions have to be begun and resolved on the same tick. If you want delays you have to use macros. Therefore you have to put them in the event graph of a blueprint for them to work, and I've put them in BP_GridManager because all the ways I'm currently using the tick loops experimentally use a lot of the functions from BP_GridManager. It can be set up to be called externally using a custom event. Here is a post in which I describe this: https://forums.unrealengine.com/show...Loops-Per-Tick

                                Originally posted by Anzak View Post
                                3) I noticed there were no black boards. Again just wondering if black boards would give more flexibility by place on a black board so all actors can access them. I know there are some private var that will be per actor but it seems there are plenty of global vars that could take advantage of this. Also it would be an easy way for users to keep their settings if they just import their back board after an update.
                                As I understand it blackboards are mostly used with behavior trees, and as I'm not using behavior trees I haven't looked into blackboards. Can you give examples of some variables that would benefit from being placed in a blackboard instead of how it's currently set up?

                                Originally posted by Anzak View Post
                                Ok one more silly question. Why do you not take advantage of the navmesh for pathing?
                                The Navmesh in UE4 isn't grid based. Additionally a lot of the navmesh stuff isn't exposed to blueprints, and I wanted full control of every aspect of pathfinding. Also, in a turn based game where only one unit is moving at a time, the additional speed of navmesh is not really needed.

                                Originally posted by Anzak View Post
                                Really is a great product I can't want to really get into the nuts and bolts and learn from it. There were so many problems I was having with building my own system I thought it would be better to start with a working system and customize. I am glad I made the call. Keep up the good work.
                                Thanks! I will
                                The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

                                Comment

                                Working...
                                X