Tower Defense Starter Kit

You’re talking about something similar to the barracks tower from Kingdom Rush right? Actually the reinforcements ability from Kingdom Rush was the inspiration for the Tower Guardians global ability. I will post a tutorial here on how to create new Tower Abilities. It should be easier to explain once the process is understood.

Added a new tutorial on how to create custom tower abilities. You can check it out here: https://unrealpossibilities.blogspot.in/2017/05/tower-defense-starter-kit-tutorial-how.html

As for the use of guardians as a Tower Ability, you can copy the code from ‘BPC_TowerGuardiansAbility’ over to your new ability component, & make the following change to the calculation of spawn transform:

Also make sure to call the Destroy Active Ability Component interface function once the guardians have been spawned.

Hi Rohit,

Thanks for the detailed reply, I thought that something is wrong, since normally you reply quite quickly. I believe a support email address would really help, just in case. I am a bit busy with something else at the moment, but will check your suggestions very soon.

I believe that your videos are just fine, they were the main reason I was interested in your product. I think you have written quite a lot of guides already, just need to put it in 1 PDF/HTML file and fill in the blanks like some Intro for noob’s like me and some index to find what is needed.

Thanks again and keep up the great work.

Manu

Sure, you can reach me through the official support mail id: rohitmohan.k@outlook.com.

I usually post the tutorials for the products in the official forum thread as it’s very easy to link specific part of the conversation to people without leaving the ecosystem. I see it as a much more modular system especially when the core product keeps getting modified with new features continuously. Even when a tutorial gets updated due to the design changes in the later versions of the toolkit, customers can still access the previous versions through the backup copy in my blog.

However I could create a PDF file that gives a brief explanation about all the different classes in the toolkit so that it will be easier to understand what goes where from a high level perspective. Links for tutorials from the forum thread/blog can be added wherever necessary. As for the beginner guide that you were talking about, I’m going to try out the in-editor tutorial system that explains the basics over a series of steps.

Hey there,
Is it safe to update my project to 4.16?

Thank you!

Hey muclem, I had done some basic gameplay tests & found no game breaking bugs. However, the font style/sizes within the HUD elements will get altered to a different setting when you update to v4.16. I’m guessing that Epic has changed the default font. Also there seems to be some jarring effect on the masked materials. I will be doing a more in-depth test tomorrow & if all goes well, the new version will be submitted to the Marketplace team.

So from what I’ve seen so far, it should be safe to update your project. But just make sure that you keep a backup copy. I won’t be adding any new changes with this update apart from fixes for the above issues as well as anything else that might crop up during further tests. In any case, you should be able to easily identify them in the v4.16 build using the Version1.6.4 tag.

Thank you for your thorough answer! I’ll wait for your marketplace update just to be sure.
Talking about new changes, are you going to add more content/features at some point? Not that’s a request, I’m just curious :wink:

Yes, there are a lot more updates planned for the future including addition of new features as well as design improvements for some of the existing systems. :slight_smile: Even if I start work on a new product at some point, I would like to keep improving upon the existing ones well into the future.

The v4.16 compatibility update has been submitted to the Marketplace team. I ran into some trouble with the Open Level node in packaged builds for v4.16. If anyone who has already converted their v4.15 projects into v4.16 is facing this issue, just follow the steps mentioned here: https://answers.unrealengine.com/questions/604141/with-416-bp-openlevel-fails-when-packaged-windows.html#comment-604141-form

Gameplay demo of the Tower Defense Starter Kit running on v4.16 (Windows): https://www.dropbox.com/s/jf70y60e9qqypfe/Tower%20Defense%20Starter%20Kit%20Sample%20Game%20Demo.7z?dl=0

The v1.7 update has been submitted to the Marketplace team. This update adds support for using Object Pooling with Bullet Projectiles. More details about all the modifications will be made available through the change log once the update hits the marketplace.

Edit: The update is now live on the Marketplace.

v1.7 Update Change Log:

  1. Added the option to activate Object Pooling for Bullet Projectiles. The pooling system uses a free list (of array indices & not pointers) to chain together unused objects within a fixed size pool, & thus removes the need for iterations through the array.

To turn on the object pooling system, select the Object Pool Manager actor & set the ‘Pool Bullet Projectiles’ to true. The pool size itself can be modified through the ‘Pool Size_Bullet Projectile’ variable as shown below:

  1. Added a Projectile Manager class to act as a bridge between objects requesting for creation/deletion of projectiles, & the Object Pool Manager.

All changes within the blueprints are marked with the boolean variable ‘Version1.7’ in order to easily identify the workflow changes introduced with this update. Comments are also written to describe the major changes. The new variables, functions, interfaces, & components added to existing blueprints are also marked within their event graphs.

The v1.8 update has been submitted to the Marketplace team. This update adds support for an XP management/Auto-leveling system for the Towers. More details about all the modifications will be made available through the change log once the update hits the marketplace.

The v1.8 update is now available for download from the Unreal Engine Marketplace. This update adds support for an experience based Auto-Leveling system for the Towers. For more details, refer the change log below.

Change Log:

  1. Added the option to enable an automated Leveling system for the Towers. The new TowerXPManager component calculates the XP gain based on the damage inflicted by it’s owner on the enemy units.

The Level-Up system can be turned on/off through the ‘ActivateLevelUpSystem?’ parameter, from the class that owns the TowerXPManager component as shown below:

  1. Added a new interface ‘BPI_TowerLevelUpSystem’ (implemented by the Tower parent class) to facilitate the means to transfer information pertinent to the experience gain & leveling up of Towers.

  2. Modified the ‘3DStatsBar’ widget to incorporate the display of Tower levels alongside the HP bar & status effects icon.

  1. Minor changes to the Tower & Projectile classes to integrate the TowerXPManager component & ‘BPI_TowerLevelUpSystem’ interface.

All changes within the blueprints are marked with the boolean variable ‘Version1.8’ in order to easily identify the workflow changes introduced with this update. Comments are also written to describe the major changes. The new variables, functions, interfaces, & components added to existing blueprints are also marked within their event graphs as shown in the screenshot below:

oh dont mind it, everything is ok i was a noob back then :slight_smile:

Cool, glad to hear that it’s fixed.

Hey anyone having issues with Changing the range on the towers? because i cant seem to be able to find a way to increase the range. if anyone could help that would be great.

Hi there, all basic attributes associated with the towers are set through the ‘Tower Data Array’ in BP_GameInstance class. So for example, if you want to change the range of the Machine Gun Tower, you can expand the array, select the element associated with the same, & then modify the ‘Range’ parameter as shown below:

That should change the range of the tower, next time you spawn it within a level. The size of the range display ring will also get updated as per the new modifications.

Hey, I downloaded the kit and I’m familiarizing myself with the setup through your guides and tweaking as I go to see it work. I’m going through the wave data and variables for the units in the wave, but testing it out only spawns the original test wave regardless of what units I input.

Is there something I’m missing?

Hi Menelin, the wave spawning system requires an actor of the class ‘BP_WaveManager’ to be present in the level, & uses the information specified in it’s Wave Data Array to spawn the AI waves. Since you’ve made the changes within the actual class itself & not within the actor present in the level, the changes did not get reflected during the actual gameplay. So just head over to the Wave Manager actor in the level, & click on the ‘Reset to Default’ button marked by the red border in the screenshot below:

This should ensure that further changes you make to the original class gets reflected in the actor as well. However, if you directly make any changes to the actor in the future, the engine will untie the actor’s variables from the default values specified in the original blueprint.

Well, I feel sheepish. Something so simple that I knew in every other project I’ve worked on escaped me here. Thank you for such a quick response.