Problem with cities not using coastal resources.

Grandraem

Alchemist
Joined
Apr 3, 2003
Messages
2,101
Location
Below.
I just discovered something about my mod that's currently puzzling me...

I added a small wonder that requires a resource (which only appears in coast and sea) to be within its city radius, and the cities I build near the resources have a harbour (which "Allows Water Trade") and the civilization have techs that "Enable Trade Over Sea Tiles" and "Enable Trade Over Ocean Tiles", but the cities not only don't show any strategic resources, including the required one, but also don't show that they have any other bonus or luxury resources that are in coast or sea and within the city radius. I made sure that a peasant was using the tile that the resource is on, but can't figure out why these resources aren't appearing for the city and therefore why I can't build the small wonder.

Please help with any useful suggestions if you can. :please:
 
:blush:

After all this time I'm still learning things like I'm brand new. :crazyeye:

Seriously, I never had a sea or coast resource as a requisite resource, but I always assumed that if the city had a harbour and sea trade, and a citizen worked the square, that the city would own the resource because it wasn't possible to build a road to it.

Well, you know what happens when you assume... :lol:

Back to the drawing board on my small wonder... Oh well.

Thanks for the reply, Laurana Kanan. :)
 
It´s a little bit more tricky. You can set each kind of water terrain (including coastal terrain) to hold roads by setting the commerce in the terrain window for roads to higher than zero.

This would allow the connection of strategic/luxury resources in water terrain to the tradenet of your cities if you connect the "water"-resource with a preset road to the land-tradenet and therefore is a little bit useful for scenarios on preset fixed maps. Of course, if this road in the water is destroyed, the AI has no chance to rebuild it again as an AI-terraforming strategy for water-units is lacking in the programming of Civ 3. You can set a water-worker unit in Civ 3 to do worker-jobs in water terrain or to transform land-terrain to water-terrain and the other way around (what allows channels), but when the worker-unit is in the water, the AI has no chance to use it any longer. Of course such a unit can be used again by human players, who can replace the missing AI-strategy with their own brains.

p.s.: Roads in water terrain give no additional movement bonus.
 
Thanks, Civinator.

That's good to know, and very helpful. :) As usual, it's unfortunate that the AI can't handle certain things and I think I'll try to alter the method of building this small wonder to accommodate both human players and AI, and random maps as well.
 
Also, from what I've read, if there are roads built on water tiles, it renders improvements which allow trade over sea tiles null and void.

Virote, this is no contradiction. The connection must be via roads and not via seatrade. On the other side, when I experimented with these things for SOE was more than 6 years ago and it is the question if I remembered all completely well. May be a short experiment in debug mod would be the best to show the mechanics, but at present I don´t have the time for it. A strat. resource (p.e.oil) must be set to be allowed in coastal waters. coastal terrain must be set to allow roads and a road must be set from the coastal resource inside the city borders through the water terrain to the city.
 
Supa did some testing with this years ago for Modzilla, and came to the same conclusion. The only way to make a Sea resource usable by humans and AI is to have a fixed map scenario, and have a road pre-built to said resource. It is ugly, as you have a road extending out to see, but you can pretend it is a pier or something.

What I've done in some other mods, such as OC and Hawaii, is have the coastal strat/lux resources appear right on the shore, so you can connect to them. Again not ideal, but you work within the confines of what you have ;) Again, this will not work on a random map.
 
I hadn't realized that the resource must be non-bonus to be detected as within the city radius. There goes my idea of using a whaling company for an improvement/small wonder. Ditto for fishery. Et cetera.

As for the comments about the ugly road in the water or on the coast, it's a minor point, but altering the graphics slightly for a premade map will alleviate the ugliness. Firstly, have the coastline extend only far enough to accommodate the road network, and the rest of the square be water. (Perhaps even the road graphic itself can be altered to not quite reach the center of the square, alternatively.) Secondly, alter the graphic of the resource to be off center, away from the coastline and road network. The resource would still be connected by road from a technical standpoint, but in appearance, the coastal resource is off-land and in the water, and not visibly connected by the ugly road/railroad/highway.

For sea resources and random maps, all bets are off. It can still happen, but odd things will appear on random places on the map.

Another option, slightly more complicated: If the initial graphic for road and railroad is a worksite graphic -- something like a colony graphic -- it can "extend" into the sea visually, representing a harbor or seaport, and thus reach the offshore resource, but the same graphic on land would resemble a nexus for industry. Consider how coastal cities stretch out into the water as they get bigger... it's in the same vein.
 
I failed to point out that since the altered graphic is a land square that appears to be a mostly-water square, it may be a bit odd to see land units wading in the water and watercraft unable to enter the square.

And the resource you're attempting to connect with a road network needs to be classified as a land resource, not appearing in water. (Though, obviously, you could have strategic land resources and identical bonus water resources. Civ2 had two types of oil and ivory, as I recall.)
 
There is another way to make sea resources usefull for buildings that require the resource within city limits, but it is only viable for premade maps with carefully preplaced resources.

If you place place at least 1 resource under at least 1 preplaced city for each civ that should be able to build the sea-resource-building(s) then every city connected to that city/resource AND also has the resource in a sea square within cultural reach as well will be able to build the building(s) requiring that resource - regardless that the local sea resource is not itself connected to the city.

This method can also be used for allowing inland buildings where the local resource is placed in terrain where building roads is also not possible (or outright made impassable).


Having said that then it would be nice if sea resources connected to cities when within cultural range. Perhaps a project Antal1987 would be willing to take on? ;)
 
Top Bottom