User Tag List

Page 2 of 4 FirstFirst 1234 LastLast
Results 41 to 80 of 121

Thread: Tower Defense Starter Kit: Support Thread

  1. #41
    0
    Infiltrator
    Join Date
    Sep 2014
    Posts
    15
    Hey tanka2d, the Mining tower is now available in the new v1.1 update for the toolkit. You can set resource caps & harvest rate, both of which can be upgraded. Since there were a lot of other huge improvements to the toolkit apart from just adding support for v4.11, the catapult tower will be added in the next update.
    Awesome, I'll have to check it out when I get a chance.

    I will need to send you my game progress when I have it up and running. I've modified to toolkit to create air units and AA towers.

  2. #42
    0
    Quote Originally Posted by tanka2d View Post
    Awesome, I'll have to check it out when I get a chance.

    I will need to send you my game progress when I have it up and running. I've modified to toolkit to create air units and AA towers.
    That would be great. I'm also doing some R&D on adding AA towers in the second update. It would be great to see if I can make some improvements to the model that I have in mind.

  3. #43
    0
    Infiltrator
    Join Date
    Sep 2014
    Posts
    15
    Quote Originally Posted by Stormrage256 View Post
    That would be great. I'm also doing some R&D on adding AA towers in the second update. It would be great to see if I can make some improvements to the model that I have in mind.
    I went about it in a fairly simple way.. I moved the range sphere up several thousand units, and did the same with the spawns that air units used. This wouldn't work in every game mode though, so it wouldn't be an ideal solution for you.

    You could add an enum for unit types such as air/ground/sea/etc. and use that as criteria for what towers can target.

  4. #44
    0
    Quote Originally Posted by tanka2d View Post
    I went about it in a fairly simple way.. I moved the range sphere up several thousand units, and did the same with the spawns that air units used. This wouldn't work in every game mode though, so it wouldn't be an ideal solution for you.

    You could add an enum for unit types such as air/ground/sea/etc. and use that as criteria for what towers can target.
    Sorry, I was actually talking about the Artillery tower. Got mixed up with AA tower. But still moving the collision sphere up is a pretty good move. It's better than what I had in mind. I will probably do it that way when adding an AA tower to the toolkit.

    As for the Artillery tower, I decided to make it kind of unique when compared to other offensive towers. So instead of just increasing the damage output per shot with upgrades, it will launch more explosive projectiles with each upgrade. You can adjust the impact location offset range, so that the projectiles don't all land at the same spot.

  5. #45
    0
    The v1.2 update has been submitted to the marketplace team.
    Last edited by Stormrage256; 07-02-2016 at 02:26 AM.

  6. #46
    0
    Update II (v1.2) has gone live on the Unreal Engine Marketplace. This is a v4.11 exclusive update & can hence be obtained by downloading the v4.11 project files from the Marketplace. Listed below is a brief overview of the code changes in the update:

    - Level Selection menu added to the toolkit. Supports unlocking of levels through player progression & maintains persistent level data across multiple instances of the game through backup save files. A minimalist main menu & loading screen included in the update as well. For more details, check out the official dev log: https://unrealpossibilities.blogspot.in/2016/05/tower-defense-starter-kit-v12-update_11.html

    - New Tower: Artillery Tower. Supports both constant impact time as well as constant launch angle based projectile pathing systems. For more details, check out the official dev log: https://unrealpossibilities.blogspot.in/2016/05/tower-defense-starter-kit-v12-update.html


    All changes within the blueprints are marked with the boolean variable 'Version1.2' 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:

    [Image moved to attachment view]

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

    Changes in the Content Browser:

    - New enums: EProjectilePathConstraints.

    - Member name changes/additions in the enum EHUDState.

    - New actor blueprints: BP_Projectiles & BP_ArtilleryProjectiles.

    - New structs: Struct_LevelData.

    - New towers: BP_ArtilleryTower.

    - New default game instance class: BP_GameInstance.

    - Removed BP_PlayerHUD blueprint.

    - New save game class: BP_SaveGame.

    - New widgets: Widget_LevelInformation, Widget_LevelListBox, Widget_LevelSelectionButton, Widget_LevelSelectionMenu, Widget_LoadingScreen & Widget_MainMenu.
    Attached Images Attached Images  
    Last edited by Stormrage256; 09-29-2016 at 01:27 AM.

  7. #47
    0
    Quote Originally Posted by doc.f View Post
    Hi, great toolkit! It would be nice to see something like mission select system with progress save in future updates. What you think?
    Hey doc.f, thanks for your suggestion. The new v1.2 update features a Level Selection menu with persistent player progression across multiple game instances based on backup saves.

  8. #48
    0
    The new v1.3 update for Unreal Engine v4.12 has been submitted to the marketplace.

  9. #49
    0
    How difficult would it be to make this work on mobile? Any idea? Thanks! Looks great.

  10. #50
    0
    Quote Originally Posted by itsalwayssummer View Post
    How difficult would it be to make this work on mobile? Any idea? Thanks! Looks great.
    I have not yet tried working on mobile projects. But I could try deploying it in my mobile devices & let you know in a couple of days. In any case, I'm assuming that all the core features except perhaps the UI placement should work once you change the input settings to reflect a mobile game. So some parts of the UI, especially the target stats on the upper end of the screen might have to be altered, perhaps using icons instead of complete text, like they do in Kingdom Rush, in order to save space & increase readability.

    Apart from that, performance on mobile devices is not something that I'm particularly sure of. You would probably have to add object pooling, if you intend to make a map with a lots of projectile based towers & creeps. While I cannot promise mobile compatibility for the toolkit anytime soon, there are definite plans to add features like pooling in the near future, that would certainly make it easier to do the transition.

  11. #51
    0
    Quote Originally Posted by itsalwayssummer View Post
    How difficult would it be to make this work on mobile? Any idea? Thanks! Looks great.
    Sorry for the delay, I got caught up working on the updates for v4.12 & didn't get a chance to try it out. I just tried deploying it on my android device & the AI waves seem to be working fine, but it was not possible to interact with the 3D Tower Constructor widget for building towers. I haven't worked on mobile projects before, so I'm not entirely sure if 3D widgets are supported on mobiles or not, or if it's something else to do with the way controls & UI interaction are set up. I'll try going though it again sometime this week, & see if there's any solution to it.

    Edit: Alright, the Tower construction aspect is working when I removed the default on screen joystick from the project input settings.
    Last edited by Stormrage256; 07-04-2016 at 12:22 PM.

  12. #52
    0
    Quote Originally Posted by Stormrage256 View Post
    Sorry for the delay, I got caught up working on the updates for v4.12 & didn't get a chance to try it out. I just tried deploying it on my android device & the AI waves seem to be working fine, but it was not possible to interact with the 3D Tower Constructor widget for building towers. I haven't worked on mobile projects before, so I'm not entirely sure if 3D widgets are supported on mobiles or not, or if it's something else to do with the way controls & UI interaction are set up. I'll try going though it again sometime this week, & see if there's any solution to it.

    Edit: Alright, the Tower construction aspect is working when I removed the default on screen joystick from the project input settings.
    It's okay, I'm glad to hear it! Is there anything that still doesn't work on mobile? Thanks for testing it!

  13. #53
    0
    Quote Originally Posted by itsalwayssummer View Post
    It's okay, I'm glad to hear it! Is there anything that still doesn't work on mobile? Thanks for testing it!
    I will have to run a few more tests & see if all the inputs & level selection aspects are working. I'll let you know how it goes.

  14. #54
    0
    Quote Originally Posted by itsalwayssummer View Post
    It's okay, I'm glad to hear it! Is there anything that still doesn't work on mobile? Thanks for testing it!
    After some more changes, the toolkit was running fine on my Moto G3. The controls still need polishing, but there isn't a lot to change for deploying & running a packaged game in an android device. So I will add those extra bits of logic in the next update so that it will make it easier to test out the product on android devices.

    However I'm not officially adding support for mobile devices, as I'm not entirely sure if I can provide satisfactory support with my current level of experience working on Unreal mobile projects. Plus there are a lot of other new features that I want to implement before focusing on mobile support. So I could share the installer file for the packaged android demo with you before submitting the next update to the marketplace. You can try it out & make your decision based on that.

  15. #55
    0
    Quote Originally Posted by Stormrage256 View Post
    After some more changes, the toolkit was running fine on my Moto G3. The controls still need polishing, but there isn't a lot to change for deploying & running a packaged game in an android device. So I will add those extra bits of logic in the next update so that it will make it easier to test out the product on android devices.

    However I'm not officially adding support for mobile devices, as I'm not entirely sure if I can provide satisfactory support with my current level of experience working on Unreal mobile projects. Plus there are a lot of other new features that I want to implement before focusing on mobile support. So I could share the installer file for the packaged android demo with you before submitting the next update to the marketplace. You can try it out & make your decision based on that.
    Thank you so much for testing it, I would love to try it out before I decide on purchasing it.

  16. #56
    0
    The Tower Defense Starter Kit v1.4 update has been submitted to the Marketplace. The primary focus of this update is the introduction of Tower Abilities & Global Abilities. Other changes include structural improvements to code as well as bug fixes. More details will be made available as soon as the update gets published on the marketplace. Meanwhile a gameplay demo of the v1.4 Tower Defense Starter Kit (Windows) can be downloaded from:
    https://www.dropbox.com/s/cgw1oqz99486nl6/Tower%20Defense%20Starter%20Kit%20Sample%20Game%20Demo.7z?dl=0

    Input Controls for Demo:
    - WASD & Edge Scrolling >> Camera movement
    - Left Mouse button >> Tower/Creep selection, Grid Cell interaction, & Global Ability deployment
    - Mouse Wheel Up/Down >> Zoom In/Out
    - Enter >> Manually triggers new wave
    - F >> Set Full Screen
    Last edited by Stormrage256; 09-22-2016 at 09:07 AM.

  17. #57
    0
    Cheers for the demo! It convinced me to purchase it. I'm going to test it on mobile now!

  18. #58
    0
    Quote Originally Posted by itsalwayssummer View Post
    Cheers for the demo! It convinced me to purchase it. I'm going to test it on mobile now!
    Glad to hear that. The demo is a Windows executable file. As for mobiles, I've made some changes so that the functionality that previously was implemented for mouse clicks will now allow single touch based input as well. So you should be able to use all the core toolkit functionalities like tower placement, upgrades & tower abilities, unit stats display, global abilities, etc. I've not added movement and zoom functionality because I was not satisfied with the smoothness of the logic that I had written. So the map has been zoomed out enough by default thus facilitating tower placements in all three maps. However, if you want the movement controls for the same, just let me know. I'll mail you a screenshot. It should work, but I think that there is a better way to do it.

    Apart from that, there are some features like mouse cursor movement based grid cell highlights and global ability targeting reticule updates which would still function in the background if you are running it on mobiles. It's not necessary as you only need to react to player touch input. So let me know if you can't find out how to disable them.

    Edit: Oh and btw the update is not published on the marketplace yet. It was only submitted yesterday. So it should be available in a week's time.
    Last edited by Stormrage256; 08-15-2016 at 01:15 PM.

  19. #59
    0
    Update 4 (v1.4) has gone live on the Unreal Engine Marketplace. Listed below are the main code changes introduced in this update:

    1. Added a new function library BPFL_GetterFunctions to easily retrieve references to all the core gameplay actors. As a result, getting a reference to the Tower Manager or the Tower Data Array is now as easy as getting the player controller or the game mode.

    Preview Screenshot:

    Name:  getterfunclibrary.jpg
