If the Panama Canal has a length of 50 tiles and the player wants to create 2 routes, he can create 4 lines:
where X are empty canal tiles, A are the buoys for route 1 east to west, B are the buoys for route 1 west to east,...
With this trick, players can put lots of routes and ships in the Canal. In this case, the suggestion makes ship routing more interesting (but I do not like the trick.)
If I add a parallel track next to existing track, trains will distribute between the new and old tracks. I thought it would be useful to have something like that here too, manually assigning a route will generally fail unless you do a lot of precise timing or add excessively many intermediate buoys.
Yes, I assumed that "A order: goto Z" in case of saturated Z it would work similar to trains which cannot access destination points and start to detour to other stations.
Actually, trains try to avoid other stations than the one in their next order, but you can force them into a station by not giving them another choice. With ships this becomes tricky to say the least, as there is empty space all over the place to avoid buoys.
What may be different is that buoys are much closer to waypoints than to stations. No idea whether trains avoid waypoints too, but I wouldn't be surprised if they did.
Therefore, if player is lazy (everyone is) and make large distance between buoys, it would saturate path for larger number of ships, but anyone can put additional buoys between A and Z to fix problem with no need to change orders.
This means there is no "limited buoy capacity" at all? Your suggestion just forces the player to dump more random buoys into the water?
Of course it is only rough idea, I have no idea if it is feasible to implement this idea, honestly whole pathfinder implementation is like witchcraft for me
OpenTTD pathfinder is very optimized for its job (maybe "obfuscated for speed" fits better
), if you want to understand pathfinding, I'd suggest to start with a more generic implementation