Navigating obstacles with pathfinding
In this section, we will discuss how to move our character from A to B when there are obstacles in the way. There are many solutions to this problem, but a common solution in games development that we are going to use is called the A Star algorithm.
The algorithm is an efficient way to calculate a route on a 2D grid. Remember, a tile map is a 2D grid that uses tile IDs to represent what is drawn on the map. We provide the algorithm with our grid coordinates for our start location (the current location of George) and our end location (where we tap on the screen), along with a list of grid coordinates for any obstacles that are in the way. The algorithm then returns a list of grid offsets that represent a path, which we can follow to navigate to our touched location while avoiding all obstacles!
Our initial challenge is that when we move George around, we are using pixels to represent the location, but the algorithm works in grid coordinates...