Announcement

Collapse
No announcement yet.

Tower Defense Starter Kit: Support Thread

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

  • #61
    The v1.4.2 update is now live on the Unreal Engine Marketplace. This update officially adds support for v4.13 of the Unreal Engine & introduces the following changes to the product:

    - The Camera Zoom workflow which previously relied upon a step zoom system implemented within the player pawn class, has been replaced with a modular component based system that supports both Smooth Zoom as well as Step Zoom functionality. Adding a zoom system to a custom pawn or changing the existing system type is now as easy as adding the Smooth Zoom or Step Zoom component to the pawn blueprint, alongside the required Camera Zoom interface & it's functions.
    - Fixed a bug that caused the Mining Tower to display incorrect 'MiningRate' stats when hovering over the upgrade button.

    Known Issues:

    - If the Global Ability Button is used, the editor might display a warning once that instance of the game is closed. This can be fixed by opening up the 'Widget_GlobalAbilitesButton' class & then setting the 'Is Focusable' parameter to true within the detail panel as shown below: [The issue will be rectified in the next update]

    Click image for larger version

Name:	focus.jpg
Views:	1
Size:	195.7 KB
ID:	1116552
    Dev blog: Unreal Possibilities
    Youtube channel
    FPS Tower Defense Toolkit Support Thread: https://forums.unrealengine.com/show...efense-Toolkit
    Top Down Stealth Toolkit Support Thread: https://forums.unrealengine.com/show...tealth-Toolkit
    Tower Defense Starter Kit Support Thread: https://forums.unrealengine.com/show...Support-Thread

    Comment


    • #62
      The v1.5 update has been submitted to the Marketplace team. The update primarily focuses on introducing two new changes to the toolkit:

      - The existing Enemy AI design has been revamped with a focus on component based design.
      - A new Global Ability that allows the player to summon Tower Guardians along the enemy path to block enemy units & engage them in combat.

      A more detailed account will be made available once the update officially hits the marketplace.
      Dev blog: Unreal Possibilities
      Youtube channel
      FPS Tower Defense Toolkit Support Thread: https://forums.unrealengine.com/show...efense-Toolkit
      Top Down Stealth Toolkit Support Thread: https://forums.unrealengine.com/show...tealth-Toolkit
      Tower Defense Starter Kit Support Thread: https://forums.unrealengine.com/show...Support-Thread

      Comment


      • #63
        Update 5 (v1.5) has gone live on the Unreal Engine Marketplace. This is a v4.13 exclusive update & listed below are the main changes introduced in this update:

        1. Implemented a new & improved component based Threat Detection system for the Creep AI. The two new components - Visual Perception & Threat Response together form a modular system that enables creation of new AI as well as extending features of existing AI with ease. Here is a brief overview of the components:

        Visual Perception component: This component uses a combination of distance, angular, & line trace based checks to relay information about the highest priority target to the owning actor.

        Threat Response component: This component comes into play once the owning actor has acquired an active target. It determines whether to move to/attack the active target based on the distance to it. The final decision is then relayed back to the parent actor for execution. For example, an attack order to melee parent actor would be executed in a different manner when compared to the execution by a ranged parent actor.

        The components act independently & are not aware of the existence of other components. They are only aware of their own existence as well as that of the owning actor. Any information that is being relayed between these components happen through the parent class & interface functions. This facilitates creation of new creep types with different combination of components [along with their associated interfaces]. For example, all creep classes are now equipped with the Threat Response component by default, while the Ranged creep class will use the Visual Perception component as well, thus enabling it to attack towers along it's path.

        2. Added a new Global Ability - 'Tower Guardians' than allows the player to summon Tower Guardians along the enemy path to block enemy units & engage them in combat. Each Tower Guardian can be used to lock down one enemy unit in combat, thus providing the nearby towers with an opportunity to take down the locked target. This is especially useful against fast moving or tanky creeps as the Tower Guardians can block them long enough for the Towers to inflict massive damage. The ability works on a cooldown & hence can be used multiple times similar to the Airstrike. However in order to prevent the player from spawning an endless supply of Tower Guardians between the waves, the Tower Guardians are set to have a definite lifespan, which causes them to die after a certain period of time has elapsed.

        The Tower Guardians also use the aforementioned Visual Perception & Threat Response components to acquire & attack their targets. A Tower Guardian will always try to lock on to a creep that is not locked into combat with another Tower Guardian. But if there are no other non-locked creeps in the vicinity, it will lock on to another locked creep. However as soon as it detects a non locked creep, it will perceive this new target as the highest priority threat & move in to attack it.

        Any creep that is locked in to combat by a Tower Guardian will stop all movement until the lock has been lifted, which happens only if the Tower Guardian is destroyed. The Tower Guardian, on the other hand will move towards it's target until it's within the attack range. The locked creep will keep evaluating it's distance to the Tower Guardian & commence assault once the Tower Guardian is within it's attack range.

        Preview Video (Tower Guardians):




        Gameplay demo of the v1.5 Tower Defense Starter Kit (Windows): https://www.dropbox.com/s/epyjcj9y1f...20Demo.7z?dl=0

        All changes within the blueprints are marked with the boolean variable 'Version1.5' in order to easily identify the workflow changes introduced with this update. Comments are also written to describe the major changes. The new variables as well as functions added to existing blueprints are also marked in the event graph as shown below:

        Click image for larger version

