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
    @Felinsky > None are mandatory, but indeed I'd recommend keeping Input, Tags, physics and physics 2D settings unless you want to merge or add them later on.
     
    Tretiak likes this.
  2. Aphelion78

    Aphelion78

    Joined:
    May 8, 2015
    Posts:
    8
    Is there a way make the character click to move like in Diablo or Torchlight? I have this sinking feeling the answer is right in front of me and I'm not seeing it. Thank you! Loving to get to play with this asset finally.
     
  3. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @Aphelion78 > There's no player based example of it right now. You can work around it by having your player be an AI, and you can see examples of that in the MinimalPathfinding3D demo scene, where you'll see multiple characters behave as you want. A closer "diablo like" example is in the todo list, I can add your vote to it if you'd like!
     
  4. mickeyband

    mickeyband

    Joined:
    Dec 30, 2018
    Posts:
    16
    When teleporting the Player between maps - Assuming Point of Entry index and Level Names are matching, what else would cause an error? when it hangs on the loading screen . I had this working fine before so it must be something Im missing.

    I went back to MinimalDoors2D samples and tried replacing the Level Names of those with my own maps names and it causes the error.
     
  5. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @ItachiTGM > Maybe you didn't add your destination scene to your build settings.
     
    mickeyband likes this.
  6. mickeyband

    mickeyband

    Joined:
    Dec 30, 2018
    Posts:
    16
    that worked! thanks again.
     
    reuno likes this.
  7. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    Last feature update was in may. Will new features follow or it this asset feature complete? I need some kind of mission, objetive system.
     
  8. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @pushingpandas > No, it's not feature complete, and many more updates are coming. The next one is almost ready and will be the biggest yet. No objective system though, it's almost never been requested so far (I suppose because there are already good solutions out there?). Don't hesitate to use the support form to request features, that way they can climb the todo list and eventually make it into a release :)

    Edit : I say that frequently, but don't take my word for it when it comes to updates and features that may or may not come. Buy the asset (or don't) for what's already in it, not what may come later. Plans change, delays happen, etc.
     
    Last edited: Aug 13, 2020
    Bhanshee00 likes this.
  9. dataEcto

    dataEcto

    Joined:
    Feb 21, 2018
    Posts:
    11
    Hello,

    I was wondering if it was possible to make the 3D Cone of Vision rotate with a character model. Something similar to top down stealth games like Metal Gear.

    I bought this asset just yesterday and I am loving it so much!

    Thank you!
     
  10. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @unity_Wpk1eIEB_4-o6g > Sure it's possible, and that's how they will behave by default.
    You can check the enemy AIs in the MinimalSword3D demo scene for an example of that in action.
    I'm glad you're loving the engine :)
     
  11. dataEcto

    dataEcto

    Joined:
    Feb 21, 2018
    Posts:
    11
    Thanks for pointing me in the right direction-this is exactly what I was looking for.

    However, whenever I place the DetectTargetConeOfVision3D on my AI, it seems to be stuck facing north of the player model, even if I enable rotation. Is there any reason why that is?

    For reference, I am using a sprite in place of a 3D model, with no animations in place.
     
  12. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @dataEcto > You can use a 3D model or a sprite in 3D, but if you're in 2D mode for your character, then DetectTargetConeOfVision3D won't work. As the 3D in the name suggests, this is for 3D characters only.
     
    dataEcto likes this.
  13. dataEcto

    dataEcto

    Joined:
    Feb 21, 2018
    Posts:
    11
    Oops, Should elaborate further- I am using the Minimal Scene 3D as a base, and I am using a Sprite in 3D.

    The AI character is freshly made using the Character script as well, and I only added an AI Brain so that it can run DetectTargetConeOfVision3D.

    I am beginning to wonder if it has to do with the AI character I created itself, since if I were to bring the prefab of the ai from Miminal3DSword, the vision cone turns around just fine
     
  14. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @dataEcto > Ok, so if you're in 3D and using a sprite (or a model, or anything else), you'll be fine :)
    Then there is indeed probably something wrong with your AI, I'd recommend comparing with the demo for differences, as it could be any number of things, and it's hard to guess without more info. If the issue persists, don't hesitate to use the support form and provide more info about your setup, I'll be happy to look into it further.
     
    dataEcto likes this.
  15. dataEcto

    dataEcto

    Joined:
    Feb 21, 2018
    Posts:
    11
    Thank you very much for the advice! I just found out the problem I was having - Turns out my AI did not have The Character Cone of Vision component :p

    You were a very big help!
     
  16. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @dataEcto > Ah that would explain a lot indeed! I'm glad you fixed it, thanks for letting me know :)
     
  17. sauceboy

    sauceboy

    Joined:
    Dec 1, 2015
    Posts:
    4
    Totally new with a lot of the engine I was curious I noticed you use sprite sheets for the animations is there anyway to implement the keyframe work way of changing transforms like I stop motion for it?
     
  18. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @sauceboy > That's how 3D animations work, you'll find plenty of examples throughout the engine. As explained in the documentation, the engine doesn't do animation, Unity does. All the engine does is update parameters, how you use them is up to you (and Unity), and it'll support all the animation methods supported by Unity/Mecanim.
     
  19. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    Good news everyone, I've just pushed v1.9 of the TopDown Engine to the asset store.
    This new release should be available within a few days. It's quite a big update, that brings new features, such as auto aim, hitscan weapons or bouncy projectiles, a new demo character with more advanced features and animations, a lot of quality of life improvements, with, for example, auto animation parameter setup, and as usual, it fixes all known bugs to date. It also paves the way for the exciting v2.0 which is coming next.

    Here are the full release notes, I hope you'll like this new version!

    - Adds two examples (one solo, one local multiplayer) of how you can use the InputSystem along with the TopDown Engine, with dedicated extended input managers, and one demo for each setup
    - Adds a new demo, Colonel, with a brand new 3D character showcasing (among other things) a more complex animator setup
    - Adds the HitscanWeapon class, a new weapon class in addition to the existing melee and projectile ones. This one will let you apply damage instantly if there's a line of sight. Complete with dedicated feedbacks and effects, and an example of it with the ColonelAssaultRifle demo w
    - Adds WeaponAutoAim2D and WeaponAutoAim3D, that you can add to any WeaponAim based weapon. It'll periodically scan for targets in a certain radius, and if one or more is found, will pick the closest and aim towards it. If no target is found it reverts to the previous aim
    - Adds a 3D auto aim example to the Colonel demo scene
    - Adds bouncy projectiles, with customizable (and optionnally randomized) amount of bounces, speed multipliers, etc. Adds an example of that in 2D in the Koala Dungeon scene (the Gun weapon now has bouncy projectiles and faster rate of fire), and a 3D one with the AssaultRifleBulletBouncy p
    - Adds a new AI Action, AIActionMMFeedbacks, that lets you play a target MMFeedbacks when performed
    - Adds the CharacterAnimationParametersInitializer class, that lets you automatically add animation parameters to your character's animator
    - Adds the CharacterDisableIKOnReload ability, that offers options to handle IK and weapon model behaviour while performing a reload
    - Adds the WeaponModel class, letting you completely separate weapon visual and logic if desired
    - Adds AIActionUnityEvents, letting you trigger any event via an AI Action
    - Adds the MMRandomBoundsInstantiator, which lets you spawn random objects within a mesh's bounds on demand, by the quantity you want and optionnally rescaling them
    - Adds MMObservable, a new class that lets you listen for value changes on other classes in a performant manner
    - Adds a ctrl/cmd + L shortcut to lock/unlock the current inspector
    - Adds CharacterAnimationFeedback, an example class showcasing how you can use animation events to trigger MMFeedbacks, with an example of that in the Colonel demo scene, where each time the character takes a step, a random footstep feedback
    - Updates the auto character process
    - Adds an offset to MMAutoFocus
    - Adds an Analog Input option to CharacterMovement
    - Adds a WeaponUseTransform option, letting you specify a transform to use (for example) as the projectile spawn point, in addition to the previously existing offset
    - Adds delay options to the ButtonActivated zones, forcing you to stay within a zone for a certain duration to activate it, complete with interruption settings
    - WeaponAim can now move the camera target towards the aim direction even without a reticle
    - Improves the Grassland's demo characters' animator, adding extra motion fields to the blend tree to remove ambiguity between states
    - The GUIManager now exposes the string format to display points
    - Improves the way the TopDownController2D's velocity is computed
    - Improves AutoRespawn, adding support for characters, as well as more options (whether or not to disable all components on death / reenable on respawn, and auto respawn amount, for limited auto respawn)
    - The GameManager now forces a UI refresh of points every time their count is changed
    - Adds a new event, SpawnComplete, triggered when the initial spawn of the character is complete
    - Adds a new method to Health, SetHealth(int) that lets you set the health of a character to any value, and automatically refreshes associated health bar(s)
    - Improves the behaviour of MMHealthBars to allow for easier disabling/enabling
    - Sprite masks now initialize on Start (and not on Awake anymore), to make sure they can initialize more sprites and objects
    - Adds spring mode to MMFollowTarget
    - Improves the MMBezierLineRenderer, which now works in editor mode as well
    - MMTimedActivation can now operate on frames (and not just time), and can now activate individual monobehaviours as well as gameobjects
    - Adds the RemappedSpeedNormalized animation parameter
    - Adds a ResetPath method to MMPathMovement
    - MeleeWeapons now let you specify dedicated MMFeedbacks to use when the weapon's damage area collides with a damageable or a non damageable.
    - MMShuffleBag can now shuffle all sorts of types
    - Adds an option to the Health class to change layer on death (recursively or not)
    - Adds SetTargetToNullIfNotFound option to the Cone of Vision AI decision, for more flexibility in AI setup
    - Adds an option to the CharacterInventory ability to cycle back to empty hands when cycling weapons
    - Adds an option to CharacterInventory to cycle back to the initial weapon at the end of the weapon rotation
    - Adds an option to allow dash 3D while jumping.
    - Improves MMFader's handling of a long first frame in a scene
    - Changes the way the center of rotation for 2D weapon aim in mouse mode is computed
    - Rooms now disable/enable virtual cameras
    - Improves the way initial facing direction is computed in 2D
    - TopDownController3D now exposes its Acceleration value
    - Separates the GUIManager's Initialization for more control
    - Improves the loading scene sequence
    - CharacterJump3D now automatically stops when meeting a ceiling.
    - Removes now useless Update in LevelManager
    - Fixes a bug with the way CharacterInventory was matching weapons on equip
    - Fixes a wrong z value on a few pushable blocks in KoalaRooms
    - Fixes an erroneous y position of spawn points in the Explodudes demo scene
    - Fixes a bug that would cause dropping a weapon from the inventory to disable the currently equipped weapon
    - Fixes a bug that could cause an AI to never stop shooting if changing state at the exact frame a bullet was shot
    - Fixes a (harmless) typo in the Teleporter class
    - Fixes a typo that would prevent debug draws from disabling correctly when using the Tools menu
    - Fixes a bug that could result in the wrong remaining ammo count to be displayed
    - Fixes a few animation offset issues when crawling in Loft3D
    - Fixes a few typos in the Rooms documentation
    - Fixes a typo in the Weapons documentation
    - Fixes a bug that would lock the character in a jumping state when transitioning to walk on a flat surface at the apex of a jump
    - Fixes a typo in the Scenes documentation
    - Fixes a bug that could cause the wrong rotation for a button prompt if its container was itself rotated.
    - Fixes a bug in the way the velocity last frame was computed in TopDownController3D
    - Fixes a bug that would cause the death splash to be displayed twice after falling down a 2D hole
    - Fixes a bug that could lead teleporters to lock characters in a frozen state when too many characters collided with them
    - Fixes a bug in the SoundManager that could cause background music to not play again after a certain sequence of enable/exit/disable
    - Fixes a slight laser offset when using mouse aim in 3D
    - Fixes a few pathfinding and AI bugs that could cause a pathfinder AI to get stuck while trying to resume its path
    - Updates MMFeedbacks to v1.5
    - Renames the MinimalRooms demo scenes to MinimalDoors to avoid confusion with the actual Room system
     
    DrOcto, MudPuppet and LassieLemon like this.
  20. keikusanaji

    keikusanaji

    Joined:
    Apr 9, 2020
    Posts:
    4
    Good job, and good luck for 2.0!
     
    reuno likes this.
  21. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    played the demo. Colonel is awesome. Can you please make a tutorial regarding this?

    "Adds a new demo, Colonel, with a brand new 3D character showcasing (among other things) a more complex animator setup"

    Do you have a roadmap for 2.0 ? What will change?
     
  22. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @pushingpandas > Glad you like the Colonel! There'll be a tutorial, yes :)
    I do have a roadmap for 2.0, but I don't communicate on it at the moment.
     
  23. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    The update got accepted today, it's now ready to download!
    If you're updating from an older version of the engine, make sure you remove the old folder before updating, and whatever you do, do a backup first (or use version control) :)
     
  24. Sund3a

    Sund3a

    Joined:
    Aug 30, 2017
    Posts:
    1
    Hello,
    I love your engine and I'm using the 1.8 to make my 2d topdown action rpg game.
    Here is my question.
    1.Can I aim the enemy without rotating my weapon model(a picture)? I'am creating a weapon like throwing knife.
    2.Is there any way to shake an object(NOT the camera)by MMfeedback or something else?
     
  25. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @Sund3a > If you separate your model from your weapon, then yes. And the camera shaker can shake anything, not just cameras. And then there are position, rotation, scale feedbacks you can use as well, and a wiggler also.
     
  26. lizhi233

    lizhi233

    Joined:
    Apr 19, 2019
    Posts:
    2
    Hello, when importing the latest version 1.9, an error occurred and cannot run.
    untiy edition:2020.1.4f1c1
    ArgumentException: An item with the same key has already been added. Key: UnityEditor.Scripting.ScriptCompilation.ScriptAssembly
    System.Collections.Generic.Dictionary`2[TKey,TValue].TryInsert (TKey key, TValue value, System.Collections.Generic.InsertionBehavior behavior) (at <fb001e01371b4adca20013e0ac763896>:0)
    System.Collections.Generic.Dictionary`2[TKey,TValue].Add (TKey key, TValue value) (at <fb001e01371b4adca20013e0ac763896>:0)
    UnityEditor.Scripting.ScriptCompilation.CompilationTask.Poll () (at <41c93819609c41f094febed5fbd14a85>:0)
    UnityEditor.Scripting.ScriptCompilation.EditorCompilation.PollCompilation () (at <41c93819609c41f094febed5fbd14a85>:0)
    UnityEditor.Scripting.ScriptCompilation.EditorCompilation.TickCompilationPipeline (UnityEditor.Scripting.ScriptCompilation.EditorScriptCompilationOptions options, UnityEditor.BuildTargetGroup platformGroup, UnityEditor.BuildTarget platform, System.String[] extraScriptingDefines) (at <41c93819609c41f094febed5fbd14a85>:0)
    UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface.TickCompilationPipeline (UnityEditor.Scripting.ScriptCompilation.EditorScriptCompilationOptions options, UnityEditor.BuildTargetGroup platformGroup, UnityEditor.BuildTarget platform, System.String[] extraScriptingDefines) (at <41c93819609c41f094febed5fbd14a85>:0)
    UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface:TickCompilationPipeline(EditorScriptCompilationOptions, BuildTargetGroup, BuildTarget, String[])
     
    Last edited: Sep 5, 2020
  27. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @lizhi233 > I believe I just answered you via email, but got an error doing so, there seems to be an error with your mailbox. Anyway, I'd need to know how you installed. Was this in an empty project? If you were updating an older version of TopDown, which one was it? Did you follow the documentation to update it?
     
  28. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    162
    Hello, I thought that I would share a bit of a snapshot of my TopDownEngine project progress. At the moment I am just working on bringing some kind of level together - or technically pull together enough stuff to test performance limits on my target device and decide on what type of game type to go for. Anyways, six months of joy using the TDE as well as creating and bringing in my own art/audio assets.

    TDE_GameProgress.jpg
     
    reuno likes this.
  29. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @MudPuppet > Looking great, thanks for sharing this!
     
  30. wheelbarrow

    wheelbarrow

    Joined:
    Sep 12, 2011
    Posts:
    177
    Hi, I'm looking at buying this asset, so I downloaded the demo. I am interested in using it for a 3d shooter, but while playing the demo, I notice there is a lot of sliding around of the player toon while moving around, and movement is not synced at all with the animations, i.e. the toon is moving before the walk animation starts, and stops before the walk animation ends.
    Is this as good as it gets, or can it all be tightened up to be as it should, in sync. I also notice your ai tries to walk thu walls in an effort to shoot the player, so same question.

    I played the Colonel demo, which says it has directional animations, what do you mean by that? If I walk the toon backwards, the forward walking animation still plays, as it does if I strafe left or right. Thanks for your time.
     
  31. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @wheelbarrow > Regarding the Colonel demo, no, it doesn't play the forward animation if you strafe, it's playing dedicated strafe animations.
    But animations are handled by Unity, not the engine. Anything you could do in Unity you can still do here. If you want backwards animations, you can add them if you'd like, there's no limit. The engine focuses on game logic and tight gameplay, not animation. The absence of "sync" is very much by design, it's not an animation driven framework. You'll find in the documentation a list of all the animation parameters exposed by the engine. They should be enough to handle most cases found in top down shooters, where animation usually doesn't need to be too detailed.
     
  32. Diceless

    Diceless

    Joined:
    Apr 1, 2014
    Posts:
    3
    Hello everyone!! I have a small issue with the basic Multiplayer Level Manager.
    I used a new manager script and, comparing the explodudes and grasslands scenes, i was able to do a 2 player splitscreen working no problem. Yay!
    My only issue for now is when I die, nothing happens, the player freezes because its been disable control on death... but I dont respawn.
    No error message, nothing... I have no clue where to start looking.

    Thanks
     
  33. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @Diceless > If you look at the MultiplayerLevelManager class, you'll find this :
    upload_2020-9-10_21-37-2.png
     
  34. Diceless

    Diceless

    Joined:
    Apr 1, 2014
    Posts:
    3
    @reuno Oh thanks Reuno!

    Im using bolt for most of the scripted stuff... I tried looking on the respawn of the Koala2D level to copy part of the script from there (im really basic at coding)... but its specified everywhere for only one player... Would it be possible to provide a piece of code that would just respawn my players at their original spawn points? I probably could manage tweaks afterwards!

    Thanks
     
  35. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @Diceless > There's no such example at the moment. I can add that to the todo list if you'd like, but it'd be exactly the same as for one player, except... twice (ideally you'd use a loop to handle n players).
     
  36. Diceless

    Diceless

    Joined:
    Apr 1, 2014
    Posts:
    3
    I know i could look like being lazy... but I did try a couple of things to no avail... can anybody just post that would be needed here? :( sorry!
     
  37. sballew7

    sballew7

    Joined:
    Sep 3, 2013
    Posts:
    76
    @Diceless People can point you in the right direction, but can't do the work for you... Keep trying and ask more specific questions based on what you've tried, that's how you will improve.
     
  38. keikusanaji

    keikusanaji

    Joined:
    Apr 9, 2020
    Posts:
    4
    Hello, a question for reuno (sorry for the bad english):
    I'm building a 2d project where you use a lot of weapons, pick them up and use them on the fly.
    I have a lot of pickups so I wanna divide them between hands (and use them at the same time). The division between right and left hand weapons is the problem. Even when using the character handle secondary weapon script with a different weapon attachment, all weapons on pick up go to the main hand.
    There is a built in way in the topdown engine to say "you are a weapon for the secondary handle"?
    Sorry if the question is dumb, I'm new at this.
     
  39. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @keikusanaji > That's not a dumb question at all!
    And unfortunately no, there is no such script at the moment, but there'll be in the next update.
     
    keikusanaji likes this.
  40. kotor

    kotor

    Joined:
    Dec 3, 2013
    Posts:
    140
    Here are couple of questions :
    - Is the 3d character using the root motion
    - Can I use the demo character model in my on project.

    Thanks
     
  41. kotor

    kotor

    Joined:
    Dec 3, 2013
    Posts:
    140
    One more question that forgot to ask:
    - Is this using the new input system in version 1.9
     
  42. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @kotor > No, yes (but it's really just a placeholder and you won't have the sources for it, so it'd be a weird choice), optionnally yes.
     
  43. kotor

    kotor

    Joined:
    Dec 3, 2013
    Posts:
    140
    I want to use root motion. Does the engine support it ?.
     
  44. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @kotor > As I said in my previous message, it doesn't. The engine focuses on tight gameplay.
     
  45. kotor

    kotor

    Joined:
    Dec 3, 2013
    Posts:
    140
    OK. What you mean by optionally yes. Can I implement the following using the new input system. What changes I have to make and where.
    - Does it support controller like xbox etc ?
    - What about touch ?

    Thanks
     
  46. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @kotor > Optionnally means it's an option :) The main implementation you'll find in use in most demos remains the regular input system, as most people still consider the new one not production ready, due to its many bugs and lack of documentation.
    If however you want to use the "new" input system, you don't have to make any change, just pick that option over the other one. You'll find two examples of it in use (one single player, one multiplayer), fully commented as usual. Just like with the previous implementation, most of the setup is on Unity's side, so I'd recommend getting familiar with the tech choices they made in that regard.
    And yes, Unity supports controllers of course, and the TopDown Engine comes with a Nice Touch integration.
    These topics are all explained in more details in the engine's input documentation.
     
  47. christougher

    christougher

    Joined:
    Mar 6, 2015
    Posts:
    558
    In 2d the character dash ability looks like it will continue to dash at the angle of an angled wall that the character collides with, but in 3d any collision results in keeping in one place. Is there the ability to dash in 3d and continue along an angled wall? Thx!
     
  48. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @christougher > No, right now there isn't. I can add that to the todo list if you'd like.
     
  49. christougher

    christougher

    Joined:
    Mar 6, 2015
    Posts:
    558
    That would be great! :)
     
    reuno likes this.
  50. Aaron2348

    Aaron2348

    Joined:
    Dec 12, 2016
    Posts:
    328
    @reuno
    Is this the Support Forum?