Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

I have a suspicion that you're mixing up "FixedUpdates" with "Updates" in the code. A lot of in-game events just don't trigger on certain frames. Platforms sometimes don't register, enemies sometimes don't register, block hits very frequently don't register.

For example, the code for floating blocks should just be something along the lines of:

void OnCollisionEnter2D(Collision2D collision)
{
    if(collision.gameObject.tag == "Mario")
    {
    GameObject mario = collision.gameObject;
    //assuming that the origin is set at the bottom of the block
    if(mario.transform.postion.y < this.transform.postion.y)
        Debug.Log("Mario hit a block");
    else
        Debug.Log("Mario did not hit block");
}

That being the case, I don't understand why spinning on top of a block  hits it, why enemies can hit blocks, or why the hits only count from certain angles and on certain frames.

Mario should not slide around or have his sprite rotate. Lock all axis rotation in his RigidBody. Check to see if you're using a frictionless physics material for the blocks. Otherwise you're adding a force to the Mario gameObject at some point when you shouldn't, it seems to be related to holding shift.

I reached the boss this time around but his claw attack didn't get cleaned up by the game engine giving him a permanent shield.

Good feedback. I'll go over all those suggestions and update soon.

Playing the 04/05/20 version is like night and day compared to the previous releases. All of the major platforming and physics bugs are gone. I was able to finish the game and got the good ending on my first try with only three deaths or so. Sure I knew the level layout this time around, but the most important difference was that the game has become a lot more responsive to player inputs. Awesome job!

That's fantastic news. I tried my best to make sure all the problems were fixed up, so I'm stoked to hear that. Seems like you deserve a lot of the credit for leaving honest feedback.

I'm just glad to see the game reach a finished, polished state. I'm excited to see how your future projects shape up now that you're more accustomed to using Unity and game development in general.