Search Unity

[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. Dumpling007

    Dumpling007

    Joined:
    Dec 13, 2018
    Posts:
    36
    I also think that the problem should be in the transition of animation, so I took a screenshot of my animation and explained it, I don't know whether I can express my problem clearly:
    1.irst, I set three animations, "Idle(Loop)", "Attack" and" Flying ", and added three parameters as conversion conditions, Idle(Bool), Attack (Bool) and FlySpeed (Float).
    upload_2024-1-13_0-16-25.png
    2.The enemy's AI state transition is shown in the figure
    upload_2024-1-13_0-17-29.png
    3.I have also included a screenshot of the specific animation conversion parameters below
    AnyState - Idle

    upload_2024-1-13_0-20-10.png
    AnyState - Attack
    upload_2024-1-13_0-20-58.png
    AnyState - Flying
    upload_2024-1-13_0-21-42.png
     
  2. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    Again, do animation parameters turn on/off as expected? If they do, then the engine is working, and you need to tweak your transitions for whatever result you're after, that's done like in any project. If they don't change state, then maybe you have a setup issue, and if you think it's related to the engine, use the support form and provide steps to reproduce your setup and I'll be happy to have a look.
     
  3. Dumpling007

    Dumpling007

    Joined:
    Dec 13, 2018
    Posts:
    36
    The parameters of the animation didn't turn on on time and were stuck on the last frame of the Attack animation, which is even weirder because Attack = false

    upload_2024-1-13_1-0-11.png
    Then I want to know how to use the support form?
     
  4. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    @Dumpling007 > Parameters can't "get stuck" on a frame, parameters update to reflect a state. You can verify that in a fresh install, select your Animator in the hierarchy at runtime and observe it. Parameters are not impacted by transitions, that is not how the Animator works. You really just need to tweak your transitions, look at your setup, it's not gonna work as you expect. Again, this is entirely unrelated to the engine. If you think the issue is on the engine's side, use the support form at https://corgi-engine.moremountains.com/corgi-engine-contact and provide repro steps, thanks.
     
  5. Dumpling007

    Dumpling007

    Joined:
    Dec 13, 2018
    Posts:
    36
    Thank you for your answer,reuno
     
    reuno likes this.
  6. Pvt_Hudson

    Pvt_Hudson

    Joined:
    Jan 20, 2016
    Posts:
    41
    I've gone from 7.x to 8.<whatever todays current version is>
    i removed the corgiengine folder first, then imported current version.

    All the player and AI character Feedback scripts are saying the script cannot be loaded. Whilst I can see the scripts on the prefabs, i cannot see/configure any properties. On the instances in the scene, they all say "teh asscoiated script can not be loaded. Please fix any compile errors". There are no compile errors...

    I note the MMFeedback script is now in legacy folder? Are there instructions for how to move from 7 -> 8 ?
     
  7. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    @Pvt_Hudson > Instructions are in the documentation, it's just about removing the old folder before importing the new one, there's nothing more to do. Yes, MMFeedbacks are legacy now, but that's just a change of folder, they're still around for retro compatibility.
    I have to admit I've never heard of the "please fix any compile errors" error without compile errors. This could be an editor bug I suppose, or maybe your Library got corrupted. I'd try rebuilding it.
     
  8. Pvt_Hudson

    Pvt_Hudson

    Joined:
    Jan 20, 2016
    Posts:
    41
    As stated above, I removed the Corgi folder and imported the new version. Using unity 2022.3.8f1
    It also stated refactoring may be required without elaborating.

    That was the information I am looking for - a link to the refactoring guide, not developer blaming everything else being wrong
     

    Attached Files:

  9. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    @Pvt_Hudson > I don't think I've blamed anything in my reply? Where does that come from?

    I don't know of any reason why Unity would display an error explicitly stating there are compile errors to fix without such compile errors. That's a Unity thing, not a Corgi Engine thing. Have you tried rebuilding your Library as I suggested? What was the outcome?

    As for a refactoring guide, there's no such thing, with the amount of updates the engine gets, it'd be impossible to write a guide for all possible update routes. Usually when upgrading over a big gap (like you're doing here), it's possible that compile errors appear (due to API changes), that's what requires refactoring. When that happens, the errors are usually self explanatory, and I'm always happy to assist if that's not the case. But indeed that will be hard to do without your editor displaying the compile errors in the first place.
     
    Last edited: Jan 28, 2024
  10. windslayer

    windslayer

    Joined:
    Jul 29, 2014
    Posts:
    14
    upload_2024-2-2_23-58-4.png
    upload_2024-2-2_23-58-20.png
    Hi Reuno, in this image I have a oneway platform and a stair platform joining together.
    When a character jump down from the first position (farther from the joining point), it will land on the stair.
    When it jumps down from the second position (closer from the joining point), it will fall through the stair and land on a lower platform.

    The character-corgi controller-detachement method is set to object and I've confirmed that when it falls through the stair, the oneway platform collider above correctly disappears, however the stairs collider stays on, yet the character still falls through :(

    What could I be setting up wrong here?
     
  11. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    @windslayer > I don't know, I can't tell much from these screenshots. Do you reproduce the issue in any of the demos? The MinimalStairs demo scene for example? If yes, how/where exactly? If not, can you provide steps to reproduce your issue.
     
  12. windslayer

    windslayer

    Joined:
    Jul 29, 2014
    Posts:
    14
    Thank you for the reply. Yes, I can reproduce it in minimal stairs. I have the recording in the attached file.
     

    Attached Files:

  13. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    @windslayer > Can you just send me repro steps via the support form? I'll be happy to have a look.
     
  14. windslayer

    windslayer

    Joined:
    Jul 29, 2014
    Posts:
    14
    Hi, I've sent it
     
  15. NEHWind2

    NEHWind2

    Joined:
    Jan 7, 2016
    Posts:
    31
    Hello everyone! It's time for my annual question for Reuno! :) This year it's about health bars.

    If I have the setup understood fully (most of the time I don't, as history shows), for a health bar to track the player's health it needs to be linked up to the player via a PlayerID, and be included in the GUI Manager Health Bar list. This is how I have my player character's health bar set up and it works great. Both the health bar and the player character exist in the scene already rather than being prefabs called in by a script.

    I would like these same on-screen health bars for my boss enemies similar to the Mega Man games, like in this screenshot:
    Screenshot 2024-02-02 19.48.54.png

    The only way I've found to make this work is to set the enemies as players in their Character component so they have a PlayerID that the health bars can link up to. This makes the health bar work perfectly but because I told the engine that the enemy is a player, when the enemy dies a life is subtracted from the player's pool of lives and the actual player character is respawned at the last checkpoint. My attempt at jury-rigging the components obviously didn't work out.

    The MMHealthBar component is another way to go but it doesn't seem to have the option to staple the health bar to a set position, which would also be a solution even though calling in a health bar this way would probably prevent me from using my cool animations where the bar spins onto the screen when the boss fight starts and spins off-screen when the enemy dies.

    Sorry for rambling. In short, The existing PlayerID system for linking health bars would be perfect for what I need but it's only for players. My question is- Is there a way that I've missed to assign an ID to a non-player character that a health bar can track like a PlayerID, and if not can I request the feature for a future update?

    Thank you for your time and your help!
    Your work on Corgi Engine and TopDown Engine continues to amaze me even after using them for years and years now.
     
  16. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    @NEHWind2 > There's nothing built-in for that, you'd need a class to link the two, and pass the info from one to the other using the MMProgressBar API, similar to how it's done for player characters.
     
  17. Dumpling007

    Dumpling007

    Joined:
    Dec 13, 2018
    Posts:
    36
    Hi, reuno!
    I wanna how do I keep my acquired equipment on the equipment bar the next time I enter the game? I looked at the documentation but didn't quite understand it and wanted to see if there was a complete code to show the items to save equipment when exiting the game and the items to load it directly when entering the game?
     
  18. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    @Dumpling007 > You'll want to mark your inventories as persistent, you can learn more about how to do so in the InventoryEngine's documentation.
     
  19. bwlgeo

    bwlgeo

    Joined:
    May 10, 2022
    Posts:
    13
    Afternoon! I'm trying to play several abilities during cutscenes using On Execute Unity Events, the AbilityNodeSwap and CharacterSwitchModel specifically. I noticed there's a behavior to swap Ability Nodes using a Unity Event, but not to Switch Models. What would be the best way to play that ability independent of the player pressing buttons?
     
  20. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    @bwlgeo > I'm not sure what exactly you mean by "a behavior to swap Ability Nodes using a Unity Event", but there's a public SwitchModel method you can call on the switch model ability. You could call that from a UnityEvent, although I'd recommend avoiding hardcoded bindings and instead handling that through code, it'll be more robust.
     
  21. CYRID-5

    CYRID-5

    Joined:
    Apr 28, 2020
    Posts:
    4
    Hi! Finally, I decided to update my CorgiEngine version 6.5 in one of my projects to the current CorgiEngine version 8.8.
    I followed the Corgi Engine instructions for updating versions from the documentation website :)

    Wow! I was expecting to get a huge amount of errors and I just got 3 compile errors! This proves the stability of this Unity asset and professionalism of the developer! Thanks for your great product!

    I was able to solved 2 out 3 compile errors and my level of programming and/or scripting is very poor. Another proof of this asset to be easy to use :)

    Sadly, the remaining error is proven to be too difficult for me to solved and I hope I am not bothering with something rather easy to solved but as I said "my level of programming and/or scripting is very poor".

    This is the compile error shown by Unity:

    "Assets\CorgiEngine\ThirdParty\MoreMountains\MMTools\Tools\MMSaveLoad\MMPersistenceManager.cs(256,12): error CS1501: No overload for method 'FindObjectsOfType' takes 1 arguments"

    Any help would be greatly appreciated!

    0-Corgi_Engine_Complie_Error.png
     
  22. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    @CYRID-5 > What version of Unity are you on?
     
  23. CYRID-5

    CYRID-5

    Joined:
    Apr 28, 2020
    Posts:
    4
    I knew I was missing something during my first post :(

    Right, my version is Unity 2019.4.24f1 and I knew the release log states that the latest version 8.8 works for Unity 2019.4.3 or higher... I tried the update even knowing the recommended versions expecting to get a big amount of errors but once i saw only 3 errors and fixing 2 leaving only 1 error pending, I decided to ask just in case if it was something possible to fix... and probably getting a case of earlier versions working as well for CoprgiEngine version 8.8.

    Again, if the error is not possible to fix due to Unity version issues, I totally will understand it but, if that it's the case, where can I get a download for CorgiEngine v.6.7 The Marshall since it's listed as the last version for my Unity project?
     
  24. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    @CYRID-5 > Unfortunately version requirements are there for a reason. Unity changed the amount of parameters of that particular method after 2019. But feel free to refactor calls to it, it's an easy change.
    As for downloading that particular version, you'd need to do that from a 2019.3.3f1 install.
    A better solution would be to just update Unity.
     
    CYRID-5 likes this.
  25. CYRID-5

    CYRID-5

    Joined:
    Apr 28, 2020
    Posts:
    4
    Thanks for your quick responses :)

    Well, I tried updating my version of Unity before trying to update Corgi Engine and it was a huge disaster... I got a lot of errors due to the different assets being outdated. I decided to update Corgi Engine instead but it seems I was close but not close enough :)

    I might keep working with my original project versions but the only feature I was hoping to get from newer Corgi Engine versions is the persistence feature to keep the game score from a scene to the next one. I know it is possible to keep scores between scenes with Corgi Engine v.6.5 but I just need to figure it out :)

    Again, thanks for your help and for the great Unity assets you make available for us :)
     
    reuno likes this.
  26. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    @CYRID-5 > Fixing the calls to the few Unity methods that changed shouldn't be too hard, in the case of the error you mentioned it's really just removing one argument, it's doable. I'd recommend giving it a try.
     
    CYRID-5 likes this.
  27. CYRID-5

    CYRID-5

    Joined:
    Apr 28, 2020
    Posts:
    4
    I see. I will give it a try... I have nothing to lose anyway :)

    PS I left a review for your amazing game engine since I never did before due to leaving all Unity projects on hold :)
     
    reuno likes this.
  28. psilogri

    psilogri

    Joined:
    Aug 5, 2023
    Posts:
    3
    Hi! I have an issue with MM Scene Loading Manager. When the player dies and respawns at a checkpoint, the game sometimes doesn’t restart the level and gets stuck on a loading screen. It doesn’t happen in Unity editor, only when I build and run the game. If I go to the Level Manager and change Loading Scene Mode from MM Scene Loading Manager to Unity Native, it seems to fix the glitch. My Unity version is 2022.3.20f1. My Corgi Engine version is 8.8.
     
  29. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    @psilogri > I have to admit I've never heard of such an issue. This scene loading manager has shipped in countless games now, and I can't remember a single studio reporting anything like that, so I'd need more info. If your issue persists, I'd suggest looking at your logs to see if maybe an error is blocking the load (likely an error unrelated to the the manager, but could be any null ref in your code for example). And if that doesn't solve it, use the support form and provide me with more context, as well as steps to repro the issue from a fresh install, I'll be happy to have a look for you.
     
  30. psilogri

    psilogri

    Joined:
    Aug 5, 2023
    Posts:
    3
    @reuno > I think, I’ve figured out what happened. I have my own Game Over scene with a button that sends me to my own Level Selection scene, ‘cause I obviously don’t want to end up on Retro Adventure Game Over scene, when I die. I wanted to have an unlimited amount of lives in my game, so I set maximum and current lives on Game Manager to -1 and Game Over Scene to my own Game Over scene. But MM Scene Loading Manager was trying to send me to Retro Adventure Game Over scene after fifth death. The scene was not included in the build, so the game got stuck on a loading screen trying to load a scene that didn’t exist.
    So how do I tell MM Scene Loading Manager not to send me to Retro Adventure Game Over scene, when I die?
     
  31. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    @psilogri > You can change the name of your Game Over scene on the Game Manager. That's what's referenced by all classes that need to know what the game over scene is. Note that the scene loading manager isn't one of them. It's an agnostic manager that doesn't even know about the Corgi Engine's scripts. The only class (for now) that uses the GameOverScene is the LevelManager.
     
  32. psilogri

    psilogri

    Joined:
    Aug 5, 2023
    Posts:
    3
    @reuno > But I did change the name of my Game Over scene on the Game Manager. I don’t understand why MM Scene Loading Manager sends me to Retro Adventure Game Over scene. It’s either a weird glitch, or I somehow managed to break something.
     
  33. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    @psilogri > Maybe you did break something, that's why I asked you to use the support form and send repro steps, that's the fastest way to identify a potential mistake. Here are some that will work, out of the box :

    - fresh install of Corgi Engine v8.8 on 2020.3.48f1
    - open MinimalLevel, remove the second ground platform from the left
    - in the GameManager's inspector, set the GameOverScene to Mesa1, save the scene
    - press play in the editor, move right to fall into the hole you created, repeat 5 times. Your 5th death triggers game over, and redirects you to Mesa1

    Give these a try!
    If your issue persists, please use the support form and provide similar repro steps.
     
  34. AltIvan

    AltIvan

    Joined:
    Aug 3, 2013
    Posts:
    14
    The same thing every time I try the Corgi Engine, bugs bugs bugs and more bugs
     
  35. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    @AltIvan > This bug got introduced in the last update (v8.8) and fixed a few days ago, after some users reported it. Don't hesitate to use the support form if you need a fix for it, I'll be happy to send you one. It's one of the 4 known and reported bugs on v8.8 (the others being a missing range check in ChargeWeapon, a wallclinging flip issue with the ChargeWeapon, and a glide/ledge hang conflict. As usual, these fixes will be included in the next update, v8.9.
     
    Last edited: Mar 28, 2024
  36. Marboul

    Marboul

    Joined:
    Jun 26, 2020
    Posts:
    7
    Hi ! I have a question regarding the character swap ability. I tried to have 2 characters with the ability to swap from one to an other. It works well but I would like that the second character (not payable) follow the character moving. I added ai follow on each characters but only character 2 follow but it is not working when I swap character. Any clue ? Thanks !!
     
  37. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    @Marboul > That's normal, AI Follow is a simple script that caches the reference to its target (the player) on init. If you change that target at runtime, you'd need to let that script know about it, and have it set a new target.
     
  38. Marboul

    Marboul

    Joined:
    Jun 26, 2020
    Posts:
    7
    Thanks Reno ! I have to change the AI follow script to do that ?
     
  39. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    Ideally extend it instead of modifying it directly, but yes.
     
    Marboul likes this.
  40. lmalec

    lmalec

    Joined:
    Nov 20, 2016
    Posts:
    5
    Hi,
    could somebody explain me how to save/load Character Persistence to/from file. Default Character Persistence is saving only to Game Manager.
     
  41. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    @lmalec > You'd save that data to file like you would any other data, nothing specific to it. Have a class read that data and save it to file (you can use the MMSaveLoadManager helper for that), then when you want to, have it load it from file, and pass it to the game manager.
     
  42. rock9913

    rock9913

    Joined:
    Apr 5, 2024
    Posts:
    2
    I tried the"AI follow" function but it was find that the follower could not do walljump against wall with jetpack function cancelled.

    May I know if there is any way to allow follow or enemy to do walljump? :O

    Thank you very much for your consideration!
     
  43. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    @rock9913 > No, not natively, the follower is a simple example, it doesn't do walljumps, that's something you'd need to implement, possibly using the advanced AI system, or extending the simple AIFollow to add that feature to it.
     
  44. rock9913

    rock9913

    Joined:
    Apr 5, 2024
    Posts:
    2
    Thanks! @reuno ! I would try to work it out :D

    Sorry but I got another question. For "Melee Weapon", I am looking to move the character forwards whil attacking, therefore in the "movement" section, I choose the "Set Force While in use for the weapon", which is good at first.

    However, I realise that it affect the normal gravity from working. for example, if I jump than attack, I would let me attack in the air while falling down, since it is "Set Force" instead of "Add force". Is there any method that I could "Add force while using my Melee Weapon"? Thank you very much for your help and consideration!

     
    Last edited: Apr 12, 2024
  45. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    @rock9913 > You wouldn't use SetForce for that, instead, a negative recoil force would be the way to go (with RecoilStyle set to AddForce).
     
  46. viejito_grames

    viejito_grames

    Joined:
    Thursday
    Posts:
    4
    I am currently exploring the capabilities of Corgi Engine for Unity, particularly in the context of 2D game development. I'm interested in implementing a terrain modification feature similar to what is seen in games like Worms, where players can both destroy and construct terrain during gameplay.

    Could you please let me know if Corgi Engine supports or can be extended to include terrain destruction and construction mechanics for 2D systems? I'm specifically looking for the ability to modify the environment dynamically by creating and removing terrain elements.

    If this functionality is not currently part of Corgi Engine, do you have any recommendations or insights on how I might achieve this within a Corgi Engine-based project?

    Best regards
     
  47. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    @viejito_grames > You'd do that in the engine like you would in any Unity project, as this wouldn't impact any parts of the engine itself, that'd be an entirely new and unrelated feature. The engine focuses on platformer mechanics, your level and how you'd modify it at runtime would be a separate system, and there's nothing in the engine that'd prevent you from doing so, or would interfere with it in any way.
     
  48. viejito_grames

    viejito_grames

    Joined:
    Thursday
    Posts:
    4
    Thank you very much for your quick and informative response
     
    reuno likes this.
  49. Dumpling007

    Dumpling007

    Joined:
    Dec 13, 2018
    Posts:
    36
    Hi,I deleted the previous Cogi 8.6 and downloaded the latest 8.8 version, but when I rushed to Unity, these scripts were all lost, what is the cause, please help me, or I will lose my years of work
     

    Attached Files:

  50. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,926
    @Dumpling007 > This is typical of having compile errors in your project, as that second image tells you. Have you checked you don't have compile errors? Worst case just roll back to a commit before you made the change, and try again. Have you tried that? What was the outcome?