I'm at a junction where I need to decide if I want to use Chipmunk or Chingu, or go all-in on figuring out a custom 2D collision system. You can see what I have so far at github:God Must Answer
I need the usual platformer stuff. Need to know when I'm grounded, walk smoothly between blocks with different bounding boxes, need to be able to stop the player from jumping up through a platform, or jumping into the side of one. For the game's purpose I'll also need to know when I'm touching the bottom or side of another block, not just that I've hit another block, detecting what edge I've collided with is important.
I've rolled my own Vector2 and Box2D classes, and I'm using those to do the thing. So far they calculate the bounding boxes based on the gameobject's graphics, though for the game's purpose that will work fine. Only the player will need a custom bounding box, and that'll be easy enough to specify and tweak manually.
I've got platform grounding working pretty well. Can walk along multiple platforms that don't quite touch without sinking down for falling between by using two "feet" points on the box. This is working pretty well, but I'm not sure if I want to go all-in on rolling my own methods for checking other types of collision. I'm also having an odd issue where the bottom box of the player sinks into the other collider one or two pixels before collision happens.
There will be no other gameobjects checking collision, just the player. There will be no bullets, though there will be moving colliders to contend with, including platforms the player will need to "stand" on and move along with.