added screen shake and tile swap as a state and animation