Show number of ships currently under constructionĤ. Show number of built ships (including on expedition)Ģ. This list could look similar to the list of buildings, with some exceptions.ġ. So I want to suggest the implementation of a list of ships. The important factor, what a shypyard needs, is a corner bordered by 6 fields of water.Recently I was trying to find out how many ships I had and did not find the information in the statistics. that's the prerequisite for a shypyard working, so if nothing else it should be easy enough to instruct the AI to look not for a field of water, but for a corner surrounded only by water. That would at leaast fix the problem with rivers, and should be really quick to do. It still won't help in case the AI builds the shypyard on a small lake. That would require study of the connectivity on water, which I assume will be complex to code. I noticed that the AI only made one shipyard if it was instead instructed to make more if a port has a long-standing request for ships, and if there is enough wood and stuff in stock, then the Ai would eventually make a shipyard in a better place (to make this more likely, it could be convenient to add that the shipyard should possibly be far away from already existing shipyards, and close to the ports that are not served by ships).īy the way, enabling the AI to make more than one shipyard is also needed in case the seafaring happens on several, unconnected bodies of water. (by tibor: it's not a matter of straight coast, it's a matter of it being a coast and not a river. ships always navigate in corners completely surrounded by water, so if one is not available, the ship ccannot be made. As far as I know, there is no map with such a feature I made one back in the times before I went online, but it crashed after a while, maybe because of that.Īnyway, it just need to check for a water corner instead of a water field, and it avoids the river problem.Īs for the multi-water part, I'm not sure I understand what you mean, but if I understand correctly, I have a question: how does the program deal with a situation when there are two lakes, with ports on both, and the lakes are not connected by water? Certainly in that case you need more than one shipyard, because you need ships on both lakes. Luckily, the current routing approach works for multiple lakes - the boat arrives to a port, loads the wares, and brings them to other ports. If a port has required a ship (to carry an expedition or transport wares) and none has arrived in 30 minutes, and there are no shipyards in construction, build another shipyard near that port.the AI is allowed to build multiple shipyards if there is nothing more urgent to do (maybe controlled by a timer like "don't build more than one shipyard before three hours", or "only make shipyard if you have at least 50 trunks and 20 planks in stock").Now, while making full provisions for such a case would certainly be complex, there are easier ways to at least mitigate the problem: But what happens when a port asks for an expedition, and there are no ships in that lake? As long as the routing program in the wares check that the two ports are connected by water, the wares will always be delivered. I'm sure those two relatively simple instructions would deal with it, like, 99% of times. Well current implementation is really plain. if shipyard is to be build, it just counts water fields in some radius, if above treshold - field is a candidate for shipyard. Usually it works good enough, but obviously more sophisticated test is needed. ![]() When I talk about 'water' I mean 'interconnected sailable water surfaces'. 'Lakes' and 'rivers' are human view, AI is too stupid to understand the concept. So if you have two 'waters', there is a shipyard nearby first one and port on second one, port will forever wait for ship and shipyard will never build a second ship because first one will sit idle and thus no further ship is needed. My idea is AI that is aware of multiple waters but uses only one of them for seafaring. Ideally it would be nice to partition the map, so that it would be obvious where a shipyard can be built for particular water. Also it would identify which water fields are in fact sailable and which are too narrow or so. The game engine uses the concept fleet, that is ports + ships, AI can access it but it is ex-post information, and shipyards (or perhaps adjacent coast that are exclusive for one water) are not included there.īuidling second shipyard is partial solution, but it is still very chancy.
0 Comments
Leave a Reply. |