Announcement

Collapse
No announcement yet.

Tower Defense Starter Kit: Support Thread

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

  • [RELEASED] Tower Defense Starter Kit: Support Thread

    The Tower Defense Starter Kit is a pure blueprint framework that enables quick & easy creation of Tower Defense games.\

    Marketplace Page: https://www.unrealengine.com/marketp...se-starter-kit



    Features:

    • Top-Down Camera system with panning, edge scrolling & smooth/step zoom support.
    • Tower Classes: Machine Gun, Shockwave, Laser, Sniper, Artillery, Boost, & Mining Tower.
    • Enemy AI Classes: Tank, Healer, Runner, Ranged, & Tower Disabler.
    • Tower Abilities: Overdrive & Repair.
    • Global Abilities: Airstrike & Tower Guardians.
    • Multiple types of AI Wave Spawning systems, with support for both Endless waves & repeating wave cycles with dynamically escalating difficulties.
    • An automated XP management system that facilitates experience gain & leveling up of towers.
    • Automated resource allocation between waves provide players with the ability to Build, Upgrade, & Sell towers.
    • Main menu system that supports level selection & persistent map unlocks across multiple sessions.
    • Modular Grid Generators with drag & drop support to create grid cells for tower placement.
    • Loadout menu system that enables players to select towers at the start of each mission.
    • Supports spline based multi-lane paths & nav mesh based pathfinding system.
    • Object Pooling support for bullet projectiles to provide enhanced performance.


    Technical Details:

    • Modular components are employed throughout the toolkit to handle special functionalities & aid in the creation of new variations to existing entities with minimal coupling.
    • The Wave Manager allows complete customization of waves through parameters including Enemy Type, Number Of Units, Spawn Point, Spawn Delay, etc.
    • Variables are categorized into 'User Defined' & 'Automatically Set' to facilitate identification of customizable parameters.
    • The Game Mode handles initialization of all core gameplay actors from a single centralized location using a linear workflow design.
    • The Player Controller acts as a conduit for all low-level HUD update requests, while the Game Instance & HUD classes manage high-level HUD state modifications.
    • AI Spawn Points support precached & runtime generation of randomized spawning locations.
    • Event-driven logic used predominantly over continuously ticking services for HUD updates.
    • Blueprint function library employed to easily obtain references to core gameplay actors from all blueprints.
    • All default Tower attributes are stored in a centralized Tower Data Array & thus enables easy customization of said properties for all towers from a single location.
    • All information pertaining to the towers & abilities are displayed dynamically using a data-driven approach, thus eliminating the need for manual HUD modifications when adding/removing towers.
    • The Object 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.



    Intended Platform: Windows

    Optimized for: Unreal Engine v4.17

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

    Planned features for next update:

    - To be listed


    Preview Screenshots:

    Click image for larger version  Name:	Store_TDSK_screenshot_1.png Views:	1 Size:	457.3 KB ID:	1175431

    Click image for larger version  Name:	Store_TDSK_screenshot_2.png Views:	1 Size:	743.7 KB ID:	1175432

    Click image for larger version  Name:	Store_TDSK_screenshot_3.png Views:	1 Size:	698.4 KB ID:	1175433

    Click image for larger version  Name:	Store.jpg Views:	1 Size:	214.2 KB ID:	1175437


    Preview Video:



    Please feel free to leave your suggestions & feedback as it will definitely be valuable in improving the product in future updates. Alternatively, you can also reach me through the support email id: rohitmohan.k@outlook.com.
    Attached Files
    Last edited by Stormrage256; 10-13-2017, 11:03 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

  • #2
    Additional Resources:


    Sample Gameplay Preview:

    1. Tower Defense Starter Kit Sample Gameplay Preview - https://forums.unrealengine.com/show...l=1#post487749


    Documentation:

    1. Documentation: https://forums.unrealengine.com/show...l=1#post518554


    Concepts & Tutorials:

    1. Tower Defense Starter Kit Basics: Wave Manager - https://forums.unrealengine.com/show...l=1#post485859

    2. Tower Defense Starter Kit Basics: Tower Manager - https://forums.unrealengine.com/show...l=1#post485950

    3. Tower Defense Starter Kit Basics: Enemy AI - https://forums.unrealengine.com/show...l=1#post485985

    4. Tower Defense Starter Kit Tutorial: How to change the Grid size - https://forums.unrealengine.com/show...l=1#post486034

    5. Tower Defense Starter Kit Tutorial: How to add new levels to the Level Selection Menu - https://forums.unrealengine.com/show...l=1#post627662

    6. Tower Defense Starter Kit Tutorial: How to create new Global Abilities - https://forums.unrealengine.com/show...l=1#post640606

    7. Tower Defense Starter Kit Tutorial: How to create custom Enemy Units - https://forums.unrealengine.com/show...l=1#post643330

    8. Tower Defense Starter Kit Tutorial: How to create custom Towers - https://forums.unrealengine.com/show...l=1#post688025


    Update Logs:

    1. v1.1 Update change log: https://forums.unrealengine.com/show...l=1#post518996

    2. v1.2 Update change log: https://forums.unrealengine.com/show...l=1#post544725

    3. v1.4 Update change log: https://forums.unrealengine.com/show...l=1#post581780

    4. v1.5 Update change log: https://forums.unrealengine.com/show...l=1#post614335

    5. v1.6 Update change log: https://forums.unrealengine.com/show...l=1#post657026

    6. v1.7 Update change log: https://forums.unrealengine.com/show...l=1#post724323

    7. v1.8 Update change log: https://forums.unrealengine.com/show...l=1#post728561


    FAQ:

    1. I'm trying to create a new level from scratch within the toolkit & have made placed all the necessary actors in the level by looking at the sample maps. However I'm unable to get the Global Abilities working in my level. Is there any additional procedure that needs to be implemented in order to get them working on a new map?
    A: Yes, just make sure that steps mentioned in the following link are implemented: https://forums.unrealengine.com/show...l=1#post689302
    Last edited by Stormrage256; 06-26-2017, 09:50 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


    • #3
      The price is $29.99 not $24.99...

      Comment


      • #4
        Originally posted by frostyshield View Post
        The price is $29.99 not $24.99...
        Hey frostyshield, could you just double check on that. I'm seeing $24.99 at my end.
        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


        • #5
          Tower Defense Starter Kit Basics: Wave Manager

          The Wave Manager class in Tower Defense Starter Kit is responsible for handling creep wave spawns as well as tower point resource allocation.

          Features:

          1. Wave Generation systems

          The Wave Manager supports 3 types of wave generation systems: Unit Based Generator, Group Based Generator & Threat Based Generator. The 'WaveGeneratorType' enum variable can be used to directly choose from any of the three creep spawning systems.

          Unit Based Generator

          Provides maximum direct control over the wave spawning systems. Best suited for creating games with small waves by setting the properties of every unit on an individual basis.

          - The 'Enemy_Type' variable provides a dropdown to select from any of the 3 default enemy units.
          - The 'Delay' variable determines the spawn time of the unit relative to starting time of the active wave.
          - The 'SpawnPoint' variable can be used to choose from any of the available 'BP_EnemySpawnPoint' actors in the level.
          - The 'WaveNumber' variable specifies the unit's associated wave number.

          Click image for larger version

