Another issue is, that AI cannot handle with sea shore, if removing of water is blocked (via patch or high base costs)
I'm not sure it's reasonable to expect the AI to cope with arbitrary base cost changes, much less patched versions of OpenTTD. It's a road building AI and will struggle in an environment hostile to road building. That said, I suspect setting buildroad.cost.coast to a high value at line 2191 might help.
- Choice of vehicle from AI is debatable, in my test, AI thought it s a good idea to use the very slow but high capacity vehicle from HEQS to transport Food.
I hadn't considered HEQS when testing - I can certainly tweak the vehicle selection code to avoid such wide outliers.
- Road construction from AI, i have been surprised on how the AI build a lot of roads for nothing, doubling existing ones, creating dead ends.... I would say it s not enough reusing existing roads, it tries to be more efficient that way i supose (but fails at it in a few cases). It makes some very ugly road.
Pathfinder values are always a difficult balancing act (and "ugly" is in the eye of the beholder). The AI does do a lot of rechecking connections, and this can result in some duplicated roads. You could try tinkering with buildroad.cost.no_existing_road at line 2168, and see if you can find a value that produces more pleasing results.
- Ships, lovely addition, but is full load really a good idea ? i think with cargodist being used full load should be avoided (i imagine nowadays the majority of players uses it)... but at the same time i can understand why full load is a good idea if cargodist is off (avoid that busses let not enough passengers for the ships).
Very short ('water-bus' style) ship routes don't use full-load. For the longer routes, they're more analogous to aircraft - they're better off sitting raising the station rating than zooming back and forth empty. Cargodist or not, full-load or not, ships rarely make the AI much money; the ships, and the AI in general, are primarily to create pleasant background movement for human players, rather than to play the game as efficiently as possible itself.
By the way, when playing with DBSetXL, CivilAI chooses two different wagon types for the same train. It's not a big problem since both can load the same amount of wood, I just found it funny and don't know if it is intentional.
Yes, it's intentional - the AI will build mixed trains (if more than one suitable wagon exists) for piece cargos like wood.