add smooth player control and update Animal abstract class