This is a test of 2D filters in the BGE. I have created a simple Screen Space Ambient Occlusion filter which uses only the depth buffer. The recorded video is not of the best quality, so expect some changes.
The basic idea is simple. Blur the depth buffer, but factor out pixels that are really far depth-wise from the current pixel. Do two passes, one for details, and one for overall illumination. After some tweaking, I finally got the algorithm right.
This algorithm does not suffer from halos, shows minimal "glow", and has proper shadowing all the way around a contact shadow.
I coded the whole thing in GLSL code to use as a custom filter in Blender 2.49b.