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

    breeme

    Joined:
    Mar 17, 2014
    Posts:
    21
  2. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @breeme > As explained on that very page, or in the Contents section of the documentation, you can try that in the FeaturesGravity demo scene. There are a few others examples in Retro and other Minimal demo scenes as well.
     
  3. breeme

    breeme

    Joined:
    Mar 17, 2014
    Posts:
    21
    I can't found "FeaturesGravity demo scene" in v.4.5.1 :(
    Where is it in the folder?

    Capture.PNG
     
  4. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    It's in the Minimal demo folder. Are you sure you're running v4.5.1? I don't think that's the case.
    I'd suggest reading the first, highlighted item of the FAQ.
     
  5. breeme

    breeme

    Joined:
    Mar 17, 2014
    Posts:
    21
    I can not find it in the Demos folder.
    Is the version of Unity related to 5.6.6 f 2?
    I would like to read the FAQ so please tell me the URL.

    Capture.PNG
     
  6. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
  7. breeme

    breeme

    Joined:
    Mar 17, 2014
    Posts:
    21
    Thank you very much.
    I will read the FAQ.
    Can you check whether GravityScene is included in v4.5.1 only once for me?
     
  8. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @breeme > Yes it is. As I said, you're not running v4.5.1, you're running 4.0 at best.
    That's the reason you don't see it, and again it's all explained in the very first item of the FAQ.
     
  9. breeme

    breeme

    Joined:
    Mar 17, 2014
    Posts:
    21
    I understood that it is the specification of AssetStore.
    I will download again with the latest Unity version.
    Thank you very much.
     
    reuno likes this.
  10. LaurieCF

    LaurieCF

    Joined:
    Jul 8, 2013
    Posts:
    10
    Hi @reuno > Thanks as always for your hard work.
    I'm trying to follow your instructions (on this page: http://corgi-engine-docs.moremountains.com/animations ) to hook up our spine animations to our character, and I've got stuck on this part: "Then, from the folder with all the exported Spine files, unfold the Controller animator, and drag and drop the required animations into your Animator".

    Is the implication here that a controller animator should have already been generated? I can see from your NativeSpineCorgi folder that you have a controller that you can unfold that contains your individual animations, but I can't find any information on how to reach this stage. Could you please point me towards how you got your Spine animations into this format? My folder just contains the atlas parts, json, and SkeletonData (which is what I am used to from previous projects). I can see this should be a nice easy drag-and-drop solution, but I can't find the parts to drag!
     
  11. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @LaurieCF > That's more a Spine question than an engine question :)
    But basically, if you look at Spine's documentation (or just Google it), you'll find tons of tutorials and resources detailing the process. Like this one for example :

    Alternatively, I guess you can use Spine's SkeletonAnimator if you prefer, but you'll have to trigger the animations yourself. I prefer sticking to Unity's native workflow myself.
     
  12. pjooren

    pjooren

    Joined:
    Apr 12, 2017
    Posts:
    14
    I'm curious as to whether this is already an option or not, and if not, does anyone have a tip on how to easily implement it. I've noticed that within the Projectile Weapon component that there is a feature to "Modify Movement While Attacking" but is there a way to Modify Movement while the weapon is equipped? I'd love it if when my character picks up a heavy gun, his speed and maybe even jump height is reduced. I feel like it would be great if a big powerful weapon had a few drawbacks so there is a little more balance between the advantages of using certain weapons compared to others. Loving this engine BTW!
     
  13. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @pjooren > I'm glad you like the engine :)
    So no, it's not an option right now, but it's a great suggestion. I'll add that to the todo list for a future update. It'd be quite easy to add, probably as a checkbox such as "always apply movement modification" or something. In the meantime, if you want to implement it, you'll want to extend the Weapon class (or modify it, but extending is always safer) so that this modifier is applied at update (or once when equipping) instead of just when the weapon gets used.
     
    pjooren and NEHWind2 like this.
  14. pjooren

    pjooren

    Joined:
    Apr 12, 2017
    Posts:
    14
    @reuno,
    That would be awesome. I'm also looking forward to the "boss" feature you posted about earlier. Another question, I love that in the last update you added the option to have a separate interact button than the jump button, but is there a way to make that interact button work in the inventory rather than using the jump button to select inventory items?
     
    reuno likes this.
  15. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @pjooren > That's already the case :)

    All inventory related input can be defined via the InventoryInputManager's inspector. You'll find it in the demo scenes on the InventoryCanvas gameobject. And from there you'll be able to set axis for each interaction individually. I've mapped it by default to the buttons/keys associated to the jump for convenience and consistency with the rest of the demos, but you can absolutely change it to whatever you prefer :

    upload_2018-6-23_15-5-7.png
     
    pjooren likes this.
  16. knuppel

    knuppel

    Joined:
    Oct 30, 2016
    Posts:
    97
    How can i check why controls are not on to see on my mobilephone?
     

    Attached Files:

    • gh.png
      gh.png
      File size:
      391.3 KB
      Views:
      837
  17. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @knuppel > Without any details or info on what you changed, it's really hard to answer such a question.
    Please use the support email and provide more info : does the problem happen with a vanilla install of the asset? If yes, on what device? What version of the engine are you running, etc.
     
  18. knuppel

    knuppel

    Joined:
    Oct 30, 2016
    Posts:
    97
    ...well switched scene to brobro level->no mobile control on mobilephone, switched back to my scene-> mobile controler is back again.
    Using Unity 2018.1 and Google Pixel
     
  19. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @knuppel > Not sure I understand, is the problem solved? If not, again, please use the support email, thanks.
     
  20. khhurlburt

    khhurlburt

    Joined:
    Jan 29, 2018
    Posts:
    1
    I am having problems with this as well. The loading screen just spins when I put my "level name" into the Level selector (script) on the inspector. I have tried changing folders and my level name but I am stuck. I will watch the silly videos again for the 10th time.
     
  21. Levrault

    Levrault

    Joined:
    Jan 22, 2018
    Posts:
    29
    Does the level is already added in the build settings ? If not, I think you need to add it to make the level loader work.
     
  22. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @khhurlburt > As @Levrault said, it's very likely you just didn't put your level in the build settings.
    Note that this has nothing to do with the engine, it's just basic Unity.
     
  23. CHEMAX3X

    CHEMAX3X

    Joined:
    Jan 8, 2018
    Posts:
    265
    Hey @reuno i have a question (sorry if it's super stupid and i missed something ._ . ) but how can i set the camera to be always in the center of the player without moving left or right ?, you know, following the player but staying in the center all the time, i was tweaking here and there and it partially works, the problem is when the player stops the camera moves in front and then it comes back to the player, and i don't want that =O

    Idk if i was clear .__ .
     
  24. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @CHEMAX3X > Very clear. You'll want to set the camera's offset to 0,0,0, that's all there is to it.
    Additionnally, you may want to set the camera speeds to something very small (.001 for example) if you want it to follow super closely. And of course extend level bounds accordingly if you really want the character int he center of the screen, to avoid the camera getting stuck on them.
     
    CHEMAX3X likes this.
  25. CHEMAX3X

    CHEMAX3X

    Joined:
    Jan 8, 2018
    Posts:
    265
    Yay !! thanks @reuno for the help, now it's working as i wanted ='D
     
    reuno likes this.
  26. Meowx

    Meowx

    Joined:
    Oct 10, 2015
    Posts:
    33
    Any word on when we can expect v5.0? :D It's got more than a couple features that I'm really looking forward to working with!
     
  27. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @Meowx > I never give ETAs, but let's just say I only have one item left on my todo list for v5.0 and it's the release trailer.
     
    Muppo, NEHWind2, Grafos and 5 others like this.
  28. NEHWind2

    NEHWind2

    Joined:
    Jan 7, 2016
    Posts:
    31
    @reuno Aaaah! I can't wait to see it! Definitely looking forward to 5.0!
     
    Meowx, CHEMAX3X, Grafos and 1 other person like this.
  29. steelhamsterstudio

    steelhamsterstudio

    Joined:
    Mar 15, 2018
    Posts:
    29
    Finally, I moved from a dead point and my DamageManager start working. And still, there are a lot of things to polish (Knockback direction, force and so on...).
     
  30. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @steelhamsterstudio > v5.0 will fix that knockback direction issue with more options for it :)
     
  31. steelhamsterstudio

    steelhamsterstudio

    Joined:
    Mar 15, 2018
    Posts:
    29
    @reuno Wow! It's a great news!
    When all damage types will be ready I'll show it and add some magic ;-).
     
    reuno likes this.
  32. Naoumis

    Naoumis

    Joined:
    May 18, 2017
    Posts:
    3
  33. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    I'd bet on Spline.
     
  34. kaustek

    kaustek

    Joined:
    Oct 5, 2013
    Posts:
    7
    Hello!

    I have a (hopefully) quick question. I'm using the 3D (2.5D I suppose) with some mechanim animations. Is there an easy way to force a specific animation (specifically attack) to completely finish before it returns to another animation state?
     
  35. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @kaustek > Absolutely, just like you would in any other Unity project, by setting your mecanim transitions properly. Mostly you'll want to play with exit time, but there's no golden rule, it all depends on your setup. Unity has some good documentation about it, I'd start by checking it out to get a good grasp of how transitions work.
     
  36. kaustek

    kaustek

    Joined:
    Oct 5, 2013
    Posts:
    7
    Perfect thank you! This is my first foray into 3D, I highly appreciate the extensiveness of the documentation provided by the CorgiEngine, it's made things pretty easy especially that full API document!
     
  37. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @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.
  38. 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.
  39. 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.
  40. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    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.
  41. Mindjar

    Mindjar

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

    Mcg

    Joined:
    Mar 28, 2012
    Posts:
    112
    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!
     
  43. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,915
    @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.
  44. 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.
  45. reuno

    reuno

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

    ralphyua

    Joined:
    Mar 28, 2017
    Posts:
    22
    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.
     
  47. reuno

    reuno

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

    Mindjar

    Joined:
    Aug 13, 2013
    Posts:
    29
    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.
  49. Meowx

    Meowx

    Joined:
    Oct 10, 2015
    Posts:
    33
    so many awesome new things! can't wait!!
     
    CHEMAX3X and steelhamsterstudio like this.
  50. 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