Thx! My system is floating point based and uses the edges of AABBs to calculate where to place the player when overlapping, but this article is a super helpful place to start: https://medium.com/@MattThorson/celeste-and-towerfall-physics-d24bd2ae0fc5.