Views: 319
Size:  210.4 KB

    For more details about the implementation, check out the dev log at: Tower Defense Starter Kit v1.4 Dev Log #1: Getter Function Library

    2. The Towers now have access to special Tower Abilities which can enhance their capabilities for a short duration of time. The implementation basically expands upon the same system that drives the Tower Upgrade/Recycle functions, but uses a composition based approach to make sure that the abilities remain as independent modules that can be attached to actors. The two new Tower Abilities introduced in this update are Overdrive [amplifies the tower's output per cycle for a set duration] & Repair [regenerates the tower's armor over set period of time].

    Preview Screenshots:

    Name:  abilityselection.jpg
Views: 306
Size:  139.8 KB

    Name:  abilityactive.jpg
Views: 325
Size:  101.4 KB

    More abilities will be added in the future updates. For more details about the implementation, check out the dev log at: Tower Defense Starter Kit v1.4 Dev Log #2: Tower Abilities

    3. The toolkit is now equipped with a new Global Ability System, which makes it easy to add new abilities that can be activated anywhere on the map. This update introduces the first of these abilities: Airstrike [unleashes a series of explosive strikes at the targeted location].

    Preview Screenshot:

    Name:  GAHUD.jpg
Views: 313
Size:  152.8 KB

    Preview Video: [My video creation/editing abilities are really bad, but I think it will atleast serve to demonstrate the working of Global Abilities. Feel free to check out the free playable demo (download link listed below the features section), if you want to try it out yourself]



    More abilities will be added in the future updates. For more details about the implementation, check out the dev log at: Tower Defense Starter Kit v1.4 Dev Log #3: Global Abilities

    4. The BP_PlayerController class now manages all low level HUD requests [updating independent UI elements like tower points, selected actor stats, etc within the In Game HUD] thus acting as a single conduit through which all updates pass through.

    Name:  lowlevelhud.jpg
