Once I tried something similar in Blender Game Engine. I didn’t do it as great as you did here. Nice work!