You could always get Box2D physics and wrap it for use with DarkGDK...
That or, I tend to go for sprite collision if it's 2d, then to implement gravity I'd use either, a simple
if( object != on_ground ) object.y -= gravity.
or if I was feeling more mathsy, i'd use project equations...
object.y = vtcos(a) = (gt ^ 2) * 0.5 + h;
object.x = vtsin(a);
where v = velocity, t = time, g = gravity; h = initial start height
So basically there's loads of different ways to do collisions and gravity etc... it all depends on the project.
I hope I have helped a little bit
Yours
N3wton