Gedemon / Civ6-YnAMP

Yet (not) Another Maps Pack for Civilization VI
185 stars 122 forks source link

[Terra Map Script] Strategic resource amount are too low #127

Open 1e00 opened 4 years ago

1e00 commented 4 years ago

Hello Gademon, Terra script map generating amazing maps, but looks like strategic resources are not scaling properly to map size and amount of resources are way too low (amount not changing with amount of players, same for 12 or 42) I made few test and compare it to GreatestEarthMap, here is comparison for Oil: Small 84x44:

Map Script: Resource = RESOURCE_OIL placed = 21 (1.4610074775030f land) frequency = 10 ratio = 15

Standard 96x50:

Map Script: Resource = RESOURCE_OIL placed = 24 (1.2710074775030f land) frequency = 10 ratio = 13

Large 108x56:

Map Script: Resource = RESOURCE_OIL placed = 29 (1.2410074775030f land) frequency = 10 ratio = 12

Huge 120x62:

Map Script: Resource = RESOURCE_OIL placed = 34 (1.1910074775030f land) frequency = 10 ratio = 12

Reference GreatestEarthMap 104x64:

Map Script: Resource = RESOURCE_OIL placed = 45 (1.5310074775030f land) frequency = 10 ratio = 15

As you can see the step for map size is around ~5. I used GreatestEarthMap because for me amount of resources are fine on this map. Also you can check how maps looks like, for example in both Americas there is no Oil on water (Oil on water looks is very rare on this script).

Same situation is for all strategic resources except Uranium which is to high (Gandhi like that : )).

Problem is for late game when on large/huge map sizes everyone has big armies and upkeep that with available resources are impossible. Please check attached logs and let me know if I can help in any way. Lua_large_42_players_standard_resources.log Lua_small_42_players_standard_resources.log Lua_standard_42_players_standard_resources.log Lua_GreatestEarthMap_42_standard_resource.log Lua_huge_12_players_standard_resources.log Lua_huge_42_players_standard_resources.log

Gedemon commented 4 years ago

thanks for the report, will do some tests, not sure if it can be easily fixed as both use the same placement method IIRC, could be linked to difference in generated terrain/features type ratio and the default resources limitations by terrain/features.

1e00 commented 4 years ago

Thanks! If they used same placement method, why is so big difference for Oil on water? As I mention in report, both Americas don't have Oil on coast at all, but on GreatestEarthMap there is plenty on Mexican gulf for example, maybe here is some clue?

1e00 commented 4 years ago

Some luxuries resources has very big ratio compare to other, Diamonds/Marbles have 2-3x ratio than other resources on every map size. Diamonds are hill resource, maybe its overtake space for some strategic?

Map Script: Resource = RESOURCE_DIAMONDS placed = 14 (0.4810074775030f land) frequency = 2 ratio = 24 Map Script: Resource = RESOURCE_DIAMONDS placed = 14 (0.9710074775030f land) frequency = 2 ratio = 49 Map Script: Resource = RESOURCE_DIAMONDS placed = 13 (0.6910074775030f land) frequency = 2 ratio = 35 Map Script: Resource = RESOURCE_DIAMONDS placed = 23 (0.810074775030f land) frequency = 2 ratio = 40 Map Script: Resource = RESOURCE_DIAMONDS placed = 28 (1.210074775030f land) frequency = 2 ratio = 60 Map Script: Resource = RESOURCE_DIAMONDS placed = 17 (0.5910074775030f land) frequency = 2 ratio = 30 Map Script: Resource = RESOURCE_DIAMONDS placed = 16 (0.5610074775030f land) frequency = 2 ratio = 28

For reference Salt resource

Map Script: Resource = RESOURCE_SALT placed = 0 (0.0010074775030f land) frequency = 2 ratio = 0.00 Map Script: Resource = RESOURCE_SALT placed = 0 (0.0010074775030f land) frequency = 2 ratio = 0.00 Map Script: Resource = RESOURCE_SALT placed = 11 (0.5810074775030f land) frequency = 2 ratio = 29 Map Script: Resource = RESOURCE_SALT placed = 1 (0.0310074775030f land) frequency = 2 ratio = 2 Map Script: Resource = RESOURCE_SALT placed = 0 (0.0010074775030f land) frequency = 2 ratio = 0.00 Map Script: Resource = RESOURCE_SALT placed = 0 (0.0010074775030f land) frequency = 2 ratio = 0.00 Map Script: Resource = RESOURCE_SALT placed = 1 (0.0310074775030f land) frequency = 2 ratio = 2

1e00 commented 4 years ago

Adding for reference. Here is test result with TSL Remastered https://steamcommunity.com/sharedfiles/filedetails/?id=1290583081 (Random resources placement) which is based on your mod. TSLR code changing a bit rules for resources generation.

The result is even lower than in Terra:

Map Script: Resource = RESOURCE_BANANAS placed = 24 (1.1310074775030f land) frequency = 4 ratio = 28 Map Script: Resource = RESOURCE_CATTLE placed = 37 (1.7410074775030f land) frequency = 6 ratio = 29 Map Script: Resource = RESOURCE_COPPER placed = 22 (1.0310074775030f land) frequency = 4 ratio = 26 Map Script: Resource = RESOURCE_DEER placed = 23 (1.0810074775030f land) frequency = 4 ratio = 27 Map Script: Resource = RESOURCE_RICE placed = 36 (1.6910074775030f land) frequency = 6 ratio = 28 Map Script: Resource = RESOURCE_SHEEP placed = 31 (1.4610074775030f land) frequency = 4 ratio = 37 Map Script: Resource = RESOURCE_STONE placed = 57 (2.6810074775030f land) frequency = 10 ratio = 27 Map Script: Resource = RESOURCE_WHEAT placed = 58 (2.7310074775030f land) frequency = 10 ratio = 27 Map Script: Resource = RESOURCE_CITRUS placed = 5 (0.2410074775030f land) frequency = 2 ratio = 12 Map Script: Resource = RESOURCE_COCOA placed = 4 (0.1910074775030f land) frequency = 2 ratio = 10 Map Script: Resource = RESOURCE_COFFEE placed = 4 (0.1910074775030f land) frequency = 2 ratio = 10 Map Script: Resource = RESOURCE_COTTON placed = 1 (0.0510074775030f land) frequency = 2 ratio = 3 Map Script: Resource = RESOURCE_DIAMONDS placed = 1 (0.0510074775030f land) frequency = 2 ratio = 3 Map Script: Resource = RESOURCE_DYES placed = 2 (0.0910074775030f land) frequency = 2 ratio = 5 Map Script: Resource = RESOURCE_FURS placed = 5 (0.2410074775030f land) frequency = 2 ratio = 12 Map Script: Resource = RESOURCE_GYPSUM placed = 7 (0.3310074775030f land) frequency = 2 ratio = 17 Map Script: Resource = RESOURCE_INCENSE placed = 5 (0.2410074775030f land) frequency = 2 ratio = 12 Map Script: Resource = RESOURCE_IVORY placed = 2 (0.0910074775030f land) frequency = 2 ratio = 5 Map Script: Resource = RESOURCE_JADE placed = 4 (0.1910074775030f land) frequency = 2 ratio = 10 Map Script: Resource = RESOURCE_MARBLE placed = 7 (0.3310074775030f land) frequency = 2 ratio = 17 Map Script: Resource = RESOURCE_MERCURY placed = 5 (0.2410074775030f land) frequency = 2 ratio = 12 Map Script: Resource = RESOURCE_SALT placed = 2 (0.0910074775030f land) frequency = 2 ratio = 5 Map Script: Resource = RESOURCE_SILK placed = 5 (0.2410074775030f land) frequency = 2 ratio = 12 Map Script: Resource = RESOURCE_SILVER placed = 1 (0.0510074775030f land) frequency = 2 ratio = 3 Map Script: Resource = RESOURCE_SPICES placed = 1 (0.0510074775030f land) frequency = 2 ratio = 3 Map Script: Resource = RESOURCE_SUGAR placed = 2 (0.0910074775030f land) frequency = 2 ratio = 5 Map Script: Resource = RESOURCE_TEA placed = 5 (0.2410074775030f land) frequency = 2 ratio = 12 Map Script: Resource = RESOURCE_TOBACCO placed = 7 (0.3310074775030f land) frequency = 2 ratio = 17 Map Script: Resource = RESOURCE_TRUFFLES placed = 5 (0.2410074775030f land) frequency = 2 ratio = 12 Map Script: Resource = RESOURCE_WINE placed = 7 (0.3310074775030f land) frequency = 2 ratio = 17 Map Script: Resource = RESOURCE_ALUMINUM placed = 8 (0.3810074775030f land) frequency = 7 ratio = 5 Map Script: Resource = RESOURCE_COAL placed = 9 (0.4210074775030f land) frequency = 10 ratio = 4 Map Script: Resource = RESOURCE_HORSES placed = 13 (0.6110074775030f land) frequency = 11 ratio = 6 Map Script: Resource = RESOURCE_IRON placed = 9 (0.4210074775030f land) frequency = 10 ratio = 4 Map Script: Resource = RESOURCE_NITER placed = 9 (0.4210074775030f land) frequency = 10 ratio = 4 Map Script: Resource = RESOURCE_OIL placed = 21 (0.9910074775030f land) frequency = 10 ratio = 10 Map Script: Resource = RESOURCE_URANIUM placed = 9 (0.4210074775030f land) frequency = 5 ratio = 8 Map Script: Resource = RESOURCE_AMBER placed = 4 (0.1910074775030f land) frequency = 2 ratio = 10 Map Script: Resource = RESOURCE_OLIVES placed = 5 (0.2410074775030f land) frequency = 2 ratio = 12 Map Script: Resource = RESOURCE_GOLD placed = 2 (0.0910074775030f land) frequency = 4 ratio = 2

Lua_tsl_rematered_42_standard resources.log

1e00 commented 3 years ago

Hi @Gedemon and @seelingcat , any update in this issue?: ) Is there any way I can help with that? Can you point or give any clue in which functions I can try change resource generation for terra maps?