Name:	15.jpg
Views:	1
Size:	226.0 KB
ID:	1117466

        ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

        Changes in the Content Browser:

        - Added new actor components: BPC_ThreatResponse, BPC_VisualPerception, & BPC_TowerGuardiansAbility.

        - Added new character blueprint: BP_FriendlyAI_TowerGuardian.

        - New item added to enum 'EGlobalAbilities'.
        Last edited by Stormrage256; 10-25-2016, 07:12 AM.
        Dev blog: Unreal Possibilities
        Youtube channel
        FPS Tower Defense Toolkit Support Thread: https://forums.unrealengine.com/show...efense-Toolkit
        Top Down Stealth Toolkit Support Thread: https://forums.unrealengine.com/show...tealth-Toolkit
        Tower Defense Starter Kit Support Thread: https://forums.unrealengine.com/show...Support-Thread

        Comment


        • #64
          Tower Defense Starter Kit Tutorial: How to add new levels to the Level Selection Menu

          The Tower Defense Starter Kit comes equipped with a level selection menu that enables players to choose from a list of levels as shown below:

          Click image for larger version

Name:	lsm.jpg
Views:	1
Size:	63.2 KB
ID:	1118835

          The toolkit contains three playable maps & one main menu map by default, & supports usage of new custom maps as well. The following steps go over the process of adding your own custom levels into the toolkit:

          1. Create a new custom level from the Content Browser.

          2. Open the 'BP_GameInstance' blueprint within the Blueprints folder & select the variable 'LevelDataArray'. It should have four entries by default: one for the main menu & three for the sample maps. To add our new custom map, first add a new element to this array.

          Each element of this struct array contains the following attributes: ID, ScreenName, FileName, Image, & Unlocked. The ID is used to set the level number, starting with '0' for the main menu level. It is not used for any calculations & serves only to provide a means for classification of levels. The ScreenName determines the name that would be displayed for the corresponding entry in the level selection menu. The FileName is used to store the address of the level asset. The Image is used to display a preview shot of the map within the level selection menu, & the Unlocked attribute determines if the level would be unlocked by default. If it isn't, it will be unlocked, as soon as the player completes the level linked to the previous entry within the Level Data Array.

          3. Fill out the attributes mentioned above for the new level data element. Make sure to copy the name of the new custom map asset within the content browser & paste it into the FileName attributes. Here is a sample entry for a new level that I created:

          Click image for larger version

Name:	ldata.jpg
Views:	1
Size:	230.3 KB
ID:	1118836

          4. Now close the project & delete the 'Saved' folder within the project folder. This ensures that the changes made to the Level Data Array do not get overridden by information specified in an existing save game file.

          5. Now open the project, open up the main menu level from the 'Maps' folder within the Content Browser, & launch an instance of the game. The level selection menu will now display information about the new level, provided that it's been set to Unlocked. Here is a sample screenshot with the new custom level:

          Click image for larger version

