BUG? Worldwide Strategic Resource Shortage

Sarkyn

Warlord
Joined
Oct 17, 2004
Messages
258
Location
Seytroux, France
Hi all!

On the suggestion of this forum (or was it in an in-game tip...) I tried the following:


- Raging Barbarians
- BarbarianCiv
- No other players
- Large map
- Epic speed

The idea was, I could set it up to a difficulty level harder than I am used to, set the game going and the opponents would eventually morph out of the barbarian cities around the world. The game would be long, and well, epic. The opponents plentiful.

I'd get a good head-start on them, but not by much and that's compensated for by the higher difficulty. What it would do would mean that I'd get to the end-game era in a reasonable position of dominances to then enjoy a healthy and long-slogging endgame war.

Now - the problem.

Resource quantity is specified in a few ways in Civ4BonusInfos

Snipping from the WIKi:

iConstAppearance = Percentage, once the number of bonus resources to place is calculated, it is mulitplied by this percentage. Note, once there are no more valid plots on the map, no more resources will be placed. If this value is set high, typically the iUnique value will limit the number of resources.

iPlayer = Approximate occurances per player, in percent (%), so 150 is about 1.5 per player.

iTilesPer = The fixed number of additional occurances per x tiles, so 120 would mean an additional occurance every 120 tiles existing on the map. Note, an additional random number of this resource is added by iRandApp1 through iRandApp4.

iMinLandPercent = If a resource can be on land and ocean, this is percantage that will be located on land.

iRandApp1-4 (4 tags) = Random number, from 0 to iRandApp1 of additional resources to place, also see multiple line tag Rands below.

The difficulty my mega-game came across was in STRATEGIC resources.

Because their appearance is constrained by the number of players, they appeared only ONCE each.

That's right - I had a large map, full of 14 semi-hostile ex-barbarian civilisations, and there was exactly:

1x Ivory
1x Horse
1x Sulphur
1x Salt (?)
1x Rubber
1x Oil

Needless to say, this created certain bottle-necks, the first of which was GLASS. Since there was only one salt, and it was half a world away on an obscure island with an underdeveloped Civilisation (America, as it happens), I had to declare war and move a small army (about 14 turns of Ocean voyage and 3 attempts as the first two fleets got sunk on the way), just to make a decent glass for my wine.

When the resource pattern repeated itself for Sulphur, I started to get curious.

That was when I realised that of all the 14+ civilisations (it keeps changing a lot with BarbCiv and Revolutions) only the English had cavalry of ANY kind, and only the American Indians had Elephant units of ANY kind.



So, is this "style" of play impossible, do you think?

Or do you think that there may be room to have a quick re-think of which tags above to use for Strategic resource placement, so as to lessen the PER-PLAYER effect, and make them sprinkle themselves around the world in a more fun fashion.

As it stands, the BarbCiv method isn't really playable. The bottlenecks take a lot of the fun out of it, as can you imagine playing an entire game without Cavalry of any kind? Or without Aluminium? Or having to Tech Rush to the Ethanol corporation to get around an Oil shortage? One or two of these in a game is a "Fun Challenge", but a game full of them ?


I'd love to hear what you think guys. It's only one XML file, and given enough hand-holding, if we can agree on HOW to solve the problem, I might rewrite the XML for you....
 
Further analysis, then.

Oil, which appeared once in a large map, is:

<iConstAppearance>100</iConstAppearance>
<Rands>
<iRandApp1>10</iRandApp1>
<iRandApp2>10</iRandApp2>
<iRandApp3>0</iRandApp3>
<iRandApp4>0</iRandApp4>
</Rands>
<iPlayer>150</iPlayer>
<iTilesPer>512</iTilesPer>
<iUnique>7</iUnique>

I read that as:

100% - always present.
1.5 appearances per player
10% chance (twice) of another appearing
1 additional resource per 512 tiles.

Seems very unlucky for me to have gotten only 1 on an ENTIRE large map. How many squares is a large map, anyway?

There's a fine line to be walked here. We want them to be rare enough to be worth fighting over, and yet not so rare that they're not worth fighting over... If you get my drift.
 
From Civ4-Wiki:

iConstAppearance = Percentage, once the number of bonus resources to place is calculated, it is mulitplied by this percentage. Note, once there are no more valid plots on the map, no more resources will be placed. If this value is set high, typically the iUnique value will limit the number of resources.

iRandApp1 = Random number, from 0 to iRandApp1 of additional resources to place, also see multiple line tag Rands below.
iRandApp2 = Random number, from 0 to iRandApp2 of additional resources to place, also see multiple line tag Rands below.
iRandApp3 = Random number, from 0 to iRandApp3 of additional resources to place, also see multiple line tag Rands below.
iRandApp4 = Random number, from 0 to iRandApp4 of additional resources to place, also see multiple line tag Rands below.

Rands = Contains integer tags iRandApp1, iRandApp2, iRandApp3, iRandApp4. Random number of additonal resources to place, in addition to the constant number specified by iPLayer and iTilesPer.

iPlayer = Approximate occurances per player, in percent (%), so 150 is about 1.5 per player.

