Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. 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. 047

    047

    Joined:
    Mar 5, 2014
    Posts:
    13
    Hello there .
    I'm trying to use a 3d character ( with bones and stuff ) as a character , I added the character script , set it to Player and clicked auto build player character , assigned character model and model container .
    my problem is now the character mesh goes way faster than it's parent it almost moves at twice the speed of its parent , I checked and double checked , there is no other extra component on my 3d model or the bones , but it still goes faster than it's parent (Parent contains the character and other necessary components).
    What might be the problem ?
     
  2. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,870
    @047 > Please use the support email for support questions. Please read the documentation, it covers in details how to create a character. And please compare with the demo 3D characters, you probably nested something in a weird way, hard to tell without more details.
     
  3. jocyf

    jocyf

    Joined:
    Jan 30, 2007
    Posts:
    284
    8 Bit Demo: A little demo I've made in four weekends using Corgi.
    I've added some bridges and chains (ropes) adding some physics interacion to the corgi asset. There are some "Fly" enemies IA too.
    You can play it here: www.jocyf.com/Preview/8BitPlatform/index.html

     
    Muppo and reuno like this.
  4. eleven43c

    eleven43c

    Joined:
    Jun 14, 2017
    Posts:
    5
    Hi, is there any way to make it so when you walk on grass you have one sound for footsteps, and when you walk on stone another sound? Thanks!
     
  5. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,870
    @jocyf > Thanks a lot for sharing this! And great job on the ropes :)
    @eleven43c > No, there's no such thing right now. I'd add a dedicated ability to handle that, or you could extend HorizontalMovement too. In the end it'd amount to more or less the same amount of code.
     
  6. redlinetwo

    redlinetwo

    Joined:
    Jan 12, 2018
    Posts:
    2
    Hi @reuno,

    I'm new to Unity, I've just purchased Corgi Engine. Looks amazing, thanks for all your hard work Reuno.

    I'm trying to use the API to programmatically change the direction the character is facing if it's on a travelator/conveyor belt. I'm not even sure I need to do this, perhaps can be handled by Corgi Engine? ;-)

    Can you please provide a simple of example of how to use the function MoreMountains.CorgiEngine.Character.Face?

    This may help you understand what I am doing in Update, see line 41:

    Code (CSharp):
    1. using UnityEngine;
    2. using MoreMountains.CorgiEngine;
    3.  
    4. public class PackagePosition : MonoBehaviour
    5. {
    6.     //private Character Me;
    7.     private GameObject ZoneStart;
    8.     private bool MovedLastFrame = false;
    9.     private float LastX = 0f;
    10.     private Character.FacingDirections TravelFacingDirection = Character.FacingDirections.Left;
    11.  
    12.     void Start()
    13.     {
    14.         ZoneStart = GameObject.Find("ZoneStart");
    15.  
    16.         if (ZoneStart == null)
    17.         {
    18.             Debug.Log("No GameObject called 'ZoneStart' could be found.");
    19.         }
    20.         else
    21.         {
    22.             Debug.Log("Moving Package to transform position: {0}" + ZoneStart.transform.position);
    23.             transform.position = ZoneStart.transform.position;
    24.             LastX = transform.position.x;
    25.         }
    26.     }
    27.  
    28.  
    29.     void Update()
    30.     {
    31.         // If transform.position.x now is less than last, moving left, else moving right?
    32.         TravelFacingDirection = transform.position.x < LastX ? Character.FacingDirections.Left : Character.FacingDirections.Right;
    33.         Debug.Log("TravelDirection: " + TravelFacingDirection.ToString());
    34.  
    35.         // Did I move since last frame?
    36.         MovedLastFrame = transform.position.x == LastX ? false : true;
    37.         Debug.Log("MovedLastFrame: " + MovedLastFrame);
    38.  
    39.         if (MovedLastFrame) {
    40.             // How do I call MoreMountains.CorgiEngine.Character.Face
    41.             //Character.Face(TravelFacingDirection);
    42.             Debug.Log("Calling Character.Face(" + TravelFacingDirection.ToString() + ");");
    43.         }
    44.  
    45.         LastX = transform.position.x;
    46.     }
    47. }
    Thanks again!

    Cheers,
    Scott
     
  7. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,870
    Hello,

    You can find examples of that method in the engine itself. In the Character's RespawnAt method for example. It simply takes a FacingDirection as a parameter, there isn't much to it :) And please use the support email for support questions, thanks!
     
    redlinetwo likes this.
  8. AKAGT17

    AKAGT17

    Joined:
    Sep 8, 2014
    Posts:
    40
    Hi i am having troubling configuring my jump , when my character jumps i would ideally want gravity to pull him back into the ground faster but as it is now it just seems to be taking its time floating a bit before it reaches the ground. I am not technical in coding and was wondering if there are anyways u can guide me?
     
  9. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,870
    @AKAGT17 > Once again, please use the support email for support. And you can play with the Ascent and Fall multipliers parameters on your controller to tweak how fast your character will ascend or fall in the air. Check out the documentation for more details, it's all explained in there :)
     
  10. redlinetwo

    redlinetwo

    Joined:
    Jan 12, 2018
    Posts:
    2
    Thanks Reuno, I'll check it out. Support email next time for sure! :cool:
     
    reuno likes this.
  11. mimminito

    mimminito

    Joined:
    Feb 10, 2010
    Posts:
    780
    @reuno A small request, but when changing a character from "Player" to "AI" would it make sense to clear the PlayerID? I duplicated a character and switched it to "AI" but it still accepted player input, and baffled me for a while. Until I realised that the PlayerID was present still and it then accepted input.

    Alternatively the GetInputManager method could have an additional check to ensure the player is not an AI, and therefore would not grab the InputManager.
     
  12. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,870
    @mimminito > Good ideas, I get tricked by that myself quite often. I'll add that to the todo list. Thanks for the feedback!
     
    mimminito likes this.
  13. JasonBricco

    JasonBricco

    Joined:
    Jul 15, 2013
    Posts:
    956
    Unless this is somehow a bug in my code, it seems if you have individual colliders in a formation such as this:

    Unity_2018-01-18_12-12-54.png

    If you set the run speed to something around, say, 20, and run up this slope, you can break through these colliders and fall through the world fairly easily.

    Is there something that can be done about this, or must I generate a single polygon collider around the chunk of tiles for it to work? I haven't yet been able to do that in a way that satisfies my performance requirements.
     
  14. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,870
    @JasonBricco > I don't reproduce the problem on a similar slope (haven't tried with all the tiny pieces though). I'd recommend having a single collider instead of all these tiny pieces.

    Or if that's not possible, extend the controller to handle that kind of situations, which is an edge case really (in any case not something I had in mind when designing the engine).
    If you're going for very high slopes, individual pieces or not, you'll want to have a controller that sticks to the ground, a dedicated ability could also help. Also please use the support email for requests like that, thanks!
     
  15. egem2015

    egem2015

    Joined:
    Oct 27, 2015
    Posts:
    84
    Hi reuno

    How are you i hope you are doing fine .

    I wonder when do you release a new version with 5 levels game.

    King regards
     
  16. weberdls

    weberdls

    Joined:
    Dec 24, 2017
    Posts:
    7
    Yooo!

    The first thing you need to do is setting HitTheGround=false in the transition from AnyState to Idle, then you will see the "HitTheGround" becoming true in the Parameters.

    But, at this point you will realize that your landing animation will only play for a few milliseconds, you will barelly notice it.
    I found out that this is related to the Idle state, it is "interrupting" my animation before playing all landing sprites, but i didn't go too deep here because i solved this by doing:

    1. Created and assigned (to the hero) a new script "Landing" and 2 methods: LandingBegin {animator.SetBool("Landing", true);} and LandingEnd{animator.SetBool("Landing", false);}
    2. At the very begining of my landing animation i set the event "LandingBegin" and "LandingEnd" when the animation ends
    3. Created a parameter "Landing" in the animator controller
    4. Set the Idle state to run only when Landing is false

    Done.

    I think that the OWNER @reuno :D, can explain how the Idle State deeply works, so we can create a better solution for this scenario. Can you reproduce this case @reuno?
     
  17. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,870
    @weberdls > As I said in my answer to the original question, it's just a matter of setting up your animator. The animator is just regular Unity, nothing specific to the Corgi Engine. I don't know what you mean by "how the Idle State deeply works". There's nothing deep about it :) It's just regular animation transitions, based on the state of parameters. Check out Unity's documentation to learn more about how animators work.
    In any case, no need to add any code or parameters to get a hit the ground effect, but as long as it works for you, it's a good solution :)
     
  18. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,870
    @egem2015 > Sorry, I missed your message somehow. And to answer your question, well...

    Good news everyone, I've just submitted v4.4 of the Corgi Engine to the Asset Store. As usual, expect a random delay of somewhere between 1 and 30 days until it's available for download. Please note that this update requires Unity 2017.3, it won't be available for download if you're running an older version.

    Here are the full release notes :
    - Adds a new complete demo : Retro Adventures. Made of 5 chained levels, a level selection screen, and a game over screen
    - Adds a complete level selection screen, to gain access to all 50 or so demo levels included in the asset
    - Adds lives management : define a number of lives, lose them all : game over. Complete with dedicated GUI and management methods to add/lose lives, gain new ones, etc.
    - Adds stars management : grab collectible stars in level
    - Adds progress manager : unlock levels as you progress through the game, save that progress, your current number of lives, stars, and more. Super easy to extend to save your own, specific stuff
    - Adds a new Level End GUI screen
    - Adds startscreen options popup
    - Adds a new, better pause screen
    - Improves keyboard/gamepad support in menus (pause screen, options, etc)
    - Adds options for non persistent inventories
    - Adds an option to tweak the crouched raycast length
    - Adds an option on the InputManager to turn input detection on and off
    - Fixes erroneous Idle state when walking in a wind zone in certain conditions
    - Fixes a crouch bug when walking under one way platforms
    - Fixes a case where reloading a weapon wouldn't return the right amount of ammo
    - Fixes a bug that could cause glitches when using a melee weapon in a wind zone
    - Switching a character from AI to Player now automatically clears the PlayerID field.
    - An AI Character can't be mistakenly bound to an InputManager anymore

    As you can see, the new stuff revolves around GUI and progress management (save and load basically). It also fixes a few bugs (all known bugs to this day, as usual). I hope you'll like it!

     
    jocyf, ZygoUgo, egem2015 and 12 others like this.
  19. LittleBlueHat

    LittleBlueHat

    Joined:
    Dec 6, 2014
    Posts:
    16
    Excited to see 4.4 :)

    Quick question, I was wondering if there is a way to stop ammo from being used in the inventory (with the use button) but still be consumed by the weapon? I may be overlooking something that exists but I thought I would ask.

    cheers!
     
  20. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,870
    @LittleBlueHat > There's no such mechanism right now. I could add that to the todo list. It's basically just a matter of adding another checkbox :)
     
  21. LittleBlueHat

    LittleBlueHat

    Joined:
    Dec 6, 2014
    Posts:
    16
    Thanks for the quick reply! As a workaround for now it is easy just to create a separate inventory just for ammo since the total ammo is still displayed on the GUI. I will take a look though, thanks!
     
    Muppo and reuno like this.
  22. Muppo

    Muppo

    Joined:
    Sep 28, 2016
    Posts:
    242
    This will help with the issue I had with "quest item" some time ago. Not exactly the same but I think it can help me to understand how to proceed from this method as starting point, don't you think?
     
  23. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,870
  24. roc3n

    roc3n

    Joined:
    Sep 29, 2016
    Posts:
    2
    hi there, i have an issue with the mobile controls input. when i load a level the mobile input control works fine. when i load another character, the arrows of the mobile controller works, but the buttons does not. what am i missing?
     
  25. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,870
    @roc3n > Please use the support email for requests like these, thanks! And I'm gonna need a little more info to help. What Unity version are you running? What version of the engine? What device does the problem happen on? What demos are you referring to? Did you change anything? Etc.
     
  26. roc3n

    roc3n

    Joined:
    Sep 29, 2016
    Posts:
    2
    @reuno Ok, sorry. just sent more detailed mail. thanks!
     
    reuno likes this.
  27. LittleBlueHat

    LittleBlueHat

    Joined:
    Dec 6, 2014
    Posts:
    16
    For anyone who might run into this I have found a temp solution(Until Reuno checks it off the to-do list).

    In the InventorySlot.cs script just add this line inside the Use() method below "if (!SlotEnabled) { return; } "

    Code (CSharp):
    1.             if (ParentInventoryDisplay.TargetInventory.Content[Index] != null && ParentInventoryDisplay.TargetInventory.Content[Index].ItemClass == ItemClasses.Ammo) { return; }
    It's easier to replace a one liner I think than extending the class to a new script as replacing all the conveniently preset slots would be a lot of work :p
     
    Muppo and reuno like this.
  28. rbagao

    rbagao

    Joined:
    Feb 13, 2016
    Posts:
    19
    Hi guys, I just downloaded the latest corgi engine and when I tried Retro Clouds demo, I can no longer control the character using keyboard, I can see the mobile controls and it is working, how do I use the keyboard?
     
  29. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,870
    @rbagao > Please use the support email to report bugs (if you think you've found one), thanks. Otherwise it's very hard for me to keep track and send fixes.
    There doesn't seem to be anything wrong with the clouds level though. Maybe you're just in auto detect input mode and targeting a mobile device right now?
    Have a look at the engine's input documentation, it explains in details how things work and how to get the input you want. If that doesn't solve the issue please let me know.
     
  30. VENOMOUS09

    VENOMOUS09

    Joined:
    Dec 27, 2014
    Posts:
    37
    need help, I want to be able to press start on a gamepad and have the option for a second player or third player ect to join the game . can you help me with this
     
  31. rbagao

    rbagao

    Joined:
    Feb 13, 2016
    Posts:
    19
    @reuno that explains it, I switch to android platform. thanks
     
  32. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,870
    @rbagao > I'm glad it's working now.
    @VENOMOUS09 > well the engine already contains methods to do something like this. But I can't build this for you if that's your question :) If you have a specific question I'll be happy to help.
     
  33. VENOMOUS09

    VENOMOUS09

    Joined:
    Dec 27, 2014
    Posts:
    37
    I understand and thank you Im really thankful for any help or advice you can give me , and thank you for responding back so quickly , you said "the engine already contains methods to do something like this" can you point me where . I probably just over looked it, ( the idea of my game is that if a person is playing the game and a second person wants to join in on another game pad locally all they have to do is press start and they will enter the game .)
     
  34. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,870
    @VENOMOUS09 > It's quite a large task, not something I can sum up in a few lines I'm afraid. Basically you'll probably need to create a position manager for where the players will appear, and the rest is events (there's an event manager), buttons (you've got plenty of them in the engine), activating secondary players (you've got a local multiplayer example), and that's pretty much it.
     
  35. shahasad78

    shahasad78

    Joined:
    Oct 17, 2017
    Posts:
    4
    I also was wondering whether we are supposed to subclass InputManager in order to add a custom action. If so, would this not add extra overhead by having another Input Manager listening and polling for events? What is the recommended way?
     
  36. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,870
    @shahasad78 > If you extend it, why would you have two of them?
     
  37. R_PerkinsBuzo

    R_PerkinsBuzo

    Joined:
    Jan 26, 2018
    Posts:
    1
    Is v4.4 a paid upgrade from the earlier version? or is it available as a free update?
     
  38. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,870
  39. shahasad78

    shahasad78

    Joined:
    Oct 17, 2017
    Posts:
    4
    Sorry for the n00b question. Is there a way to get two players to be able to collide with each other in order to push one another? I'm trying to have the players be able to push each other off of a platform. Thanks in advance
     
  40. weberdls

    weberdls

    Joined:
    Dec 24, 2017
    Posts:
    7
    Hello dudes,

    What i need: Activate On Hit for Weapons.

    What i've already noticed using Corgi Engine: DamageOnTouch, Health and Character Activate Button.

    So, if something has health, it is able to die through Health + DamageOnTouch.
    If something able to be activated and the player has activate button, he is able to press a button and activate it.

    So, if i modify the engine to let the weapons activate things when colliding with, IF the item has ActivateOnHit Component, am i duplicating something that i didn't noticed in the engine?

    And if the answer is "no, you're not", i wanna ask you guys what approach would you take?

    The solution i thought is:
    - ActivateOnHit component to attach to the objects (for example, a lever)
    - A Flag in the Weapon class: bool capableToActivateOnHit

    Thanks in advance!
     
  41. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,870
    @shahasad78 > That's not a feature of the engine. I'd probably use a physics based engine to do that.
    @weberdls > No you're not, and your solution seems just fine :)
     
    weberdls likes this.
  42. shahasad78

    shahasad78

    Joined:
    Oct 17, 2017
    Posts:
    4
    @reuno Is there at least a way to not let the players walk through each other?

    I really love this engine and don't want to have to start this project from scratch.
     
  43. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,870
    @shahasad78 > Not built-in, no (that's kind of the same thing as pushing each other really, in terms of code).
    But feel free to implement it, it's definitely doable!
     
  44. LittleBlueHat

    LittleBlueHat

    Joined:
    Dec 6, 2014
    Posts:
    16
    That is a cool idea but if your projectile is going to activate the lever or object I would put the bool on the projectile as opposed to the weapon, if I think I know what your saying. That might make it easier if you are using ontriggers.
     
    weberdls and reuno like this.
  45. jocyf

    jocyf

    Joined:
    Jan 30, 2007
    Posts:
    284
    For those of you that are using corgi with pixel perfect active, I realize sometimes there is a camera rendering issues when moving ; it moves in floating point coordinates.
    One possible solution is tu use pixel snap in the sprite's material. Another solution is to move the camera in pixel coordinates:

    Code (CSharp):
    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4.  
    5. namespace MoreMountains.CorgiEngine
    6. {  
    7.     public class CameraControllerv2 : CameraController {
    8.  
    9.         [Space(10)]
    10.         [Header("AddOns")]
    11.         public bool pixelPerfectRuntime = true;    // Make the Pixel Perfect math every time. Used to test different values. Once setup this should be false.
    12.         public bool moveCamaraInPixels = true;    // If we are in pixelperfect mode, we can move the camera from pixel to pixel instead of using real 3d values.
    13.                                                 // It's a way to avoid strage rendering issues due to camera Unity's camera moves in floating point coordinates movement.
    14.                                                 // Another posible way is to activate pixelsnap in the sprites maperial.
    15.  
    16.         // Move the camera per pixel units.
    17.         // https://forum.unity.com/threads/setting-up-unity-for-pixel-perfect-2d-project.268807/
    18.         private float RoundToNearestPixel(float unityUnits, Camera viewingCamera)
    19.         {
    20.             float valueInPixels = (Screen.height / (viewingCamera.orthographicSize * 2)) * unityUnits;
    21.             valueInPixels = Mathf.Round(valueInPixels);
    22.             float adjustedUnityUnits = valueInPixels / (Screen.height / (viewingCamera.orthographicSize * 2));
    23.             return adjustedUnityUnits;
    24.         }
    25.  
    26.         protected override void FollowPlayer()
    27.         {
    28.             if(!pixelPerfectRuntime && !moveCamaraInPixels)
    29.             {
    30.                 base.FollowPlayer();
    31.                 return;
    32.             }
    33.  
    34.             if (PixelPerfect && pixelPerfectRuntime)
    35.             {
    36.                 MakeCameraPixelPerfect ();
    37.                 GetLevelBounds();
    38.             }
    39.  
    40.             // if the player has moved since last update
    41.             float xMoveDelta = (_target.position - _lastTargetPosition).x;
    42.             bool updateLookAheadTarget = Mathf.Abs(xMoveDelta) > LookAheadTrigger;
    43.  
    44.             if (updateLookAheadTarget)
    45.             {
    46.                 _lookAheadPos = HorizontalLookDistance * Vector3.right * Mathf.Sign(xMoveDelta);
    47.             }
    48.             else
    49.             {
    50.                 _lookAheadPos = Vector3.MoveTowards(_lookAheadPos, Vector3.zero, Time.deltaTime * ResetSpeed);  
    51.             }
    52.  
    53.             Vector3 aheadTargetPos = _target.position + _lookAheadPos + Vector3.forward * _offsetZ + _lookDirectionModifier + CameraOffset;
    54.             Vector3 newCameraPosition = Vector3.SmoothDamp(transform.position, aheadTargetPos, ref _currentVelocity, CameraSpeed);
    55.             Vector3 shakeFactorPosition = Vector3.zero;
    56.  
    57.             // If shakeDuration is still running.
    58.             if (_shakeDuration>0)
    59.             {
    60.                 shakeFactorPosition= Random.insideUnitSphere * _shakeIntensity * _shakeDuration;
    61.                 _shakeDuration-=_shakeDecay*Time.deltaTime ;
    62.             }      
    63.             newCameraPosition = newCameraPosition+shakeFactorPosition;      
    64.  
    65.  
    66.             if (_camera.orthographic==true)
    67.             {
    68.                 float posX,posY,posZ=0f;
    69.                 // Clamp to level boundaries
    70.                 if (_levelBounds.size != Vector3.zero)
    71.                 {
    72.                     posX = Mathf.Clamp(newCameraPosition.x, _xMin, _xMax);
    73.                     posY = Mathf.Clamp(newCameraPosition.y, _yMin, _yMax);
    74.                 }
    75.                 else
    76.                 {
    77.                     posX = newCameraPosition.x;
    78.                     posY = newCameraPosition.y;
    79.                 }
    80.                 posZ = newCameraPosition.z;
    81.                 // We move the actual transform
    82.                 if(moveCamaraInPixels)
    83.                 {
    84.                     Vector3 roundPos = new Vector3(RoundToNearestPixel(posX, _camera), RoundToNearestPixel(posY, _camera), posZ);
    85.                     transform.position = roundPos;
    86.                 }
    87.                 else
    88.                     transform.position = new Vector3(posX, posY, posZ);
    89.             }
    90.             else
    91.             {
    92.                 if(moveCamaraInPixels)
    93.                 {
    94.                     Vector3 roundPos = new Vector3(RoundToNearestPixel(newCameraPosition.x, _camera), RoundToNearestPixel(newCameraPosition.y, _camera), newCameraPosition.z);
    95.                     transform.position = roundPos;
    96.                 }
    97.                 else
    98.                     transform.position = newCameraPosition;
    99.             }      
    100.  
    101.             _lastTargetPosition = _target.position;  
    102.         }
    103.     }
    104. }
    105.  
     
    Last edited: Jan 28, 2018
    reuno likes this.
  46. LittleBlueHat

    LittleBlueHat

    Joined:
    Dec 6, 2014
    Posts:
    16
    @reuno do you think could you use raycast to detect and apply force to the other character to kind of simulate a push?
     
    shahasad78 likes this.
  47. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,870
    @LittleBlueHat > Oh yes, absolutely. That's what I meant by "definitely doable". All the pieces you need are already in the engine. You've got examples of collisions (plenty), and examples of push. You just have to take inspiration from that.
    The only reason I'm not adding it myself is because it's sort of niche and would pollute the rest of the codebase to benefit only one use case.
     
    shahasad78 and LittleBlueHat like this.
  48. LittleBlueHat

    LittleBlueHat

    Joined:
    Dec 6, 2014
    Posts:
    16
    I only asked to reinforce my pseudo code thinking lol. I am able to now think of how I would achieve certain things thanks to Corgi engine teaching my how to code :)
     
    shahasad78 and reuno like this.
  49. shahasad78

    shahasad78

    Joined:
    Oct 17, 2017
    Posts:
    4
    That's basically how I'm implementing it. A combination of CharacterPush and Pushable. As @reuno said, all the building blocks are there.
    And I agree that studying the Corgi Engine Code base definitely teaches you to write clean, architecturally sound code. I am thoroughly enjoying working with such a well-written engine.
    Also the most helpful community.

    I can't wait to finish this project and use this engine for my next project.

    Also, what's the status the Beat 'em up engine?
     
    LittleBlueHat and reuno like this.
  50. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,870
    @shahasad78 > It's still under development, and I still don't have an ETA :)
    It's my favorite project right now, and I think once I'm done it's gonna be a very nice toy to play with.
     
    Muppo, LittleBlueHat and shahasad78 like this.