No more tilemap, z-sorting, Shadows and bullet hit detection

Summary

Using 3 kinds of renderer (Sprite, Tile and Mesh) was making the z-sorting nightmarish so I finally decided to just drop the tile-based floor in favor or using big plain sprites.
It’s simpler to produce/handle and it might even look better on the long run (if constrained well-enough like in Isaac). Good thing, I can keep the somewhat efficient tile-based composite collider for static stuff like the pits/holes and the unbreakable walls. Related to that switch, I implemented all the z-sorting functions for the Entities, the bullets and the walls (which are now just sprite but might end up being entities as well, like the spikes).
Shadows are in too. Since their implementation had close ties with z-sorting (which take into account the height of shadow casting things). It’s completely fake using another procedural mesh for the bullets and an additional sprite renderer for the entities. I wanted no multiplicative / additive shadow so I went for a stencil-based shader. Maybe I’m missing a much more obvious and flexible solution (Stencil = no AA) but that will do for now.
Finally, I got the bullet hit detection against entities integrated. The first step to rebuild the gamejam’s version gameplay… after 2 weeks of work. :joy:
But at least, the build already allows to test the controls by trying to avoiding the bullet as long as possible. The player character has 4 HP and can “resurrect” by pressing R.

Changelog

Remove the Tile-based floor
Add proper Z-sorting for everything
Add stencil based shadows
Add simple Bullet to entity hit detection

Share your feedback!