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
    @kaustek > I'm glad you like the documentation :) To expand a bit on that, and as quite a few people have asked that lately, here are a few notes :

    - the Corgi Engine is agnostic when it comes to animation. Which means that whether you use 3D models, split models and weapons (for example), 2D spritesheets, Spline, or whatever other Mecanim supported tool, it'll all work the same

    - all the engine does (when it comes to animation) is update your animator(s) parameters. It comes with a bunch of pre-named parameters (full list available in the animation documentation or in each relevant class), and in some instances you can define your own names (weapons, mostly).

    - how you setup your animator is entirely up to you, as by definition there is no one true way of building them, and everybody will have different needs, so that's where the engine draws the line

    - most (if not all) demo animators are set using an "any state" pattern for simplicity mostly as they have to support so many cases, but that's probably not the most efficient way to do that in your own game, and resorting to a more traditional mecanim state machine would be a good idea, especially in situations where you want animation A to finish and move to B. So instead of that "any state" pattern used mostly for demo purposes and readability (many demo characters in the engine have 20+ animations as they're "demo", but in a real game where most characters will have much less main actions, you may prefer something that looks like this :

    upload_2018-6-27_20-49-21.png

    This is very "standard" Unity mecanim stuff, you'll find much more examples on Unity's website, but basically this is just a rearrangement of the Rectangle demo character's animator, just removed most of the animations.
    You enter in Idle, move to walk if in walking state, back to idle if Idle, same for run.
    At any state, if you're Dashing you go to dash, and only go back to Idle when dash has finished playing (that's something you'll define using an exit time on your dash transition.

    I hope this makes things easier to understand!
     
    Muppo, CHEMAX3X and limo like this.
  2. steelhamsterstudio

    steelhamsterstudio

    Joined:
    Mar 15, 2018
    Posts:
    29
    @reuno , @Naoumis , 1 year ago I tried to use Anima2D but there are a lot of restrictions that pushed me to use Spine again and Spine itself has much more possibilities for animation. In a fact I think it's the best solution for 2D animation I have. (I don't try Dragonbones and Creature just because I have no time for learning them).
     
    CHEMAX3X and reuno like this.
  3. CHEMAX3X

    CHEMAX3X

    Joined:
    Jan 8, 2018
    Posts:
    265
    Dragonbones is really good i use it cuz is free and its all i need (so far x) )
     
    steelhamsterstudio likes this.
  4. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    Good news everyone :
    upload_2018-6-28_22-37-51.png

    As usual, expect a few days/weeks until it's live. I'll make a bigger post when it is.
    I'd like to thank the hundred or so people who took part in the beta, this is by far the biggest update since the initial release of the engine back in 2015 and the feedback I got for it was both super helpful and encouraging :)

    I hope you'll like this new version as much as I do!
     
    NEHWind2, eleven43c, Zehru and 9 others like this.
  5. Mindjar

    Mindjar

    Joined:
    Aug 13, 2013
    Posts:
    28
    Finally! :) Could you post the changelog? I'm very curious what you've came up with :)
     
    CHEMAX3X and xpachin like this.
  6. Mcg

    Mcg

    Joined:
    Mar 28, 2012
    Posts:
    111
    Hi, awesome toolkit! I'm trying to animate both character and weapon individually with their own animator however it seems to only animate the character regarding the animation parameters, is there a clean way to hook up character states to the weapon animator such as crawling,running etc as well as the animation parameters?

    thanks!
     
  7. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @Mcg > Not natively, no. I'd suggest creating a script that binds your two (or more) animator together, propagating the state of your "master" animator to your "slave" animators. I can add that to the todo list for a future update if you want.
    @Mindjar > I'll post the release notes over the weekend.
     
    Meowx, Mindjar and CHEMAX3X like this.
  8. steelhamsterstudio

    steelhamsterstudio

    Joined:
    Mar 15, 2018
    Posts:
    29
    @reuno > I'll be very excited to see a new version of Corgi!
    And I gonna find the way to make the second purchase in the asset store just for support and maybe for future extending of my team.
    Thanks for your awesome work! I think the new release will help me finish demo level and try to use all new stuff.

    And here old redesign But I think I'll be moving in that way in visual.
    Game Art-3.jpg
     
    Last edited: Jun 30, 2018
    tosvus, Grafos, Meowx and 3 others like this.
  9. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @steelhamsterstudio > I think you'll like it. It's got a lot of new features that are relevant to your game :)
     
  10. ralphyua

    ralphyua

    Joined:
    Mar 28, 2017
    Posts:
    20
    I am reaching the final stages of making my first game. However, I am having problems figuring out how to do key rebinding at runtime. I want the player to be able to reassign keys after the game has started. Reuno mentioned using Rewired and InControl, but I was still confused on how to actually implement them with the Corgi Engine after watching the Youtube tutorials. I then watched tutorials on how to make custom input managers. It seems that most people are creating a Dictionary of key value pairs where the key is the name of the button and the value is the key code associated with that button. So if you add a key to the list:

    keys.Add ("Player1_Jump", KeyCode.Space);

    Then you could have the spacebar activate a function:

    if (Input.GetKeyDown (keys ["Player1_Jump"])) {
    //Do something
    }

    And changing the key that would activate that button would be as simple as changing the key code value in the dictionary for that button. It worked for running print and log statements.

    After doing this I tried to incorporate this with the Input Manager of the CorgiEngine by messing with the GetInputButtons() function in the Input Manager script. Instead of using the button.ButtonID to determine which button functions should run, I provided the key name of the key code that was pressed. Things went a little crazy when I did that. I'm not really sure what I am doing wrong. So I am wondering how other people are approaching this. Are people:

    1. Creating a whole new input manager and not using the one that came with the Corgi Engine.
    2. Using a third party asset in conjunction with the input manager of the Corgi Engine.
    3. Using a third party assets by itself without using the input manager of the Corgi Engine.

    Thanks in advance for any assistance.
     
  11. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @ralphyua > I don't think there's anything specific to the Corgi Engine when it comes to custom input. And to answer your question, people are probably doing all these three options :) The easiest way would still be to use a third party asset if coding one is too complex. If you have questions about them I'm sure the people at Rewired, InControl or the others will be able to answer them.

    In other news, here are the release notes for v5.0 :

    - Adds a brand new Advanced AI system, with its own, easy to use state machine. Create complex behaviours, patterns and combine decisions and actions to create your own unique enemies.
    - Adds new AI decisions : health, hit, raycast target detection, wide cast target detection, area target detection, distance based decision, time, grounded
    - Adds new AI actions : patrol, patrol within area, move to target, jump, shoot, wait, fly, change weapon
    - Adds a new demo scene, RetroAI, that showcases various types of AI behaviours
    - Adds the RetroRabbit boss, the first example of complex boss behaviour in the Corgi Engine. Complete with multiple and destructible weapons, phases and movement.
    - Adds the RetroGhost, a flying enemy that tracks you if you get close, but will stop and hide if you face it.
    - Adds the Swordsman, a new enemy with a melee weapon (also comes in an alternate version with a gun - yes, it's a swordsman with a gun)
    - Adds the possibility to create combo based weapons very easily, while retaining all the advanced functions of the existing weapons systems. You can even combine melee and projectile weapons into a single combo.
    - Adds the RetroComboSword, a 3 strikes animated sword for the RetroCorgi to use
    - Adds the CharacterSwim ability, now separate from the Jump ability, and complete with its own animations (idle/swimming) and settings (force, splashes)
    - Adds the CharacterFly ability, allowing your characters to move freely on the x and y axis. Comes with a bunch of options, such as permanent flight or button based.
    - Adds the CharacterGlide ability, allowing your character to glide in the air, similarly to old Aladdin games for example.
    - Adds a new character : the RetroCopter, and its own demo scene, showcasing how the flight ability works
    - Adds freeze frames support, to freeze the screen for a few frames (or however long you prefer) when certain events happen, such as hits
    - Adds one up bonuses, allowing you to play with the current amount of lives , adding some, adding containers, and refilling them.
    - Adds spread (random or not) and projectiles per shot options to weapons
    - Adds a new HealthBar component (MMHealthBar) with much more display options (delay, bump, etc).
    - Adds MMFlash, a new component that can be triggered via events to flash the screen (when shooting, getting hit, etc)
    - Adds support for placing edge colliders at mid-character height. They'll now be ignored by the controller if it's grounded, allowing your character to pass through them without affecting movement.
    - Adds an option allowing the creation of moving dialogue boxes.
    - Adds a new FacingRight animation parameter, to use for asymmetrical characters (for example)
    - Improves dash accuracy in the air
    - Adds an option to link any number of animators to a weapon
    - Adds an option to define the GUI's points string pattern.
    - Adds an option to customize stompable enemies' stomp detection raycast length.
    - Adds an option for forcing a facing direction when climbing ladders (useful for asymmetrical 3D characters).
    - Adds an option to reset character state on Gravity zones entry, preventing potential unwanted outcome with Dash for example.
    - Adds an option to interrupt attacks when the weapon owner gets hit
    - Adds an option to prevent horizontal movement (and flips) while using a weapon
    - Adds more extension methods to MMTools
    - Adds an option to have certain characters immune to knockback
    - Adds an option to specify an offset on Grip objects.
    - Improves the Retro tiles bleed to avoid white lines that may appear between tiles in certain resolutions
    - Adds a new controller state : ColliderResized, that lets you whether or not the controller's collider is being resized
    - Adds option to have the CorgiController cast rays on both sides, instead of just the movement direction.
    - Adds a dedicated MMTimeManager class to handle all time scale operations.
    - Improves DamageOnTouch's knockback direction options
    - Adds a debug display to the Weapon's inspector that displays its current state
    - Optimizes draw calls when Flicker on Hit is disabled in the Health component
    - Fixes a bug with push ability sounds not stopping properly when jumping out of push
    - Prevents healthbar from going below zero in certain situations
    - Fixes a missing BoxCollider2D on the default Checkpoint prefab.
    - Fixes the way the Health component grabs the animator, as it sometimes couldn't find one if it was nested one level or more below.
    - Fixes a few remaining "yield return 0" into "yield return null" to avoid generating garbage.
    - Fixes a bug where dropping the grenade launcher wouldn't spawn the right picker, and would cause ammo loss.
    - Fixes a bunch of minor crouch related issues.
    - Fixes wrongly set item pickers on dropped items in the Retro demo scenes.
    - Fixes a case where the run sfx would keep playing while crouching
    - Fixes a bug where gravity wouldn't be reset properly after death in a no collision gravity zone.
    - Fixes a bug where going off a ladder wouldn't reset the horizontal speed properly.
    - Fixes a case where ProjectileWeaponOffset would be applied incorrectly when flipped.
    - Unifies gizmo colors over all components : vision is yellow, collisions is blue/cyan, force is green, obstacles detection is gray.
    - Adds area gizmos for DamageOnTouch hurtboxes
    - Adds better gizmos for melee weapons
    - Renames a few MMTools classes to add a MM prefix to them, for consistency. ProgressBar becomes MMProgressBar, etc. If you get missing scripts warnings in your project after updating, that's probably the reason, and you just have to bind them again to the renamed script.
    - Requires Unity 2018.1 or more

    And here's a first little sneak peek :
    http://reuno.org/upload/UnityForums/boss2.gif
     
    eleven43c, Muppo, skayster and 6 others like this.
  12. Mindjar

    Mindjar

    Joined:
    Aug 13, 2013
    Posts:
    28
    Wow @reuno ! You left me speechless with this list. I think that I need to relearn Corgi engine to bring into play all the new functions :) The AI and combo features are what I’ve needed! Thanks! Now we need to wait for the release... :(
     
    CHEMAX3X and steelhamsterstudio like this.
  13. Meowx

    Meowx

    Joined:
    Oct 10, 2015
    Posts:
    24
    so many awesome new things! can't wait!!
     
    CHEMAX3X and steelhamsterstudio like this.
  14. steelhamsterstudio

    steelhamsterstudio

    Joined:
    Mar 15, 2018
    Posts:
    29
    @reuno > Wow! Absolutely stunning list of improvements. It will save so much time and give me access to create and directing gameplay and scenery situations and stop wasting it for scripting. You've done really great work!

    Here some FX test... I made it for fun
    Primer-3.gif
     
  15. Mcg

    Mcg

    Joined:
    Mar 28, 2012
    Posts:
    111
    Yeah I created a derived weapon class to help deal with it was just curious if I was able to do without changing too much code :D, I think if you could select which animators or multiple at same time and perhaps easier to add parameters on the fly would make animating even more flexible.

    The update log looks very impressive ! :)
     
  16. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @Mcg > About that... :)

    upload_2018-7-1_9-59-18.png
     
    CHEMAX3X likes this.
  17. CHEMAX3X

    CHEMAX3X

    Joined:
    Jan 8, 2018
    Posts:
    265
    reuno and steelhamsterstudio like this.
  18. SiddiqTech

    SiddiqTech

    Joined:
    Nov 30, 2017
    Posts:
    2
    How can the Inventory System be opened in mobile(Android)?

    Thank You!
     
  19. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @SiddiqTech > As explained in the documentation, you can simply create a button and bind it to the inventory open method. Just like it's done with keys right now.
     
  20. SiddiqTech

    SiddiqTech

    Joined:
    Nov 30, 2017
    Posts:
    2
    I as a newbie coder thought that was TOO easy to work
     
  21. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,449
    Rewired has an integration for Corgi Engine included with Rewired. See more details in the Rewired documentation located here:

    https://guavaman.com/projects/rewired/docs/Integration.html#CorgiEngine
     
    reuno likes this.
  22. knuppel

    knuppel

    Joined:
    Oct 30, 2016
    Posts:
    90
    Hello using Unity 2018.1.1f1 and Corgi 5.0 i get this error:

    Assets/CorgiEngine/ThirdParty/Tilemap/2dExtras/Tiles/Rule Tile/Scripts/RuleTile.cs(12,15): error CS0426: The nested type `ColliderType' does not exist in the type `Tile'
     
  23. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @knuppel > Please send more info on how to reproduce from a fresh install on the support email, thanks.
     
  24. knuppel

    knuppel

    Joined:
    Oct 30, 2016
    Posts:
    90
    Changed
    Line 12 of RuleTile to
    public UnityEngine.Tilemaps.Tile.ColliderType m_DefaultColliderType = UnityEngine.Tilemaps.Tile.ColliderType.Sprite;
    and Line 23 to:
    public UnityEngine.Tilemaps.Tile.ColliderType m_ColliderType;

    and so on...
     
  25. knuppel

    knuppel

    Joined:
    Oct 30, 2016
    Posts:
    90
    It was a fresh installation with some more assets (2D TileMap Factory)
     
  26. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @knuppel > It's not a fresh install if you add more assets to it :)
    What probably happened was a conflict with your tilemap asset.
     
  27. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    Good news everyone, v5.0 of the engine has hit the store.
    Here's the release trailer for it :

     
    Meowx, Grafos, Zehru and 9 others like this.
  28. Muppo

    Muppo

    Joined:
    Sep 28, 2016
    Posts:
    210
    What a beautiful theme, have listened like three times in a row. Also nice engine release :D
     
    reuno likes this.
  29. Drew_Davis

    Drew_Davis

    Joined:
    Jul 2, 2018
    Posts:
    2
    I have just finished my concept art for a planned platformer and the timing of this release is perfect.
    Having read the documentation and watched your videos, really appreciate the love and effort you have put into the engine. It looks as though most of the work will be putting my art assets into the game as the backend work is all done for us. I will purchase this this afternoon and look forward to utilising corgi in my new game.
     
    reuno likes this.
  30. thundercatoh

    thundercatoh

    Joined:
    Jul 3, 2018
    Posts:
    4
    Great work, looking forward to try the new features out. May i ask if you have the list of new features? the Official site is not updated with the new Version of the engine yet.



    Thanks

    PS: Edited my commented, just noticed that there is a list of the new features in the official site, my bad.
     
  31. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @thundercatoh > Yes, the site is up to date, and I posted the release notes right here a few posts ago :)
     
  32. jasonxtate66

    jasonxtate66

    Joined:
    Nov 21, 2017
    Posts:
    132
    Ouch. This one definitely broke a (duplicate) copy of my game since the last update. I'll figure it out.
     
  33. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @jasonxtate66 > Yup, for everyone else, I forgot to mention it again, but please, please backup your project before updating! As for each update with Unity, there's a chance it'll break something. Plus this one renames a few MMTools classes, so extra chances there.
     
    Meowx likes this.
  34. jasonxtate66

    jasonxtate66

    Joined:
    Nov 21, 2017
    Posts:
    132
    Figured that out the hard way last update. :D lol
     
  35. Levrault

    Levrault

    Joined:
    Jan 22, 2018
    Posts:
    29
    Hi, I got tricky (or maybe a simple) question over there. I made a MetroidVania game style and I want to upgrade my character. When he upgrade, his visual and ability change.

    That why I created a prefabs CharacterLevel2. How can I switch this prefabs and the one I put in the LevelManager ? Or maybe, should I just add component to my character and change his animator ?

    thanks
     
  36. jasonxtate66

    jasonxtate66

    Joined:
    Nov 21, 2017
    Posts:
    132
    Got everything working... where exactly is the "RetroComboSword"?
     
  37. thundercatoh

    thundercatoh

    Joined:
    Jul 3, 2018
    Posts:
    4
    @jasonxtate66 you can find it at .\CorgiEngine\Demos\Retro\Prefabs\Weapons.

    @reuno what a great update, already been playing with the retro boss, and the HealthBars above the characters. You are making it hard for us, as we dont need to code anymore :) Incredible asset.

    Did you made any update to the FeaturesGravity scene? i didnt even know about that scene. Going to use some gravity tricks in my game to improve the gameplay :)

    Waiting for those high quality youtube tutorials, that you have accustomed us too, about the new features.

    Great Work :)
     
    reuno likes this.
  38. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    Woops, notifications went off again.

    @jasonxtate66 > As @thundercatoh said, it's in the Retro demo folder. Don't hesitate to use the search field in your Projects panel in situations like these :)

    @Levrault > I wouldn't create a different prefab. Instead, create a single one, with more than one model (ie you have a top level with all the colliders and engine classes, and nested below it you put your "model" (it can be a sprite or 3D model, doesn't matter, it's the visual representation of your character). That model can itself have many children, what you do at this level and below is up to you. You can look at the 3D characters examples in the demos for reference. Anyway, you'll then have a "change my appearance" class that will target this model and activate/desactivate parts of it based on what you want. This can also be done using an animator if you prefer. Both approaches are valid. Changing a prefab at runtime is trickier (but coming to a future update) (but not the best approach for just appearance).

    @thundercatoh > Thanks, I'm glad you like the update!
    I didn't update that scene, apart from maybe a few bugfixes here and there? I don't remember any though.
    The tutorials are indeed coming, actually I've already recorded them, just need to publish them. I'll start tomorrow if all goes well! There'll be one about what's new in general in 5.0 and a dedicated one about AI. You can find that one in the dedicated documentation if you're in a hurry :)
     
  39. jasonxtate66

    jasonxtate66

    Joined:
    Nov 21, 2017
    Posts:
    132
    I've updated all my assets... when importing, that prefab isn't there. Just the original RetroMeleeAttack or whatever.

    I guess I'll try a fresh install and just take that prefab if it appears.
     
  40. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @jasonxtate66 > Then you're probably not running v5.0.
    You might want to check out the first, highlighted item of the FAQ.
    And if that's not it, you may want to reimport the asset in a blank project just to be sure, as that prefab is definitely there :)
     
  41. jasonxtate66

    jasonxtate66

    Joined:
    Nov 21, 2017
    Posts:
    132
    Apparently not... because it didn't import the retro boss or anything. Where is the FAQ?
     
  42. jasonxtate66

    jasonxtate66

    Joined:
    Nov 21, 2017
    Posts:
    132
    It did import the Game Manager which has player lives, and a game over scene. I don't think it had that before?
     
  43. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
  44. jasonxtate66

    jasonxtate66

    Joined:
    Nov 21, 2017
    Posts:
    132
    So do I need to upgrade from 2017.3.1f1 - to Unity 2018? Might that be an issue?
     
  45. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @jasonxtate66 > Yes, as explained in the FAQ, if you want to use the new features that rely on Unity 2018.1's features, then yes, you need to update to 2018.1. As for whether it's an issue or not, only you can answer that question. It depends on your project and its other dependencies. I'd suggest making a backup first.
     
  46. cyangamer1

    cyangamer1

    Joined:
    Feb 17, 2010
    Posts:
    147
    This new update looks really sweet. Thanks for getting this out to us!
     
    reuno likes this.
  47. jasonxtate66

    jasonxtate66

    Joined:
    Nov 21, 2017
    Posts:
    132
    Yeah, I use a duplicate copy to test. I'll try upgrading Unity.
    Strangely, it updated my Playmaker, Super TileMap Editor, etc. but didn't ask me to update Corgi.
    Will report what a new Unity update solves on a fresh project.
     
    Last edited: Jul 5, 2018
  48. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,082
    @jasonxtate66 > That's because you're using a version of Unity older than the requirement, as explained in the FAQ :)
    It won't offer an update you can't run.
     
  49. jasonxtate66

    jasonxtate66

    Joined:
    Nov 21, 2017
    Posts:
    132
    Yeah, I didn't know it required Unity 2018. It's always painful moving a project over and redoing things. Hopefully the import goes smooth. The added features are worth it.

    EDIT: Instant "Fix Compiler errors" after importing. Gonna have to adjust some stuff.
     
    Last edited: Jul 5, 2018
  50. Levrault

    Levrault

    Joined:
    Jan 22, 2018
    Posts:
    29
    It's not only the appearance that change but also the ability of the character. For example, I want to add the wall jump script and let the character be able to not wall jump. His appearance will also change with this new bonus.

    Maybe a function that will just active new ability on the character and change the default animator should be a better idear in this case.