Name:	nmap.jpg
Views:	1
Size:	137.7 KB
ID:	1118837
          Dev blog: Unreal Possibilities
          Youtube channel
          FPS Tower Defense Toolkit Support Thread: https://forums.unrealengine.com/show...efense-Toolkit
          Top Down Stealth Toolkit Support Thread: https://forums.unrealengine.com/show...tealth-Toolkit
          Tower Defense Starter Kit Support Thread: https://forums.unrealengine.com/show...Support-Thread

          Comment


          • #65
            Tower Defense Starter Kit Tutorial: How to create new Global Abilities

            [Note: I've reduced the pixel quality of the sample screenshots to make it easier to load in the forum page. If the images are not clear enough, you can check out higher quality versions from the associated blog post at Unreal Possibilities: https://unrealpossibilities.blogspot...orial-how.html]

            The Tower Defense Starter Kit is equipped two default inbuilt Global Abilities: Airstrike & Tower Guardians. This tutorial goes over the steps involved in creating & adding a new custom Global Ability.

            1. First we need to add a new entry to the enum 'EGlobalAbilities' to depict our new custom Ability. I'm going to add an entry named Shockwave, & this particular sample ability will reduce the health of all enemy units in the level.

            2. Now we will create an actor component that contains the core functionality of this ability. Basically these ability components will be added to an actor named 'Global Ability Deployer' [which as the name suggests acts as a container for the component], when the ability is activated by the player at runtime.

            As shown in the screenshot below, I've added the logic for retrieving references to all enemy bots in the level, & then reduce their health by a certain amount. Once the job is done, the component requests the owning actor [Global Ability Deployer as mentioned above] to destroy itself. We're doing this because the deployer comes into action only when the ability has been activated.

            Click image for larger version

Name:	GACompLogic.png
Views:	1
Size:	249.6 KB
ID:	1120341

            3. With the custom enum & actor component set in place, it is now possible to add a new entry into the Global Abilities Array within the BP_GameInstance class. For this new member of the array, set the 'AbilityType' parameter to the new enum entry we created earlier; the 'AbilityComponentClass' to the new custom actor component; 'AbilityNameAbbreviation' to the text displayed on the Global Ability Button; 'RechargeDuration' value to the amount of time it takes for the ability to recharge; & finally the 'Unlocked' parameter [it does not do anything at the moment & is reserved for potential future uses] to true. Here's a screenshot depicting the array entry for my new Shockwave ability:

            Click image for larger version

Name:	GAArray.png
Views:	1
Size:	262.4 KB
ID:	1120342

            The In-Game HUD takes the data from this array & dynamically displays the Global Ability buttons based on the specified information, thus reducing the need to make any changes to the associated HUD blueprints when abilities are added or removed.

            4. Now all that's left is to tell the Global Ability Deployer to handle this new ability. As depicted in the screenshot below, the Deployer will have information regarding the type of ability activated by the player. Using this information, it adds the associated ability component to itself. So when the switch case encounters the Shockwave ability, we just have to add our new Shockwave ability component.

            Click image for larger version

Name:	GADAddComp.png
Views:	1
Size:	310.8 KB
ID:	1120343
            Last edited by Stormrage256; 12-20-2016, 10:57 AM.
            Dev blog: Unreal Possibilities
            Youtube channel
            FPS Tower Defense Toolkit Support Thread: https://forums.unrealengine.com/show...efense-Toolkit
            Top Down Stealth Toolkit Support Thread: https://forums.unrealengine.com/show...tealth-Toolkit
            Tower Defense Starter Kit Support Thread: https://forums.unrealengine.com/show...Support-Thread

            Comment


            • #66
              Tower Defense Starter Kit Tutorial: How to create custom Enemy Units

              [Note: I've reduced the pixel quality of the sample screenshots to make it easier to load in the forum page. If the images are not clear enough, you can check out higher quality versions from the associated blog post at Unreal Possibilities: https://unrealpossibilities.blogspot...al-how_28.html]

              The Tower Defense Starter Kit comes equipped with four types of Enemy AI units that all derive from the parent blueprint 'BP_EnemyAI_Parent'. As the name suggests, this tutorial goes over the process of adding your own new customized AI units into the mix.

              1. First add a new entry to the enum 'ECreepType. I'm going to call it Exploder as I want this new AI unit to explode when destroyed, thus dealing heavy damage to all Tower Guardians/Towers caught in the explosion.

              2. Now create a new child blueprint derived from the 'BP_EnemyAI_Parent' class. By inheriting from this class, our new AI unit will have all the basic capabilities that will be required of it including damage & threat response mechanisms, movement logic, etc. At this point, all you have to do is to set the skeletal mesh & animation blueprint from it's components tab based on your requirements.

              3. Set values for the default 'User Defined' attributes of this unit & add new variables named 'Explosion Damage' & 'ExplosionDamageRadius' as shown in the screenshot below:

              Click image for larger version

Name:	ExploderClass.png
Views:	1
Size:	373.6 KB
ID:	1120639

              4. Now override & extend the 'End Play' event of the parent class by adding the explosion damage application logic as shown in the previous screenshot.

              [Note: Steps 5 & 6 are only required if you intend to use the Group Based Wave Generation System from the Wave Manager.]

              5. Head over to the 'BP_EnemySpawnPoint' blueprint & add a custom event similar to the other SpawnCreepBatch events present in it's Event Graph. Check out the next screenshot to see how it's done. Basically this takes care of the creep spawning mechanism, once the wave generator has decided to spawn this particular type of creep.

              Click image for larger version

Name:	ESP.png
Views:	1
Size:	370.0 KB
ID:	1120640

              6. Now the Wave Manager needs to know that it can call this Event to spawn a batch of Exploder bots. So make the changes marked in red in the next screenshot, within your wave manager blueprint:

              Click image for larger version

Name:	WMEcall.png
Views:	1
Size:	458.0 KB
ID:	1120641

              7. All that's left now is to add our new Exploder bot into the Wave Data Array as shown in the example below:

              Click image for larger version

Name:	WDAEntry.png
Views:	1
Size:	415.6 KB
ID:	1120642


              With that, we have covered the steps involved in creating a very basic Enemy AI template. All classes derived from the EnemyAI_Parent class will be capable of engaging in melee combat with the Tower Guardians. If you want your custom AI bot to engage in ranged combat with the Towers as well, just follow the logic implemented within the BP_EnemyAI_Ranged blueprint.
              Dev blog: Unreal Possibilities
              Youtube channel
              FPS Tower Defense Toolkit Support Thread: https://forums.unrealengine.com/show...efense-Toolkit
              Top Down Stealth Toolkit Support Thread: https://forums.unrealengine.com/show...tealth-Toolkit
              Tower Defense Starter Kit Support Thread: https://forums.unrealengine.com/show...Support-Thread

              Comment


              • #67
                Just wanted to make sure that the price is $29.99 and unlike the previous time, there was no error in displaying the price?

                Comment


                • #68
                  Originally posted by wiccawiz View Post
                  Just wanted to make sure that the price is $29.99 and unlike the previous time, there was no error in displaying the price?
                  Sorry for the late reply, I did not receive a notification for the comment. The pricing of the product has remained at USD 29.99 for quite a long time. But I think it varies between USD 29.99 & 34.99 depending on the country from which you're purchasing it [More details here: https://forums.unrealengine.com/show...-prices-EU-VAT]. So the issue pointed out in one of the earlier comments was probably a result of that & the launch price of the product being USD 24.99.
                  Last edited by Stormrage256; 01-27-2017, 03:14 AM.
                  Dev blog: Unreal Possibilities
                  Youtube channel
                  FPS Tower Defense Toolkit Support Thread: https://forums.unrealengine.com/show...efense-Toolkit
                  Top Down Stealth Toolkit Support Thread: https://forums.unrealengine.com/show...tealth-Toolkit
                  Tower Defense Starter Kit Support Thread: https://forums.unrealengine.com/show...Support-Thread

                  Comment


                  • #69
                    Update 6 (v1.6) has gone live on the Unreal Engine Marketplace. This is a v4.14 exclusive update & listed below are the main changes introduced in this update:

                    1. Added a new component to handle the 'Lock-on System' for Towers. The core functionality of the towers remain the same, but moving the aforementioned feature out of the tower using a modular component based approach should significantly improve the workflow involved in adding new custom Towers.

                    As of this update, towers like the Laser Tower, Machine Gun Tower, Sniper Tower, & the Artillery Tower, that focus on a single target actor/region are equipped with the new Turret Lock-on system.

                    2. Added a new AI class: the Tower Disabler. The Tower Disabler bots periodically triggers EMP waves that temporarily deactivate nearby towers. Deactivated towers cease to perform their core functions & do not respond to player-driven UI operations like Upgrades, Tower Abilities, etc.


                    Gameplay demo of the v1.6.1 Tower Defense Starter Kit (Windows): https://www.dropbox.com/s/7wx5blp48k...20Demo.7z?dl=0

                    All changes within the blueprints are marked with the boolean variable 'Version1.6' in order to easily identify the workflow changes introduced with this update. Comments are also written to describe the major changes. The new variables as well as functions added to existing blueprints are also marked in the event graph as shown below:

                    Click image for larger version

Name:	v16.png
Views:	1
Size:	343.7 KB
ID:	1122124

                    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

                    Changes in the Content Browser:

                    1. Added new actor component: BPC_TurretLockOnSystem.

                    2. Added new character blueprint: BP_EnemyAI_TowerDisabler.

                    3. Added new entry to the enum 'ECreepType': Disabler.

                    4. Added new interface: BPI_TurretLockOnSystem.
                    Last edited by Stormrage256; 04-07-2017, 04:36 AM.
                    Dev blog: Unreal Possibilities
                    Youtube channel
                    FPS Tower Defense Toolkit Support Thread: https://forums.unrealengine.com/show...efense-Toolkit
                    Top Down Stealth Toolkit Support Thread: https://forums.unrealengine.com/show...tealth-Toolkit
                    Tower Defense Starter Kit Support Thread: https://forums.unrealengine.com/show...Support-Thread

                    Comment


                    • #70
                      Hi, why cant i add other maps or even change its name or do anything with it in the LEVEL SELECT HUD? i changed stuff in the BP_gameinstance but its not enough i guess.

                      Comment


                      • #71
                        Originally posted by HeXtion View Post
                        Hi, why cant i add other maps or even change its name or do anything with it in the LEVEL SELECT HUD? i changed stuff in the BP_gameinstance but its not enough i guess.
                        Hi Hextion, I apologize for the delayed response. I had not been getting any notification from the forum for some reason. As for your query, I suppose that you're not seeing any changes to the HUD because it might be loading the data from a previous save game file. Since this file could potentially have the Level Data from before the changes, it might be getting loaded/saved back during every instance.

                        You can resolve this issue by deleting the 'Saved' folder within the main project folder. This should ensure that your new edited level data is being loaded the next time since it has no save file to load from. And thanks for pointing this out. I've added this information to the tutorial for the same.
                        Dev blog: Unreal Possibilities
                        Youtube channel
                        FPS Tower Defense Toolkit Support Thread: https://forums.unrealengine.com/show...efense-Toolkit
                        Top Down Stealth Toolkit Support Thread: https://forums.unrealengine.com/show...tealth-Toolkit
                        Tower Defense Starter Kit Support Thread: https://forums.unrealengine.com/show...Support-Thread

                        Comment


                        • #72
                          Tower Defense Starter Kit Tutorial: How to create custom Towers

                          The Tower Defense Starter Kit comes equipped with seven types of Tower classes that all derive from the parent blueprint 'BP_Tower_Parent'. As the name suggests, this tutorial goes over the process of adding your own new customized Towers into the mix.

                          1. First we're going to have to create a new Tower class. To keep things simple, I'm just going to duplicate one of the existing Tower classes named 'BP_ShockwaveTower' & name it 'BP_CustomShockwaveTower'.

                          If you want to create a tower from scratch, you can do so by creating a child class derived from the 'BP_Tower_Parent' class. The only extra step involved is the setting of static mesh/materials for the 'Tower' static mesh component as shown below:

                          Click image for larger version

Name:	towermesh.png
Views:	1
Size:	260.9 KB
ID:	1125743

                          2. Now we need to make an entry for the same in the 'ETowerType' enumeration. I'm just going to name it Custom Shockwave.

                          3. The next step in the process is to provide the default stats for our new Tower. Since the toolkit uses a data driven approach to Tower creation, all default user defined attributes for the Towers are specified within the Tower Data Array (in BP_GameInstance class). Again I'm going to duplicate the array element for Shockwave Tower, & change it's 'SpawnClass' & 'TowerType' attributes to 'BP_CustomShockwaveTower' & 'Custom Shockwave' respectively.

                          The remaining attributes can all be changed based on the specific requirements for the tower & tooltips have been provided to specify the modifications that each attribute brings to the table. Here is a sample screenshot for the custom Shockwave Tower:

                          Click image for larger version

Name:	tda.png
Views:	1
Size:	300.7 KB
ID:	1125744

                          4. Now that the default attributes are set up, we need to register the new Tower for Tower Functions which includes Upgrades, Abilities, etc. The 'Tower Functions Array' in the'BP_GameInstance' class determines the functions that are available to the different towers.

                          To avail all the functions for our new Tower, we just add the associated enum value to the 'Compatible Towers' list for each function as shown below:

                          Click image for larger version

Name:	tfa.png
Views:	1
Size:	281.4 KB
ID:	1125745

                          5. All that's left now is to make the necessary node connections that rely on the ETowerType enum. I've marked all of them in the screenshots below. Just connect the output nodes from the Custom Shockwave switch case to the designated input nodes as shown in the screenshots & the new tower should be good to go.

                          'Widget_TargetInformation':

                          Click image for larger version

Name:	switch1.png
Views:	1
Size:	400.0 KB
ID:	1125746

                          'Widget_TowerSelectionButton':

                          Click image for larger version

Name:	switch2.png
Views:	1
Size:	380.4 KB
ID:	1125747

                          Click image for larger version

Name:	switch3.png
Views:	1
Size:	269.8 KB
ID:	1125748

                          Click image for larger version

Name:	switch4.png
Views:	1
Size:	300.1 KB
ID:	1125749

                          'Widget_LoadoutMenu':

                          Click image for larger version

Name:	switch5.png
Views:	1
Size:	309.4 KB
ID:	1125750

                          With that, we have covered the basic steps involved in creating a basic Tower class.
                          Dev blog: Unreal Possibilities
                          Youtube channel
                          FPS Tower Defense Toolkit Support Thread: https://forums.unrealengine.com/show...efense-Toolkit
                          Top Down Stealth Toolkit Support Thread: https://forums.unrealengine.com/show...tealth-Toolkit
                          Tower Defense Starter Kit Support Thread: https://forums.unrealengine.com/show...Support-Thread

                          Comment


                          • #73
                            Hello I just got this from the marketplace. When i place down grids in a new level i cannot interact with them. I have everything that is in the example maps. Is there something i can to reference it to somewhere? please let me know :P

                            Comment


                            • #74
                              Originally posted by Firezown View Post
                              Hello I just got this from the marketplace. When i place down grids in a new level i cannot interact with them. I have everything that is in the example maps. Is there something i can to reference it to somewhere? please let me know :P
                              Hello Firezown, could you confirm if you have already placed the actors marked within the red borders in the screenshot below?

                              Click image for larger version

Name:	test1.png
Views:	1
Size:	470.0 KB
ID:	1125816

                              If you've already done that, could you check out the 'Grid Cell Size' parameter under the User Defined section of the 'BP_GridManager' actor. I just noticed that it's set to a default value of zero while the sample maps use a value of 400 units. So just make sure that it's set to a positive value.
                              Dev blog: Unreal Possibilities
                              Youtube channel
                              FPS Tower Defense Toolkit Support Thread: https://forums.unrealengine.com/show...efense-Toolkit
                              Top Down Stealth Toolkit Support Thread: https://forums.unrealengine.com/show...tealth-Toolkit
                              Tower Defense Starter Kit Support Thread: https://forums.unrealengine.com/show...Support-Thread

                              Comment


                              • #75
                                Yeah i have all of those in the level. I also have the the grid cell size set at 500. Also i cannot use the abilities. It gives me the targeter but they dont do anything.Here is a video.

                                https://youtu.be/u56-gHPJ8gI

                                Comment

                                Working...
                                X