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. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
  2. mmntlh

    mmntlh

    Joined:
    Feb 2, 2019
    Posts:
    4
    Hello Guys! beginner question, how to make the character double jump using mobile button (just like the Minimal Level) i already have the jump ability and number of jumps are 2 and can anyone tell me what is Missing InputManager.Test,(what does it do??) its in the button pressed bindings for jump in the UIcamera.
     
  3. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @mmntlh > There's nothing special regarding double jump on mobile, it works out of the box.
    You can ignore that missing warning, the ButtonPressed action isn't supposed to be bound to anything (you can select "no function for this one".
    To verify it works, you can do a fresh install of the asset, open the MinimalLevel demo scene, select the UICamera, set its Forced Mode to Mobile, press play, and tap twice (or move your mouse twice) over the A button, you'll jump twice.
     
  4. mmntlh

    mmntlh

    Joined:
    Feb 2, 2019
    Posts:
    4
    @reuno Thanks for the fire quick reply :).
     
  5. KriYorDev

    KriYorDev

    Joined:
    Oct 3, 2017
    Posts:
    27
    Where exactly is the
    MMFlashEvent used in the Retro scenes?
    I am having trouble implementing it and can't find the working example.

    Thank you!
     
  6. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @kriyordev > That event is not used in the retro scenes.
    That said, it's quite straightforward to use, all you need is a MMFlash object somewhere, with an Image and Canvas Group components on it. Then make sure the Flash ID in your inspector matches the one in your code, and that's it.
     
  7. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    Good news everyone, I've just pushed v5.4 of the Corgi Engine to the Asset Store.
    As usual, it fixes all bugs known to date, makes quite a few improvements, and adds some long requested new features.
    Here are the complete release notes :

    - Adds the zipline, a new prop class allowing you to have your character grab a bar and ride along a path between two poles
    - Adds the CharacterSwap ability, which, along with the CharacterSwapManager, allows you to swap between multiple characters within a same scene
    - Adds the MinimalCharacterSwap demo scene, showcasing a setup where you can swap between 5 different characters, all living in the same scene
    - Adds a new decision, AIDecisionRandom, that randomly returns true or false based on the specified odds.
    - Adds "Instant Acceleration" option to CharacterHorizontalMovement, allowing raw-axis style movement, like in Megaman for example
    - Adds CharacterSimpleDive, an example of how you can easily extend an ability to change how it handles input
    - The RetroCopter now explodes on death, showing an example of how your character can completely disappear when dying
    - Improves input reversal for CharacterGravity, removing the need for input reversal colliders when dealing with both gravity points and zones
    - Adds support for auto respawn for AIBrain characters
    - Improves the stability of the controller when hitting corners
    - Adds an Input Threshold setting to CharacterHorizontalMovement to precisely control dead zone
    - Adds options on InventoryWeapon picks : nothing, auto equip, or auto equip if no weapon is currently equipped
    - Adds new methods on Character and CharacterAbilities to change a Character's linked input manager at runtime
    - Fixes a bug that could occur with characters equipped with the CharacterLadder ability but no CharacterHorizontalMovement ability
    - Fixes a bug that could happen when unequipping a weapon and would result in the weapon not being unequipped
    - Fixes a bug that could prevent jumping from a Grip when certain Jump conditions were selected
    - Fixes a bug that prevented the x part of the Death Force to be applied in the Health component
    - Prevents a bug that could cause a forbidden double jump to happen when jump was limited to one and two input happened in two consecutive frames
    - Fixes a bug that would cause the sprite renderer to not reinitialize properly when FlickerOnHit is disabled
    - Fixes a bug that resulted in glitches when pressing the push button, then running, then colliding with a controller pushable object
    - Fixes a bug that would not properly disconnect a character from a treadmill on death
    - Fixes a bug that would leave an InventoryDisplay in a weird state when dropping an object mid-move
    - Fixes a minor typo in inventory that could cause a target equipment inventory not to be found
    - Adds foldouts to MMTriggerAndCollision
    - Improves the way MovementForbidden resets the horizontal speed in CharacterHorizontalMovement
    - Prevents the CorgiController from trying to push static rigidbodies, avoiding useless warnings.
    - Updates Inventory Engine to v1.2
    - 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).
    - Renames CharacterAbility's _characterBasicMovement to _characterHorizontalMovement
    - Adds a missing namespace to the Colors helper
    - Removes outdated CreateNewPrefab helper
    (and @kriyordev, I've also added flashes to all retro scenes while I was at it)

    As usual you can expect a few days of delay before Unity validates the update, and note that it'll require 2018.3.4 to run. I hope you'll like this new version!
     
  8. Grafos

    Grafos

    Joined:
    Aug 30, 2011
    Posts:
    218
    Awesome news on the update reuno, thank you for your ongoing efforts. A little sad not to see a prejump/postjump implementation in this version, hopefully in the next one.

    Quick question, with the Mario-style ghost in the Retro AI demo, how would you go about making the ghost not colliding with the tilemap, if I were to keep the ghost in the enemies layer?
     
  9. Legionghost

    Legionghost

    Joined:
    Nov 30, 2018
    Posts:
    16
    Hi, first off thanks for the great engine.
    I'm having an issue and I can't figure it out. When using 3 CheckPoints (in the same scene) they work fine and I spawn on the first one when I build the game, but as soon as I add a 4th one, I start on the fourth one when I build the game. If I delete the 4th one I start on the first one again. I'm not sure what is going on, any ideas?
     
  10. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @Grafos > I haven't forgotten about the prejump/postjump thing, it's still in the todo list.
    As for the ghost, you can define what each character considers a platform, a moving platform, a one way platform (the list goes on...) on their Corgi Controller inspector. So in this case it's as easy as selecting the Ghost prefab, setting its MovingPlatformMask value to Nothing, and now your ghost can fly through walls.

    @Legionghost > I don't know what could cause the problem, I'd need more info.
    The system supports an infinite number of checkpoints, and I'm not aware of any issue with it. Just tested it with Mesa1, added 3 more checkpoints, spaced out like below, and it works fine. If your problem persists, drop me an email with steps to reproduce in any of the demo levels, and I'll have another look.
    upload_2019-2-17_8-15-12.png
     
    Grafos likes this.
  11. Grafos

    Grafos

    Joined:
    Aug 30, 2011
    Posts:
    218
    Oh yeah, I completely forgot about this, thanks a mil!
     
    reuno likes this.
  12. Legionghost

    Legionghost

    Joined:
    Nov 30, 2018
    Posts:
    16
    I 'think' I found out why, if you move the second CheckPoint1 to the left of LevelStart you'll spawn at CheckPoint1 and not LevelStart when you build and run. You can see the checkpoint lines are not in order in the images below.
    In my scene CheckPoint1 & 2 are to the left but not CheckPoint3. Could this be why? When I move the CheckPoints to the correct order (left to right) I spawn where I should.

    m1.JPG m2.JPG
     
  13. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @Legionghost > That depends on how you've defined your checkpoint axis. You can set that on the level manager, and have your checkpoints ordered by x, y or z. Here it looks like it's by x, ascending. So it makes sense that if you put Checkpoint1 left to LevelStart it becomes the first one.
     
    Legionghost likes this.
  14. Nikul

    Nikul

    Joined:
    Jul 27, 2012
    Posts:
    11
    okay, have an issue, when pausing the game all looping sounds are set to mute per sound manager, when unpausing, all looping sounds remain muted?
     
  15. Legionghost

    Legionghost

    Joined:
    Nov 30, 2018
    Posts:
    16
    @reuno ah ok, got it, thanks!
     
  16. Meowx

    Meowx

    Joined:
    Oct 10, 2015
    Posts:
    24
    5.4 is live on the store! \o/
     
  17. Meowx

    Meowx

    Joined:
    Oct 10, 2015
    Posts:
    24
    oof, after updating Unity to 2018.3.6f1 I'm hating the new prefab system where you have to constantly open a new window just to view the inspector. I've installed a fresh copy of Corgi Engine 5.4 on my old version of Unity (2018.2.2f1) and it seems to be running fine (after deleting the welcome window script); is there anything I should watch out for? I know not keeping everything up to date limits the tech support you can reliably offer.
     
    Last edited: Feb 18, 2019
  18. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @Nikul > Please use the support email to report bugs, and let me know if what scene I can reproduce it, thanks!
    @Meowx > It should work fine on 2018.2 :)
     
    Meowx likes this.
  19. Meowx

    Meowx

    Joined:
    Oct 10, 2015
    Posts:
    24
    This is more of a C# question than a Corgi question but figured I'd ask here; I have no problem extending classes like the various character abilities, but how do I go about extending a more core class, like CorgiController or CharacterAbility? How do I get the unmodified ability classes (and, by association, their extended classes) to inherit extended versions of those base classes?

    Thanks!!
     
    Last edited: Feb 18, 2019
  20. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @Meowx > If you extend CorgiController into, say, MeowController, and put a MeowController on your character in place of the regular CorgiController, your character will work as normal, and all abilities will keep working.
    Then in your extended (or new) abilities, you can access the MeowController by getting it (GetComponent<MeowController>() on Awake for example), or casting against it (MeowController)_controller.MyMeowMethod()
     
  21. Meowx

    Meowx

    Joined:
    Oct 10, 2015
    Posts:
    24
    Ah right, Controller is a script on the character itself. But what about scripts that aren't directly attached to an object, like the CharacterAbility class or the CharacterStates class? Is there any way to extend those without having to also extend every class that makes reference to them? For example, if I add more states to the CharacterStates class is it simpler to just modify your class (and then manually fix it when there's an update) or can I make a CharacterStatesExtended class that's automatically referenced?

    Thanks again for your help!
     
  22. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @Meowx > For enums unfortunately it's simpler to modify the base class, yes. For all other situations, extending should do it.
     
    Meowx likes this.
  23. KriYorDev

    KriYorDev

    Joined:
    Oct 3, 2017
    Posts:
    27
    @reuno Thank you for the examples and the update! Felt a bit special. Got the MMFlash working perfectly.

    P.S. I needed the update for some of the fixes, but I encountered a strange problem. My character can no longer jump. It was built upon the retro corgi character prefab. The strange thing is that every other ability works. If I open the Corgi Demo scenes, the characters in there also do a jump. I have no idea what changed so far. Settings seem to be the same as the ones that work in the Demo scenes too. Tried to change Mobile/Desktop controls and not even a hint of Jumping appears with buttons as well. Any ideas?

    Thank you for your time!
     
  24. Meowx

    Meowx

    Joined:
    Oct 10, 2015
    Posts:
    24
    Sounds like you removed or disabled the CharacterJump script from the prefab.
     
  25. Boom_Shaka

    Boom_Shaka

    Joined:
    Aug 31, 2017
    Posts:
    99
    I don't really have a use for custom condition states, but would there be an issue with adding a few placeholders for users like @Meowx? That way they could create their own states without worrying about updates?

    Just thinking out loud.
     
    Meowx likes this.
  26. Meowx

    Meowx

    Joined:
    Oct 10, 2015
    Posts:
    24
    Not a bad idea! CustomState1-CustomState5 or something like that.
     
  27. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @kriyordev > Without more details it's very hard to guess, it could be a number of things. The fact that it's still working in the demos means it's something in your setup, but I can't tell exactly what. Missing component, wrong jump settings, wrong layers, wrong setup on your controller, etc. I don't think there's anything in the update that would break the jumps though.
    @Meowx / @Boom_Shaka > I'd like to come up with a more elegant and long-term solution than that, but thanks for the suggestion, I'll keep that in mind!
     
    Boom_Shaka and Meowx like this.
  28. radinretrogames

    radinretrogames

    Joined:
    Feb 19, 2019
    Posts:
    2
    Please a beginner question... How can I know exactly wich version of Corgi am I using?
    Thanks a lot
     
  29. radinretrogames

    radinretrogames

    Joined:
    Feb 19, 2019
    Posts:
    2
    Sorry! I answer to myself :( I've read the readme.txt and I have the 5.3 version
    Next question: How can I upgrade to 5.4 please?
     
  30. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
  31. KriYorDev

    KriYorDev

    Joined:
    Oct 3, 2017
    Posts:
    27
    If only it was that simple. For me, it makes no sense at all. I will probably reconstruct the whole prefab from scratch. Some really shady bug I got struck by.
     
  32. Bagazi

    Bagazi

    Joined:
    Apr 18, 2018
    Posts:
    144
    Is there any feature for Stun Effect? :)
     
  33. Pacaworks

    Pacaworks

    Joined:
    Jan 28, 2016
    Posts:
    12
    Hey! weird update thing going on:

    When I open the Asset Store to update CorgiEngine it only shows the Import button, not the Update or Download buttons. Due to this I can only download the previous CorgiEngine Project (v.5.3). Any Idea on how to solve this?

    + INFO

    • Also checked if the project I was downloading contained Zipline or MinimalCharacterSwap, but nope.
    • Asset Store notified me when v.5.4 was released and it is showing on the "Releases section".


    Thanks for your time! :)

    EDIT:

    I can't test it right now, but I think I figured out why I can't update it. Because I'm using Unity 2018.2.7f1?
    If that's the reason, is there any way to Update Corgi Engine without Updating Unity?
     
    Last edited: Feb 20, 2019
  34. lsflet

    lsflet

    Joined:
    Aug 15, 2014
    Posts:
    6
    I got the same problem after update to latest version on my Unity 2018.3.4 , jump is not working on both demos and my project.
    The CharacterJump script is enabled and the ability permitted is checked too.

    p.s. I log _inputManager.JumpButton.State.CurrentState in HandleInput and I found that it keep Off even I press the Player1Jump input.
     
    Last edited: Feb 20, 2019
  35. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @Bagazi > No, there isn't yet. You can see a full list of features on the asset's website. If it's not listed, it's not in the engine.
    @AesopWorks > Sure, you can install the new one, update, and revert to an older version of Unity afterwards.
    @lsflet > That's very strange. Does the problem happen if you make a fresh install of the asset in a blank project? Could you use the support email to report issues like this? I'd have more questions for you, thanks.
     
  36. take10animation

    take10animation

    Joined:
    Jun 19, 2011
    Posts:
    75
    Just updated to v5.4 everything seems to be working fine. Just one question, how can I get a regular player to disappear on death (retro copter) instead of falling below the screen. Thanks.
     
  37. Ajhound

    Ajhound

    Joined:
    Oct 6, 2018
    Posts:
    5
    Hi guys Newb here. Absolutely no coding experience, well I did learn Basic 32 years ago on a commodore 64. And i dont know anything about eventmanagers etc.
    Whats the best way to implement a collection system of coins, gems and the likes, like Leps World? I see the coin script with points and the retro star. How to convert retro star to make is gems? It was hard enough to figure out how to change the level unlocks from 3 stars to 4 once i realized what the retro stars were for. Also can you take the inventory items out of the system and have on front screen please.

    Thanks in Advance
    Aj
     
  38. luigi-freguglia

    luigi-freguglia

    Joined:
    Jun 30, 2015
    Posts:
    41
    @reuno I'd like to implement input buffering to read sequences of input and produce special moves, it's enough to extend your InputManager class or should I keep in control something else?
    Just something like
    Code (CSharp):
    1. protected virtual void Update()
    2.         {    
    3.             if (!IsMobile && InputDetectionActive)
    4.             {
    5.                 if (!BufferInput()) {
    6.                    SetMovement();
    7.                    SetSecondaryMovement ();
    8.                    SetShootAxis ();
    9.                    GetInputButtons ();
    10.                 } else { DoMy()}
    11.             }                                
    12.         }
     
    Last edited: Feb 21, 2019
  39. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @take10animation > As explained in the documentation, you just need to check Destroy on Death in your character's Health component. You can also add damage sound and vfx if you want.
    @Ajhound > I guess that'd depend on your context and what you want to use these coins for. I'd say extend pickable items maybe. And I'm afraid I don't know what you mean by "take the inventory items out of the system and have on front screen".
    @luigi-freguglia > That should be enough, yes :)
     
    luigi-freguglia likes this.
  40. Grafos

    Grafos

    Joined:
    Aug 30, 2011
    Posts:
    218
    I'd like to have multiple MMPaths that are picked at random to make an enemy's movement less predictable.
    To test this, I wrote this simple script and attached it to an enemy with 2 MMPaths.

    private MMPath[] paths;
    void Awake()
    {
    paths = GetComponents<MMPath>();
    paths[0].enabled = false;
    }


    but this produces heaps of NullReference exceptions. Any way I could make this work?
     
  41. take10animation

    take10animation

    Joined:
    Jun 19, 2011
    Posts:
    75
    @reuno Thanks for the reply. But the destroy on death checkbox does nothing. I uncheck and check and no changes.
     
  42. krisss666

    krisss666

    Joined:
    Feb 14, 2014
    Posts:
    18
    This asset seams awesome, i go through your documentation but i have some questions: how exactly the aim is managed?
    i'm currently building a metal slug/metroid game so i have actually a 2 layers character : 1 layer for the leg (run/crouch/jump/walk) and the other for the body + weapon in 8 directions so i can walk+shot / run + shot.
    I played your demo and it seams the weapon rotate => is it the only solution to manage weapons or you have also this 2 character layer solution ? for melee animation, do you use a full animation character or only the weapon is animated ?
     
  43. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @take10animation > If you do a fresh install of the asset, does the RetroCopter destroy itself on death? If not, please use the support email to give me more info (asset version, etc). If it does, then it's probably something wrong on your character, and comparing with the copter should help pinpoint what.
    @Grafos > I'd suggest having only one MMPath per object. Hard to tell what the problem is without the exact error. If that persists, please use the support email and give me more info, I'll be happy to have a look.
    @krisss666 > You can separate the weapon's model (the visual part of it) from the actual projectile emitting Weapon component. Same goes for melee, you can either have both work in sync, have a melee weapon separated from the character's animation, or just trigger a specifc character animation.
     
  44. saadneox

    saadneox

    Joined:
    Oct 26, 2016
    Posts:
    4
    Hey Man Congrats for The Beautiful assets you are Making .... i wonder if you can help with something in the character movement ability is there a way to make to player to run automatically rather than move with the joystick ? something like an endless runner but using the corgi engine ...
     
  45. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @saadneox > Sure, you can easily extend CharacterHorizontalMovement and have it act on fixed (or not) values instead of the input ones.
     
  46. saadneox

    saadneox

    Joined:
    Oct 26, 2016
    Posts:
    4
    Thank You so much Reuno i will try That Immediately
     
  47. take10animation

    take10animation

    Joined:
    Jun 19, 2011
    Posts:
    75
    @reuno Yup, there was something wrong with my character. It's working now. Thanks.
     
  48. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
  49. matttardiff

    matttardiff

    Joined:
    Feb 27, 2018
    Posts:
    15
    The Corgi Engine has been a big help in getting this off the ground. Production on the game is going to take until fall of 2020. For now, here is my Kickstarter to pass around in hopes of getting this baby funded and on the way.
    A Crooked Heart is a traditionally animated video game about a corgi seeking revenge for the murder of her love, Keiko. It's a story about love, sacrifice and revenge.

    http://kck.st/2SfwyFx

    My Kickstarter just went live to help fund the game and get it finished by fall of 2020.
    I'm responsible for all art, animation and story. A programmer and composer will handle the rest.
    Enjoy the work and pass it on to other artists, video game and Corgi lovers.
     
    Meowx, Grafos, reuno and 1 other person like this.
  50. Ajhound

    Ajhound

    Joined:
    Oct 6, 2018
    Posts:
    5
    @reuno jker1hqd.jpg also once you get 100 coins it starts again and adds 1 gem. Gems used to to unlock things. Pine Cone is ammo collectable so instead of having the coin and ammo in the inventory screen its straight on the front end. Like your stars on the retroadventure demos. I tried to alter the "retro star" scripts to make it coins but have not skills to make coins change to 1 gem once they hit 100. Maybe I trying to much but with out a scoring system theres no point. Thanks Aj