Name:	unitbased.png
Views:	1
Size:	745.5 KB
ID:	1101678

          Group Based Generator

          Provides good control over the wave spawning systems and easier to test different wave formations. Bots are spawned as automated groups and hence best suited for games that require large number of units in a wave, while still providing designers with the control of the unit types and the number of units in a group.

          - The 'Enemy_Type' variable provides a dropdown to select from the 3 default enemy units. A group can contain only bots of a particular enemy type.
          - The 'SpawnDelay' variable can be used to specify the time delay between spawning of each bot in a group.
          - The 'SpawnPoint' variable can be used to choose from any of the available 'BP_EnemySpawnPoint' actors in the level. All units in a group will spawn from this spawn point.
          - The 'WaveNumber' variable specifies the unit's associated wave number.
          - The 'SpawnStartingTime' variable determines the starting time for spawning the first unit in the group, relative to the starting time of the active wave.
          - The 'NumberOfUnits' variable specifies the number of units in the group.

          Click image for larger version

Name:	groupwave.png
Views:	1
Size:	743.5 KB
ID:	1101679

          Threat Based Generator

          Provides least direct control over the spawning system, but facilitates automated generation of random wave formations. Bots are spawned randomly based on the specified enemy types until the threat level of the wave reached the specified value.

          - The 'Enemy_Type' variable can be used to select all the bot types to be considered while generating the wave.
          - The 'Delay' variable can be used to specify the time delay between spawning of each bot in a group.
          - The 'WaveNumber' variable specifies the associated wave number.
          - The 'ThreatRating' variable determines the maximum threat limit of the wave. Can be used to increase the difficulty of each wave automatically.

          Click image for larger version

