Yeah 3D collisions was a huggeeee pain to program and optimise. The player is a cube I believe, though all the collisions boil down to triangle-triangle intersections so theoretically could have been anything. Good idea regarding the up/down keys, I should have thought of that.