finally got perfect character movement + improved a* algorithm