Views: 319
Size:  230.3 KB

    5. Added a new Grid Manager class to handle default grid properties & updates to the Grid Data Array.

    6. The BP_GameMode now handles initialization of all core gameplay actors from a single central location using a well designed workflow instead of the actors having to rely on Begin Play events or initializing each other. This ensures improved code clarity from the get go as shown in the screenshot below:

    Preview Screenshot:

    Name:  gamemodecoreinit.jpg
Views: 317
Size:  207.9 KB

    7. The Tower Data Array & Tower Functions Array have been moved from the Tower Manager class to the BP_GameInstance class. This ensures that implementing tower unlocks & any other sort of modifications to the Tower/Tower Function attributes will be as easy as editing this single instance of the Tower Data Array without having to worry about the instances of the Tower Managers within every single level.

    8. Fixed a bug that causes creeps to switch lanes immediately upon spawn [creating a flicker effect for less than a second] when using multi lane spline paths.

    9. Removed unnecessary collision/trace channel checks for Towers & Creeps.

    10. Removed Grid Snapping for towers when placed in the editor as the logic had conflicts with the new more data driven approach to Tower management. May be added back as an actor component in the future, if there are feature requests for the same.

    11. Fixed a bug introduced in the last update which caused creeps destroyed at Exit Point to add Tower Points.

    12. Other changes include improvements in code structure & modularity across most blueprints in the toolkit.


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


    All changes within the blueprints are marked with the boolean variable 'Version1.4' 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:

    Name:  v141.jpg
