Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[RELEASED] TopDown Engine by More Mountains [new v3.0 : damage types, damage resistance, and more!]

Discussion in 'Assets and Asset Store' started by reuno, Oct 9, 2018.

  1. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @Ambicioso > Have you checked the AI section of the documentation?
     
  2. eboxrocks

    eboxrocks

    Joined:
    Nov 22, 2017
    Posts:
    9
    So I'm running into a strange issue that only happens on Android. It seems that when I equip an enemy a fast firing weapon (or a shotgun), if the enemy hits me with multiple rounds, after a while the capsule or box collider on the character gets shifted around so I get collisions with objects in the scene when they aren't touching visually. I can play on the same level infinitely if I disable all the enemies, but once I re-enable them, the issue happens.. Its very strange. It does not happen when I play in the unity editor.

    EDIT : Setting the character immune to knockback seems to have fixed the issue, testing on Samsung S7 Edge
     
    Last edited: Jan 20, 2019
  3. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @eboxrocks > I've never heard of anything like this. If you think you've found a bug, please use the support email, and provide exact steps to reproduce with a fresh install of the engine, thanks.
     
  4. eboxrocks

    eboxrocks

    Joined:
    Nov 22, 2017
    Posts:
    9
    Hi @reuno ,

    I posted earlier about the knockback issue. That was my mistake, the issue was occurring even after I messed with the settings. It seems to be specific to android, and specific to how android handles rigidbodies (it's like it isn't respecting the is kinimetic setting on the player character or something, the bullets seem to be pushing the rigidbody off the character, but the actual controller is keeping the character in place). I'm in the latest version of unity and it was still happening. Its flawless on other platforms and in the unity editor, so I think it has something to do with the Unity Android build.

    What I ended up doing was stripping out any functionality that is specific to the rigidbody on the TopDownController3D (things like push back and support for platforms), as it seemed like it was just weird behavior of having both a character controller and rigidbody both on the same object. With just the character controller its working fine (with the exception of not being able to push objects, but I don't really use that in my game anyhow).

    Everything else worked fine after that (and I even saw a bit of a performance improvement afterwords too). Of course I can't upgrade easily from here either but otherwise its all good.

    EDIT : Scratch that, not the issue either. Maybe its just my phone?

    Thanks!
     
    Last edited: Jan 22, 2019
    reuno likes this.
  5. Necka_

    Necka_

    Joined:
    Jan 22, 2018
    Posts:
    488
    Hello,

    As you sometime consider feature requests, I'd like to suggest one:

    List of sound feedbacks
    For example: On a weapon you can actually set a "on use" SFX
    Instead of one SFX, having the possibility of inputing a number of list elements and having multiple sounds
    On top of that, a checkbox to either play those sounds randomly or in the list order
     
  6. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @Necka_ > I always consider feature requests :)
    And I've already added the possibility to add more than one sound per feedback to the next version, along with randomness, pitch and volume control.
     
    Stevepunk likes this.
  7. Necka_

    Necka_

    Joined:
    Jan 22, 2018
    Posts:
    488
    Haha but you're ahead of my idea, first the Impulse listener and now this one
    Will try to figure out an awesome feature that you're not already working on :D

    Thanks for that one :)
     
  8. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @Necka_ > I have to admit that the fact you'd request the exact feature I had worked on a few days before, and in such specific terms surprised me a little :)
     
    Necka_ likes this.
  9. Adamlizek

    Adamlizek

    Joined:
    Nov 15, 2018
    Posts:
    2
    Hello, I am messing around with the brain section of the AI in the Koala Demo, and I am trying to switch the Decision from AIDecisionDetectTargetRadius to AIDecisionDetectConeofVision. I've tried dragging as well as adding the script to the enemy with no avail. Any help is appreciated, I'm not sure how the scripts used in the brain differ from using them in other places.
    Thanks for the help!
     
  10. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @Adamlizek > Have you checked the AI section of the documentation?
     
  11. Adamlizek

    Adamlizek

    Joined:
    Nov 15, 2018
    Posts:
    2
    Yes I have, I've tried to figure it out myself after reading through. I've managed to add the DetectConeOfVision to the Ninja but its not working as expected, the Ninja notices the player as expected and starts chasing by radius as defined, but once the decision in Moving is changed to Cone of Vision, it no longer works.

    Any help or addition documentation you could link me to would be great!
     
  12. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @Adamlizek > The Cone of Vision decision will only detect 3D colliders. You can see an example of it in action in the MinimalSword demo scene. It won't work with ninjas out of the box. You could easily extend it to handle 2D colliders though. I can add that to the todo list for sure.
     
  13. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    Good news everyone, I've just pushed v1.2 of the TopDown Engine to the asset store.

    This update's biggest feature is the new MMFeedback system. Note that it will break compatibility with v1.1, as it replaces that system entirely, but it's a much more robust foundation for the future, and makes adding game feel and feedbacks to your game much easier and with much more control, so I believe it's worth it.

    As usual, it fixes all bugs known to date, unifies some AI behaviours that were still existing only in either 2D or 3D, and adds requested options here and there. Note that you'll need Unity 2018.3 to run it. Expect a few days/weeks of delay while Unity validates the update.

    Here are the full release notes :

    - Adds WeaponPreventShootingWhenCloseToWalls2D and 3D components to prevent weapons from shooting too close to obstacles (you can see these in action in the Koala and Loft demo scenes)
    - Adds a completely new MMFeedback system, to power game feel throughout your game
    - Adds a new Cinemachine Impulse feedback
    - Adds a new scale feedback
    - Adds a new position feedback
    - Adds a new rotation feedback
    - Adds a new Vignette feedback
    - Adds a new Depth of Field feedback
    - Adds a new Bloom feedback
    - Adds a new Lens Distortion feedback
    - Adds a new Color Grading feedback
    - Adds a new SetActive feedback
    - Adds a new Light feedback
    - Adds a new and better Chromatic Aberration feedback
    - Adds a new action : AIActionMoveRandomly3D, renames the old AIActionMoveRandomly to AIActionMoveRandomly2D
    - Adds a new action : AIDecisionDetectTargetConeOfVision2D, renames the old AIDecisionDetectTargetConeOfVision to AIDecisionDetectTargetConeOfVision3D
    - Adds a new action : AIDecisionLineOfSightToTarget2D, renames the old AIDecisionLineOfSightToTarget to AIDecisionLineOfSightToTarget3D
    - Adds the BackgroundMusic component, to add a background music to your scene via a simple drag and drop
    - Greatly improves the overall demo feedbacks in both the Koala and Loft demo scenes
    - Adds sounds to both the Koala and Loft demo scenes for most interactions
    - Adds a 3D sword pickup prefab
    - Adds labels to AI scripts to increase readability
    - Adds options on InventoryWeapon picks : nothing, auto equip, or auto equip if no weapon is currently equipped
    - Adds background music to the Loft and Koala demo scenes
    - Fixes missing sound triggers on CharacterJump3D
    - Fixes how weapon get unequipped on death
    - Fixes a few misattributed layers following v1.1 layer reassignment
    - Fixes a bug with the pause splash's resume button in certain scenes
    - Removes (harmless) warnings that would appear when importing in 2018.3+
    - Fixes a minor typo in inventory that could cause a target equipment inventory not to be found
    - Prevents a bug where after unequipping a weapon your character would remain stuck in the discarded weapon's aim mode
    - Fixes a bug that could happen when unequipping a weapon and would result in the weapon not being unequipped properly.
    - Fixes a bug that could cause the character to reset improperly after death in the Loft demo scene
    - All Inventory Engine's Item methods must now return a bool, allowing for way more control over the result of a Use, Pick, Equip, Unequip, Drop operation, but this will force you to modify the signature of your methods if you've extended InventoryItem (just change void to bool and return true).
    - Updates Inventory Engine to v1.2

    I hope you'll like this new version!
     
    mccann, MudPuppet, Havok_ZA and 3 others like this.
  14. Necka_

    Necka_

    Joined:
    Jan 22, 2018
    Posts:
    488
    Hello @reuno

    The compatibility breaking with 1.1 is annoying but I think I can handle that.
    But the 2018.3 minimum version is a major no go.

    Is there a reason for that outside of 2018.3 having .Net4 by default? Is it working in a 2018.2 .Net4 project? or are there other things that are specific to 2018.3 that would not work out?
     
  15. Rich_A

    Rich_A

    Joined:
    Nov 22, 2016
    Posts:
    338
    I would anticipate that these major foundational assets will/should move to the LTS version of Unity as their minimum/expected version. If you have problems with 2018.3 fundamentally (I'm guessing with prefabs) then you should voice your concerns with Unity directly.
     
  16. Necka_

    Necka_

    Joined:
    Jan 22, 2018
    Posts:
    488
    Hmm, It's not about having concerns with the Unity version feature, it's about not moving a whole productive project to a new Unity major version every 3 months while Assets update can be less destructive usually. Unity 2018.4 LTS isn't yet there and won't be before at least March. So my concern was mostly about having this specific asset that is having a "mandatory" unity minimum version as 2018.3 instead of keeping backward compatibility. If you like to jump on newest Unity version every time there is one, it's totally up to you, but let's not drive each other project management processes ;)

    Anyway. I was just asking the reason for this change. If it's because of a major feature in 2018.3 that makes TDE not work at all in 2018.2. Because maybe it's just for some thing that I don't mind and even if I will receive no support, I can keep using 2018.2. Just discussing here
     
  17. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @Necka_ > The reasons for the change are new prefabs, new C#, and the amount of work needed to maintain compatibility with older versions while the demand for that is so low (data on that comes from what my users request on average).
    It's quite doable to grab the new version from a 2018.3 install and retro port it to an older one if you want though, it should mostly work, apart from a few C# things that should be easy to translate. Let me know if you run into issues with that if you try it.
     
    Rich_A likes this.
  18. Necka_

    Necka_

    Joined:
    Jan 22, 2018
    Posts:
    488
    Hi Reuno,
    Got it thanks.
    I will go ahead with a migration process to 2018.3 to then stick to 2018.4 LTS until the end of the project. It's not working great so far but I'll manage. (edit: it's not working great but not about TDE of course! just my own stuff!)
    TDE is like the central piece now and I prefer to be "conform" to your requirements to have support in case of issues

    FYI, I tried on a new 2018.3 project importing that new TDE version (it's up on the store, that was quick) and my issue with rotation not stopping properly when releasing the left axis is there. I'll write you a separate e-mail about it to see what can be done. But I also find out where to put some conditions in the CharacterOrientation3D component to avoid that issue

    Another note: The new feedback system is absolutely GORGEOUS. I love it. It's so full of options everywhere I didn't know what to try first. The impulse listener in the demo scene (Loft) was apparently missing the default preset (6D) for all prefabs, don't know why, but I updated those and it works fine.
    Again, that feedback system... I don't know how you came with that solution, but that's brilliant.
     
  19. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @Necka_ > The 6D thing should be on the feedbacks themselves, not on the listener (I mean you can do both but that's how it's setup by default, and it should work, wasn't that the case?).
    But I'm glad you like that system, I think it's one of the best things I've created, it's so useful :)
     
  20. Necka_

    Necka_

    Joined:
    Jan 22, 2018
    Posts:
    488
    @reuno I might have misunderstood, I am speaking for example on an AI character, there is a "deathfeedback" child
    On one from the Loft Scene from a clean project, I go there, develop the Cinemachine Impulse and see this: https://i.imgur.com/5wzjpoz.png

    Raw signal is missing

    It is the same for all prefabs in the scene, is it a bug or I'm just missing the point? :)
     
  21. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @Necka_ > That's not normal then, it should be 6D indeed.
     
  22. Necka_

    Necka_

    Joined:
    Jan 22, 2018
    Posts:
    488
    I totally understand, but all I did was to import the package to a new project, I know sometime the asset store import bugs out, so I'll try again later. But at the end I don't mind it, I don't know if it's a bug or not at least if someone else report that, you'll know :)

    By the way, did you have the time to add the possibility to not have a Confiner in 3D?
     
  23. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @Necka_ > Oh I meant it's probably a bug, not something on your side.
    And I don't think I changed anything on the confiner, did you send me an email about it? That's how things get put in the list, if you didn't it probably got lost. Send me an email and it'll make it into the next release.
     
    Necka_ likes this.
  24. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @Necka_ > The confiner thing is done, will be included in the next release.
     
    Necka_ likes this.
  25. mrobot

    mrobot

    Joined:
    Apr 1, 2015
    Posts:
    1
    @reuno Have you tried running the 1.2 built with 2018.3.4 on iOS with default settings? Still getting the spam of metal errors which breaks everything completely:

    topdownengine[4463:1013863] Execution of the command buffer was aborted due to an error during execution. Ignored (for causing prior/excessive GPU errors) (IOAF code 4)
     
  26. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @mrobot > What do you mean "still getting"? Did you report that before? I have never heard of any metal issue in context with the TopDown Engine, and don't reproduce the problem.
    Here's the editor running on Mac, iOS build selected, no errors :
    upload_2019-2-3_9-21-55.png

    And a build of that same version running on iPhoneX at 60fps, all effects on :
    upload_2019-2-3_9-22-52.png

    In any case, a metal error would probably be due to visuals, not the engine itself (character controllers and weapon scripts don't cause metal errors). I'd suggest turning post processing off, or testing with really minimal visuals to try to pinpoint the issue.
     
  27. Necka_

    Necka_

    Joined:
    Jan 22, 2018
    Posts:
    488
    Hey there, sorry if the question is stupid (I might have oversee the possibilities)

    How one could change a weapon's bullets in a simple way?
    Let say I have an assault rifle with the regular bullets and would like the player to be able to switch to explosive rounds or whatever funny bullets I'll come up with

    The Weapon has by default an MM Pooler which kind of define the bullet attitude.
    The only way I'm thinking of, is to have another weapon that has the MM pooler with the proper bullet, but I just thought there might be a more clever way

    Opened to ideas
     
  28. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    The easy way (and the one I'd recommend) is to have another weapon with different bullets, and possibly same appearance. Super easy and maintainable to do now with the new prefab system. Alternatively create a script that does that and addresses the pooler, weapon, rebuilds the pool, etc.
     
    ScourgeGames likes this.
  29. ScourgeGames

    ScourgeGames

    Joined:
    Aug 22, 2017
    Posts:
    239
    Hi @reuno , I think I saw that you mentioned you were planning a dialogue system for this asset. Any ideas as to when you plan to put that in (total ballpark) so I can decide if I want to write my own or just wait? Thanks.
     
  30. ScourgeGames

    ScourgeGames

    Joined:
    Aug 22, 2017
    Posts:
    239
    One more question for you @reuno , would there be any collisions to have both the Corgi Engine and this engine running in the same project? I know they are both project templates, so I'm curious if I had both running if there would be any issues. Thanks.
     
  31. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    @ScourgeGames - FWIW, the Dialogue System for Unity 2.1.2, scheduled for release this Friday, has TopDown Engine integration. It already has Corgi integration.
     
    Boom_Shaka likes this.
  32. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @ScourgeGames > As explained in the FAQ, I don't give ETAs for features. They get released when they're done.
    And there would probably be issues if you were running both engines in the same project, they're completely different things, not meant to be used together. It's certainly doable, but not out of the box.
     
  33. Necka_

    Necka_

    Joined:
    Jan 22, 2018
    Posts:
    488
    Hmm you're right I didn't actually think about using the new prefab variant system to handle this bullet switching keeping the main Projectile weapon component and having the bullets changing depending on their types.
    Thanks that's a good idea, I'll implement it like this :)
     
    reuno likes this.
  34. ScourgeGames

    ScourgeGames

    Joined:
    Aug 22, 2017
    Posts:
    239
    I didn't know that. I actually have a license for that already.
     
    TonyLi likes this.
  35. ScourgeGames

    ScourgeGames

    Joined:
    Aug 22, 2017
    Posts:
    239
    I understand about ETAs. I was just curious if it was higher up on the list in priority. Given that the dialog system will work for it, I'm going to go that route.
     
  36. Necka_

    Necka_

    Joined:
    Jan 22, 2018
    Posts:
    488
    Suggestion/Question time :) not sure if that would be possible (didn't check too deep to be honest)

    Would there be a way to have health bars to be instantiated all together into an empty (specified or not) game object?

    I explain: when having quite a lot of ennemies in a scene, that is a lot to scroll down to check out some stuff I'm working on (troubleshooting my game logic or else).
    Of course there is no impact having them like this especially for a build. It's just in "dev mode" that it's a bit cluttered and I was wondering if that could be improved somehow :)
     
  37. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @ScourgeGames > It is quite high in the priority list. I'd say it'll be in one of the next 3 updates.
    @Necka_ > It wouldn't be a good idea for a build indeed (performance wise it's bad practice to nest that many moving objects if it can be avoided). But it'd be quite easy to have them nest under a common object when instantiated, for sure, it's just a SetParent() away :)
     
    Stevepunk, Necka_ and ScourgeGames like this.
  38. ZayLong

    ZayLong

    Joined:
    Jun 2, 2013
    Posts:
    33
    Direction On Spawn doesn't seem to actually do anything.

    Testing out the Koala demo, enemies will always face Right no matter what.
     
  39. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @ZayLong > Indeed it doesn't (if you look at the code, you'll see it's never used).
    It's there for people who want to extend the class, and for consistency with CE, as someone asked for it.
     
  40. ScourgeGames

    ScourgeGames

    Joined:
    Aug 22, 2017
    Posts:
    239
    The visual effects in this are darn spiffy. Can these easily be ported to the Corgi engine?
     
  41. Necka_

    Necka_

    Joined:
    Jan 22, 2018
    Posts:
    488
    Hi Reuno, I'm balanced about dual wielding management, I'm not sure exactly what would be the best to do with the melee weapon component.
    I will start soon prototyping dual wielding, with two main cases:
    1- Sword and Shield (which mean the sword can be any sword and the shield as well)
    2- Dual sword/dagger whatever which will be always a pair of one model

    The thing where I'm struggling to conceptualise is how to handle for example:
    Skill 1 makes a sword slash followed by a shield bash - those two actions would be in one animation.
    Or in the second case, the animation is a character spin and each of his swords make a hit (first hit let say at 1 sec and second hit at 1.6 second)

    So I'm not sure if I should have a weapon component on each hand and "time" each attack. Or extending the weapon class for dual wielding (with 2 damage areas?)

    I know it's up to the dev to do the magic, but I'm just wondering what would be the best approach as you know that baby better than anyone

    I might have missed it but I don't think this use case is covered in the engine as it is now?
     
  42. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @ScourgeGames > I guess it depends which ones you're referring to. But sure, everything can be ported from anything to anything, it's just Unity on both sides.
    @Necka_ > That sounds quite specific indeed. I guess I'd make a third "weapon" that triggers both weapons in sync, or just plays its own animations, and that would only be available when some conditions are met (a sword and a shield are equipped, etc).
     
  43. Boom_Shaka

    Boom_Shaka

    Joined:
    Aug 31, 2017
    Posts:
    141
    I was wondering about this as well (and all More Mountains Tools for that matter) -- it looks like you can pretty much drop that folder into any project and add a "using" directive to your scripts. Is that fairly accurate or is there more prep work involved (don't need a detailed response, just high level)

    @Necka_ -- I'd be interested in seeing your solution to this.....I was looking at doing it as a combo weapon and using animation blends but won't get to that for a few more weeks.
     
  44. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @Boom_Shaka > Sure, just like any scripts or assets, you can reuse them however you want. A using directive for scripts is all you need indeed.
     
  45. Ambicioso

    Ambicioso

    Joined:
    Oct 16, 2017
    Posts:
    3
    yes, but I still dont understand everything :/
     
  46. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @Ambicioso > If you have specific questions don't hesitate to drop me a line using the support contact form, I'll be happy to help.
     
  47. ScourgeGames

    ScourgeGames

    Joined:
    Aug 22, 2017
    Posts:
    239
    Thanks, I've already looked into the visual effects scripts and it appears they are easily portable. The ones I'm talking about are the ones that apply to the camera. That would be a good add on to Corgi in the future and probably could sell as a separate street asset if you packaged it right.
     
  48. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @ScourgeGames > You can use the visual effects as well, there's no restriction in that regard at all.
    And yes, I plan on using them in Corgi as well of course, I'm just waiting on Unity to make some changes to the way it handles packages in the asset store, I don't want to have to deal with the (rare, but still) install issues of the TopDown on Corgi as well, once is enough :)
     
    ScourgeGames likes this.
  49. ScourgeGames

    ScourgeGames

    Joined:
    Aug 22, 2017
    Posts:
    239
    Yeah I knew they have issues when you include other assets that are free, but they haven't been consistent. I do like how you created the startup screen for the TD setup. A lot of people would freak and post bad reviews, but by using that screen you have them install right from there.
     
  50. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @ScourgeGames > No, that's not exactly the issue. Depending on packages is fine and "legal". The problem is, right now the asset store doesn't offer the option to push the package manager manifest. You can push project settings (yay), but not the manifest. So I had to code a hook that automatically looks at your manifest, edits it, etc. This is tedious, and sometimes (rarely) it doesn't work. I'd much rather have a native solution to avoid people freaking out about this :)