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

    rysone

    Joined:
    Feb 17, 2017
    Posts:
    7
    Do I have to edit code in order to have multiple keys activate a key zone door?
     
  2. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,922
    @rysone > Yes, you'd need to modify (ideally extend) the KeyOperatedZone class. Right now it looks for a certain (and unique) KeyID, you'd just have to have it look for more than one, using exactly the same process. I can add that to the todo list if you want, it's quite a simple change.
     
  3. rysone

    rysone

    Joined:
    Feb 17, 2017
    Posts:
    7
    That would be awesome! Yeah I believe I found the correct line > _keyList = characterInventory.MainInventory.InventoryContains (KeyID);

    Im just terrible with code but I will try a number of different things to get it to work :) Thanks for Corgi Engine :)
     
    reuno likes this.
  4. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,922
    @rysone > It is indeed the correct line. I'll add that to my todo list, it'll likely make it in the next update.
     
    rysone likes this.
  5. Prog-Maker

    Prog-Maker

    Joined:
    Mar 6, 2017
    Posts:
    20
    I am sorry for english. This is not question. This offer is for the next version.
    I wanted to say - add in next version of Corgi Engine support Cinemachine. What would it be possible to choose which camera to use - Cinemachine or Regular Camera. It would be great.

    And another question. Coming soon Unity 2018.1.
    Are there any plans for innovation?
    For example C # job system, 2D Physics - Multithreaded Simulation (experimental), async raycasts.
     
  6. kevin_Leo

    kevin_Leo

    Joined:
    Mar 20, 2018
    Posts:
    15
    Hello -

    Thanks for creating such a beautiful engine. I am very interested in purchasing and using it to build my game. I do have one big concern, though. In every example of slopes in all the demos, if the character is moving fast enough, there is separation/bunny hopping visible, particularly at the peaks. The engine is advertised as having that "tight platformer feel", but the slope-handling does not seem to be very tight in the demos. The demos make it look like another problematic "loose, physics-based engine" when the character is on slopes going fast. Perhaps it is just the setting used in the demos? This is make/break for me. Before I purchase, I would like to know if it is possible to adjust the settings in a way that allows for what would truly be a "tight platformer" style with regards to slope-handling, as in: the characters stay glued to the ground at the peaks of slopes, regardless of their momentum (a la Mario, Sonic & virtually every professional-quality tight platformer game).

    The engine seems otherwise practically ideal for me - it's really quite nice - but tight slope-handling is a critical, defining factor for a "tight platformer" game, so hopefully this adjustment is possible?

    Thank you!
     
  7. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,922
    @Prog-Maker > I'll add Cinemachine support as soon as it becomes properly integrated in Unity. I think it's a beautiful tool, and one I use in all my projects actually, but as long as it's a separate thing it's not practical to integrate in an asset.
    Same goes for all the other items in your question :)
    @kevin_Leo > Maybe we have different definitions for tight then. It usually refers to the controls, not the way it handles slopes (but I agree it's debatable) :) Still, there's a dedicated ability that makes your character stick to slopes. As for the top of slopes, well, that's inertia. You could modify the controller to prevent that though, can be done in a couple of lines.

    Note that most (professional) platformers actually have inertia at the top of slopes, and that's why it's been implemented this way (as that's the behaviour most people expect, it was different when the engine initially came out). Also note that most of them simply don't have "peaks", especially the ones you mention :) Mario (SNES era) typically goes flat > slope > flat. And Sonic is a different thing entirely when it comes to handling slopes, has nothing to do with Mario in terms of logic, and can hardly considered "tight" in my book, it's actually quite the opposite of tight :)
     
  8. prethon

    prethon

    Joined:
    Mar 14, 2017
    Posts:
    19
    Cinemachine :):):):)

    I'm trying to deploy it in my project by getting the 2D kit from Unity
     
  9. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,922
  10. prethon

    prethon

    Joined:
    Mar 14, 2017
    Posts:
    19
    Yeah, I'm just mixing up some stuff.;):D
     
    reuno likes this.
  11. kevin_Leo

    kevin_Leo

    Joined:
    Mar 20, 2018
    Posts:
    15
    @kevin_Leo > Maybe we have different definitions for tight then. It usually refers to the controls, not the way it handles slopes (but I agree it's debatable) :) Still, there's a dedicated ability that makes your character stick to slopes. [/QUOTE]

    OK, yes, I see your points, they are valid and you are correct that Mario doesn't have peaks. It seems I was operating under a different definition of "tight platformer". I was referring to whether or not it felt like 'realistic' physics where physics can easily override player intent and create a "floaty" feeling. The only place I saw that 'floaty' characteristic was at the top of slopes. Everything else seemed nice and 'tight', under the definition I was operating, which is perhaps not the most common definition of the term.

    At any rate, as long as there is a dedicated behavior that allows the player to stick to the ground during slope entry/descent then that is terrific and alleviates my concern. I will most likely be purchasing this engine, as it seems to be a perfect & robust starter for my project that I can expand upon.

    Thanks for such a great engine and also for such a quick and friendly response! :)
     
  12. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,922
    @kevin_Leo > Oh you're welcome :)
    Note that the "stick to slope" ability I mentioned is meant to make your character "stick" more to slopes when going down/up them. It won't solve the peak thing, that's not what it's been designed to do. I'd be happy to add that to the todo list though, it's just a different thing (or maybe I'd add that as an option to the "stick" ability). It'd be easy to have an ability for really following the ground like a rail, which is what you're after if I understand correctly? So until you jump you're perfectly above ground, not hopping on it.
     
  13. kevin_Leo

    kevin_Leo

    Joined:
    Mar 20, 2018
    Posts:
    15
    Yes, I think an option to have the player follow the ground like a rail would be a terrific addition to expand the engine's versatility and is exactly what I'm looking for in my game. I'm sure you already have a number of items on the to-do list, so in the meantime, would it be possible to ask you for the lines of code that could be added to the engine to avoid the 'inertia hop' at the top of a slope? I am just learning C# and not confident in my abilities to do this myself just yet. I would understand if that's not OK, but I thought it didn't hurt to ask.
     
  14. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,922
    @kevin_Leo > I can't just give you the lines like that, it'd take testing first to make sure it works in all possible situations and abilities combinations. That's why there's a todo list and priorities :)
    But I've just added it there, so it'll get done if it gets more votes/requests!
     
  15. kevin_Leo

    kevin_Leo

    Joined:
    Mar 20, 2018
    Posts:
    15
    OK, excellent & thank you very much. :)
     
    reuno likes this.
  16. Muppo

    Muppo

    Joined:
    Sep 28, 2016
    Posts:
    242
    @Ordnas006, his is looking really good: enemies are cool (Sans cousins are funny), art looks nice and the music fits it. Keep up the good work!

    @rysone and @reuno
    I think I shared a custom key operated zone some time ago but I can't find it on the forum so here it is, double cheked on 4.5 and works fine. Keep in mind: only works with non stackable keys of the same ID, this is by design.
     
    Ordnas006, prethon and reuno like this.
  17. prethon

    prethon

    Joined:
    Mar 14, 2017
    Posts:
    19

    Post more things like these, it helps a lot. hahahahahaa:D:D:D:D:D
     
  18. skayster

    skayster

    Joined:
    Aug 12, 2017
    Posts:
    46
    Can I please suggest an upgrade to the Bonus Block script? It would be absolutely awesome if it reacted to hits from weapons (now it's just player head bump). And in addition to number of hits, also had "once destroyed" - which makes more sense for weapons.
    Fully aware that the to do list is long, but I feel like this might be an easy upgrade that would be useful for many players :) (this could work as loot drops from enemies).
     
  19. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,922
  20. BigBoiii_Jones

    BigBoiii_Jones

    Joined:
    Aug 3, 2014
    Posts:
    40
    Is it possible to save and load games? Also is it possible to have AI wonder? I'm making a game with a town and I'd like them to just roam the town and go into buildings and such and be able to go into different sections in the scenes as well if they wanted to. So is it possible to create AI that just randomly wonder so if you need to talk to them you actually have to hunt them down at a spot or look for them instead of them being in the exact same position every time?
     
  21. skayster

    skayster

    Joined:
    Aug 12, 2017
    Posts:
    46
    The game has a save function which works on checkpoints. More details here. It saves your inventory, monster kills, keeps it for the next level, etc, full details on the same link.
    As for AI, you have the AI patrol, and you can have an AI walk on waypoints as well (this script might help), but I don't think there is true "random" walking and building entering function. If you set up a long waypoint road it will look random enough :)
     
  22. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,922
  23. BigBoiii_Jones

    BigBoiii_Jones

    Joined:
    Aug 3, 2014
    Posts:
    40
    See I'm wondering if there will be a save slot system since I'm doing a more 2D RPG Social Sim game I'm mostly using this engine for the inventory and just have the walking and running assets as well as being able to easily swap sprites so I was just wondering if you could save at points and choose a save slot. Also will progress save if the player exits the game and runs it and hits play?
     
  24. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,922
    @EHEBrandon > There's no "save slot" feature, but you could implement it, sure. The engine comes with all you need to do it.
     
  25. BigBoiii_Jones

    BigBoiii_Jones

    Joined:
    Aug 3, 2014
    Posts:
    40
    I mean I could technically use checkpoints as a autosave/save feature kind of like at the characters desk and such or when the character go to sleep and interacts with the bed but will that save save the game for when the player exits the game and comes back on to hit play to automatically resume where he left off?
     
  26. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,922
    @EHEBrandon > I'm not sure I understand your question. There's no single answer to such a question. The engine comes with high level save and load APIs, they'll do whatever you tell them to do. If you've got a bed and sleep mechanics, then implement save that way, why not :)
     
  27. BigBoiii_Jones

    BigBoiii_Jones

    Joined:
    Aug 3, 2014
    Posts:
    40
    Okay thank you that answers the question and what I meant at that one part is if the player exits the game it would resume properly where he left off after he starts the game and hits continue on the main menu.
     
  28. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,922
    @EHEBrandon > If you implement it that way, it'll do that, sure.
    Maybe just check the documentation, it'll explain how the API works.
     
  29. Levrault

    Levrault

    Joined:
    Jan 22, 2018
    Posts:
    29
    Hi reuno,

    I got a small feedback about the LoadingSceneManager. The script doesn't allow us to set our custom loading since we need to edit common/LoadingScreen. Could it be a good idear to let us set our custom scene ? Thanks
     
  30. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,922
    @Levrault > That's a very good suggestion. I'll change that in the next release, thanks!
     
    Levrault likes this.
  31. Grafos

    Grafos

    Joined:
    Aug 30, 2011
    Posts:
    231
    I agree, an option to deactivate side collisions or a variation of a one-way platform that disregards side collisions would be very useful for certain games.

     
  32. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,922
    @Grafos > If you have examples of actual platformer games that use these kind of platforms, positioned at the same level as the character, I'd be happy to take a look!
    PS : your video doesn't work
     
  33. Grafos

    Grafos

    Joined:
    Aug 30, 2011
    Posts:
    231
    Strange, works for me, you have to press the youtube logo as embedding is apparently disabled by the video owner.
    The platformer is Rainbow Islands. Here's another video of it
     
  34. steelhamsterstudio

    steelhamsterstudio

    Joined:
    Mar 15, 2018
    Posts:
    29
    Hi! Can you give me some advice? How can I block other the abilities while attacking and change movement inside each Attack action?
    Right now you can see that character is stopping an attack if we press Jump/Dash and other abilities.

    I Just want to manage each attack movement in combo chain on the ground and in the air.
    Thanks for the attention.


    Ow, I saw the info about combo system in v4.6. But I'll be very appreciated if you show me direction for making my own.:)
     
    Last edited: Apr 21, 2018
    Muppo likes this.
  35. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,922
    @steelhamsterstudio > Really cool characters! And to answer your question : two ways to do it (at least) :
    - modify or extend the jump ability (for example) to add a test to check if you're attacking or not
    - modify or extend the CharacterHandleWeapon ability, to grab references to all the abilities you want to prevent, and disable/enable them at will before and after your attack.
    I'd go with solution 2 myself, seems easier to maintain.
    @Grafos > It worked this time, thanks. I still don't think it's a good idea in terms of level design, and one of the first thing you'd be taught in a class, but ok, I'll add it to the todo list :)
     
  36. skayster

    skayster

    Joined:
    Aug 12, 2017
    Posts:
    46
    Speaking of platforms are there plans to add ones that appear and disappear like in Aladdin at 9:30? :) I think at the moment we only have falling platforms which can re-spawn (so very similar), but not ones where the collider goes on/off.

    @steelhamsterstudio > that looks really good!
     
  37. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,922
  38. steelhamsterstudio

    steelhamsterstudio

    Joined:
    Mar 15, 2018
    Posts:
    29
    @reuno Yeah, I think so too, maybe I need spend more time to understand how classes work inside and how I can modify them. I work alone so it's all new to me(C# and programming in a common). But I keep study. Thanks for the support!;)

    @skayster Thanks! But it is all old material I made it 1.5 years ago and now use it as studying material. I'll make full redesign in future when all gameplay base will be finished.
     
    Last edited: Apr 21, 2018
    reuno likes this.
  39. skayster

    skayster

    Joined:
    Aug 12, 2017
    Posts:
    46
    Just wanted to mention that a search field would be a really nice addition to the documentation page (or if the left side menu could expand to one more level) :)
     
    Muppo likes this.
  40. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,922
    @skayster > Good point! I'll check how I can add that.
     
  41. Muppo

    Muppo

    Joined:
    Sep 28, 2016
    Posts:
    242
    Testing custom AI Walk script (sorry for the low quality)

    Going from A to B with optional avoiding holes and delay at target reached.

    Maybe someone can take this as a suggestion ( ' > ')
     
  42. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,922
    @Muppo > Damn these sprites look great!
    And that's a neat feature, good job! (suggestion noted btw :))
     
    skayster likes this.
  43. CaptCollins

    CaptCollins

    Joined:
    Jan 27, 2016
    Posts:
    13
    Holy hell reuno, all the updates look amazing. You pretty much added everything ive ever wanted for the engine! My only problem is im halfway through development on my platformer and would really love to use that progress system but im on an older version of the engine/unity. Ive heard updating mid production is a really bad idea, am I screwed?
     
  44. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,922
    @CaptCollins > I'm glad you like the updates :)
    And I wouldn't say it's a really bad idea, but there are a few things to consider :
    - always backup your project first, so you can rollback to when it was still working (ideally use versioning)
    - the more updates there have been between your version and the current one, the more chances are that some issues will emerge
    - I try to keep things backwards compatible as much as possible, so if you're only one or two versions behind you may be fine
    - the worst thing that may happen would be to have to re-setup a few things : characters, props, stuff like that
    So all in all, I'd say if you really need the new stuff, it's worth a try just to see how much work that'd entail.
    I hope this answers your question :)
     
  45. CaptCollins

    CaptCollins

    Joined:
    Jan 27, 2016
    Posts:
    13
    Great reply, thanks a lot man. Finally stopped being a lazy ass and gave you a review ;)
     
  46. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,922
  47. Levrault

    Levrault

    Joined:
    Jan 22, 2018
    Posts:
    29
    Hi reuno,

    I got an another suggestion (an easy one :p). Since you use the 2d extra for tilemap, I think it could be a good idea to update them to the last version (with the prefab brush and etc.). When I add the 2d extra by myself, I get some conflicts errors (pretty normal since classes are duplicated). It's easy to fix those errors but I think it can be more user friendly to already got the last version of 2d extra.

    thanks
     
  48. Almakos

    Almakos

    Joined:
    Dec 13, 2013
    Posts:
    179
    Hey @reuno,
    this is a big thread so sorry I didn't read it all but I am having an issue with retroforest scene.
    I pickup weapon and then equip it with Inventory (pressed I on keyboard). After that character doesn't move left or right any more. Can jump, jetpack works and dash also works. But no more movement.There are no errors in the console.

    Another bug I've found while clicking around inventory screen. Hard to say what went wrong but after some clicking on random buttons I've got this:
    Code (CSharp):
    1. NullReferenceException: Object reference not set to an instance of an object
    2. MoreMountains.InventoryEngine.ItemPicker.Pickable () (at Assets/CorgiEngine/InventoryEngine/InventoryEngine/Scripts/Core/ItemPicker.cs:147)
    3. MoreMountains.CorgiEngine.PickableItem.CheckIfPickable () (at Assets/CorgiEngine/Common/Scripts/Items/PickableItem.cs:92)
    4. MoreMountains.CorgiEngine.PickableItem.PickItem () (at Assets/CorgiEngine/Common/Scripts/Items/PickableItem.cs:61)
    5. MoreMountains.CorgiEngine.PickableItem.OnTriggerEnter2D (UnityEngine.Collider2D collider) (at Assets/CorgiEngine/Common/Scripts/Items/PickableItem.cs:53)

    Retro mountains after opening first chest with key.
    Code (CSharp):
    1. MissingReferenceException: The object of type 'GameObject' has been destroyed but you are still trying to access it.
    2. Your script should either check if it is null or you should not destroy the object.
    3. UnityEngine.GameObject.GetComponent[SpriteRenderer] () (at /Users/builduser/buildslave/unity/build/artifacts/generated/bindings_old/common/Core/GameObjectBindings.gen.cs:39)
    4. MoreMountains.CorgiEngine.ButtonActivated+<HidePrompt>c__Iterator0.MoveNext () (at Assets/CorgiEngine/Common/Scripts/GUI/ButtonActivated.cs:125)
    5. UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress) (at /Users/builduser/buildslave/unity/build/Runtime/Export/Coroutines.cs:17)
    6. UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
    7. MoreMountains.CorgiEngine.ButtonActivated:ZoneActivated() (at Assets/CorgiEngine/Common/Scripts/GUI/ButtonActivated.cs:98)
    8. MoreMountains.CorgiEngine.ButtonActivated:TriggerButtonAction() (at Assets/CorgiEngine/Common/Scripts/GUI/ButtonActivated.cs:90)
    9. MoreMountains.CorgiEngine.KeyOperatedZone:TriggerButtonAction() (at Assets/CorgiEngine/Common/Scripts/Environment/KeyOperatedZone.cs:73)
    10. MoreMountains.CorgiEngine.CharacterButtonActivation:ButtonActivation() (at Assets/CorgiEngine/Common/Scripts/Agents/CharacterAbilities/CharacterButtonActivation.cs:72)
    11. MoreMountains.CorgiEngine.CharacterButtonActivation:HandleInput() (at Assets/CorgiEngine/Common/Scripts/Agents/CharacterAbilities/CharacterButtonActivation.cs:40)
    12. MoreMountains.CorgiEngine.CharacterAbility:InternalHandleInput() (at Assets/CorgiEngine/Common/Scripts/Agents/CharacterAbilities/CharacterAbility.cs:110)
    13. MoreMountains.CorgiEngine.CharacterAbility:EarlyProcessAbility() (at Assets/CorgiEngine/Common/Scripts/Agents/CharacterAbilities/CharacterAbility.cs:126)
    14. MoreMountains.CorgiEngine.Character:EarlyProcessAbilities() (at Assets/CorgiEngine/Common/Scripts/Agents/Core/Character.cs:236)
    15. MoreMountains.CorgiEngine.Character:EveryFrame() (at Assets/CorgiEngine/Common/Scripts/Agents/Core/Character.cs:218)
    16. MoreMountains.CorgiEngine.Character:Update() (at Assets/CorgiEngine/Common/Scripts/Agents/Core/Character.cs:206)

    I'll let you know if find any other oddities
     
  49. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,922
    @Levrault > Very good point, I'll update the extras for the next release (I wish I didn't have to include them in the first place...).
    @Almakos > Please use the support email to report problems, and please give some explanations :
    - what version you're using
    - if the problem happens with a fresh install, and if yes, where I can reproduce it
    I've tried what you describe on 4.5 / vanilla install and none of these problems appear, so it might be something you changed. Hard to tell what without any details.
     
  50. Almakos

    Almakos

    Joined:
    Dec 13, 2013
    Posts:
    179
    Hey @reuno
    I am on 4.5
    But I am also on Unity 2018.1.0b13 (Mac OS)
    I didn't change anything just launched some of the demo scenes.

    As for the movement not working after equipping weapon on retro forest:
    1) collect first weapon
    2) open inventory by pressing "i" on keyboard
    3) click on weapon icon with mouse
    4) click on green equip button with mouse
    5) close inventory by pressing "i" again.
    After that can't move.

    On retro mountains:
    1) get the key
    2) walk over the chest
    3) press spacebar to open the chest, chest opens
    4) without walking away from the chest press spacebar again
    You should get 2 nullrefs.

    It's possible beta version of Unity messed something up (I forgot I've been using it).
    I'll use support email next time.

    Cheers