Views: 310
Size:  224.9 KB

    Name:  v142.jpg
Views: 300
Size:  223.2 KB

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

    Changes in the Content Browser:

    - SoundWave asset FirstPerson_WeaponFire renamed to SW_Explosion.

    - Added new SoundWave asset: SW_BulletFire.

    - Added new HUD blueprint: BP_PlayerHUD.

    - Enum EFocusedActorType renamed to ESelectedActorType.

    - Overdrive & Repair entries added to enum ETowerFunctions.

    - Removed enum: EHUDStatsType.

    - Added new enums: EDynamicHUDStats, EGlobalAbilities, & EStaticHUDStats.

    - Added new actor blueprints: BP_GlobalAbilityDeployer, BP_GridManager, & BP_TargetingReticule.

    - Removed Interface: BPI_TowerFunctions.

    - Added new Interface: BPI_TowerAbilities.

    - Added new projectile: BP_AirstrikeProjectile.

    - Added new Struct: Struct_GlobalAbilityData.

    - Added new members AbilityComponentClass & AbilityCost to Struct_TowerFunctions.

    - Added new material: M_TargetingReticule.

    - Added new static meshes: SM_AbilityTargetingReticule, SM_FoundationMesh, & SM_Projectile.

    - Added new texture: T_TargetingReticule.

    - Widgets Widget_HealthBar, Widget_TowerListBox & WidgetBP_EndGameHUD renamed to Widget_3DStatsBar, Widget_HorizontalSelectionList, & Widget_MissionSummary respectively.

    - Added new widgets: Widget_StatusEffect & Widget_GlobalAbilitesButton.
    Last edited by Stormrage256; 08-18-2016 at 01:59 AM.

  20. #60
    0
    The v1.4.1 update is now live on the Marketplace. This is a v4.12 exclusive update & fixes a bug that arises due to event access conflict, when multiple groups of the same creep class are spawned from different enemy spawn points within the same time frame.

    I haven't yet released the v4.13 update because of a new engine bug that interrupts the wave generator workflow under certain conditions. I'm assuming that it's caused by the registered bug 'UE-35609', which should be fixed in the v4.13.1 engine release. So once that's taken care of, the toolkit will receive the official v4.13 update.

  21. #61
    0
    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]

    Name:  focus.jpg
