multidirectional sprite mechanics