Search Unity

  1. Unity 2019.1 is now released.
    Dismiss Notice

[RELEASED] Corgi Engine - Complete 2D/2.5D Platformer [new v5.3 : ledge hang]

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

  1. Friction

    Friction

    Joined:
    Jan 6, 2015
    Posts:
    14
    Hello,
    Thank you for your quick answer.
    I've been trying your suggestions for in the past few days but I can't figure it out with your way.
    I've handled that situation by changing planned gameplay, after 14 days of work.
    I think you should add your solution in next update.
    Thanks again,
     
  2. Prog-Maker

    Prog-Maker

    Joined:
    Mar 6, 2017
    Posts:
    19
    Hello!
    How i can get the position of the collision (left, right, top, bottom) through the Corgi Controller?
    or may be MM tools
     
  3. addz92

    addz92

    Joined:
    Mar 4, 2015
    Posts:
    18
    Hi Reuno, After creating a build, the following get produced: - The application - A mono folder - Application extension (unityplayer.dll) and another application (Unitycrashhandler64). I was wondering, do I need to include all 4 files if I were creating a build to upload to steam or another distribution site. I recall in the past only 2 files were made. Thanks for any help in advance :)
     
  4. Testeria

    Testeria

    Joined:
    Aug 15, 2013
    Posts:
    15
    Is it possible to switch gravity force to 0 with gravity component?

    I need one level in space (like asteroids) and just go where user directs player.
     
  5. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    2,636
    @RD_Indiana > Not built in, but you can probably easily modify the class so it targets a GUI canvas instead of instantiating in the world.
    @Friction > I'll add that to the todo list, if more people request it, it'll make it into an update, thanks for the suggestion!
    @Prog-Maker > StandingOn will give you what you're standing on, and CurrentWallCollider the current wall. Don't hesitate to look at the documentation, it's all in there.
    @addz92 > I'd say yes, just to be safe? But I'm no expert in Steam uploads. This is really a generic Unity question though, nothing specific to the engine :)
    @Testeria > If you mean Gravity Zones, then yes, you can set gravity to any value you want. That won't magically turn your game into Asteroids though, you'd need a dedicated ability for that, but it'll kill gravity.
     
    Friction likes this.
  6. Nikul

    Nikul

    Joined:
    Jul 27, 2012
    Posts:
    11
    Thanks, I extended the class to spawn specific amounts of enemies. Is there a built in way for enemies to leave health pickups on death?
     
    reuno likes this.
  7. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    2,636
    @Nikul > Not built-in. That said you can quite easily instantiate item pickers on death.
    Loot and similar mechanisms have been requested heavily, they're high on the todo list.
     
  8. Friction

    Friction

    Joined:
    Jan 6, 2015
    Posts:
    14
    Hello again,
    Is there a built-in way to use Screen Shake Effect with Cinemachine? Or should I override the Camera Controller?
    @reuno are you planning to add built-in Cinemachine support to Corgi Engine too, like your TopDown Engine?
    Best regards,
     
  9. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    2,636
    @Friction > Not built-in yet. And yes, I'm planning on bringing built in support for it, I'm just waiting on proper native support for package manager files in the asset store.
     
  10. luigi-freguglia

    luigi-freguglia

    Joined:
    Jun 30, 2015
    Posts:
    36
    Hello reuno,
    I am moving my character assigning the transform.position to "teleport" it and let it in the Idle state, but I can't move it without triggering the jumpandfall animation because when it's assigned to the new position it's not grounded (isGrounded = false). Even if i move it exactly pixel-grounded, I get for a short time the fall state and see the animation.
    I tried to disable the Character, the CorgiController and Animator components in various combination without success.
    Do you, or someone else, have any suggestion please?
     
  11. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    2,636
    @luigi-freguglia > I wouldn't disable anything for that, seems a bit overkill. Instead I guess I'd add an additional animator parameter (Teleporting, maybe), make it true for a short while, and then modify my Falling state transition so that it doesn't transition if Teleporting is true.
     
    Muppo and luigi-freguglia like this.
  12. falseCrack

    falseCrack

    Joined:
    Jan 4, 2016
    Posts:
    1
    Hello Reuno
    I placed a MovingPlatform in the RetroCopter demo scene and rotated it 90 on the z. I set it to move horizontally to push the copter. While the copter is being pushed, I tap the up direction, the copter jumps down. Why does this happen and how can I get around it? Thank you, love the engine!
     
  13. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    2,636
    @falseCrack > Moving platforms don't push characters, you'd need a dedicated class for that.
     
  14. Muppo

    Muppo

    Joined:
    Sep 28, 2016
    Posts:
    185
    It should work similar to how moving platforms detects a player is on top of them, right? Already tried what @falseCrack did myself and didn't work on it much more. To be honest, I wasn't sure if this was the way to follow.
     
  15. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    2,636
    @Muppo > Basically you'll want the platform to detect the player and use the player's controller SetForce (or similar) methods to move it instead of just relying on input. It becomes tricky if you want to also have input at the same time, and then you have to decide what input can be had at the same time, and how to handle that.
     
    Muppo likes this.
  16. luigi-freguglia

    luigi-freguglia

    Joined:
    Jun 30, 2015
    Posts:
    36
    @reuno your tip did not work, but I got why and it's my bad.
    Before teleporting, i was lerping the character to move towards a door and it was passing through a platform collider ... so it was interacting somehow with CorgiController I guess. I disabled the CorgiController component before the walk and enabled after the teleport, and it worked.
     
  17. raingame_

    raingame_

    Joined:
    Jan 15, 2019
    Posts:
    5
    Hi there, I've noticed that when I have low fps Corgi's physics starts to work bad, especially dash. And I think it's because Corgi uses Update method instead of using FixedUpdate for physics calculations. Then I called EveryFrame method in CorgiController in FixedUpdate:
    upload_2019-1-15_16-29-29.png

    But physics started to work weird. How to solve this problem? I also have noticed that your new project TopDown Engine has a selection to choose where physics needs to be handled. Waiting for response. Thanks!
     
  18. lmalec

    lmalec

    Joined:
    Nov 20, 2016
    Posts:
    2
    Hi,
    First of all, I would like to say that Assets are amazing. Good job.
    I’m going to transform my game demo from Construct 3 to Unity. I’m beginner in C#. I would like to custom mouse aiming, but I have problems.
    When "On" Weapon Flip and Character shoots back the weapon does not flip x axis.

    Example (CharacterIsFlipRight): weaponCurrentAim.png
    I would like weapon flip X axis.
    Example (CharacterIsFlipRight):

    weaponProperAim.png
    I have changed the settings manually.

    Do You have an idea how to solve this problem?
     
  19. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    2,636
    @luigi-freguglia > I'm glad it's working now!
    @raingame_ > The Corgi Engine doesn't use physics for movement, so that's really unrelated. The TopDown Engine does though, and that's why you get to choose. In the case of the dash, nothing to do with physics. But if you're planning on having low fps (instead of degrading whatever causes the FPS drop - models, textures, etc) you'll need to plan for that. One solution could be to compute the dash destination when the dash starts, or casting a ray behind you to make sure you didn't cross a wall during a (now super long) frame. I prefer making sure FPS never drop to guarantee a good gameplay experience, but there are definitely two schools on this, feel free to take the other approach.
    @lmalec > That's not something that is built-in, you'll have to implement it. Extending WeaponAim to do so will be the easiest solution to this, it already contains all the methods you need for this.
     
  20. lmalec

    lmalec

    Joined:
    Nov 20, 2016
    Posts:
    2
    @reuno Thanks for quick replay
     
    reuno likes this.
  21. captnhanky

    captnhanky

    Joined:
    Dec 31, 2015
    Posts:
    88
    Hi!

    Is it possible to use a visual scripting asset combined with corgi engine?
    The reason I ask is because bolt2 does not work for that matter (I got it to work but it was a real headache, I had to delete most of the corgi demo folders and still got many warnings)

    I need a visual scripting language that generates c# code (like uNode). There are some in the asset store, but they all cost some decent cash so I wanted to ask:

    Has anyone experience with corgi engine AND visual scripting?
    Is there a proven visual scripting solution with c# code generation that works with corgi engine?

    thanks


    P.S.:
    I managed to develop endless side scrolling with bolt2 (portals in corgi engine do not work for that matter). It is really fast because of the c# generation- even in the editor, but unfortunately it stops working at some point because of Incompatibilities with corgi engine and other assets.

     
  22. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    2,636
    @captnhanky > I don't use visual scripting myself (obviously) but I know a lot of people have been using Bolt or Playmaker with the Corgi Engine successfully (from what they've reported via email, right here or in the reviews).
    Everything in the engine is scoped properly behind a namespace, so I don't see how it could cause any incompatibility, at least not in the C# sense. As far as I know these tools simply allow you to plug into public methods, so as long as you use the ones exposed in the engine, you should be fine.

    And indeed to do something like your video a portal may be a bit overkill (although I really think it'd work), but a much simpler solution is to simply teleport your character when its x value reaches a certain threshold to a new position with the same y and z, and an adjusted x. By teleporting I mean just updating its transform's position.

    I'd suggest contacting Bolt's creator for help on this maybe, I don't see why it wouldn't work. If you need more methods exposed on some specific components I'm always happy to discuss and accomodate for this.
     
  23. Boom_Shaka

    Boom_Shaka

    Joined:
    Aug 31, 2017
    Posts:
    76
    It's been a while since I used Bolt and Corgi but I don't recall any input errors. I suspect they may have to do with project settings getting overwritten.

    That said, you import your scripts as unit options and then add them to your graphs as needed (note: these aren't Corgi scripts, this is just a screen shot from their website).



    In all honesty, though, I started both Bolt and C# from scratch and have actually found it a little easier to just use C# -- due to the learning curve, Bolt just felt like I was doing twice the work.
     
    Last edited: Jan 17, 2019
  24. captnhanky

    captnhanky

    Joined:
    Dec 31, 2015
    Posts:
    88
    @reuno

    Thanks for the reply!

    I do NOT use Bolt. I use Bolt2 (it is currently in alpha status..because it can generate c# code)

    Bolt2 uses .net 4.x
    Maybe this is the reason why it makes so much trouble?


    Bildschirmfoto 2019-01-18 um 05.25.01.png

    I already contacted the bolt developer on that issue but got no response until now

    ..and yes, you are correct..the method you describe as teleporting is exactly the method I use, but it is much more complicated than that (at least for me ;) )


    @Boom_Shaka

    "That said, you import your scripts as unit options and then add them to your graphs as needed (note: these aren't Corgi scripts, this is just a screen shot from their website)."

    Sorry, but I don´t understand that. I have no scripts written, Which scripts should I import? And why?

    I am such a noob when it comes to programming. I have some experience in c, because I programmed some micro controllers but object oriented programming is giving me headaches. I tried it but after months of failures I decided to focus on visual scripting more. Bolt2 can generate c# code so maybe I learn a little there.
     
  25. Boom_Shaka

    Boom_Shaka

    Joined:
    Aug 31, 2017
    Posts:
    76
    OK, my bad...never heard of it. Couldn't help you. But if it's still in alpha, you should count on it not working with anything
     
  26. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    2,636
    @captnhanky > The Corgi Engine is absolutely safe to use with .net 4.x, so it must be something else.
    I don't know much about Bolt 2, but as @Boom_Shaka said, I wouldn't expect much stability from an alpha in general :)
     
  27. pjooren

    pjooren

    Joined:
    Apr 12, 2017
    Posts:
    8
    I think I might have found an issue with the Health Component. Death Force Y works fine, but Death Force X isn't working.
     
  28. Yuuki-66

    Yuuki-66

    Joined:
    Jan 18, 2019
    Posts:
    6
    Hello !

    I've buy the Corgi Engine a few month ago and just begin with it now. I am a newbie on Unity and in creating a game but it seems to be very simple to use this engine. Thanks a lot for all your work !

    I am trying to understand the Projectile Weapon Component and after a few test, I was able to create a machine gun. The only problem I have for now is after the Auto Reload, I have to click again for restarting fire. Is it not possible to just hold the button all the time ?

    The question in French (because I'm not sure my question is understable in english) :
    Est-il possible de rester appuyer sur le bouton de tir tout le temps ? Ou doit-on obligatoirement réappuyer sur la touche après que le rechargement de l'arme se soit faite ?

    Thanks a lot !
     
  29. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    2,636
    @pjooren > It was only ever designed to move on y I think, I'll change that for the next release. In the meantime you can comment line 354 in the Character class and that'll solve your problem. If you find bugs please use the support email to report them, makes it easier for me to keep track and deliver fixes (I have a more elegant one ready for this if you want, drop me a line), thanks!
    @Yuuki-66 > Not built in, no (but you can extend the class to do so using all the existing public methods to implement your specific use case). And please stick to English, thanks!
     
  30. Yuuki-66

    Yuuki-66

    Joined:
    Jan 18, 2019
    Posts:
    6
    Thanks for the answer. I'm not sure to understand the solution (I'm not a programmer at all) but it works fine as it is now. I was just wondering if I've missed something or not :)
     
  31. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    2,636
    @Yuuki-66 > Ok if you're not a programmer it's gonna be a bit harder :)
    But you haven't missed anything, it's just not a setting right now. I usually put some of the most common use cases as examples, and from there I recommend extending the engine (basically creating scripts that change a feature slightly) as implementing all possible use cases would turn the engine into an unusable and overly complex mess.
     
  32. Yuuki-66

    Yuuki-66

    Joined:
    Jan 18, 2019
    Posts:
    6
    Yes, I understand it will be hard to make everything possible. And the Corgi Engine have already a lot of thing.

    Well, I'm not against learn how to code and all or at least trying to understand how your engine works, but when I see that that "Weapon.cs" have 880 lines for exemple, I'm not sure where I should begin ^^'
     
  33. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    2,636
    @Yuuki-66 > The amount of lines doesn't really matter when logic is well distributed across methods, as is the case in Weapon. It's just a big state machine. When extending, for something as simple as that reload thing, you'll usually only have to extend one method. In this case that'd probably be CaseWeaponReloadStop, and it's only 4 lines. As for where to begin, I'd say definitely with something more entry level than this, tutorials, stuff like that. And then as far as the Corgi Engine is concerned, the API documentation seems like a good entry point to understand how classes work.
     
  34. Yuuki-66

    Yuuki-66

    Joined:
    Jan 18, 2019
    Posts:
    6
    Yes, I see the lines in question. I'll try a few stuff. thanks !

    I've already did a few tutorials but it was nothing like your engine who are a lot more complex ^^' I can understand the basics of your codes but I don't think I have the level to try to modify it. I'll look the API documentation in detail and try a few thing. Thanks a lot for the help !

    Edit : Oh it was very simple indeed. I just changed the state of "WeaponStates.WeaponIdle" to "WeaponStates.WeaponStart" and it begins to works. Thanks a lot Reuno !
     
    Last edited: Jan 19, 2019
    reuno likes this.
  35. Yuuki-66

    Yuuki-66

    Joined:
    Jan 18, 2019
    Posts:
    6
    Hi ! It's me again. I'm sorry to ask a basic question again :/

    My weapon use the Free Rotation mode with the mouse at Aim Control. I'd like to flip my character to the left when the mouse go behind him. I did not find an exemple in the asset.

    Should I modify that in the Weapon Aim Script or in the Character Script ? I'm a little lost.

    Thanks !
     
  36. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    2,636
    @Yuuki-66 > Extending WeaponAim seems like the obvious choice here, but really there are no rules, feel free to do it however works for you.
     
  37. Yuuki-66

    Yuuki-66

    Joined:
    Jan 18, 2019
    Posts:
    6
    I'll do that then. Thanks !
     
    reuno likes this.
  38. Mcg

    Mcg

    Joined:
    Mar 28, 2012
    Posts:
    111
    hey, I'm trying to use mecanim animations for things like ladder climbing however their facing direction will be facing to the right or left when say for ladder climbing its needs to face backwards, is there an easy way to switch the facing direction backwards until the player is off the ladder?
     
  39. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    2,636
    @Mcg > I'm not sure I get what you mean. In what context? 3D?
    If yes, have you looked at how the Corgi3D climbs ladders for example?
    In any case, in a 2D platformer (or 2.5D), your Character doesn't face forwards or backwards. That's something you animate if you want.
     
  40. Mcg

    Mcg

    Joined:
    Mar 28, 2012
    Posts:
    111
    Hey sorry yes I meant for 3d well 2.5d :p, it was just the case of the animation not set up to face another direction other than forward so I just added some code to override the rotation for now while it's colliding with a ladder to face backwards :)
     
    reuno likes this.
  41. Mindjar

    Mindjar

    Joined:
    Aug 13, 2013
    Posts:
    19
    Is there an option to have stun effect for a brief time after taking damage? I couldn't find it.
     
  42. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    2,636
    @Mindjar > Nope. You can see a full list of features on the asset's page. If it's not listed, it's not in the engine (yet).
     
  43. Boom_Shaka

    Boom_Shaka

    Joined:
    Aug 31, 2017
    Posts:
    76
    @reuno -- just out of curiosity, could we use the "frozen" character condition state for something like this or would we need to create a new condition state altogether?
     
  44. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    2,636
    @Boom_Shaka > Absolutely, that'd be a really good use of that state.
     
  45. Ale_alejandro

    Ale_alejandro

    Joined:
    Dec 12, 2012
    Posts:
    18
    Is there a known inventory bug?
     
  46. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    2,636
    @Ale_alejandro > There is one in one of the latest versions that prevents unequipping weapons properly, and a minor typo one that can cause a target equipment inventory not to be found if you haven't set a target inventory name. Both have been fixed for the next release. If you think you've found a bug, please use the support email to report it (and provide reproducible steps, thanks!).
     
  47. achan_unity

    achan_unity

    Joined:
    Apr 23, 2018
    Posts:
    13
    Hello, I would like to add a new ability for the character to 'break' things. I am thinking of extending the Character Ability to introduce a new CharacterBreak ability and a Breakable object.. (following the CharacterPush and Pushable example).. but I have a few questions:
    1. Is my approach right?
    2. Any suggestion on how to trigger this ability? a special button? part of the melee attack?
    3. Looking at the set of CharacterMovement states.. should i introduce a new state? or is this not really a movement state?
    4. Any suggestion on how to create a generic "breaking" animation on top of any tiles?

    Thanks, Allen
     
  48. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    2,636
    @achan_unity > There you go :
    1. Yes, or you could just use the Weapons/Health system. You'll find a lot of breakable things in the demos for reference.
    2. I don't know, depends on what you want to do. But I'd recommend a new input per ability, gives you more freedom to tweak your control scheme afterwards
    3. It doesn't seem like a movement state to me
    4. Depends on your tech, art style, etc. Hard to answer that question without knowing your specs and skills.
     
  49. achan_unity

    achan_unity

    Joined:
    Apr 23, 2018
    Posts:
    13
    Hello, thank you for the quick answer!

    1. Using the weapon & health system is a good idea. Let me experiment with that approach as well.
    2. I am thinking as part of the game, the player will need to break thru certain walls or dig through the ground. Maybe the player will have to equip a pickaxe to break stone or an axe to break door. In that case, maybe I will just use the attack action then?
    3. I agreed breaking is not a movement state. Looking at the code, I don't see a way to extend the states without modifying the original file, is that the case?
    4. The game level is going to be tile based. I want to see if there is a way to modify the sprites of the tiles with cracks without having to draw all the tiles beforehand. Any suggestion would be great.

    Thanks again. Allen.
     
  50. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    2,636
    @achan_unity >
    2. Again, I'd recommend separating input, but it's up to you. Do however you prefer.
    3. Yes, C# limitation, enums can't be extended.
    4. If you're using Tilemap, you can create custom rule tiles for that I guess.