Views: 245
Size:  195.7 KB

  22. #62
    0
    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.

  23. #63
    0
    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/epyjcj9y1fvh0ca/Tower%20Defense%20Starter%20Kit%20Sample%20Game%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:

    Name:  15.jpg
Views: 230
Size:  226.0 KB

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

    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 at 07:12 AM.

  24. #64
    0
    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:

    Name:  lsm.jpg
Views: 212
Size:  63.2 KB

    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:

    Name:  ldata.jpg
Views: 205
Size:  230.3 KB

    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:

    Name:  nmap.jpg
Views: 210
Size:  137.7 KB

  25. #65
    0
    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.in/2016/12/tower-defense-starter-kit-tutorial-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.

    Name:  GACompLogic.png
Views: 176
Size:  249.6 KB

    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:

    Name:  GAArray.png
Views: 184
Size:  262.4 KB

    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.

    Name:  GADAddComp.png
Views: 189
Size:  310.8 KB
    Last edited by Stormrage256; 12-20-2016 at 10:57 AM.

  26. #66
    0
    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.in/2016/12/tower-defense-starter-kit-tutorial-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:

    Name:  ExploderClass.png
Views: 178
Size:  373.6 KB

    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.

    Name:  ESP.png
Views: 171
Size:  370.0 KB

    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:

    Name:  WMEcall.png
Views: 175
Size:  458.0 KB

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

    Name:  WDAEntry.png
Views: 173
Size:  415.6 KB


    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.

  27. #67
    0
    Supporter
    Join Date
    Jan 2017
    Posts
    1
    Just wanted to make sure that the price is $29.99 and unlike the previous time, there was no error in displaying the price?

  28. #68
    0
    Quote 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/showthread.php?81534-Marketplace-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 at 03:14 AM.

  29. #69
    0
    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/7wx5blp48kvsxiv/Tower%20Defense%20Starter%20Kit%20Sample%20Game%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:

    Name:  v16.png
Views: 160
Size:  343.7 KB

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

    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 at 04:36 AM.

  30. #70
    0
    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.

  31. #71
    0
    Quote 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.

  32. #72
    0
    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:

    Name:  towermesh.png
Views: 122
Size:  260.9 KB

    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:

    Name:  tda.png
Views: 115
Size:  300.7 KB

    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:

    Name:  tfa.png
Views: 114
Size:  281.4 KB

    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':

    Name:  switch1.png
Views: 117
Size:  400.0 KB

    'Widget_TowerSelectionButton':

    Name:  switch2.png
Views: 118
Size:  380.4 KB

    Name:  switch3.png
Views: 120
Size:  269.8 KB

    Name:  switch4.png
Views: 112
Size:  300.1 KB

    'Widget_LoadoutMenu':

    Name:  switch5.png
Views: 115
Size:  309.4 KB

    With that, we have covered the basic steps involved in creating a basic Tower class.

  33. #73
    0
    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

  34. #74
    0
    Quote 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?

    Name:  test1.png
Views: 111
Size:  470.0 KB

    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.

  35. #75
    0
    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

  36. #76
    0
    Quote Originally Posted by Firezown View Post
    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
    In order to activate Global Abilities, the actors that support targeting on their surfaces need to satisfy two conditions:

    1. The targetable surface needs to have the actor tag 'GlobalAbilityTarget'. This conditions determines if the ability can be deployed on a particular surface or not.

    2. It should block the 'GlobalAbilityTargeting' trace channel. Apart from the normally targetable surfaces like the AI Path meshes, this condition is also satisfied by the Kill Z volume as it helps the players track the reticule even when they the mouse cursor is focused on empty spaces as shown below:

    Name:  emptytrack.png
