Announcement

Collapse
No announcement yet.

[SUPPORT] Advanced Turn Based Tile Toolkit

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

    Originally posted by Subzeroblack View Post
    If anyone has any tips on how to do it, I would Greatly appreciate it and pass on the tales of your heroics to future generations XD ...
    Subzeroblack, the simplest way to store which pickups have been collected, and have it persist after the destruction of the unit, is to store that information in the player controller. If you make a custom event in the player controller that is called each time one of your pawns picks up an item, and that event stores a record of how many have been collected in a variable on your player controller. Then the event checks if they are all collected. If true, call an event that causes damage to your monster (the toolkit has the functionality to receive damage within each pawn, but you may have to customize it depending on your use case).

    Hope that helps.
    edit: i would recommend watching the unreal twitch stream on blueprint Game framework, useful primer on using game states, player states and game instances as well.

    https://m.youtube.com/watch?v=0LG4hiisflg
    Last edited by User609571414; 05-19-2018, 09:53 PM.

    Comment


      Thanks for the info and the help! Ill tattoo User609571414 across my chest and share it for generations to come

      Comment


        Originally posted by HaxorViper View Post
        Alright so the reason why my splines weren't showing was because the game thought I was hovering over UI so it hid it for me (Although the UI wasn't shown, I was adding an inventory system and appear to have bugged it). I haven't fixed it, but provisionally I enabled it to show the path while on a UI.

        Also, I am currently implementing menu navigation for in between moving and attacking. But I don't know where I would call it to add it to the viewport and wait until it's done. The move_attack ability does two things, moving and attacking, so I want to spawn the menu widget after finishing your move or staying put, and waiting to allow you to target for the attack ability until the attack command is called from the menu, or skipping it entirely by ending your turn in the menu.

        I want my flow to look like this:
        You start the game without having anything selected > You click on one of your units > The unit displays its movement range > Switch: You move: (Once you reach your target index you spawn a player menu), You stay put: (Immediately spawns a player menu) //Once in the player menu, you can select various different options, but I want to cover attack and wait first// > Switch: Attack: (The active unit's inventory pops up and you can select your weapon > Target enemy and UI for battle forecast shows up > Combat happens > The active unit ends its turn.), Wait: (The unit skips targeting and ends turn.)

        What I am having problems with is getting it onto a queue where it waits for you to be done with the menu navigation before allowing you to target the enemy, I don't know where I'd implement this to happen in an orderly manner. Do I make spawning the menu a queue action to put it between the movement and the attack? I am not sure if I should count this as an action or if the format is compatible for spawning widgets. I also don't know how to properly implement a check for either ending your turn or moving and ending your move animation, if I add this action in both instances, wouldn't it add the spawn menu action two times?
        Sounds like something that might be better served by using two separate abilities instead of having everything in one ability (even though this is also possible). What you are describing is quite similar to the JungleRaid example map, only that the ability bar only shows up after either moving or staying put.

        One suggestion is to make two duplicates of the BP_MoveAttack. For one, remove the move functionality and the other remove the attack functionality. Use the ability system component for your units and make them have both abilities. Set the move ability as the default so it is activated at the start of a unit's turn. Set the action points of your units to 2 and have all abilities use 1 AP. When a unit is activated or reactivated in the turn manager, make it so that the ability bar is only shown if the unit has 1 AP remaining (meaning it has moved or stayed put). Then modify the ability bar as you want, add a button for wating etc. Do you think something like this would give you the result you want?

        Originally posted by Subzeroblack View Post
        This is a question for anyone here really... But I have several player units running around/away from a monster that they cant kill. The only way to defeat it is to collect several pickups.The only functionality I have so far is if the units get close enough to the pickups, they make a sound and destroy themselves...

        Now the issue is all the tutorials (at least 10 of them) I have seen teach you how to have a single player character keep track of the number/score. But in my case I have several pawns that do the collecting instead. Im obviously new to Blueprints but I see no way how to do it on my own at this point. Plus once I do get them collected lets say 4/4 are collected I need to figure out how to get the monster pawn to lose all its health...

        Only other way I can think about doing this, would be if before the pickups destroy themselves they somehow do damage to the monster and once they are all picked up its enough damage to kill it. versus the "Pickup counter" way of doing it

        If anyone has any tips on how to do it, I would Greatly appreciate it and pass on the tales of your heroics to future generations XD ...
        Thanks for giving your thoughts on this, @User609571414.The suggestion is a good one, but I'll give my own take on it as well.

        First I wonder what you think is wrong with your existing solution. If your intention is for the player units to pick up items to kill a unit then just dealing damage when picking up pickups makes sense to me. Is this a problem because you want to prevent units from dealing damage through regular abilities beforehand? Maybe you don't want the damage from the pickups to show on the health bar? If so you could make a new health like variable for the monster that is reduced when pickups are picked up. In the TakeDamage event you can add a branch that prevents the monster from taking damage if the value of this new variablie is more than zero.

        If there is only one such monster I see no reason why you could not simply do it this way, However if what you want to do is to have the player units after picking up all the pick ups be able to damage all monsters of a certain class that they could not previously, then storing this somewhere else makes sense. The player controller is one possibility, though it is not where my thoughts went. I'll watch the twitch stream you linked later User609571414. but from my understanding the player controller should be used mostly for input, so I would choose the game state or player state for this. Not that it matters much if this is a single player game, but for multiplayer another client might want to be able to access this property from another client.
        Last edited by Monokkel; 05-20-2018, 09:37 AM. Reason: Edit: Oops, quoted the wrong name
        The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

        Comment


          Monokkel Ok so what im gonna change the way im approaching this...
          basically the setting of the game is a monster chases 3 players around the mansion (custom skeletons as well). Monster will have 100 health. punching the monster only does 1 damage. At this point there is no way to kill the monster because its to strong. So the player has to run around and get "Idols/statues" of the monster and either it collecting them hurts the monster 25 damage (4 idols in the mansion) or hitting the monster with it hurts him (all 1 time use pickups)...

          What I decided to do differently now is I want to do actions/abilities like the sci-fi example. In particularly copying the grenade attack with limited amount of "grenades". I want all the players to have the movement system from standard movement, sprint, punch, and grenade/idol throw but all players will start with 0 grenades. Once the player picks up a grenade they will have 1 available. ... The rest should be self explanatory on how to beat the monster.

          Now I just got to rewatch the Jungle Raid video and figure out how to do all of this... Oh yeah i'm using 4.18 version because there are more video support... But all I explained are the extent of the mechanics. While still being new to Blueprint, do you think using the 4.19 version would be easier to work with?

          Comment


            Hi all, can someone point me to where the move decals are drawn? I'm trying to create a toggle button that would draw whole grid with decals, not just the movement around active pawn.

            Comment


              Originally posted by Subzeroblack View Post
              Monokkel Ok so what im gonna change the way im approaching this...
              basically the setting of the game is a monster chases 3 players around the mansion (custom skeletons as well). Monster will have 100 health. punching the monster only does 1 damage. At this point there is no way to kill the monster because its to strong. So the player has to run around and get "Idols/statues" of the monster and either it collecting them hurts the monster 25 damage (4 idols in the mansion) or hitting the monster with it hurts him (all 1 time use pickups)...

              What I decided to do differently now is I want to do actions/abilities like the sci-fi example. In particularly copying the grenade attack with limited amount of "grenades". I want all the players to have the movement system from standard movement, sprint, punch, and grenade/idol throw but all players will start with 0 grenades. Once the player picks up a grenade they will have 1 available. ... The rest should be self explanatory on how to beat the monster.

              Now I just got to rewatch the Jungle Raid video and figure out how to do all of this... Oh yeah i'm using 4.18 version because there are more video support... But all I explained are the extent of the mechanics. While still being new to Blueprint, do you think using the 4.19 version would be easier to work with?
              Ok, sounds good. The grenade ability has a default charges variable. You can add the ability system to your units (or in the older toolkit version, rather use a unit derived from Unit_Skill), add the grenade ability to their starting abilities and set DefaultCharges to 0 in the grenade ability and they should start with a greyed out, unusable grenade ability. Then when a unit picks up a grenade you need to add one charge to the ability. For the new version of the toolkit this means updating the Charges array in the BP_AbilitySystem of the unit, but for the older version this means getting a reference to the correct ability from the AbilityRefs array of the unit_skill in question and changing the charges within the ability.

              As for using the older version or changing to the new, it is a tough question to answer. I do obviously think the new version is better, as I would not have made it otherwise, but in truth you can do much of the same in the older and newer version (unless you want networked multiplayer). So since it might take some time before I'm able to make a lot of new videos because of the quickly approaching deadline for my PhD, the old version might be a better choice if you are new to unreal engine, especially for learning. Though if you have worked with the old version a bit and learned all you can from the old tutorials, the transistion to the new version should hopefully not be that hard.

              Tell you what, if you want to use the new version and find something in the old tutorials that you are not able to get working with the new version, let me know here. I will do my best to explain how to achieve the same thing in the new version. Then I will post a link in the YouTube descripting to my explanation so that others can find help if they run into the same issues.

              Originally posted by Captain Krunch View Post
              Hi all, can someone point me to where the move decals are drawn? I'm trying to create a toggle button that would draw whole grid with decals, not just the movement around active pawn.
              They are drawn in the AnimateAction event of the particular ability being used (for the example map this is BP_Ability_MoveAttack). Check out the SpawnTileMarkers event here, which calls on the SpawnTileMarkersAtLocations function in BP_GridManager which does the actual decal spawning.
              The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

              Comment


                Thanks Monokkel. Yes, of course you are correct. GameState, PlayerState or GameInstance would be more correct. Although it is relatively arbitrary for the player controller as it is the representation of the player in-game, not necessarily only for input. . . Just keeping it simple.
                Last edited by User609571414; 05-20-2018, 11:10 PM.

                Comment


                  Originally posted by User609571414 View Post
                  Thanks Monokkel. Yes, of course you are correct. GameState, PlayerState or GameInstance would be more correct. Although it is relatively arbitrary for the player controller as it is the representation of the player in-game, not necessarily only for input. . . Just keeping it simple.
                  Yeah, I agree that it does not really matter for a single player game and could really be placed in any singleton class. If he ever wants to add multiplayer, though, the player controller is one of the most annoying things to work with and it is easy to place the wrong stuff there if you don't know what you're doing. As long as you only include what you are positive only the owning client needs access to you should be safe, but I would not place the special monster damage counter in such a category. I had personally used the player controller for way too many different things in the previous versions of the toolkit and it came back to bite me when I wanted to convert to multiplayer, so I'm trying to prevent people from making the same mistake I did.
                  The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

                  Comment



                    This is all extremely helpful advice, and I may be new to Unreal but not to game development in general since I came from several years of using Unity... I do try to develop in a way that insures future growth. So getting this advice is definitely helpful. I hate when I hit a bottleneck in development and have to change the way I did things early on in the process, so I do like to think ahead. I appreciate all the advice and help guys
                    Last edited by Subzeroblack; 05-22-2018, 10:06 AM.

                    Comment


                      Odd, I could have sworn there were a couple of more questions here when I looked in while at work. If anyone posted anything here that got removed from the forums for whatever reason, ask again.

                      Originally posted by Subzeroblack View Post
                      This is all extremely helpful advice, and I may be new to Unreal but not to game development in general since I came from several years of using Unity... I do try to develop in a way that insures future growth. So getting this advice is definitely helpful. I hate when I hit a bottleneck in development and have to change the way I did things early on in the process, so I do like to think ahead. I appreciate all the advice and help guys
                      Happy to help! Chaning from one engine or framework to another takes some adjustment, but once you've learned how Unreal Engine does things you should be able to benefit greatly from your experience using Unity.
                      The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

                      Comment


                        hey i want to know on much big map you can create without lagging with that blueprint

                        Comment


                          Originally posted by Seikei View Post
                          hey i want to know on much big map you can create without lagging with that blueprint
                          I have designed the toolkit so that all functions that are used during runtime (pathfinding, visibility etc.) should only be minimally affected by grid size. Also, you would need to have a map of a humongous size for the storing of grid arrays in memory to become an issue. That being said there are some constraints you should be aware of.

                          The functions that set up the grid when loading a map do a lot of work and are as such very heavy. Depending on options you have selected for the grid manger this can increase quite a bit. For instance if you have a multi-level grid with automatic tracing for walls the grid manager will use at least six line traces for every tile on the grid as well as several steps of array manipulation. With both of these options check you might hit the loop limit during the first tick of startup, which will cause the game to crash. With all the options selected this will happen at around 5000 tiles (~70*70) You can increase the loop limit in the project settings to get around this, though. All that will be affected then are loading times. With a bit more work you can spread these processes out over multiple ticks to avoid hitting the loop limit.

                          Again, this will only really affect loading times. I have done some limited testing on huge maps (200*200 and larger) without any apparent issues, but I have not tested it enough that I could recommend making a game with those dimensions in good conscience. But the toolkit will certainly work well for the maximum sizes of popular TBS games such as Civ or XCOM. What sort of game are you planning to make and how big maps do you need?

                          The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

                          Comment


                            7 map of around 200*200 maybe more, i gonna use maybe the world streaming, im making an open world with that.

                            Comment


                              Originally posted by Seikei View Post
                              7 map of around 200*200 maybe more, i gonna use maybe the world streaming, im making an open world with that.
                              Ok, with 200*200 you're pushing it a bit furthen than what I have generally been testing for, but not by a lot. Are you planning to have grids with multiple, overlapping levels, because that would increase the processing load quite a bit. For level steaming, if you are moving from one map with a 40 000 tile map to a new one just as big which you then run grid setupÄ for you will certainly drop some frames, so that will not be a smooth transition. I have not tested the toolkit out with level streaming, so I cannot say anything certain about how well it would work.
                              The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

                              Comment


                                only one level, but with walls that can be mounted or buildings, for the transition between the maps are made in portal with a small load

                                Comment

                                Working...
                                X