Name:	threatbased.png
Views:	1
Size:	740.8 KB
ID:	1101680


          2. Resource Allocation

          The Wave Manager also comes equipped with a 'Tower Allocation Data' array to manage resource allocation at the end of each creep wave. The 'WaveNumber' & 'TowerPointsAvailability' attributes specifies the amount of tower points to be given to the player before the emergence of a new wave.

          The Wave Manager also contains a boolean variable 'AllocateTowerPointsPerCreep?', that determines if tower points are to be assigned to the player at the destruction of each enemy unit by a friendly tower, while the float variable 'TowerPointsPerThreatLevel' sets the amount of tower points to be allocated per creep based on it's threat level attribute.

          Click image for larger version

Name:	resource.png
Views:	1
Size:	720.3 KB
ID:	1101681


          3. Wave Cycles & Endless Waves

          In order to facilitate creation of large number of waves, the 'NumberOfCycles' variable can be used to repeat the waves for a specified number of times, each cycle increasing the health of enemy units based on the active cycle number. Setting this number to zero can be used to create Endless waves.

          Click image for larger version

Name:	endless.png
Views:	1
Size:	682.0 KB
ID:	1101682


          4. Timed Waves

          The Wave Manager can also be used to specify if the waves are timed or need to be manually triggered by the player. The boolean variable 'TimedWaveStarts' & float variable 'WaveTimerInterval' determine this aspect of the wave system.

          Click image for larger version

