Discussion in 'Civ4 - Rise of Mankind' started by tejon, Dec 26, 2009.
Great, this is a feature of my Better RoM modmod! I'll be sure to update it pronto.
From my tests it looks like map size is the limiting factor - there's just not enough available plots to place lot of all resources and since luxury resources are placed last, they have the least available plots during map generation. This just verifies the fact that I shouldn't add anymore resources to the mod (at least not resources that appear in nature).
Okay... this is a complete rebuild. Every single resource has been adjusted, so I'm not going to give a complete point-by-point.
One very major change is that nothing is placed according to the number of players in the game. It's all relative to the number of available plots. This helps immensely in guaranteeing good distribution and avoiding the "map is full" issue, though it seems the map generation script also affects this. The downside is that if you start a game on a Standard map with 15 civs, there won't be enough of certain essential resources to go around. (This may not actually be a downside, depending on how you like your games to run.)
I categorized all of the resources, and depending on their importance, gave them distributions that should guarantee enough (or in certain cases, more than enough) to comfortably provide for a standard number of civs on that map size, and uncomfortably provide for about 50% more. Primary testing was done with the PerfectWorld2 map on Standard size, standardized to 7 civs. I initially wanted to make everything work with the Tectonics Terra map, or at least vanilla-Terra or Earth2, but without having looked into it too far, it seems the scripts for all of those maps prevent two resources from being placed adjacent, which effectively quarters the available plots! There's just no resolution to this at standard size, though they might work better if you use larger maps; on the upside, you should at least get all the important infrastructure resources even on those maps.
While I had been trying to edit only distributions, I finally caved on one thing to create a good overall spread: whales now provide health, and never become obsolete. The reason is, lemons and bananas are both tropical/subtropical, and I wanted an arctic/subarctic counterpart. To complement this, I recommend editing Assets\XML\Units\Civ4BuildInfos.xml and changing the tech requirement for whaling boats from TECH_OPTICS to TECH_SEAFARING -- this is probably more realistic anyway! Since I'd already broken the rule, I also changed clams (but not pearls) to be visible without Fishing.
The general distribution categories follow. There are some finer points, but this is what's relevant to general gameplay. Note that I also reorganized the file itself with this same structure, for the benefit of anyone who wants to read or edit it.
Staple Foods: Corn, Potato, Rice, Wheat; Cow, Deer, Pig, Sheep; Clam, Crab, Fish, Shrimp.
Plentiful, and these are now the only bonuses which will be used to normalize the quality of starting zones.
Supplemental Foods: Apple, Banana, Lemon, Whale.
About enough of each to supply half of a standard count of civs, i.e. 3 or 4 on a Standard-sized map.
Essential Infrastructure: Coal, Iron, Oil, Sulphur, Uranium
A civ without these is probably going to be crushed. There should be a 50% surplus relative to the normal civ count; 10 or 11 on a Standard map.
Priority Infrastructure: Bauxite, Copper, Horse, Ivory, Obsidian, Rubber.
Each of these should be plentiful enough for a standard civ count to get 1 each. Note that they're actually three pairs: Bauxite/Rubber, Copper/Obsidian, Horse/Ivory. Having one of each pair is essential, but you don't need both.
Supplemental Infrastructure: Lead, Marble, Salt, Stone.
Everyone wants these, but nobody really needs them. Similar frequency to the supplemental foods.
Ancient Luxuries: Fur, Gems, Gold, Olives, Gems, Pearls, Silver, Wine
These are available before Calendar, and are given priority over other luxuries. Because they are lower priority than the infrastructure items the frequencies vary; in general, gems and gold will be the rarest of anything listed so far, while the others will usually lie somewhere between "supplemental" and "priority" infrastructure distributions.
Non-Ancient Luxuries: Everything else.
These are all rare like gold and gems. On a "good" map generator like PerfectWorld2, there will always be at least one, maybe as many as three (more for big maps, of course). On a "bad" generator like Terra, they may not appear at all. If anyone has some insight as to what the actual difference is between the generation scripts, by the way, I'd love to hear it.
can we just put this mod in modul, when ROM 2.81 + AND 1.64 is installed ?
Yes -- it replaces the existing Assets\XML\Terrain\Civ4BonusInfos.xml under your Rise of Mankind mod folder. Back up the old copy, of course!
In RoM or AND Salt is essential with stone slightly less so. Without salt many of the food buildings are rendered to "after thoughts" status. Again Stone to a somewhat lesser degree.
Health giving structures and resources have taken massive hits in the latest iterations of the Mod and ModMod. Unhealthiness is the norm and intense efforts are required to have healthy pop. I find that as soon as I discover a Salt resource ALL my expansion efforts are focused on getting it asap. If not found and other AI have it then I find myself at a severe disadvantage.
Otherwise very good stuff!
Fortuantly, I have added a bunch of new considerations for the AI valuing resources. I just noticed today that they didn't seem to have a big effect, and found that at the end of the valuation all the values were divided by ten, so the AI would barely value 1 new happiness, and wouldn't value 1 new health at all (due to int's truncating). I just adjusted them all up by a factor of ten. Expect fun land wars over some of those resources now.
It is extremely desirable. You want it. You will kill to get it. That doesn't make it essential by the definition I'm using here. If you don't have iron, you can't build the troops to take iron from your neighbor; that's what essential means. If you don't have it, you just lose.
I made salt scarce because everyone wants it badly, but not having it doesn't prevent you from getting it. It's something to defend fiercely, or start a war to obtain!
Okay. To each his own.
Hmm... so it looks like the difference between "good" maps and "bad" maps, in this case, is that the "good" maps override default resource placement.
Unfortunately, I think that means I need to return to Ye Drawing Board. Latest upload is good for use with PerfectWorld and probably Full Of Resources maps (though those do other things that I don't like so much). Next time I get the itch to stare at XML for two days straight, I'll see if I can figure out something for all the rest!
This is actually accurate as wars were fought over salt and empire rose and collapsed because of it
You should probably add Silk to Ancient luxuries, since you can build a Silk Farm at Trade in RoM.
Eureka! The problem wasn't entirely what I thought it was. There seems to be an issue with too many of one category of resource. As far as I can tell, the categories (e.g. grain, livestock, fuel) only set a default for how the AI values a resource, and this can be (and often is) overridden on an individual basis. The order that they're listed in the file also sets the priority of a given resource within its category. By shuffling some things around, I think I've got everything working as intended on all maps!
Everything but staple foods is back to scaling by number of players. With too many players on a map, some of the post-ancient luxuries may dwindle or vanish, but everything else (including the ancient luxuries) seems to be scaling well, with a reasonable number of civs.
Other stuff: only corn, potato, rice and wheat will be used to improve starting plots; silk has been increased in quantity and priority because it's available to ancient civs. (Good catch, kabooki!)
Afforess, I'm confident in this version if you want to roll it into AND.
Great. One thing I always hated way how much lead spawned. Did you tweak that? If not, I will...
Yeah, lead's way down. Most resources are now a fixed ratio to the number of players, with a little random noise.
Abundant, roughly φ*p (162% of player count) -
Coal, Iron, Oil, Sulphur, Uranium
Common, roughly p (100% of player count) -
Bauxite, Copper, Horse, Ivory, Obsidian, Rubber, Olives, Pearls, Silver, Wine
Uncommon, roughly p/φ (62% of player count) -
Apple, Banana, Lemon, Whale, Lead, Marble, Salt, Stone, Fur, Gems, Gold, Silk, Dye, Spices, Incense
Rare, roughly p/φ2 (38% of player count) -
Cannabis, Coffee, Cotton, Sugar, Tea, Tobacco
Very rare, roughly p/φ3 (24% of player count) -
Staple foods, methane and thermal vents flush out the remainder of the map after everything else is placed.
why is it like 5-6 of the same ressoources in groupe ?
since you mod resources, I would like to ask couple of questions in that matter, if you don't mind. I tried to modify some bonuses on my own, but still have some doubts. I visited Modiki and got all the info before I started to do anything, of course.
1. How do you EXACTLY increase the quantity of resource on the map? Modiki says:
iPlacementOrder states for how many of the resource are placed on the map, (-1 places none, higher numbers place more). As far as I know English, I hardly believe it is true. As I noticed, this factor states for relative appearance on the map. For example if apples have 4, and lead 2 it means that apples should appear twice as much as lead on the map, but it doesn't say how many apples we will have. Am I right?
2. I see that there are some indicators (Integers) which should be responsible for frequency of certain resource. Since there are couple of them, I would like to know how the game decides on this matter. For example: you have iPlayer and iTilesPer. If you put very high numbers in both, that makes mixed information, I guess? I'm confused, since iTilesPer says it is responsible for additional occurances. Does it mean, IPlayer gives you "standard" occurance, and iTilesPer - some more extra?
3. Does the low number of iConstAppearance mean, that there is a chance that i.e. no alluminum will be placed on the map AT ALL??
4. Do you have any idea where to find indicator for the number of goody huts? Where it is decided what percentage of them goes for gold, warriors, scouts, techs and maps? Why I don't get either settlers or workers from goody huts any more in AND? I found Civ4GoodyInfo in the Assets\XML\GameInfo area, but it is rather more like description.....
This is actually an intended behavior which wasn't always working correctly before. Every resource has a "group chance" setting, which causes that effect. Most of them are unchanged, but my adjustments have apparently allowed those settings to take effect when they previously couldn't. It's something I'm keeping an eye on, and if it looks like it's happening too frequently I may adjust those, but there are arguments in favor of allowing this: it makes nations prone to having a surplus of one resource and not enough of another, which strongly encourages resource trading, something that didn't happen too often before in my experience. Since resource trading encourages peace, it adds a nice spin to politics.
Szemek77, according to this source, a higher number for iPlacementOrder causes the resource to usually be put farther away from starting areas, but I haven't done enough experimentation to know for sure. It definitely does not affect how much of the resource is put on the map, and a higher or lower number doesn't affect whether it's affected by the "no more room" bug.
To control how many of a resource are placed, use these settings:
iPlayer is a percentage of the number of players. So iPlayer=100 means 1 per player, iPlayer=50 equals 1 per 2 players, etc. There's a little randomness, so you don't get exactly the same amount every time but it's pretty close.
iTilesPer means for every X tiles on the map where this resource could go, place one. iTilesPer=16 means one for every 16 tiles, so smaller numbers place more of a resource. It only counts tiles that are available for the resource: they have to have the right terrain types, and not already have a higher-priority resource in them. So if you're putting something in jungle tiles (limited number, already contain a lot of resources) you'll see a completely different result from this than if you're putting something in the ocean (lots of spaces, not much there).
iConstAppearance is a percentage which multiplies the two above. So if your iTilesPer setting says there should be 25 of a resource, and iConstAppearance=40, there will actually be (25 * 0.40) = 10 of them. Since I never used both iPlayer and iTilesPer on any resources, I prefer setting iPlayer to 100 and using iConstAppearance to control quantity; but I think it works either way.
bNormalize sets whether or not starting plots will be "enriched" with this resource, which happens after the other placement is finished. There's no fine-tuning here, it's either on or off, and the game tends to go a little crazy sometimes, picking the same resource for everyone on the map. I once accidentally set this for stone, and wound up with something like 30 stone, all next to starting cities! It will obey most terrain type and latitude restrictions, but might ignore settings like "no flatlands."
thanks Tejon !
I have read through this thread and it seems pretty on to it. There are a couple of things that I would maybe suggest.
I do think that you should put sugar back onto grass hills. You should see some of the slopes that I have seen cane grown on in China. They grow it on nearly 45 degree slopes.
Also I think that with the metals there should be associations between some of them. Gold and silver are very commonly found in that same deposit. Similarly Uranium and copper are often found together. Is it possible in the game for different resources to be made to have a higher chance of occurrence if another resource is present?
Also while this probably isn't in the scope of what you are doing I think that the rarity of salt in modern times is somewhat unrealistic. Sure in ancient times access to salt deposits was crucial but these days I am sure most salt is obtained from the ocean. Maybe a national wonder could be done similar to aluminium and rubber?
Separate names with a comma.