Search Unity

[RELEASED] Corgi Engine - Complete 2D/2.5D Platformer [new v6.0 : game feel, Cinemachine, and more]

Discussion in 'Assets and Asset Store' started by reuno, Dec 18, 2014.

  1. Muppo

    Muppo

    Joined:
    Sep 28, 2016
    Posts:
    210
    @Grafos
    Tested it quickly on default RetroAI level and it seems both flying and goin on a path enemies ignore knockback and stompable feature as well. Have to test it more deeper but it seems that way. Let's see what @reuno can tell us about this topic.
     
  2. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,079
    @Grafos > Yes, they are immune to knockback, as their ability sets their forces every frame to keep them in place.
     
  3. skayster

    skayster

    Joined:
    Aug 12, 2017
    Posts:
    46
    Have enemy drops been requested and if so is it high or low on the wishlist?
     
  4. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,079
    @skayster > It's been requested a lot and it's in the top 20 of most requested features.
     
    skayster likes this.
  5. Muppo

    Muppo

    Joined:
    Sep 28, 2016
    Posts:
    210
    Didn't remember if I requested it before, just in case, it have my vote too.

    @reuno , I've change the KeyOperatedZoneExtend and now it checks for required amount of keys no matter wich inventory or if they're stackable or not, as far as they have the same ID.

    Can you submit it to the repo replacing the old one?
     
    Last edited: Oct 27, 2018
  6. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,079
    @Muppo > Sure, send me the updated file.
     
  7. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,079
    Good news everyone, I've just released v5.2 of the Corgi Engine to the Asset Store. Expect a few days/weeks of delay as Unity validates the package.

    This new version introduces the most requested ability on my todo list : pulling stuff. So now you'll be able to create Pullable objects, powered by a CorgiController, and pull and push them as you please. Time control is also introduced (in a much more advanced way than before) and a time control ability and time zones should allow you to go crazy with your timescale. It also features a bunch of requested enhancements, and of course fixes all reported bugs to date.

    I hope you'll like this new version!

    Here are the full release notes :
    - Adds new push and pull mechanisms, and a dedicated push/pull button entry
    - Adds the CharacterTimeControl ability, allowing a character to slow down time (or speed it up) at will at the press of a button
    - Adds Time Zones, zones where you can define a new timescale for a certain duration, or as long as the player character is inside
    - Adds a new AI Decision : AIDecisionLineOfSightToTarget
    - Adds AIDecisionTargetIsAlive, a new AI decision evaluating whether or not the current target is alive
    - Adds a better button activation system (and a new button prompt)
    - Adds more security measures to the LevelManager's Points of Entry system
    - Adds better respawn options for MovingPlatforms
    - Adds a new EquippedAnimationParameter to the Weapon class, to let your animator know what weapon is currently equipped, at all times
    - Adds more consistency to jump conditions
    - Adds a Tolerance attribute to the falling platform component
    - Fixes a bug that could happen with long weapon delays
    - Fixes a bug with projectile weapon spread with only one projectile
    - Fixes an attachment issue with a secondary weapon
    - Fixes a few water and death related bugs.
    - Fixes a potential null state in weapons when initialized improperly
    - Fixes a bug that prevented jumping down from a one way platform when stuck in a tunnel
    - Removes GUIManager coupling in Input and Level Managers
    - IMButton methods are now nullable
    - Improves the way events are triggered.
    - Adds a welcome window.
    - Changes the jetpack binding from left ctrl to 2 to avoid conflicts with Unity's native shortcuts in 2018.2.11+
    - Massive MMTools update
    - Requires Unity 2018.2.6 or more
     
  8. shredingskin

    shredingskin

    Joined:
    Nov 7, 2012
    Posts:
    155
    I upgraded a backup of my project and I get this error:

    UnassignedReferenceException: The variable StandingOn of CorgiController has not been assigned.
    You probably need to assign the StandingOn variable of the CorgiController script in the inspector.
    MoreMountains.CorgiEngine.CharacterJump.EvaluateJumpConditions () (at Assets/CorgiEngine/Common/Scripts/Agents/CharacterAbilities/CharacterJump.cs:234)
    MoreMountains.CorgiEngine.CharacterJump.JumpStart () (at Assets/CorgiEngine/Common/Scripts/Agents/CharacterAbilities/CharacterJump.cs:311)
    MoreMountains.CorgiEngine.AIActionJump.Jump () (at Assets/CorgiEngine/Common/Scripts/Agents/AI/Advanced/AIActionJump.cs:42)
    MoreMountains.CorgiEngine.AIActionJump.PerformAction () (at Assets/CorgiEngine/Common/Scripts/Agents/AI/Advanced/AIActionJump.cs:32)
    MoreMountains.Tools.AIState.PerformActions () (at Assets/CorgiEngine/ThirdParty/MMTools/AI/AIState.cs:101)
    MoreMountains.Tools.AIState.UpdateState () (at Assets/CorgiEngine/ThirdParty/MMTools/AI/AIState.cs:51)
    MoreMountains.Tools.AIBrain.Update () (at Assets/CorgiEngine/ThirdParty/MMTools/AI/AIBrain.cs:59)


    But the game runs fine, and all my characters/enemies get assigned the StandingOn variable on play. Any idea what it can be, or should it be of any concern ?
     
  9. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,079
    @shredingskin > I'm guessing you've changed something, but without context it's hard to tell what. Check if the problem happens with a fresh install of the engine, in a blank project. If it doesn't, then it's something you've changed.
     
  10. bravery

    bravery

    Joined:
    Mar 26, 2009
    Posts:
    270
    congratulation on the new release :)
     
    reuno likes this.
  11. phateRM

    phateRM

    Joined:
    May 1, 2018
    Posts:
    5
    Hi, I am trying to integrate cinemachine2D with Corgi Engine. When populating the Follow property of the CM virtual camera, I have problems with specifying the same character as in the level manager. I tried dragging the same prefab from the Assets to the CM virtual camera follow parameter, but that does not work.
    How can I specify in CM the same player which is specified in the level manager and which is not in the project hierarchy?
    Thanks for any help.
    Dan
     
  12. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,079
  13. shredingskin

    shredingskin

    Joined:
    Nov 7, 2012
    Posts:
    155
    I'm pretty sure I didn't change any of the logic scripts.
    Did the layer management changed in any way ?
    I'm importing in a new project to see if I can narrow down the problem.
    Is that standingOn a new check or was it before ?
    EDIT: Seems the problem is with only a chacter that jumps after a while, here are the parameters:


    Anything looking bad here ?
     
    Last edited: Oct 30, 2018
  14. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,079
    @shredingskin > As I said, it's a very simple test : does the problem happen in a fresh install of the engine?
    If not then, again, you probably changed something. If the problem persists, please use the support email and give me more info on how to reproduce from a vanilla install.
     
  15. bravery

    bravery

    Joined:
    Mar 26, 2009
    Posts:
    270
    Hi reuno,

    In the corgi engine feature list you mentioned in the player movement: "move along a path" , can you please elaborate on this one?
     
  16. shredingskin

    shredingskin

    Joined:
    Nov 7, 2012
    Posts:
    155
    I just exported the prefab without dependencies, imported into a fresh corgi project, and the problem is still there, it still works but the error just bugs me.
    You can import that prefab and use it with a vainilla project. I'll send you a email with it.
     

    Attached Files:

  17. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,079
    @bravery > Sure, there are basically two ways for a Character to follow a path : the AIActionFlyPatrol action for AI, and the CharacterFollowPath ability. That turns basically your enemies into moving platforms, moving along a path made of nodes. The cool thing is you can turn that on and off at will, making for fun enemy patterns.
     
  18. shredingskin

    shredingskin

    Joined:
    Nov 7, 2012
    Posts:
    155
    I'm the only one that UICamera prefab broke the healthbar ?
    Using unity 2018.2.14, I just changed it to the retrohealthbar, this happens in a vainilla install of the corgi engine (just load a demo with the UIcamera.
     
  19. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,079
    @shredingskin > Again, please use the support email if you think you've found a bug, thanks. And please give more info, such as in what scene I can reproduce the problem.
     
  20. LOGames

    LOGames

    Joined:
    Sep 4, 2016
    Posts:
    19
    I'm having an issue with the jump time window setting in the CharacterJump ability. I'm using the most current version available for 2018.2.

    The way I understand it, this should allow me to stop a character from being able to jump after falling off a platform, unless they have more than one jump enabled. I can't seem to get that behavior. I've tried very small numbers and large numbers (.001 to 5 and a few in between) but behavior still seems the same as the default. I'm sure I'm missing something simple, or just not understanding that actual purpose of the setting.

    Other than changing the jump height and jump time window the rest of the settings on Character jump are default.
     
  21. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,079
    To everyone who may have an issue with health (or jetpack) bars that don't appear (@shredingskin and others), it's my fault, I'll fix it in the next release. In the meantime, it's super easy to fix.
    Select the healthbar :
    upload_2018-10-30_20-2-38.png

    In its inspector, click on the BumpAnimationCurve curve (or absence of curve), and in the window that opens select the flat one on the left :
    upload_2018-10-30_20-3-27.png

    Apply the prefab, and it's all fixed.

    @LOGames > I haven't been able to reproduce your problem. I just did the following test : fresh install, Minimal scene with that setup :

    upload_2018-10-30_20-5-41.png

    To the right you can see the CharacterJump component for the Rectangle playable character.

    I've set the JumpTimeWindow to 1 (bit high, but you get the idea, .1f would be better), CanJumpOnGround (but it'd work with other restrictions as well), and only one jump. If I walk off my initial platform and jump within the first second, I can jump. If I set the JumpTimeWindow to 0, I can't anymore. So it's really a tolerance duration (expressed in seconds) during which you can still jump after leaving a platform. It's also sometimes called Coyote Time, or grace period. If the problem persists (or if you think you've found a bug, in general), please use the support email, thanks.
     
    Boom_Shaka likes this.
  22. jasonxtate66

    jasonxtate66

    Joined:
    Nov 21, 2017
    Posts:
    132
    If I only wanted to use the Inventory System, but bought the whole Corgi Engine... which files should I import exactly?
     
  23. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,079
  24. jasonxtate66

    jasonxtate66

    Joined:
    Nov 21, 2017
    Posts:
    132
    So no editor etc. (that would potentially change the games input settings)?
     
  25. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,079
    @jasonxtate66 > Input settings are defined in the ProjectSettings folder, not Editor. Again, you just need the InventoryEngine folder.
     
  26. jasonxtate66

    jasonxtate66

    Joined:
    Nov 21, 2017
    Posts:
    132
    Thank you,
    and reuno, you've always displayed a great deal of respect to me - but I read over these questions and a lot of it is "do a fresh install and use support e-mail". I will tell you, you have the best sidescrolling engine, but I have read in Dev chat rooms about how you make people almost feel "stupid" when asking questions about the Corgi Engine. I know you do your best.
     
  27. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,079
    @jasonxtate66 > Ok, good for you. Not sure where that's coming from, why you post it here, and not sure I want to discuss that with you. Please try to remain professional, thanks.
     
  28. still_alive_96

    still_alive_96

    Joined:
    Jul 19, 2018
    Posts:
    1
    In previous version, I noticed a problem, the logic of pushing-stuff in character's different gravity angle, and now the pulling-stuff added in the new version were very nice, but it had the same problem.
    In addition, I would like to ask when the gravity zone and point can increase support for pushable or pullable stuff.
     
  29. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,079
    @still_alive_96 > Yes, you're absolutely right, push/pull won't work in gravity zones, or on moving platforms. These are the current limitations of the system. If more people request these, I'll see what I can do, but for now it'd be quite complex to implement, and would have an impact on performance for everyone for what is actually a very niche feature.
     
  30. Prog-Maker

    Prog-Maker

    Joined:
    Mar 6, 2017
    Posts:
    20
    Hello!
    How to solve a problem?
    If character die in the water, the character respawn with parameters like in water.
    I understand if the Health component is Collisions Off On Death - true, then OnTriggerExit2D on CorgiController does not work.
     
  31. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,079
    @Prog-Maker > You should try upgrading to the latest version, that'd fix the problem.
     
  32. EGA

    EGA

    Joined:
    Sep 12, 2014
    Posts:
    36
    Hi,

    Been using the CorgiEngine for about 100 hours so far and I love the support. It has so many bountiful features.

    I have been wondering, how can I make it so the RetroFallingPlatform object detects collision with the platform layer?

    This is because I want this object to be destroyed as soon as it collides with any platform.

    I tried implementing OnCollisionEnter2D and OnTriggerStay2D inside RetroFallingPlatform but neither methods is triggered when the RetroFallingPlatform falls down and touches any tile in the platform layer.

    I do this because if the RetroFallingPlatform falls down into any enemy, it moves the enemy slightly.

    Thanks!
    - EGA
     
  33. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,079
    @EGA > I think it'd be much easier to simply create another class to handle that, possibly with another nested collider of its own.
     
  34. ryanzec

    ryanzec

    Joined:
    Jun 10, 2008
    Posts:
    663
    @reuno So I was looking through all the managers and did not see this but is there a way to change the the default Maximum Slope Angle for all game objects with a Corgi controller? Most Corgi Controllers are going to have the same maximum slop angle (that is different from the default) but if for some reason I need to change that, it might be a pain to find all the prefabs and stuff that needs to be updated.

    As writing this, I think I might be able to make use of Unity's new prefab workflow (since I am running the beta for my prototype) and just have all prefabs that have a corgi controller derive from a prefab that has this "global" value so I will give that a shot however I figure I would ask if this is already built into the Corgi Engine as using a prefab for this use case seem hacky for some reason.
     
  35. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,079
    @ryanzec > I'd recommend writing a script that looks for all of these in your project and update them.
     
  36. skayster

    skayster

    Joined:
    Aug 12, 2017
    Posts:
    46
    Hi, Reuno. Is there an existing way to add a different animation for ladder climb? I am hoping to use one animation for a ladder and one for a rope (which is essentially a different looking ladder).
     
  37. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,079
    @skayster > Sure, just create a new animator parameter and send one or the other based on the ladder's type you're on.
     
  38. Muppo

    Muppo

    Joined:
    Sep 28, 2016
    Posts:
    210
    I'm trying to make music changes in some zones of the stage, something like the classic overword/underworld in every Super Mario game when he goes through a pipe. Have no success yet. It's there some component I'm missing or I need to write my own?

    Just in case there is no way to make this out of the box, can I suggest it for a future release?

    Thanks.
     
  39. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,079
    @Muppo > There is no such component, you'll need to create your own.
    I can add that to the list.
     
  40. Muppo

    Muppo

    Joined:
    Sep 28, 2016
    Posts:
    210
    Don't worry, I think I got it this time. Was trying to make it as stand alone script but I can't access the AudioSource from Background Music so I did an override script and it's done.

    Have no problem in sharing if anyone wants it, btw.
     
    Last edited: Nov 5, 2018
    reuno likes this.
  41. KriYorDev

    KriYorDev

    Joined:
    Oct 3, 2017
    Posts:
    27
    Hello,

    does anyone have an idea how I could make a pre-jump and post-jump animations? I am not used to tinkering with the engine yet, so no luck so far. I am using the RetroCorgiAnimator from the Demo.

    An example desired results: I press the jump button. Character stops and does a PreJump anim for 0.5 seconds >>> RetroCorgiJumpUp and RetroCorgiJumpDown go as normal during the jump >>> After ground is hit, PostJump anim goes for 0.5 second >>> Idle loop...

    Anything would be of help.
    Thank you!
     
  42. luigi-freguglia

    luigi-freguglia

    Joined:
    Jun 30, 2015
    Posts:
    41
    Hello reuno,
    I am trying to hide and disable the character, move while disabled in a given position, then have it back but everything I try works if played inEditor and not in the build.
    Depending on the code I write, I have different effects but I never get the point of what I am missing.
    Making it simple, if I Hide() that way
    gameObject.SetActive(false);
    a Show() like this
    gameObject.SetActive(true);
    does not show the character on screen.
    I tried different things, like using respawnAt or more complicated things, but maybe I missed the straight way.
    Using unity 2018.2 and Corgi 5.0 if may help.
     
  43. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,079
    @kriyordev > The post jump animation is easy, just chain it in your animator. For the pre jump though, you'd need to extend the CharacterJump ability to add a delay before jump and trigger the pre jump animation.
    @luigi-freguglia > I wouldn't recommend disabling the character if you just want to hide it. You'll turn all the logic off. It'd be much easier to simply enable/disable the renderer, or use a shader for that.
     
  44. SpyrosUn

    SpyrosUn

    Joined:
    Nov 20, 2016
    Posts:
    83
    Hi all ! Great asset, having a blast learning its ins and outs. I am having a weird problem that I am not sure how to resolve. Even though I am able to add a custom 3d model and custom animations just fine, the original model is facing with its back towards me (basically showing me its back). When I add a Corgi Character controller, I can't get it to follow the transform Y value, it always spawns in its default position. Is there a way around this ?

    Thanks !
     
  45. luigi-freguglia

    luigi-freguglia

    Joined:
    Jun 30, 2015
    Posts:
    41
    @reuno - Sorry I finally figured it 's been a mistake from my side involving a try...catch coded moths ago that I forgot. Same old story.
    Anyway I believe my question maybe interesting: is there a "best" way to completely disable a character, move it and then revive it without breaking anything, aside from hiding it?
     
  46. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,079
    @SpyrosUn > You probably need to nest your character, I'd suggest reading the documentation on how to create a character, it explains that in details.
    @luigi-freguglia > If it's a non playable character, disabling it and enabling it is fine. If it's a playable character, hiding it is the way to go. This is assuming the "move it" phase takes more than one frame, and you need it inactive or hidden for a while. Otherwise if you just want to teleport it there's no need for any disabling or hiding, just moving its transform will be enough.
     
    luigi-freguglia likes this.
  47. misanthropowitsch

    misanthropowitsch

    Joined:
    Sep 30, 2016
    Posts:
    22
    Please do so. Would love to have that. You´re going to add it to the repo?
     
  48. Muppo

    Muppo

    Joined:
    Sep 28, 2016
    Posts:
    210
    You have it on PM. The repo belongs to @reuno, it's his choice.
     
  49. KriYorDev

    KriYorDev

    Joined:
    Oct 3, 2017
    Posts:
    27
    Would love to check it out.
     
  50. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,079
    @Muppo > I'm absolutely fine with this being added to the repo :)
     
    Boom_Shaka likes this.