Views: 102
Size:  401.4 KB

    So basically the reticule remains white on areas like these where the ability cannot be deployed, & turns to red on deployable surfaces [based on condition 1) like the AI path meshes.


    And as for the lack of grid cell detection, could you try moving the Kill Z Volume actor a few thousand units below it's current position. It blocks all types of traces & I just want to make sure that it isn't blocking the traces before they hit the grid cells.

  37. #77
    0
    Quote Originally Posted by Stormrage256 View Post
    In order to activate Global Abilities, the actors that support targeting on their surfaces need to satisfy two conditions:

    1. The targetable surface needs to have the actor tag 'GlobalAbilityTarget'. This conditions determines if the ability can be deployed on a particular surface or not.

    2. It should block the 'GlobalAbilityTargeting' trace channel. Apart from the normally targetable surfaces like the AI Path meshes, this condition is also satisfied by the Kill Z volume as it helps the players track the reticule even when they the mouse cursor is focused on empty spaces as shown below:

    Name:  emptytrack.png
Views: 102
Size:  401.4 KB

    So basically the reticule remains white on areas like these where the ability cannot be deployed, & turns to red on deployable surfaces [based on condition 1) like the AI path meshes.


    And as for the lack of grid cell detection, could you try moving the Kill Z Volume actor a few thousand units below it's current position. It blocks all types of traces & I just want to make sure that it isn't blocking the traces before they hit the grid cells.
    Ok, the kill Z was the problem i can now interact with the grids. Also i changed the tag on the plane to GlobalAbilityTarget but now all i can target with the abilities is the grids if i move off the grid my cursor goes away. And is there an option for more tangets on the spline to make a maze type map like you have above for the enemy to walk.

  38. #78
    0
    Quote Originally Posted by Firezown View Post
    Ok, the kill Z was the problem i can now interact with the grids. Also i changed the tag on the plane to GlobalAbilityTarget but now all i can target with the abilities is the grids if i move off the grid my cursor goes away. And is there an option for more tangets on the spline to make a maze type map like you have above for the enemy to walk.
    Alright, glad to hear that it's fixed. I saw that you have a floor mesh on which you've placed your grid generator. So just set it's collision settings to block the GlobalAbilityTargeting trace channel, & add the GlobalAbilityTag to it as well. It should start showing the reticule on that surface as well.

    In the map shown in the screenshot, I'm just using the Unreal Engine's nav mesh to calculate the path points. But if you check out the second map focused on the spline based paths, you can see how to create an AI pathing system similar to how it's done in Kingdom Rush. While you will have to draw out the spline yourself, the toolkit provides you with the support for automatically creating user specified number of multiple spline lanes around the primary lane as well as customization of other parameters like lane gap distance, spline sharpness, etc. You can control all these settings through the Enemy Spawn Point actor:

    Name:  spline.png
Views: 99
Size:  525.8 KB

    Also make sure that you set the parameter 'Navigation Type' in the Wave Manager actor details to 'FixedSplinePath; as shown below:

    Name:  navtype.png
Views: 99
Size:  503.7 KB

    This parameter basically informs the AI Bots about the type of pathing system they are supposed to use.

  39. #79
    0
    Sorry im having so much trouble with this. The cursor shows up now but nothing spawns when click. Also enemies fall through the floor. I updated to 4.15.1 before i purchased this idk if that is why im having all these issues or im just not understanding this yet.

  40. #80
    0
    Quote Originally Posted by Firezown View Post
    Sorry im having so much trouble with this. The cursor shows up now but nothing spawns when click. Also enemies fall through the floor. I updated to 4.15.1 before i purchased this idk if that is why im having all these issues or im just not understanding this yet.
    Don't worry about that. I don't think v4.15 is the issue here since these functionalities are working in the sample maps.

    The enemies falling through the floor is probably some mismatch in the collision settings. If you're using a custom mesh for your floor, it would be best if you make sure that the collision settings for it match the AI Path static meshes (you can find it under the collision settings in static mesh editor for SM_FoundationMesh) used in the sample maps.

    If the Global Ability is not being deployed, then could you check if a breakpoint added at the node marked in the screenshot is being triggered? (when you try to deploy a global ability on a surface)

    Name:  gadeploytest.png
Views: 92
Size:  255.0 KB
    Last edited by Stormrage256; 03-31-2017 at 05:00 PM.

Page 2 of 4 FirstFirst 1234 LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •