. project out of collision
. split velocity vector into two components: one parallel and one perpendicular to the collision surface
. calculate bounce using the perpendicular component
. calculate friction using the parallel component