You are working on a new computer game. One of the implementation problems you are trying to solve is character path finding.
The user should be able to select a character and left-click the mouse at a location to have the character move to that new location. Normal movement should send the character along a route with the shortest possible distance between locations. There are two special issues you need to consider. One issue is that various obstacles (rocks, trees, buildings) block parts of the terrain across which the character could move. Another issue is that the user can move multiple characters at the same time by highlighting the group. In this case, each character has a slightly different starting and ending point. Also, some paths may be large enough for one character but not large enough for a group.
(1) What type of problem are you investigating?
(2) What steps would you take to analyze the problem?
(3) What algorithms would be good to use and why?