Hello everyone!
I was working to finish pathfinding part and implement hero movement animation this week.
I made huge clean-up in code and optimized an algorithm so it’s not hanging whole game now. I used Visual Studio performance test to find slowest part of code. I also found and fix several bugs in pathfinding part, so it’s not causing crashes anymore and there are no memory leaks in it. I can say it’s working in 99% now, but it still need some testing. 😉
I updated it to allow mouse-clicking on places where hero can’t directly go and to find closest point for destination instead. Pathfinding is also working correctly in wider locations now.
Last function to implement was scanDirection(). It used calculated array of path points to create array of directions for hero animation.
After finishing engine part of pathfinding I updated script part functions – O_RUNHERO, O_MOVEHERO, O_CLEARPATH, O_SETPATH and O_LOADPATH, so hero is walking to objects or mobs before he inspects or talks with them. “Walk to” option in right mouse button menu is also working now.
I made big changes in part of code that I had implemented at the beginning of my project – most in showHero(). It’s a function that, among other things, make use of path cords and directions arrays calculated in pathfinding part. It counts hero animation frames and change animation according to current direction. It allows to turn hero during the path and to speed up his movement by skipping some of points on the path.
You can watch my progress on video right here:
(Source: https://www.youtube.com/watch?v=nDPYoZoO3mI)