faulknermano , I saw you blog, it's really cool!
You can take LJ-potenial as a way for curve fitting:
The blue one is (A/r^n) A=1, n=12
the green one is -1* (B/r^m) —=1, n=6
the red one is the combination.
1. green curve rolls off slower because its order is smaller
2. there is a cave(minimum) in red curve because the different rolling off behaviors induced by order of r.
3. change A and B to fit into the target magnitude that you want.
BTW, I like your C2SpriteManager very much!