Continents (& other?) mapscript bonuses placement

tantoniou

Warlord
Joined
Aug 11, 2010
Messages
111
Ok, so today I switched to the latest SVN version of the game (been playing v40.1 for a while). As usual I play on continents, large size maps (with extra rivers only, no extra resources). And I see these strange bonuses placements all over the place, particularly with some resources : sulphur, cows, sheep, vanilla, flowers, henna, wine, kangaroos...
They are placed in blocks of 4-5 or more in one area (say about 3x3 or 4x4 size), and they may repeat again in another area in each continent.
Is this intentional or just a byproduct of a neglected mapscript?
 
It is intentional, some bonuses are supposed to cluster, though it could be too much in that mapscript I suppose.
Only the "World" mapscript has been actively maintained the last couple years.
 
It is intentional, some bonuses are supposed to cluster, though it could be too much in that mapscript I suppose.
Only the "World" mapscript has been actively maintained the last couple years.
Still wish you'd give an option on that one for NOT having players purposefully starting in worse spots just because the diff is higher. My wife will restart a game over and over until she gets something she's pleased with no matter how long it takes and will sometimes just give up after half a day of trying with me to get a game started, and that's no matter what diff we're on so if we're going to play a game that is worth playing in the long run, we have to use a different mapscript.
 
Still wish you'd give an option on that one for NOT having players purposefully starting in worse spots just because the diff is higher. My wife will restart a game over and over until she gets something she's pleased with no matter how long it takes and will sometimes just give up after half a day of trying with me to get a game started, and that's no matter what diff we're on so if we're going to play a game that is worth playing in the long run, we have to use a different mapscript.
That's handled by the dll, not by the mapscript.
I think the mapscript can tell the dll not to do it though, but none of our mapscripts does that.

Edit: Actually, I added some assert in the dll stuff that sort starting-plots by difficulty and they don't trigger when using the World mapscript, which means that the starting-plots are assigned randomly to the players when using the World mapscript.
 
Last edited:
Only the "World" mapscript has been actively maintained the last couple years.
Still, what I get from this mapscript I didn't get from the one in v40.1 (I remember reporting map bonuses missing and you Toffer fixed that issue back in autumn!). I wouldn't have clusters of bonuses with it, and also never had I maps without bronze or tin in the whole planet! So if no one updated this mapscript in a while maybe something else affects all mapscripts in a way?
 
Still, what I get from this mapscript I didn't get from the one in v40.1 (I remember reporting map bonuses missing and you Toffer fixed that issue back in autumn!). I wouldn't have clusters of bonuses with it
Dancing Hoskuld complained about bonuses not clustering as it should, which it used to do some years back, which I fixed on his request after v40.1.
I believe most mapscripts use the generic dll implementation for bonus placement, "World" has its own implementation, I think I based the dll implementation closely to what "World" does.
You could try the "World" mapscript and see if the clustering is less intense there, if so, then I might see if I can make the dll impl. more identical to the "World" impl.
and also never had I maps without bronze or tin in the whole planet! So if no one updated this mapscript in a while maybe something else affects all mapscripts in a way?
The xml stuff for bonuses influence all mapscripts.
 
Last edited:
That's handled by the dll, not by the mapscript.
I think the mapscript can tell the dll not to do it though, but none of our mapscripts does that.

Edit: Actually, I added some assert in the dll stuff that sort starting-plots by difficulty and they don't trigger when using the World mapscript, which means that the starting-plots are assigned randomly to the players when using the World mapscript.
Cool... would be helpful if we could maybe say player start spots should be optimized (not necessarily just HUMAN player but all players - there are some scripts that start settlers off in high valued plots whether they would know it or not.)

In nomadic starts this won't matter at all of course but that's a bit off the radar yet. Though it may be approaching faster than I think...
 
Still wish you'd give an option on that one for NOT having players purposefully starting in worse spots just because the diff is higher. My wife will restart a game over and over until she gets something she's pleased with no matter how long it takes and will sometimes just give up after half a day of trying with me to get a game started, and that's no matter what diff we're on so if we're going to play a game that is worth playing in the long run, we have to use a different mapscript.
Sounds like it would be both easier and quicker to just co-opt the HOF MapFinder tool into C2C, than try to reroll starting positions manually. http://hof.civfanatics.net/civ4/mod.php?show=mapfinder
 
Cool... would be helpful if we could maybe say player start spots should be optimized (not necessarily just HUMAN player but all players - there are some scripts that start settlers off in high valued plots whether they would know it or not.)
The World mapscript does evaluate the value of each plot on the map and selects the starting plot set so that it is a compromise between high value and good spacing between each starting plot in the set.