Name:	timedwave.png
Views:	1
Size:	700.8 KB
ID:	1101683
          Last edited by Stormrage256; 08-18-2016, 01:28 PM.
          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


          • #6
            Tower Defense Starter Kit Basics: Tower Manager

            The Tower Manager class handles spawning & destruction of towers at runtime. It also maintains & updates information about the list of towers available to the player within the level.

            The Tower Manager have a few globally exposed variables that control the core functionality of the toolkit:

            1. The variable 'TowerHeight' determines the spawn location Z offset relative to the ground location [Grid Generator] at that point.

            2. The variable 'MaxNumberOfTowerTypes' specifies the maximum number of towers that can be selected by the player from the Loadout menu.

            3. The variable 'SelectTowersAtLevelStart?' determines if the player can manually select towers at the start of a level. If this is set to false, all towers specified in the Tower Data Array will be available to the player.

            4. The variable 'TowerConstructorButtonStartingAngle' determines the starting angle [widgets allocated equidistantly along a circle] of the interactive buttons within the Tower Constructor widget. Since the Tower Constructor widget is created dynamically based on the towers/tower functions available to the player, this value gives control to the designer over how the menu is laid out. Setting this value to '90.0' ensures that the first child widget within the Tower Constructor will be aligned at the topmost part of the circle, while other child widgets are placed along regular intervals around the perimeter based on how many of these widgets need to be created.
            Last edited by Stormrage256; 08-18-2016, 01:24 PM.
            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


            • #7
              Tower Defense Starter Kit Basics: Enemy AI

              The Tower Defense Starter Kit has 4 different types of enemy AI bots: Healer, Ranged, Runner & Tank. They're all derived from the parent class 'BP_EnemyAI_Parent', which houses the core logic for all types of enemy bots. These include:

              - Moving toward the Exit Point [both navmesh & spline path based].
              - Event driven HUD stats updates [if the mouse cursor is centered on the actor]
              - Handling damage receive events & 3D Health bar updates.
              - Turning to face a target.
              - Set threat rating & max health based on the active wave cycle.
              - Update calls to wave manager when the bot is destroyed.

              All creeps can do damage against the player upon reaching the Exit Point actor, irrespective of whether they can target the towers or not.

              1. Healer: The Healer bot is a slow moving support unit that uses it's AoE Heal ability to heal all creeps in range. It does not posses any offensive capabilities & hence cannot target the towers.

              2. Ranged: The Ranged bot is a slow moving offensive unit that uses ranged attacks against towers in it's range. It uses a combination of distance, angular & line trace checks to identify targets along it's path at regular intervals.

              3. Runner: The Runner bot is a fast moving unit with low health that uses it's high speed to bypass towers, especially when spawned in large numbers. It does not posses any offensive capabilities & hence cannot target the towers.

              4. Tank: The Tank bot is an extremely slow moving unit with a large pool of hit points that can withstand lots of damage. It does not posses any offensive capabilities & hence cannot target the towers.
              Last edited by Stormrage256; 08-18-2016, 01:24 PM.
              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


              • #8
                Great looking toolkit! I've been waiting for something like this since UE4 launched. I'll likely purchase this in the next few days. Are you planning on making this toolkit mobile friendly?

                I also have some requests for tower types:

                Cannon/Catapult - A tower that flings projectiles in an arc to the target with splash damage
                Resource tower - A tower that provides a flow of resources when you build it.

                Comment


                • #9
                  Originally posted by tanka2d View Post
                  Great looking toolkit! I've been waiting for something like this since UE4 launched. I'll likely purchase this in the next few days. Are you planning on making this toolkit mobile friendly?

                  I also have some requests for tower types:

                  Cannon/Catapult - A tower that flings projectiles in an arc to the target with splash damage
                  Resource tower - A tower that provides a flow of resources when you build it.
                  Hey tanka2d, thanks & good to see you again. I'm planning to use the first few updates to add more features that are commonly found in tower defense games. For example, the first update will focus on a tower selection menu & new towers. Later on, I'd like to add a perks menu & new creep types as well.

                  I would definitely like to try out mobile support in the future, but I have not worked on mobile UE4 projects till now. As a result, it's not part of the planned updates yet, but maybe a few updates down the line, I will experiment with it & confirm that.

                  As for the towers, thanks for the suggestions. The Resource tower will be added in the first update & I will try to include a catapult tower as well.

                  If you have more ideas, keep em coming. I want to use this toolkit to try out ideas that don't fit well with the FPS Tower Defense Toolkit.
                  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


                  • #10
                    Tower Defense Starter Kit Tips #1: How to change the Grid size

                    The default dimensions of an individual grid cell in Tower Defense Starter Kit is 400 units [both in x & y directions in the local space of the parent grid generator]. However this can be easily altered based on the requirements of the user.

                    The Grid Manager actor has a user defined float variable termed 'Grid Size' exactly for this purpose. The 'Grid Size' variable can be modified to change the grid cell dimensions of all grid generators present in the level, thus saving the trouble of going to each & every grid generator to change it's properties. In order for the change to be registered across all the grid generators, open up the 'BP_GridGenerator' blueprint & recompile it. Doing so will run it's construction script once again with the updated attributes which will be reflected in all the grid generator actors in the level.

                    [Please note that the towers would still retain their original dimensions as the default tower meshes are clearly only intended to be prototypes. To change their dimensions, you could just go to the tower meshes in the 'Meshes' folder and then open up the towers and change their build size according to the requirements.

                    Click image for larger version

Name:	mesh.png
Views:	1
Size:	980.7 KB
ID:	1101701]
                    Last edited by Stormrage256; 08-18-2016, 01:28 PM.
                    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


                    • #11
                      Originally posted by Stormrage256 View Post
                      Hey frostyshield, could you just double check on that. I'm seeing $24.99 at my end.
                      Click image for larger version

