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] Corgi Engine - Complete 2D/2.5D Platformer [new v8.0 : advanced damage system]

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

  1. Legionghost

    Legionghost

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

    Meowx

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

    Meowx

    Joined:
    Oct 10, 2015
    Posts:
    33
    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
  4. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @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.
  5. Meowx

    Meowx

    Joined:
    Oct 10, 2015
    Posts:
    33
    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
  6. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @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()
     
  7. Meowx

    Meowx

    Joined:
    Oct 10, 2015
    Posts:
    33
    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!
     
  8. reuno

    reuno

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

    KriYorDev

    Joined:
    Oct 3, 2017
    Posts:
    32
    @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!
     
  10. Meowx

    Meowx

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

    Boom_Shaka

    Joined:
    Aug 31, 2017
    Posts:
    141
    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.
  12. Meowx

    Meowx

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

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @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.
  14. radinretrogames

    radinretrogames

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

    radinretrogames

    Joined:
    Feb 19, 2019
    Posts:
    3
    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?
     
  16. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
  17. KriYorDev

    KriYorDev

    Joined:
    Oct 3, 2017
    Posts:
    32
    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.
     
  18. Bagazi

    Bagazi

    Joined:
    Apr 18, 2018
    Posts:
    611
    Is there any feature for Stun Effect? :)
     
  19. 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
  20. 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
  21. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @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.
     
  22. 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.
     
  23. 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
     
  24. luigi7

    luigi7

    Joined:
    Jun 30, 2015
    Posts:
    99
    @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
  25. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @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 :)
     
    luigi7 likes this.
  26. Grafos

    Grafos

    Joined:
    Aug 30, 2011
    Posts:
    231
    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?
     
  27. 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.
     
  28. krisss666

    krisss666

    Joined:
    Feb 14, 2014
    Posts:
    21
    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 ?
     
  29. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @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.
     
  30. saadneox

    saadneox

    Joined:
    Oct 26, 2016
    Posts:
    7
    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 ...
     
  31. reuno

    reuno

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

    saadneox

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

    take10animation

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

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
  35. matttardiff

    matttardiff

    Joined:
    Feb 27, 2018
    Posts:
    30
    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.
  36. 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
     
  37. Legionghost

    Legionghost

    Joined:
    Nov 30, 2018
    Posts:
    16
    Hi, sorry for the noob question, but, what is the easiest way to modify a characters ability at runtime?
    I've been trying to use a KeyOperatedZone (auto activation and without a key enabled) with my player as object and change the ability there but it's not working for me.
    I've been trying to change the Jump Behaviour number of jumps from 1 to 2 when getting a powerup.
    I've tried a bunch of different function settings to see if anything works but it's not, perhaps I'm doing it wrong, although I have made several KeyOperatedZone work in my game.
     
  38. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @Ajhound > I suggest creating a class to implement your own rules. I can't code that for you, it's too specific :)
    @matttardiff > These animations! Thanks for sharing this, and congratulations again!
     
  39. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @Legionghost > There's no generic answer, it depends on what you want to do, and whether or not the value you want to modify is being cached by the ability or not. But outside of that it's done like you would in any Unity project and class, you grab the class, modify its public attributes or use the provided methods.
     
  40. Legionghost

    Legionghost

    Joined:
    Nov 30, 2018
    Posts:
    16
    ok thanks, I'm not there yet in my learning, I just know how to enable/disable things right now. :)
    I'll keep trying to figure it out...
     
  41. Boom_Shaka

    Boom_Shaka

    Joined:
    Aug 31, 2017
    Posts:
    141
    check out these (and other scripting) tutorials. They cover some of things you can do to make the most out of this engine. If they don't make sense right away, they will as you start reviewing the code comments.

    https://unity3d.com/learn/tutorials/topics/scripting/variables-and-functions?playlist=17117
    https://unity3d.com/learn/tutorials/topics/scripting/classes?playlist=17117
    https://unity3d.com/learn/tutorials/topics/scripting/statics?playlist=17117
    https://unity3d.com/learn/tutorials/topics/scripting/inheritance?playlist=17117
     
    reuno and Legionghost like this.
  42. Legionghost

    Legionghost

    Joined:
    Nov 30, 2018
    Posts:
    16
    Perfect thanks!
     
  43. Ajhound

    Ajhound

    Joined:
    Oct 6, 2018
    Posts:
    5
    @reuno i cant create a class i dont know how, no coding experience. Looking at the codes for RetroAdventure Stars, trying to figure out where at what everything does just isnt working. ok your coin script with the points how do you make this show up with your gem script? GemsToAdd
     
  44. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @Ajhound > There are no gems in the engine, I don't know what you mean. Unfortunately I don't know any other way to create a new feature than to code it. If adapting the coin script is too complex for you right now, maybe look for a simpler feature to implement, or look on the store, maybe there's a "coin to gem conversion" script. If you have more questions like this, please use the support email, thanks!
     
  45. Meowx

    Meowx

    Joined:
    Oct 10, 2015
    Posts:
    33
  46. Reactorcore3

    Reactorcore3

    Joined:
    Nov 27, 2018
    Posts:
    17
    I'm currently designing and mapping the art, character and level creating workflow and I wanted to ask three things:

    1) For an average PC platform, how big or small do you recommend the levels to be? Should I chop them up into chunks or is it ok to have large or wide or tall rooms that may take a few minutes to move through at full speed of the default minimal demo character?

    2) Can I make instant laser / beam / line projectiles for weapons easily in Corgi Engine? What would you recommend?

    3) Is it possible to make a Block / Defend state/function for characters (player and/or NPC), so that while a button is held down, any damage received is prevented?
     
    Last edited: Feb 23, 2019
  47. andrin2020

    andrin2020

    Joined:
    Mar 9, 2014
    Posts:
    29
    I have been trying to use the Freeze() and Unfreeze() methods on the CharcterController as a means to create a "Stunned" effect on enemy characters with certain attacks. However, I have noticed when Freeze() is called it sets the CharacterHorizontalMovement.Enabled to false which stops the character as desired but does not set it back to True when Unfreeze() is called leaving the enemy stuck in the same spot. I can not track down in the code where this is being set and wondering if this is expected or not. I suppose I could explicitly set it back to enabled in my code but was hoping there is a more elegant way to do this.

    Thanks
     
  48. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @andrin_man > No, Character's Freeze doesn't set anything on CharacterHorizontalMovement. It turns the gravity off, sets forces to zero and changes the state to Frozen. This is reverted by Unfreeze. Don't hesitate to look at the code for more info on this.
    @Reactorcore3 > 1. that is unrelated to the engine. It just depends on your tech stack, device target, gameplay, etc. There's no generic answer to that.
    2. That's not built-in if that's your question. But sure, with all the weapon related classes, that shouldn't be hard to do.
    3. Sure it's possible. I'd recommend creating a new ability for this, that acts on the Health component to prevent damage, there's already a method for that.
     
    Reactorcore3 likes this.
  49. matttardiff

    matttardiff

    Joined:
    Feb 27, 2018
    Posts:
    30
    Meowx and reuno like this.
  50. addz92

    addz92

    Joined:
    Mar 4, 2015
    Posts:
    19
    Hi all , I've managed to put a script together that allows a player to pick an ability up. For example the player finds a power up item and learns the ability to wall jump. My issue however is the power up doesn't persist between scenes. So the player may be able to walljump in scene A , but can't in scene B.

    Is there a way to somehow save the added ability? I've tried using the inventory and assigning the ability to an item there but the issue remains. Thanks in advance :)