лучше не пытайся переводить пиксельный 2D-исходник на новый лад.
В унити даже проще:
Код
transform.Translate(Vector3.forward * Time.deltaTime*spd);
при столкновении меняешь скорость на обратную ну или к углу +90
а уровни можешь генерить пиксельными алгоритмами.