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
    Hey Mivke, sorry for the late reply. You caught me as I'm in the process of moving back to Norway after my stay in Canada, so I haven't had time to check this thread. Happy to hear that you got the animations working. It is still hard to know exactly what went wrong the first time, as it could be any number of things. Generally for making custom units for your game I would not recommend making a child blueprint of BP_Unit_Anim or BP_Unit_Anim_Advanced as it makes it more awkward to work with when you need to jump between various child and parent blueprints all the time to setup functionality. Rather I would recommend duplicating BP_Unit_Anim instead (unless you are making a unit without a skeletal mesh, like a tank or something, where you'd probably want to create a new child blueprint of BP_Unit instead). What animation blueprint are you using? Is it the regular ABP_Unit, a duplicate, a child blueprint or something scratch built?



    Don't worry about spamming the thread if you have new questions. Glad to hear you have come a long way on the deployment system. The problem you are having with spawning I believe is due to you confusing grid indexes in ATBTT with array indexes in general. The grid sized arrays and maps in the grid manager are set up so that each array index (or integer key in the case of the maps) corresponds correctly to a tile on the grid. When you get all actors of the class BP_Tile, however, the indexes will not correspond to the grid.

    Say you have 6 actors of type BP_GA_Tile_Hex placed in your game. If you used GetAllActors of type BP_GA_Tile_Hex this will return an array of length 6, with the array indexes 0-5. Now when you use the GetHitLocationAndIndex function you get the grid index of the tile under the mouse and try to use this to get a tile from this other, small array. To get the grid index of a tile using a similar method to what you are using you would need to loop over all of the actors in the array and check their GridIndex variable agains the grid index output from GetHitLocationAndIndex.

    This would work, but it would not be very performant. Not a big issue here, as you are just looping over a few actors and not very often. I would instead suggest to create a new set of integers in BP_GridManager holding the grid indexes of all deployable tiles. If you want to define which tiles are deployable by manually placing these in the viewport like you are doing now you could fill this set by looping over all these spawning platforms during the setup of BP_GridManager, getting the GridIndex of each and adding these to the set. That way you only need to loop over all the actors once, and not while the game is running. You could also fill this set by any other way you wanted and would not be dependent on manually placing spawning points if you do not want to.

    You are really close to have a working setup, and I hope my explanation will allow you to get it working how you want it to.
    Hey!

    Yes, when I wrote that first question I did not really have any experience working with Skeletons/SkeletalMeshes/Animations etc. so I was basically just shooting in the dark. Maybe I will redo my characters with BP_Unit_Anim as parent since as you said, it get's quite tediuos with so many levels in the hierarchy. I chose BP_Unit_Anim_Adv since that is what you are using in the Advanced map with the abilites so I figured it would be the closest to what I need in the end. Is it "easy" to implement the abilities on BP_Unit_Anim or subsequent children of that class?

    As for the animation blueprint I'm using ABP_Unit and ABP_Unit_Melee as "parents" to my different animation blueprints for my characters. Since they will all not share animations as much as you have it in the toolkit (due to alot of different skeletal meshes) I figured making a new "base parent" directly below your animation blueprints was a good idea.


    Ah, of course! Yeah, I felt the behaviour was so strange that it must mean that I missed something fundamental. I can't tell you how awsome it is to have you answering these questions, I would probably have solved it eventually but it could have taken me 2 weeks for such an "easy" mistake.
    Your solution with adding it to the GridManager is along the lines I was thinking. Do you have any of your existing setup functions in the GridManager where I could get some "inspiration" for how to loop through these at the setup of the GridManager? It feels like a very good solution and this thing with deployable tiles will be very reaccurring in my project so I think a good general solution rather than a "hack" is worth investing in early.

    Again man, jesus f-ing christ thanks for the feedback!

    Comment


      Originally posted by Mivke1 View Post

      Hey!

      Yes, when I wrote that first question I did not really have any experience working with Skeletons/SkeletalMeshes/Animations etc. so I was basically just shooting in the dark. Maybe I will redo my characters with BP_Unit_Anim as parent since as you said, it get's quite tediuos with so many levels in the hierarchy. I chose BP_Unit_Anim_Adv since that is what you are using in the Advanced map with the abilites so I figured it would be the closest to what I need in the end. Is it "easy" to implement the abilities on BP_Unit_Anim or subsequent children of that class?

      As for the animation blueprint I'm using ABP_Unit and ABP_Unit_Melee as "parents" to my different animation blueprints for my characters. Since they will all not share animations as much as you have it in the toolkit (due to alot of different skeletal meshes) I figured making a new "base parent" directly below your animation blueprints was a good idea.


      Ah, of course! Yeah, I felt the behaviour was so strange that it must mean that I missed something fundamental. I can't tell you how awsome it is to have you answering these questions, I would probably have solved it eventually but it could have taken me 2 weeks for such an "easy" mistake.
      Your solution with adding it to the GridManager is along the lines I was thinking. Do you have any of your existing setup functions in the GridManager where I could get some "inspiration" for how to loop through these at the setup of the GridManager? It feels like a very good solution and this thing with deployable tiles will be very reaccurring in my project so I think a good general solution rather than a "hack" is worth investing in early.

      Again man, jesus f-ing christ thanks for the feedback!
      No worries BP_Unit_Anim_Adv is just BP_Unit_Anim with the stealth and ability components added. Add these to your own unit blueprint and it should work just as well.

      As for animation blueprints, unless you are doing something extremely similar to what I am doing I would recommend duplicating ABP_Unit instead of making a child blueprint. Same reasoning as for making a duplicate of BP_Unit_Anim. I think the only place I reference the animation blueprint is within BP_Unit_Anim anyway, so if you're making a duplicate of this you might as well do the same with the animation blueprint so you do not have to code around the constraints places by my animation blueprints. I'm not saying that you should make a duplicate of any blueprint you want to modfiy, but BP_Unit_Anim and ABP_Unit are to a larger degree than the rest of the toolkit intended as examples of possible ways to set things up, but which I assume would require extensive modification to fit with any specific game.

      Most bugs are caused by some annoying little thing I missed, in my experience. Glad I could help you find it in this case. In the setup of the grid manager is one function for looping through all units and adding them to the GridUnits map. I believe it is called AddViewportUnitsToGrid or something like that (cannot check as my UE4 laptop is in my luggage) and it is run near the end of the grid setup. Just like what I suggested for you, it loops through all actors of a class and adds them to a map based on their GridIndex value. You would do the same thing, but probably use a set instead of a map, since I don't see why you would need to store a reference to the tile actor, only its grid index.
      Advanced Turn Based Tile Toolkit (Marketplace - Support)

      Dungeon Crawler Toolkit (Marketplace - Support)

      Discord

      Comment


        Originally posted by Monokkel View Post

        No worries BP_Unit_Anim_Adv is just BP_Unit_Anim with the stealth and ability components added. Add these to your own unit blueprint and it should work just as well.

        As for animation blueprints, unless you are doing something extremely similar to what I am doing I would recommend duplicating ABP_Unit instead of making a child blueprint. Same reasoning as for making a duplicate of BP_Unit_Anim. I think the only place I reference the animation blueprint is within BP_Unit_Anim anyway, so if you're making a duplicate of this you might as well do the same with the animation blueprint so you do not have to code around the constraints places by my animation blueprints. I'm not saying that you should make a duplicate of any blueprint you want to modfiy, but BP_Unit_Anim and ABP_Unit are to a larger degree than the rest of the toolkit intended as examples of possible ways to set things up, but which I assume would require extensive modification to fit with any specific game.

        Most bugs are caused by some annoying little thing I missed, in my experience. Glad I could help you find it in this case. In the setup of the grid manager is one function for looping through all units and adding them to the GridUnits map. I believe it is called AddViewportUnitsToGrid or something like that (cannot check as my UE4 laptop is in my luggage) and it is run near the end of the grid setup. Just like what I suggested for you, it loops through all actors of a class and adds them to a map based on their GridIndex value. You would do the same thing, but probably use a set instead of a map, since I don't see why you would need to store a reference to the tile actor, only its grid index.
        Alright, I think I will redo the characters and animation blueprints then. I think now that I know more how to do it, it won't take too long. Always worth to take the longest but best route specially in the beginning I think

        Yeah, I actually found that exact function but couldn't really get it working until I read your message here. I did it like this now

        Click image for larger version

Name:	SetupDeployableTiles.png
Views:	29
Size:	61.2 KB
ID:	1473077

        Since I have my bDeployable inside the BP_GA_Tile_Hex I still do need the reference, correct? To be able to make the check if bDeployable is true or not. As I'm writing this I see that I'm doing that check (of course) before even creating the map so you are correct, the set would do fine and then just check contain versus the hit tile index... It's so useful "talking" about this stuff, then you realize where you are making your thought error

        Thanks man, got it working now!
        Will be back on the next day I get a few hours or mins to keep working with alot more questions, I'm sure of it :P
        Attached Files

        Comment


          Originally posted by Mivke1 View Post

          Alright, I think I will redo the characters and animation blueprints then. I think now that I know more how to do it, it won't take too long. Always worth to take the longest but best route specially in the beginning I think

          Yeah, I actually found that exact function but couldn't really get it working until I read your message here. I did it like this now

          Click image for larger version

Name:	SetupDeployableTiles.png
Views:	29
Size:	61.2 KB
ID:	1473077

          Since I have my bDeployable inside the BP_GA_Tile_Hex I still do need the reference, correct? To be able to make the check if bDeployable is true or not. As I'm writing this I see that I'm doing that check (of course) before even creating the map so you are correct, the set would do fine and then just check contain versus the hit tile index... It's so useful "talking" about this stuff, then you realize where you are making your thought error

          Thanks man, got it working now!
          Will be back on the next day I get a few hours or mins to keep working with alot more questions, I'm sure of it :P
          Is whether or not a tile is deployable something you want to be able to change after the game has started? If so I see why you might want to keep a reference, but even then it is not really necessary, as you can add or remove tile indexes from the set at any time. When using the GetHitIndexAndLocation function you can just get the index and check whether the deployable tiles set contains this value. If it does, then you know that you can deploy there. But maybe I do not fully understand how you intend this to work in-game and there is something I'm not seeing.
          Advanced Turn Based Tile Toolkit (Marketplace - Support)

          Dungeon Crawler Toolkit (Marketplace - Support)

          Discord

          Comment


            Originally posted by Monokkel View Post

            Is whether or not a tile is deployable something you want to be able to change after the game has started? If so I see why you might want to keep a reference, but even then it is not really necessary, as you can add or remove tile indexes from the set at any time. When using the GetHitIndexAndLocation function you can just get the index and check whether the deployable tiles set contains this value. If it does, then you know that you can deploy there. But maybe I do not fully understand how you intend this to work in-game and there is something I'm not seeing.
            You are correct. However, having the data of deployable or not in the tile itself is good practice, right? What you argued in the last post is simply using set vs using map, just so I understand you correctly?

            Another question now that I've come this far:
            The multiplayer works with connection and traveling very nicely, but the client does not have control over any units. Is there something I'm doing wrong or is that not yet setup in the toolkit? If so, do you gave some plan on where to set that up most logically?
            For my project each player will control only one unit (with some exceptions) but I would like for them to all be the same faction.

            Cheers man, the further I get into this toolkit the more I like it

            Edit:
            Yet another question related to the deployability of the tiles. I would like to add a new static mesh on the tiles that are deployable in the deployment phase. I've tried duplicating your M_Blue_Transparent, SM_Marker_Move and SM_Marker_Move_Hex and did a M_Green_Transparent, SM_Marker_Deployable and SM_Marker_Deployable_Hex.
            Now, I'm having a hard time figuring out where and how you are applying your static meshes to the tiles. What I've done so far (all in the GridManager) is:
            • Function Add Mesh Components
            Click image for larger version

Name:	Add Mesh Components.png
Views:	86
Size:	57.0 KB
ID:	1474113
            • Function Select Default Meshes
            Click image for larger version

Name:	Select Default Meshes.png
Views:	80
Size:	49.5 KB
ID:	1474114
            • Function Setup Grid Hex Tiles (personally created function)
            Click image for larger version

Name:	SetupGridHexTiles.png
Views:	82
Size:	62.3 KB
ID:	1474115
            • Function Find Deployable Hex Tiles (personally created function)
            Click image for larger version

Name:	FindDeployableHexTiles.png
Views:	83
Size:	61.0 KB
ID:	1474117

            Now, I'm assuming I'm implementing this ConvertIndexesToLocations and SpawnTileMarkerAtLocation wrong. I found your function called FindTilesInRange and tried to implement in a similar way. Can't really figure out what I'm doing wrong, maybe there is "a piece" missing?
            Attached Files
            Last edited by Mivke1; 05-10-2018, 03:41 PM. Reason: See post.

            Comment


              Originally posted by Monokkel View Post


              Sure, it is possible, though there are a few steps to it. Movement in the toolkit works by the unit first simulating movement by essentially moving a reference of the unit from cell to cell in the GridUnits map. After this the grid indexes are converted to actual in-game locations and the unit actor is moved between these locations using a spline.

              So for a trap you would want to add a check to each step of the movement simulation that sees if anything happens on that specific tile before proceding to the next. If a trap is found and that trap is supposed to stop the unit you need to make sure only the grid indexes up to the index of the trap are converted to locations.

              There is an event dispatcher in the toolkit created for just this sort of thing. If you look in the SimulateMove function of BP_Unit you can see that the "OnEnterTileSimulate" event dispatcher is called whenever a unit enters a new tile (during simulation).

              You can bind an event in your trap actors to this event dispatcher. When the dispatcher is called, compare the grid index to the trap to the grid index output from the OnEnterTileSimulate dispatcher. If they are the same that means that the unit has entered the tile of the trap.

              At this point you deal damage to the unit. Then, if you want movement to stop you first want to stop the simulated movement. In the SimulateMove function add a branch that exits the loop if true, similar to the "contains" node for the GridUnits map that is currently in the SimulateMove function. Set whatever variable is input to this branch to true when the trap is entered to stop the simulated movement.

              Now you need to make sure to only pass the locations up to the tile index of the trap into the QueueAction macro, instead of the entire path. You can do this by storing the index of the trap when it is triggered, using Find on the PathIndex array to find the array index of this grid index and use this to create a new array of locations from the PathLocations array stopping at the index found in the last step and feeding this into the move action. You would then want to queue an animation for displaying the unit being hurt by the trap right after the move action has been queued (as it happens right after movement stops).

              Those are the steps I would go through to create something like this. It is a bit complex, I know, so let me know if you have any questions.
              Hello there again,

              I figured out how to check if the unit passes the tile, the damage part works but activates when the unit reaches the clicked target index instead of on the trap index. I tried breaking the loop on simulate movement but it just keeps running. Where do i need to put the branch? Isnt is possible when the player click on a target location and the trap in the pathway to change the target location to the trap location and simulate movement again?

              Thanks for the fast reaction and sorry for the newbie question

              Comment


                Originally posted by Mivke1 View Post

                You are correct. However, having the data of deployable or not in the tile itself is good practice, right? What you argued in the last post is simply using set vs using map, just so I understand you correctly?
                All depends on how you're going to use it. If which tiles that are deployable are never changed during gameplay then you are using slighly less memory for storing the information and less time to access it if using a set, so that can be seen as best practice if you look at it that way. In this case the impact should be completely negligable, though, so do whatever makes senst to you.

                Originally posted by Mivke1 View Post
                Another question now that I've come this far:
                The multiplayer works with connection and traveling very nicely, but the client does not have control over any units. Is there something I'm doing wrong or is that not yet setup in the toolkit? If so, do you gave some plan on where to set that up most logically?
                For my project each player will control only one unit (with some exceptions) but I would like for them to all be the same faction.
                There is a controlling player variable in the config variables of BP_Unit. Set this to the same value for all units that should be controlled by a single player.

                Originally posted by Mivke1 View Post
                Cheers man, the further I get into this toolkit the more I like it
                Good to hear! I put a lot of thought into structure when I refactored the toolkit and hope it all makes sense.

                Originally posted by Mivke1 View Post
                Yet another question related to the deployability of the tiles. I would like to add a new static mesh on the tiles that are deployable in the deployment phase. I've tried duplicating your M_Blue_Transparent, SM_Marker_Move and SM_Marker_Move_Hex and did a M_Green_Transparent, SM_Marker_Deployable and SM_Marker_Deployable_Hex.
                Now, I'm having a hard time figuring out where and how you are applying your static meshes to the tiles. What I've done so far (all in the GridManager) is:

                Now, I'm assuming I'm implementing this ConvertIndexesToLocations and SpawnTileMarkerAtLocation wrong. I found your function called FindTilesInRange and tried to implement in a similar way. Can't really figure out what I'm doing wrong, maybe there is "a piece" missing?
                Hmm, I honestly don't see what is going wrong here. Try debugging it. Use print nodes at various points throughout your new functions to print the values generated along the way and try to see where it breaks. For instance, loop through and print the locations you are getting and check if they correspond to the locations of your deployment tiles.

                Originally posted by Nobleactual View Post

                Hello there again,

                I figured out how to check if the unit passes the tile, the damage part works but activates when the unit reaches the clicked target index instead of on the trap index. I tried breaking the loop on simulate movement but it just keeps running. Where do i need to put the branch? Isnt is possible when the player click on a target location and the trap in the pathway to change the target location to the trap location and simulate movement again?

                Thanks for the fast reaction and sorry for the newbie question
                Hey, you're solution sounds like a pretty good one actually, and probably more elegant than my own in this case. So you need to remember that you need to do things twice, in a sense. Once when simulated and once when animating. If you are breaking movement whensimulating (which is what you are doing with my suggestion), but still outputting all the same locations when animating movement it will seem like the units is still moving all the way, even though grid-wise it has stopped at the trap tile.This leaves you in a situation that whay the player sees and what the computer has to work with is different, which you obviously don't want.

                One way to implement your suggestions would be to add output nodes to the SimulateMove function. A boolean designating whether movement stopped early and an integer with the path index where the movement stopped. Now you can create a new path array where you include only the indexes up to and including the path index where movement broke. Convert these to locations in the same way that it is done regularly with the path indexes array and use this for input to animate movement if you bMovementBroke (or whatever) boolean is true.
                Advanced Turn Based Tile Toolkit (Marketplace - Support)

                Dungeon Crawler Toolkit (Marketplace - Support)

                Discord

                Comment


                  Originally posted by Monokkel View Post
                  All depends on how you're going to use it. If which tiles that are deployable are never changed during gameplay then you are using slighly less memory for storing the information and less time to access it if using a set, so that can be seen as best practice if you look at it that way. In this case the impact should be completely negligable, though, so do whatever makes senst to you.

                  There is a controlling player variable in the config variables of BP_Unit. Set this to the same value for all units that should be controlled by a single player.

                  Good to hear! I put a lot of thought into structure when I refactored the toolkit and hope it all makes sense.

                  Hmm, I honestly don't see what is going wrong here. Try debugging it. Use print nodes at various points throughout your new functions to print the values generated along the way and try to see where it breaks. For instance, loop through and print the locations you are getting and check if they correspond to the locations of your deployment tiles.
                  Hey man, thanks for the help. I got it working finally with the new static meshes for the deployable tiles. I'm not sure actually what was the problem, I think it was partly me calling the meshes before GridManager had activated AND me finding that slot name for the material in the Static Meshes for the markers. Anyways, seems to work nicely now so I will not tinker anymore.
                  Do you want the information on how I'm handling the ServerTravel and OnPostLogin-issues created by ServerTravel btw or is it redundant?

                  Take care man, make sure to rest aswell between aswering my noob questions and work

                  Comment


                    Originally posted by Mivke1 View Post

                    Hey man, thanks for the help. I got it working finally with the new static meshes for the deployable tiles. I'm not sure actually what was the problem, I think it was partly me calling the meshes before GridManager had activated AND me finding that slot name for the material in the Static Meshes for the markers. Anyways, seems to work nicely now so I will not tinker anymore.
                    Do you want the information on how I'm handling the ServerTravel and OnPostLogin-issues created by ServerTravel btw or is it redundant?

                    Take care man, make sure to rest aswell between aswering my noob questions and work
                    Glad it is working, as I did not see anything wrong with the graphs themselves, so that the ordering was wrong makes sense.

                    I'd love to see how you're handling OnPostLogin and ServerTravel. I have not had the time to look at that myself yet, so seeing a working implementations should save me a lot of time.
                    Advanced Turn Based Tile Toolkit (Marketplace - Support)

                    Dungeon Crawler Toolkit (Marketplace - Support)

                    Discord

                    Comment


                      Monokkel I don't have a background in coding so I'm curious where I should start learning. I was reading online that either VisualC# or C++ would be helpful but in your opinion what programming language should I focus on learning to get the most out of your toolkit? I would love to be able to expand upon what you have already in the toolkit but I find myself lost trying to figure out where and how a lot of things are called for in the blueprints. I've noticed that your blueprints are very organized so it's probably just a matter of me not really knowing much about programming. I've also tried to learn what I can from your support thread here but I understand a lot of the earlier pages may not be as applicable anymore with the changes from the recent updates. I'm honestly up for any advice you can give to a complete novice trying to make a solo project.

                      Edit : I should probably note that I'm slowly working my way through all of the Unreal Library Blueprint tutorials on youtube so that might help me a bit.
                      Last edited by OperatorCrux; 05-14-2018, 06:19 AM.

                      Comment


                        OperatorCrux: If you want to develop games in Unreal Engine I would certainly recommend you choose to learn C++ over C#, since that is the language UE4 uses. The main reason you would want to learn C# for game development is is you want to use Unity, since it uses C# as its scripting language (even though the engine is built in C++). Know that UE4 uses a version of C++ that uses a lot of custom macros and so is a bit different to work with than regular C++. However if you are proficient in blueprints you will find a lot of these quirks particular.

                        Know that you do not need to know C++ to develop games in UE4, though. This toolkit is developed entirely using blueprints, for instance. I personally didn't begin to learn C++ until long after I released this toolkit. What stuff should be coded in C++ and what is better done in blueprints is a contested issue you can see discussed frequently on these forums and other places, but you can be confident that almost anything you would do in C++ for game development can also be done in blueprints, though one approach is sometimes more practical than the other.

                        For Unreal Engine I would recommend first becoming proficient with blueprints, then do some basic tutorials on C++ and then learn UE4's particular implementation while working on a project. Personally I first did some introductory programming tutorials before learning blueprints just to understand some basic programming concepts. For this the language does not really matter that much, as the introductory courses for all languages will go through stuff like variable types, if-statements, loops etc. that are common to all languages (and blueprint scripting is a scripting language). I did the Python tutorial on Codecademy before learning blueprints and felt it helped me a lot, but any similar tutorial for any scripting language should do. After that going through Epic's official blueprint tutorials is what I would do next. After that you could try to make a simple game in blueprints. When you feel proficient enough in blueprint scripting you could consider learning C++. Ben Tristem has a great tutorial series on C++ in Unreal Engine on Udemy which I learned a lot from. Note that this is costs money and if you want to buy it make sure to do it when it is on sale. Udemy tutorials should as a rule never be bought for full price, but only when they are discounted by like 90% (which they do all the time). It is a bit of a scummy business practice, but I guess it sells more tutorials.

                        Anyways, if UE4 is your engine of choice I would begin mastering blueprints even if you want to use C++ somewhere down the line because of all the custom macro stuff that will make a lot more sense if you know blueprints. Others might give you different recommendations but those are my five cents.
                        Advanced Turn Based Tile Toolkit (Marketplace - Support)

                        Dungeon Crawler Toolkit (Marketplace - Support)

                        Discord

                        Comment


                          Monokkel Thank you so much for the recommendations. I checked Udemy and they're actually having one of those sales right now for Mother's Day where it's $10. I went ahead and picked it up for future use. I'm gonna start on Python with Codecademy and move on to learning blueprints from there. Cheers.

                          Comment


                            OperatorCrux I would second what Monokkel said in every way. That is an awsome answer. I am myself in excactly your shoes, I started watching some Java-tutorials before I knew about UE4 but it still helped a ton with the basic programming concepts. Also, two things I would add.
                            1. Give it time. It will sink in eventually, even though you have no idea what is what at the beginning. I'm just now starting to understand this toolkit somewhat but sometimes it's hard not to get frustrated because of something not working and you can't understand why. Which leads me to...
                            2. Stick with it. Eventually you will find the answer. Walk away when you feel it get's too boring, come back later. I was just now when starting working on this toolkit banging my head for like 1 month at one problem, which turned out to be an engine bug. Was super boring just debugging and debugging but I realize now when it's done that it gave me a lot of understanding, deeper understanding than when everything works on your first try

                            Also, take my advice with a grain of salt as I'm still just a n00b

                            Comment


                              To everyone: ATBTT version 1.82 has been sent to Epic and should hopefully be live soon. It includes several bug fixes as well as the re-adding of the 2D example. The 2D example has been remade from scratch using many of the new systems introduced in 1.8, including the action system and the GridObjects array. Check it out if you need inspiration for ways to have interactable objects and tiles as well as fog-of-war ++ Big unit support has also been improved, though is still experimental.

                              Originally posted by OperatorCrux View Post
                              Monokkel Thank you so much for the recommendations. I checked Udemy and they're actually having one of those sales right now for Mother's Day where it's $10. I went ahead and picked it up for future use. I'm gonna start on Python with Codecademy and move on to learning blueprints from there. Cheers.
                              Ok, sounds good. As mentioned the tutorials there are on sale more than half the time, so it is really just a sly marketing trick to increase their percieved value. Thankfully the actual practical value is still much higher than what you pay for the tutorial on sale.

                              Originally posted by Mivke1 View Post
                              OperatorCrux I would second what Monokkel said in every way. That is an awsome answer. I am myself in excactly your shoes, I started watching some Java-tutorials before I knew about UE4 but it still helped a ton with the basic programming concepts. Also, two things I would add.
                              1. Give it time. It will sink in eventually, even though you have no idea what is what at the beginning. I'm just now starting to understand this toolkit somewhat but sometimes it's hard not to get frustrated because of something not working and you can't understand why. Which leads me to...
                              2. Stick with it. Eventually you will find the answer. Walk away when you feel it get's too boring, come back later. I was just now when starting working on this toolkit banging my head for like 1 month at one problem, which turned out to be an engine bug. Was super boring just debugging and debugging but I realize now when it's done that it gave me a lot of understanding, deeper understanding than when everything works on your first try

                              Also, take my advice with a grain of salt as I'm still just a n00b
                              Some good input for motivation, Mivke. If any of you are interestred I did a write-up on my experience of developing and releasing this toolkit soon after it was done. At that point I had used UE4 for a bit less than a year, so closer to where you guys are now.
                              Advanced Turn Based Tile Toolkit (Marketplace - Support)

                              Dungeon Crawler Toolkit (Marketplace - Support)

                              Discord

                              Comment


                                This is great, Thanks!

                                Any tips on the best way to update an existing project to 1.82?

                                btw, i get a message "waiting for other players" and cant move any units when i play the example map. This is on a fresh create project after updating to 1.82.

                                Comment

                                Working...
                                X