Search Unity

[RELEASED] TopDown Engine by More Mountains [new v1.5 : grid movement and new demo]

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

  1. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    @jolijar > That's great, I'm glad it's working now!
     
  2. jolijar

    jolijar

    Joined:
    Dec 9, 2013
    Posts:
    8
    I might have found a bug related to the switches. I made a quick video to show what I mean.
     
  3. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    @jolijar > That's not a bug, a switch's initial state doesn't trigger events, that's by design :)
    Feel free to extend the Switch class if that's what you want in your game though. Let me know if you have trouble with that.
    By the way, when you think you've found a bug, please use the support email to report it, otherwise it gets quite hard for me to collect, reproduce and fix them. And ideally provide steps to reproduce the problem in any of the demo scenes, makes it easier to pinpoint the issue!
     
  4. jolijar

    jolijar

    Joined:
    Dec 9, 2013
    Posts:
    8
    I figured that might be the case. I'll submit stuff through support email now. Thanks for the top notch support (I am writing you a favorable review soon)
     
  5. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    @jolijar > That's very kind of you. Let me know if you need help with the switch. I could add that behaviour as an option, but that's usually how I build switches and I think it's the best way to do so.
    If you want to implement your behaviour, all you'd have to do is extend the Switch class, override its Start method to add an if test that calls either TurnSwitchOn() or TurnSwitchOff() based on the current state of the Switch, and you should get what you want.
     
  6. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    138
    Hey Reuno, just a minor request for your DialogueZone stuff from the Corgi Engine because this engine could really benefit from having that.
     
    Boom_Shaka likes this.
  7. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    @MudPuppet > I'll add your vote to it, it's been heavily requested already :)
     
    Boom_Shaka likes this.
  8. jolijar

    jolijar

    Joined:
    Dec 9, 2013
    Posts:
    8
    @reuno I just switched the bool on the tile and now its in the correct state. Its a very robust system.
     
    reuno likes this.
  9. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    Good news everyone, I've just submitted v1.1 of the TopDown Engine to the Asset Store. This new version includes an example of a 3D melee weapon, which was by far the most requested feature post launch. This comes with a WeaponModelEnabler, a new way to separate visuals and model when it comes to weapons. And here are the full release notes :

    - Adds the 3D Sword demo weapon, a 3-attack combo melee weapon
    - Adds the WeaponModelEnabler class, to handle visual representations of weapons separate from the actual Weapon that spawns a projectile / a damage zone
    - Adds a new decision : AIDecisionDetectTargetConeOfVision, that can be used on AI Characters to display a field of view and act when a potential target enters it
    - Adds a new demo scene, MinimalSword3D, showcasing both the new 3D sword combo weapon and field of view based enemies
    - Adds ragdolling enemies
    - Adds number of jumps restrictions to CharacterJump3D ability
    - Adds conditions to jumping and dashing to prevent glitches
    - Adds flicker option to MMFeedbacks
    - Adds MMFeedback settings on Damage and Death to the Health component
    - Mutualizes layers to bring the number of layers used by the engine down to 11 instead of 16
    - Fixes a bug with akimbo combo weapons
    - Improves the reliability of MMPreventPassingThrough

    I hope you'll like this new version! As usual expect a few days/weeks for Unity to validate the udpate.
     
    mccann, Boom_Shaka, Neviah and 3 others like this.
  10. Alienpope

    Alienpope

    Joined:
    Jan 4, 2016
    Posts:
    6
  11. Alienpope

    Alienpope

    Joined:
    Jan 4, 2016
    Posts:
    6
    Also! Are their any plans to add a similar AIAction as the AIActionPathfinderToTarget/Patrol3D to 2D? I know it might be tricky since the 3D version is using Navmeshes ^^ I can imagine it would take a lot of work to have something similar for 2D
     
  12. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    @Alienpope > As soon as Unity implements 2D navmeshes, then yes, for sure.
    And thanks for the particles bug, I'll fix it in the next release (it hadn't been reported yet).
     
    Muppo likes this.
  13. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    The new version of the TopDown Engine (v1.1) has hit the store, let me know what you think!
     
  14. closetgeekshow

    closetgeekshow

    Joined:
    Jun 6, 2014
    Posts:
    108
    Considering giving this a purchase but I'm curious if it requires models to be Humanoids. I want to use this with mechanical models that use Generic animations.
     
  15. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    @closetgeekshow > No, all the engine does is send and update animation parameters. What you do with them is up to you, so there's no constraint there at all :)
     
    closetgeekshow likes this.
  16. weberdls

    weberdls

    Joined:
    Dec 24, 2017
    Posts:
    7
    @reuno !!!

    Give some discount for those who already bought Corgi!

    :D great engine, as usual.
     
    reuno likes this.
  17. tomtominc

    tomtominc

    Joined:
    Nov 7, 2013
    Posts:
    13
    Hey! Bought the engine! Really enjoying it.

    Just a quick question, will you ever add platforming to the 2D part of the engine?

    I've tried my best to convert the 3D part to use 2D graphics (sprite renderer) but it's just not working with the camera things start to look strange.
     
  18. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    @tomtominc > There are no plans for this right now, I already maintain a separate platformer :)
     
  19. TobyM

    TobyM

    Joined:
    Apr 28, 2017
    Posts:
    6
    Hello! Just bought the top down engine and noticed that the camera in the demo scenes doesn't seem to work properly. When the player character is instantiated in the level, the camera doesn't follow the player. Thought that maybe there's a problem with my unity project but even when I created a completely new project that only contained the Top Down Engine and Cinemachine, the camera won't follow the player character.
     
  20. Muppo

    Muppo

    Joined:
    Sep 28, 2016
    Posts:
    210
    @TobyM There should be a prompt checking components for you at first start, if not, is on the TopDownEngine menu.

    Not sure if @tomtominc ask about real platforming as in Corgi Engine or something like this

    Just in case, I'm interested in this one as I want my player to have the chance to evade direct confrontation.
     
    Boom_Shaka, TobyM and reuno like this.
  21. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    TobyM likes this.
  22. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    138
    Hello Reuno, whilst looking into setting up 3d characters I find it really easy to deal with walking and running because I have two angles of attack - being Walk/Run Speed settings and animation clip speed. This is great as I can very quickly match things up so that there is no slippage on feet and get the feel I want really fast. However, with the Jumping ability I strongly suggest implementing some kind of JumpDistance so that there is the same amount of flexibility when setting a character up. At the moment all I get is control of height; and whilst using a quadruped and a multiped in my tests the jumping leaves something to be desired. Yes I spotted a similar functionality in the Dashing class but as a character animator I would always be looking at walk/run/jump first and foremost, and it feels like something is missing by not being able to deal with Jumping properly straight out-of-the-box :)
     
  23. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    @MudPuppet > Length is determined by your movement speed right now, as in most of my references. It'd be quite easy to create a fixed length jump from what you've got there. I can add it to the todo list, but if you want to do it yourself in the meantime, you'd just have to expose a speed modifier on your extended jump class, and prevent input (or not, depending on what you're after) while the jump lasts.
     
  24. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    138
    Yeah I will definitely be having a go at it myself. At this stage I am just sort of looking around and through the asset.
     
    reuno likes this.
  25. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    @MudPuppet > Sure, let me know if you need help with that!
     
  26. lobsterhat

    lobsterhat

    Joined:
    Jan 26, 2014
    Posts:
    13
    @reuno I'm trying to swap control between characters on the fly. I would have to update the InputManager on all the CharacterAbilities for the characters I'm switching control between, right?. Is there an easier way of doing this?
     
  27. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    @lobsterhat > Just change the Character's PlayerID, that should do it.
     
  28. lobsterhat

    lobsterhat

    Joined:
    Jan 26, 2014
    Posts:
    13
    That wouldn't change the character's input manager, though. It looks like once that gets assigned on initialization, there's no way to change it.
     
    reuno likes this.
  29. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    @lobsterhat > You're right! Then yes, cycling through all abilities to update it would be the way to go. It doesn't check every frame as it'd be quite bad for performance (obviously). If you only do it once though it's pretty much costless.
     
  30. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    138
    Hello Reuno, just wondering if the engine can handle a game style where you might be in a building and go up an escalator or hop on a vertical moving platform (or even climb a ladder). My point being the player character and AI agents could be on multiple levels. I have been told that this would be quite difficult due to all of the RayCasting stuff but thought that I would ask as I have not seen this sort of functionality in any other top-down style of asset product.
     
  31. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    @MudPuppet > The engine can absolutely handle this, no problem. There's no ladder, no vertical aiming, but both would be very easy to add, and you can already have agents walking at different levels. I don't see any obstacle to this.
     
  32. dev_2051

    dev_2051

    Joined:
    Jul 25, 2013
    Posts:
    78
    Hi Reuno,looking forward to buy top down engine license, got couple of queries regarding engine features:-

    1>Can i add enemy archers controlled by Top down engine AI placed on some platform shooting arrows on player character when in range?
    2>Does engine allows player character to jump across pits or climb on platforms?

    Thanks,
    DS
     
  33. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    @dev_2051 > You can absolutely have an AI that shoots when in range, of course :) You won't find archers in the demos, but there are some guys with assault rifles that function exactly like this. And you can jump across pits, in both 2D and 3D. There's no climbing though (yet). You can also look at the asset's page (https://topdown-engine.moremountains.com/) for a full list of features.
     
  34. VENOMOUS09

    VENOMOUS09

    Joined:
    Dec 27, 2014
    Posts:
    37
    just bought this today , need help :

    1. do this have a character section screen ?
    2. on the 3d demo its slow why ?
     
  35. Herdre

    Herdre

    Joined:
    Aug 8, 2018
    Posts:
    2
    Hey, recently bought TopDown Engine, pretty happy with it so far)
    I want to make drag and drop movement of objects in inventory and just wonder since Inventory Engine been around pretty long, maybe there is already a solution for it?
     
    Last edited: Dec 1, 2018
  36. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    @VENOMOUS09 > I guess you mean character selection? Then no, but it's on the todo list. As for the 3D demo, depending on your target device you might want to remove some of the post processing effects, for example.
    @Herdre > There's no drag & drop (although it's very doable). The engine focuses on inventory management itself, not the many possible UIs for it, that'd be endless :)
     
  37. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    138
    Hey Reuno, I don't seem to get any audio playing with the Jump ability. Walking and Running seem to be just fine though. I tested with my own player character and your 3d minimal character.
     
  38. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    @MudPuppet > Thanks for reporting this! I'll fix it right away. The fix will be included in the next update, let me know via the support email if you need it before that.
     
    MudPuppet likes this.
  39. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    138
    Hello Reuno, I am going to be prototyping a game and I am wanting the option to play-test with the standard control setup as well as just 4 directional movement. Is that something I need to look at from my end (like project input settings or perhaps your input class(s)).

    Also, for play-testing again, I was hoping to try with standard movement functionality as well as with a step-by-step movement (similar to basic tile-based game where you can only move one tile at a time). Is this something that might be accomplished editing your own classes or something much more involved?

    Hehe, two attempts later and no luck with jump length but I assume that I am on the right track by referring to the dashing ability and how I need to go from a start to an end position. Not really a problem with the prototype as I never planned on any character jumping and what you have there is good enough if I change my mind.
     
  40. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    @MudPuppet > All that (4 directions, step by step) should be handled at the ability level, no need to modify anything on the input side. I mean that's how I'd do it, there are no rules, do what you prefer :)
     
  41. NAiLz

    NAiLz

    Joined:
    Apr 17, 2013
    Posts:
    88
    @reuno Hey so I'm trying to alter the weapon mechanics to act more like Hyper Light Drifter, where you can use a melee weapon with a separate button but must aim using the left trigger and stay stationary to fire. I've made a character ability script which looks for the SecondaryShootButton input and is then supposed to disable the CharacterMovement script as well as activate the CharacterHandleWeapon script and inversely, deactivate them when SecondaryShootButton is not pressed. The CharacterMovement aspect of it works if I'm stationary when I press the button but if I press the trigger while moving, the script is disabled and the character keeps moving in the direction he was moving when the button was pressed. There is also a strange glitch where the character will now be facing the wrong direction after the CharacterMovement script is re-enabled, as if the player flipped the wrong way and won't flip back. The weapon won't stay activated when I try to fire it either and I assume that is due to the two triggers sharing the 3rd axis. I tried switching to the 9th and 10th axis in the project input settings but that didn't work either. I wondered if you might have any suggestions for how to fix this. Here's the code thus far:

    Code (CSharp):
    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4. using MoreMountains.TopDownEngine;
    5. using MoreMountains.Tools;
    6.  
    7. public class RangedWeaponBehavior : CharacterAbility
    8. {
    9.     public override string HelpBoxText() { return "This component handles the enabling of weapons when the aim key is pressed.  This is to create a more visually pleasing situation and should be supplimented in the animator with animations that include the weapon in the position the designer would like it to be in while not in use"; }
    10.  
    11.     [SerializeField]
    12.     private CharacterHandleWeapon weaponScript;
    13.     [SerializeField]
    14.     [Header("Drag and Drop the WeaponAttachment object here")]
    15.     private GameObject primaryWeaponObject;
    16.     [SerializeField]
    17.     private CharacterMovement characterMoveScript;
    18.  
    19.     private bool isAimInUse;
    20.  
    21.     // Use this for initialization
    22.     void Awake ()
    23.     {
    24.         weaponScript = gameObject.GetComponent<CharacterHandleWeapon> ();
    25.         characterMoveScript = gameObject.GetComponent<CharacterMovement> ();
    26.  
    27.         weaponScript.enabled = false;
    28.         primaryWeaponObject.SetActive (false);
    29.     }
    30.    
    31.     // Update is called once per frame
    32.     void Update ()
    33.     {
    34.         if ((_inputManager.SecondaryShootButton.State.CurrentState == MMInput.ButtonStates.ButtonDown) || (_inputManager.SecondaryShootAxis == MMInput.ButtonStates.ButtonDown))
    35.         {
    36.             if (isAimInUse == false)
    37.             {
    38.                 isAimInUse = true;
    39.             }
    40.         }
    41.  
    42.         if ((_inputManager.SecondaryShootButton.State.CurrentState == MMInput.ButtonStates.ButtonUp) || (_inputManager.SecondaryShootAxis == MMInput.ButtonStates.ButtonUp))
    43.         {
    44.             isAimInUse = false;
    45.         }
    46.  
    47.         if (isAimInUse)
    48.         {
    49.             EnableWeapons ();
    50.         }
    51.  
    52.         if (!isAimInUse)
    53.         {
    54.             DisableWeapons ();
    55.         }
    56.     }
    57.  
    58.     public void EnableWeapons()
    59.     {
    60.         weaponScript.enabled = true;
    61.         primaryWeaponObject.SetActive (true);
    62.         characterMoveScript.enabled = false;
    63.         Debug.Log("Aiming!");
    64.     }
    65.  
    66.     public void DisableWeapons()
    67.     {
    68.         weaponScript.enabled = false;
    69.         primaryWeaponObject.SetActive (false);
    70.         characterMoveScript.enabled = true;
    71.     }
    72. }
     
  42. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    @NAiLz > This seems a bit complex to debug at first glance, so I'm afraid I may not be of much help. I guess the first thing I'd try to understand is why the CharacterMovement script gets disabled, that's not something I'd recommend (there are other ways to disable abilities safely, such as the AbilityEnabled flag).
     
  43. NAiLz

    NAiLz

    Joined:
    Apr 17, 2013
    Posts:
    88
    @reuno I actually tried AbilityEnabled and posted the old code on accident. The player movement is being suspended because I want the player to be stationary while using ranged weapons.
     
  44. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    @NAiLz > There is an option to prevent movement on weapons already, you might want to check it out (PreventAllMovementWhileInUse if I recall correctly), not sure if that's what you're after.
     
  45. NAiLz

    NAiLz

    Joined:
    Apr 17, 2013
    Posts:
    88
    @reuno Thanks that worked perfectly. Again, I feel silly for not catching this. I was looking at CharacterHandleWeapon to do that instead of the weapon itself. I have also noticed a strange error where the character flips when a weapon is selected (using left bumper) and then will not flip back the other way. I think it might have something to do with the weapon aim script since I can get it to flip back by aiming the opposite direction. And I think its flip because it only affects the side to side animations and not the running up or down. (I have separate animations for running up and down but I use the same animation for left and right because the character flipping was making that work.)
     
    Last edited: Dec 4, 2018
  46. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    @NAiLz > Glad you figured it out! It makes more sense for this setting to be on the weapon as you may want each weapon to behave differently in that regard. As for that bug you mention, I'd need more info to reproduce it, with the engine's scripts I don't see that happening. If you confirm it, please send more details on how to reproduce on the support email, thanks.
     
  47. pabloawara

    pabloawara

    Joined:
    Nov 28, 2018
    Posts:
    10
    Hi! I bought many assets from you Reuno last week (TopDown Engine, Infinite Runner and Corgi Engine) but I'm beginner in Unity and I have many issues. I read the documentation and saw the examples but I'm get lose.

    - How can I make a GameObject pushable, etc?
     
  48. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    @awaralabs > As explained in the documentation, you'll need the CharacterPush ability and a Pushable class on your block. There's an example of a pushable block in the RetroPush demo scene, among other places.
     
  49. LordMystirio

    LordMystirio

    Joined:
    Apr 8, 2017
    Posts:
    5
    Hello @reuno , I'm interested in your engine. Sorry for my noobish question but I see a "Pro/Plus" right before the "your price". Does it means that if I buy this engine, I couldn't run (use it) unless I also have the pro or plus version of Unity?

    Thanks for your time and sorry again if it's a stupid question. Just wanna make sure that I'm not mistaken.
     
  50. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,034
    @LordMystirio > No, not at all, the engine will work on all versions of Unity (pro, plus, free). What you're seeing is just a discount price for people who own Unity Pro/Plus.