There's probably room for improving how plots are valued though. Some fine tuning of values.
 
is nomadic start supposed to be a moving city or no city? If there's no city then how are resources collected?
 
Tribes will collect from the plot they are on to the extent they can, enabled by their population size and technology. Cities compile yields and give it to the player level. Units will have yield inventories and tribe units will commit their commerce yields in their inventory into the player level between rounds, save food until they grow, and save production until they can purchase improvements, promotions to represent building equivalences, and units (with food as well).

That's kind of a quick start of breaking down a more complex range of concepts to make the whole picture work.
 
Dancing Hoskuld complained about bonuses not clustering as it should, which it used to do some years back, which I fixed on his request after v40.1.
I believe most mapscripts use the generic dll implementation for bonus placement, "World" has its own implementation, I think I based the dll implementation closely to what "World" does.
You could try the "World" mapscript and see if the clustering is less intense there, if so, then I might see if I can make the dll impl. more identical to the "World" impl.
I hadn't seen clustering as I've mostly been playing this mod about a year now, after you implemented the new UI and it became much much faster. So I don't know what is normal for the mapscripts, for the dev team (to which anyway I am grateful about this mod), or for the majority of the players. Still, from the many custom games-tests I tried (in continents script) I don't get why there should be a clustering of more than 3 bonuses. I frequently saw 5-8 numbers of same resources clusters, and that doesn't seem useful to me or the AI in any way, trade is hard anyway in the game, especially with strategic resources. Tried to search this forum also to find that conversation, but with no luck.

I tried the C2C world mapscript and the clustering is somewhat less there, I guess because the landmasses are much more separated and smaller. Also apart from a case of not finding tin anywhere in the world, I'd say all the resources are there, somewhere in the world.

Anyway we could maybe get an option for this clustering in all mapscripts? I also took a look on the smart mapscript, and there is an option there about resources which breaks this clustering (or clustering doesn't work there in the beginning?).
 
Anyway we could maybe get an option for this clustering in all mapscripts? I also took a look on the smart mapscript, and there is an option there about resources which breaks this clustering (or clustering doesn't work there in the beginning?).
I'll consider it.

Tin seems to miss out mostly because its placed late and there's no space left for it at that point. There is a minimum distance between similar bonuses, so there's no space left for tin that is far enough from lead, gold, silver, resin, obsidian, manganeese, fine clay.
I think there's way too much obsidian and lead placed so I'll reduce that a bit, maybe that will allow tin a place in the sun, unless those will just be switched out with gold and silver, may have to reduce those a bit too.
 
Last edited:
There is one difference in the clustering code between the generic dll impl. and the World impl.
In world there is a maximum amount of bonuses allowed in each cluster that scales with map size (because the cluster range/area scale by map size).
This maximum is missing in the dll impl.
In "World", the maximum bonuses in a cluster on large map size is 4 I think.

I'll make some adjustments today.
 
Speaking of world maps. Toffer can you adjust the starting location so that there is a 50/50 chance to not spawn on the coast? It kinda irks me that on this map everyone starts at the coast, so you can never have a landlocked Mongolian style empire.

Edit: Oh and there is way too much bamboo everywhere. Could that at least be made to cluster around a certain region or maybe the tropics? This is because bamboo gives an armor bonus, yet the bonus doesn't feel special enough due to the fact everyone gets it because bamboo is everywhere.
 
Speaking of world maps. Toffer can you adjust the starting location so that there is a 50/50 chance to not spawn on the coast? It kinda irks me that on this map everyone starts at the coast, so you can never have a landlocked Mongolian style empire.
If you have enough AI's, then some of them should start far inland on the World mapscript. If there's plenty of space relative to the amount of starting players then most will get coastal starts.
The World mapscript has actually gotten complaints about too often having inland starting plots. I think I made it less likely after some of those complaints, but not impossible.
For most players it seems 1 out of 10 is too often. ^^
 
If you have enough AI's, then some of them should start far inland on the World mapscript. If there's plenty of space relative to the amount of starting players then most will get coastal starts.
The World mapscript has actually gotten complaints about too often having inland starting plots. I think I made it less likely after some of those complaints, but not impossible.
For most players it seems 1 out of 10 is too often. ^^

Really? I meant playing as the inland empire myself not the AI. Plus 1 in 10 was too high? That means currently I would need hundreds of AI until I get a single inland empire. Could it at least be the same chance of vanilla civ? The game should be a challenge and coastal tiles shouldn't be handed out like candy IMHO. Besides if everyone starts by the coast, then what incentive is there for other play styles?
 
Top Bottom