Search Unity

  1. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

[RELEASED] Tower Defense Perfect Kit

Discussion in 'Assets and Asset Store' started by chemael, Aug 6, 2015.

?

What feature would you like next?

  1. New Tower (such as Slow, Teleport, Stun, ...)

  2. Items (such as bomb, ice bomb, ...)

  3. Hero system

  4. New Enemy (such as attack tower, stun tower,...)

  5. Native InApp (such as android inApp purchase,...)

  6. Achievement

Multiple votes are allowed.
Results are only viewable after voting.
  1. chemael

    chemael

    Joined:
    Feb 18, 2015
    Posts:
    195
    to AndyMul
    Could you make your new towers to package, and send to me with email?
    Then, i will check what's the problem.
     
  2. AndyMul

    AndyMul

    Joined:
    Jul 13, 2013
    Posts:
    41
    Could I send you screenshots of the tower property inspector instead?
     
  3. chemael

    chemael

    Joined:
    Feb 18, 2015
    Posts:
    195
    to AndyMul
    Yes. the screenshot can help me to find the problem.
     
  4. mahdijj

    mahdijj

    Joined:
    Sep 24, 2015
    Posts:
    31
    hi
    pls add in app purchase feature and graphic assets in next update
     
  5. chemael

    chemael

    Joined:
    Feb 18, 2015
    Posts:
    195
    to mahdijj
    Do you mean InApp UI & Logic?
    I have a plan to add purchase some gem UI in select stage scene.
    (Native In-App purchase codes are not considering.)
    But the next update date is not fixed yet.
     
  6. chemael

    chemael

    Joined:
    Feb 18, 2015
    Posts:
    195
    Hi Everybody!
    Limited Time 50% Sale. Merry Christmas & Happy New Year !!!
    AssetSore Link
     
  7. chemael

    chemael

    Joined:
    Feb 18, 2015
    Posts:
    195
    About the sale period.
    The sale will be lasted until the beginning of the next month
     
  8. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,393
    Merry Christmas & Happy New Year to you too!

    I picked up a copy during sale and I must say I'm having loads of fun playing around with it!

    So far I have found it very easy to work with and the videos that you have done are excellent resource which helped me to quickly get going with it.

    What I could not figure out how to do is enemy and friendlies with melee weapons. Please advice on what I have to do for melee weapons. If not supported then please add support for melee weapons, which I think is a must since you do have support for grunts.

    So here is a laundry list of some of the things I would like to see added to this asset

    + melee weapon support
    + hero points that are given out as hero does battle
    + hero system with skill tree for heroes using acquired hero points
    + skill points that can be given out as player plays or at end of level
    + upgrade skill tree for towers using points acquired
    + game points being given out as player plays or at end of level
    + spells that can be purchased using acquired game points
    + slow, stun, bombardment turrets
    + achievements
    + initial spawn delay for enemies

    couple more i added

    + place holder for spawn animation, sound and effect
    + place holder for upgrade animation, sound and effect
    + place holder for sell animation, sound and effect
    + place holder for hurt animation, sound and effect
    + place holder for walk sound and effect
    + place holder for attack sound and effect
    + place holder for death sound and effect

    Finally I also noticed someone is already flipping tweaked version of your asset on Google Play!

    https://play.google.com/store/apps/details?id=com.CubeSoftware.TowerDefenceHeroes&hl=en

    Best regards and thanks in advance!
     
    Last edited: Jan 6, 2016
  9. chemael

    chemael

    Joined:
    Feb 18, 2015
    Posts:
    195
    Hi @im
    Thank you for purchasing my asset.
    To implement melee, you can set attack range of Unit & Enemy shorter then when they get firing weapons.
    and Update function in BEWeapon.cs, do not fire bullet and do damage instantly.
    I wish this could be help to you.

    I saw your laundry list.
    The listed items are, in the main, included in my to do list too.
    I will add more features in this asset step by step.
    Thank you for your attention to my asset.

    I'm so glad that my customer launched their own game with my asset.
    Great!
     
    im likes this.
  10. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,393
    Ok thanks!

    If i can get melee working i'll change my review to 5/5 since so far right out of the box it's been by far one of the easiest assets to play with...

    p.s. i updated my laundry list to include

    + place holder for spawn animation, sound and effect
    + place holder for upgrade animation, sound and effect
    + place holder for sell animation, sound and effect
    + place holder for hurt animation, sound and effect
    + place holder for walk sound and effect
    + place holder for attack sound and effect
    + place holder for death sound and effect
     
    Last edited: Jan 6, 2016
  11. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,393
    Found/fixed small bug...

    Interactable property in Canvas Group for UIHealthBar prefab should be cleared (disabled) otherwise if players click on it by mistake it will change the value.
     
    Last edited: Jan 5, 2016
  12. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,393
    Number of issues found with the existing game code...

    BEUnit not using walk animation at all!

    If unit is moving it should be using walk animation...

    Less of an issue, but still important, is that BEEnemy is not using idle animation at all!

    If enemy is not moving and not in combat then it should be idle, i would think...

    Also found issue if the Type of the Tower is not 0 and if the Tower has UnitPrefab set to some Unit and if there are Units spawned it will not remove them if you sell the tower.

    Also, AttackRange is not used at all by BEEnemy, instead as soon as you are in FindRange of a target you begin attacking it regardless of the value of AttackRange. FindRange should not be used for this because just cause you are in find range of a target does not mean you are in its attack range.

    Finally, please post what BEEnemy and BEWeapon properties would look like for melee combat...

    Thanks in advance!
     
    Last edited: Jan 7, 2016
  13. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,393
    Here some more ideas

    Each base (where towers spawn) should have optional default unit origin location prefab, instead of using tower origin location, that way we can set it to somewhere on the road instead of spawning at tower and then going based on tower origin for units.
     
  14. chemael

    chemael

    Joined:
    Feb 18, 2015
    Posts:
    195
    to @im
    Thank you for reporting bugs.

    1. UIHealthBar
    - Yes. to prevent user input while in game, some property of UIHealthBar prefab will be changed.
    Uncheck UIHealthBar/Health's Slider script's Interactable
    Uncheck UIHealthBar/Shield's Slider script's Interactable
    2. BEUnit not use Walk animation
    - Change aniIdle in MoveTo function of BEUnit.cs to aniWalk.
    3. BEEnemy not use aniIdle.
    - In current game, enemy move to end of the path continuosly. so idle state not need.
    This idle animation field is resevation for future use.

    I will check other reports and soon reply.
     
    Last edited: Jan 20, 2016
  15. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,393
    re:

    I tried the above, but unfortunately it still does not play the walk animation! Take a look at the last thing BEUnit Update function does, it says if there is no target play the idle animation, so its not that simple. Most likely what has to happen in the Update function is that if we do not have a target and if we are not InMov then play the idle animation, but it has to be tested to make sure it works in all cases, like coming in and out of attack.

    It looks like you have to surround the later code the says if there is no target then play idle animation to check if player InMov and if so dont do idle...
     
    Last edited: Jan 8, 2016
  16. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,393
    Found some more issues/bugs...

    1. If game is over cause of defeat and you get game over dialog box, the game actually continues and it keeps spawning and they keep fighting. When game is over and it shows game over dialog box, it should be game over and they all should go idle or despawn or something, but not continue to fight it out and definitively not continue to spawn new ones... What do you think? At least give some option in game settings to what should happen when game is over.

    Like wise on victory the players are still spawning and moving around, even after there are no more enemies around, perhaps have some public bool like GameOver and Update logic for BEUnit, BEEnemy, BETurret, BESpawn checks and if true just returns without doing the Update()

    2. Also, it looks like 2 arrows, fast, the default speed, is really slow and 1 arrow, slow, is really fast. Check it out.... It looks to be more of an icon issue, the default icon is >> and the default Speed is 1, and when you click on it it goes to icon of > and Speed of 2. So it shows it messed up... So check out ChangeSpeed in GameScene. Also good to add call to ChangeSpeed(Speed) to Start() else you get whatever icon is default, which is >>

    3. If you change the LifeStart in SceneGame like 25 the Life BENumber is hardcoded to maximum of 5 which will result in the number of lives improperly being displayed and then if you have a victory you will never get 3 stars even if you did not loose any lives cause it was thinking the number of lives is the 5 and not the 25! So the maximum BENumber for Life should be LifeStart, I would think...

    4. Units spawn and when upgraded (spawn) and move all over the place. They should most likely move on to the road or at worse where the last ones were or the position set on the tower. Else what happens is you spawn units and you have to reposition them, you upgrade units and you have to reposition them. It's a real pain and not workable in a busy game. So the tower should figure out where the closest like waypoint is and spawns should move to it to it if no position was set and if position was set spawn and move to position.

    An easy fix is to add an empty object to teach BuildRoot/Base called spawn when tower is spawned it grabs the position and rotation and uses that location as default to spawn any new units, unless the user changes the location where units go. regardless this ensures that when units first spawn they spawn where developer wants them to spawn/respawn like on road and it also ensures that they respawn / upgrade to the correct location where player moved it. If the tower is sold well the spawn original spawn is still there unchanged as part of Base for any future tower...

    5. If you don't tap (click) to start the wave the wave counter is not updated with the current wave number! Basically, you have to call SceneGame.UpdateWaveText() from WaveStart() in BESpawn.

    6. Something very strange with how Simple Bullet work units/enemies way cross map getting hurt way after they are fired! It's like simple bullet Update code or perhaps Weapon Update code needs some looking into. I've not nailed it yet, but I can see on a large map with lots of units / enemies that enemies and units way out of range are taking damage and I can see the bullet trails. The thing is the logic for bullet lifetime and range must work, if they don't then you end up with stuff like this happening... I also notice that you don't necessarily check if someone actually got hit before doing damage, this is perhaps the issue, bullets long fired have a target assigned and long after unit/enemy gone that fired them unit/enemy that is target can get hit. The issue here for me is I have to get melee working so far I don't have it fully working cause I have to use weapon that fires a simple bullet, and its not actually melee logic, its bullet logic, so Ive decreased the range and the lifetime, but that does not appear to actuall work.

    I did some looking I think the issue has to do with Update() in BEWeapon doing Raycast for Mathf.Infinity, not the max range that the weapon shoots and that is because BEWeapon does not have a range, so it finds target all over the map. Still bullet max range and max lifetime should have caught it since definitively the found target is outside a bullet range / lifetime, but that does not appear to be case, the bullets just stay for a long time and travel way across the map if they dont hit something that stops them and End() in BEBullet applies damage regardless of whether target is hit or not, this is not good since it causes said issue... So it looks like BEWeapon and BEBullet need some cleaning up to make it more real else it looks strange to get targets way cross map taking damage...

    Also, if BEWeapon can't have a range at least Raycast should use BEBullet range from the prefab...

    I was sort of able to work around it by adding to BEWeapon

    Code (csharp):
    1.  
    2.         private float WeaponRange = -1;
    3.  
    4.         void Awake()
    5.         {
    6.             if (WeaponRange == -1)
    7.             {
    8.                 BEBullet bullet = bulletPrefab.GetComponent<BEBullet>();
    9.  
    10.                 if (bullet)
    11.                 {
    12.                     WeaponRange = bullet.hitRange;
    13.                 }
    14.  
    15.                 if (WeaponRange == -1)
    16.                 {
    17.                     WeaponRange = Mathf.Infinity;
    18.                 }
    19.             }
    20.         }
    21.  
    and then changing RayCast to use WeaponRange in place of Mathf.Infinity and then setting either WeaponRange or setting HitRange in BEBullet to like 1.5, which is like a good number for my units/enemies...

    7. If Unit And Enemy are too close too each other, like they overlap, they do not cause damage to each other and attack each other endlessly, to the point that if it is the last Enemy the Level will never end!

    Basically the problem is that Physics.Raycast in Update() in BEWeapon returns null, no hit, so no bullet if ever fired and there is never any damage!

    I guess one could try moving spawnPoint around and playing with WeaponRange in BEWeapon, but there could always be chance that no matter where spawnPoint and WeaponRange is set this could happen when Unit and Enemy overlap too much or in strange ways...

    Thanks in advance!
     
    Last edited: Jan 11, 2016
  17. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,393
    Some more feedback...

    1. Shields and Health do not regenerate, please add some boolean to enable health / shield regeneration and like regeneration amount per second, also the ui would need to be updated each time the shields / health was increased...

    2. Also the camera rotation/zoom code is sure sweet, any reason why by default you have it commented out? Is there something I need to know about having it uncommented out and in use?

    Perhaps just have some public boolean called CameraRotation and CameraZoom and also expose as public the commented out properties for camera rotation and zoom and let people just play with them, as they need, instead of looking for such goodies in the code. I mean why hide such fun functionality, plaster it on store page, as a selling feature. Anyways the competition has it, and it's good to have it...

    2a. Also, I change default zoom speed to 5, from 1, cause 1 was just too painful to watch... ;)

    3. Refactor Camera related code out of SceneGame and BEBuildroot into something like BECamera and attach that component to the Camera GameObject in the scene...

    4. Don't use hardcoded keys and mouse with Input.GetKeyDown(), Input.GetKeyUp(), Input.GetButton(). instead use Input.GetButtonDown(), Input.GetButtonUp(), Input.GetButton(), Input.GetAxis(). That way they can be rebound by the developer, player...

    5. Also, consider reducing the base price of the asset to $50, I know you will get a lot less per sale, but I think you will get more sales, the competition's price is around $50 and I think people take a look at both when considering take into account features and price and popularity and support, ect...

    Finally, so far I'm happy camper playing away with your excellent work, hopefully many more releases to come to keep me entertained and from getting too bored...
     
    Last edited: Jan 11, 2016
  18. chemael

    chemael

    Joined:
    Feb 18, 2015
    Posts:
    195
    to @im
    Thank you for the detailed advice.
    I really appreciate it.
     
  19. bugscuffle

    bugscuffle

    Joined:
    Dec 8, 2015
    Posts:
    65
    can you replace the units with your own mesh, your own FBX models? Like a soldier, for the primitives? A nice looking model for the minigun? I am confused..thinking you must use the primitives in the example.
     
  20. chemael

    chemael

    Joined:
    Feb 18, 2015
    Posts:
    195
    to @bugscuffle
    All meshes used in game (tower, unit, deco objects) are created by Maya and exported to fbx format.
     
  21. Charlie_T

    Charlie_T

    Joined:
    Feb 13, 2015
    Posts:
    58
    Hello,

    Do you have any Roadmap?
    and when do you have release next version?

    Thanks
     
  22. Charlie_T

    Charlie_T

    Joined:
    Feb 13, 2015
    Posts:
    58
    May I know this assets support iOS or not?
     
  23. chemael

    chemael

    Joined:
    Feb 18, 2015
    Posts:
    195
    to @Charlie_T
    Yes, you can use this asset on android, iOS, and Wndows Phone environment.
    (also works fine in pc environment too)
     
  24. Charlie_T

    Charlie_T

    Joined:
    Feb 13, 2015
    Posts:
    58
    Do you have any Roadmap?
    thanks
     
  25. chemael

    chemael

    Joined:
    Feb 18, 2015
    Posts:
    195
    to @Charlie_T
    The feature and date of next update was not fixed.
     
  26. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,403
    any more features planned?
     
  27. chemael

    chemael

    Joined:
    Feb 18, 2015
    Posts:
    195
    to @Devision4
    Hi, there is no scheduled update now.
    If i have a plan of update, i will post details of the update here.
     
    pushingpandas likes this.
  28. PrakNep

    PrakNep

    Joined:
    Oct 24, 2016
    Posts:
    17
    Hi. My name us Prakash Nepali... Age 15.. From Nepal. I've always wanted to make TD games... Then I saw TDPK...I don't have money. My parents don't let me buy it... What do I do? Please help me... My email ID is praknep112@gmail.com ... Please provide me this for free... I ptomise I'll pay you later after I make money from it... Really trust me... Please...
     
  29. PrakNep

    PrakNep

    Joined:
    Oct 24, 2016
    Posts:
    17
    My name us Prakash Nepali... Age 15.. From Nepal. I've always wanted to make TD games... Then I saw TDPK...I don't have money. My parents don't let me buy it... What do I do? Please help me... My email ID is praknep112@gmail.com ... Please provide me this for free... I ptomise I'll pay you later after I make money from it... Really trust me... Please...
     
  30. Jasinka

    Jasinka

    Joined:
    Oct 18, 2016
    Posts:
    38
    Hello,

    When it will have admob reward video or in app purchase?:)
    Thanks,
    Regards.
     
  31. chemael

    chemael

    Joined:
    Feb 18, 2015
    Posts:
    195
    to @Jasinka
    Hi,
    I have no schedule about AD or IAP.
     
  32. PrakNep

    PrakNep

    Joined:
    Oct 24, 2016
    Posts:
    17
    Plz chemael i know u have done hard work but plz i have no money i have even emailed u and unity too and unity devs too but no answer i really need it.
     
unityunity