Name:	1I0l42U.png
Views:	1
Size:	197.7 KB
ID:	1101764

                      Just took that now :P

                      Also would this be a good system for a MOBA?, How would one go about making a "minion" so to speak with the values of a tower? so its like a movable tower?

                      Comment


                      • #12
                        I ended up buying this last night and I am very much enjoying it, it's very easy to customize (and I'm no programmer).

                        Quick question though, is there an easy way to add boundaries for your camera movement? At the moment it seems to scroll on indefinitely. When I've done this in the past I've used invisible collision boxes as boundaries, but your setup is a little different. It looks like there might be some boundary variables in the player pawn blueprint? They don't seem to do anything though.

                        Comment


                        • #13
                          Originally posted by frostyshield View Post
                          [ATTACH=CONFIG]81906[/ATTACH]

                          Just took that now :P

                          Also would this be a good system for a MOBA?, How would one go about making a "minion" so to speak with the values of a tower? so its like a movable tower?
                          Epic had actually mentioned that it would be $29.99 after VAT. I'm guessing that it's specific to certain countries, but thanks for bringing that to my notice. I have updated that information in the pricing details.

                          I don't think it would be the best fit if you want to create a MOBA because then you would have to implement all the multiplayer aspects yourself. Since this toolkit is not designed with multiplayer support, it would mean that you would have to change some workflow to support replication. However I would suggest looking at this forum thread: https://forums.unrealengine.com/show...or-Marketplace. From what I've seen so far, it looks like something that I would buy if I want to learn how a MOBA works.

                          As for your second question, the towers aren't movable. You can however spawn them at any of the grid cells displayed in the map. Once spawned, you can choose to upgrade them or sell them. The minions on the other hand, spawn at the red markers & move toward the blue marker. You can check out this image from the first post to get a better idea: https://forums.unrealengine.com/atta...6&d=1456946470. So basically the towers keep attacking any minions that get in it's range.
                          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


                          • #14
                            Originally posted by tanka2d View Post
                            I ended up buying this last night and I am very much enjoying it, it's very easy to customize (and I'm no programmer).

                            Quick question though, is there an easy way to add boundaries for your camera movement? At the moment it seems to scroll on indefinitely. When I've done this in the past I've used invisible collision boxes as boundaries, but your setup is a little different. It looks like there might be some boundary variables in the player pawn blueprint? They don't seem to do anything though.
                            Glad to hear that you're enjoying it tanka2d.

                            I apologize for not adding a boundary for the camera movement. I will definitely add both collision based & math limit based boundaries in the first update. The boundary settings that you might have seen are for getting the edge scrolling parameters. They will auto adjust based on any resolution changes to the game.

                            But in the meantime, you can add it to your level by adding a collision component within your player pawn. Then create a new object channel like saw 'PlayerPawn' & set this collision component to that type. Now add collision boxes outside the boundaries & set it's collision settings to block the 'PlayerPawn' objects.
                            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


                            • #15
                              Tower Defense Starter Kit Sample Maps Gameplay Preview:

                              Sample Map #1

                              This map demonstrates the use of Unreal Engine's default static nav mesh based pathfinding with the Tower Defense Starter Kit.




                              Sample Map #2

                              This map demonstrates the working of user defined multi lane spline based path control in the Tower Defense Starter Kit.

                              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

                              Working...
                              X