I am working on a space themed game with space being a 2D pane. The player issue order by clicking on the coordinate for his/her ship to navigate to a certain point on the pane.
The player ship can:
- Propel forward and backward
- Strafe starboard and port
- Yaw starboard and port
The ship's performance on each direction varies greatly depending on configuration. Some may move faster on sides and back directions than they do forward direction.
I have combined A* and PID control for navigation but couldn't help but noticed that in many occasions where the ship could have accelerate to the full speed and turn towards the target to reach the target faster, it instead turns in place while strafing slowly until it faces the destination before accelerating.
I would like to add another calculation that let the ship knows which navigation approach it should take to minimize the time to reach the target but I have no idea which field of study I should look into or if there is a quick win scenario I could use to achieve an expected outcome.
Please kindly recommend and thank you very much in advance.