iUnique = This is the range in tiles that this resource will be unique, all tiles within this radius are invalid for another resource. Note, there is also a unique field for each BonusClass (General:0, Grain:5, Livestock:5, Rush:4, Modern:4, Wonder:8), changing this value without changing the value in CIV4BonusClassInfos may not have the intended effect. In addition, no bonus resource can ever be directly adjacent to a differnt bonus resouce, unless overidden by the specific map script.

iTilesPer = The fixed number of additional occurances per x tiles, so 120 would mean an additional occurance every 120 tiles existing on the map. Note, an additional random number of this resource is added by iRandApp1 through iRandApp4.
 
What type of World is this on?

My current 2.7test2 game I started with 4AI and 6 continents, BarbCiv on, Huge, Epic.

The AI and I that shared the same continent didn't have horses but we both had Elephant. Horse was found on thee continent North of ours. But at no time has any resource so far been only 1 in the entire world. I got oil coming out my ears!

So I'm thinking something in your world choice , Like no other AI starting players, predicated your predicament. And is more of an aberration than the norm.

Strange mixes make for strange brews. ;)

JosEPh :)
 
@Agentus - thank for you the quote, it's from the same place as the one in the spoiler in my post, if I'm not mistaken. But thank you anyway :-)

@Joseph - Yes, that's exactly what I think is happening.

1 player = 1 of each, per-player resource.

My question is "Can you see an easy way we can fix it so that it works for these starts as well, or do I/We just accept that starting with BarbCiv and 1 player is 'broken' and never going to work?"
 
A bit of research....

IRON - appeared 5-6x

iConstantAppearance = 100
iPlayer = 100%
iRandApp1 = 10
iRandApp2 = 10
iRandApp3 = 0
iRandApp4 = 0
iTilesPer = 128
iUnique = 7

COPPER - appeared 3-4x

iConstantAppearance = 100
iPlayer = 50%
iRandApp1 = 10
iRandApp2 = 10
iRandApp3 = 0
iRandApp4 = 0
iTilesPer = 128
iUnique = 0

OIL - appeared 1x

iConstantAppearance = 100
iPlayer = 150%
iRandApp1 = 10
iRandApp2 = 10
iRandApp3 = 0
iRandApp4 = 0
iTilesPer = 512
iUnique = 7

SALT - appeared 1x

iConstantAppearance = 100
iPlayer = 100%
iRandApp1 = 25
iRandApp2 = 25
iRandApp3 = 0
iRandApp4 = 0
iTilesPer = 128
iUnique = 3

SULPHUR - appeared 1x

iConstantAppearance = 100
iPlayer = 150%
iRandApp1 = 10
iRandApp2 = 10
iRandApp3 = 0
iRandApp4 = 0
iTilesPer = 512
iUnique = 7

HORSE - appeared 1x

iConstantAppearance = 100
iPlayer = 100%
iRandApp1 = 10
iRandApp2 = 10
iRandApp3 = 0
iRandApp4 = 0
iTilesPer = 256
iUnique = 6

It would seem to imply that reliance too heavily on the "Per Player" attribute results in an unplayable BarbCiv scenario. Whereas a lower iTilesPer , as seen in both Copper and Iron, resulted in RARE but FINDABLE balance of strategic resources.

Without spending more time on it, I suggest that changing all the strategic resources to rely more heavily on the iTilesPer for their distribution would result in more realistic and playable spread.

The iRandApp is literally, too random to rely upon with any certainty, and the fact that iUnique varies so much leads me to think it's having very little effect on a normal distribution, except as an upper limit.

In my humble opinion, Salt shouldn't be THAT hard to find. It's not like even in the ancient world, they had difficulty with finding or harvesting it. It's also an unreasonable bottleneck with glass if it can't be found.

I'll tweak some numbers before my next game (sorry, but no idea when that will be) and if the resource redistribution works out, I'll share the xml here in case Zappara wants to use it in the main mod...
 
Honestly, I think there must be something wrong with the mapscript/on map generation. Because you basically rolled a 0 on an 11-sided-dice twice for each of the ressources you only got 1 of. And that is pretty unlikely. The iRandApp values should always produce at least a few of each of those ressources if I understand it correctly.
 
Rolling a 1 how many times constitutes an unplayable game?

Opening the map in the world-builder, I find exactly:

2x Horse
2x Oil

Not as bad as I thought.

But on a LARGE map, that's not a lot.

In real terms, it means 2 empires out of 15-20 have any cavalry of any kind.

It then means that 2 empires out of 15-20 have oil-based units of any kind (without taking ethanol corp into consideration).

Then there's the other shortages:

BAUXITE -1
SULPHUR 1
COAL 1
SALT - 1
RUBBER -1
URANIUM - 1

And other shortages:

MARBLE - 1
SILVER -1
WHALE 1
GEMS 1
TOBACCO 1
COFFEE 1
DYE -1
SILK -1
COTTON - 1
POTATO - 1
OLIVE -1
LEMON - 1
HEMP - 1
SPICES - 1
SUGAR -1
TEMPLE -1

How many times do I need to roll 1 before a map with this resource configuration makes for a "not fun" game?

So I'm going to take the xml to bits and put it back together again, then run a few test map generations and see what I can make of it :)
 
Back
Top Bottom