Page 1 of 1

Startpos has been adjusted from "One player per continent" (SINGLE) to "Two or three players per continent"

Posted: Sun Apr 23, 2023 11:27 am
by omero
Hello, it's me again... That v2.6 relic fanboy!

I fancy playing with islands, single player, sometimes with up to 21 AI opponents and this has been bugging me since... Forever. Ideally I'd like to have the generator create a number of islands, one per player, reasonably sized, spread around in the ocean.

It mostly works, but alas... I often see that dreaded message appearing, where instead of a single player per continent, 2 or more have been set to start in the same (quite often tiny) island.

After running a number of 'autogames', to my surprise, i noticed that the generated world often has indeed a number of small/medium island but also HUGE ones!
What is funny is that most players end up crammed in the small/medium islands and the above average continents are.... Completely neglected.

What's trick to use in order to consistently get that 'magic' one player per continent ideal situation?


This is what I have used for my 'autogames' tests:

Code: Select all

[10:25:17] /read: ------------------------------------------------------------------------------
[10:25:17] /read: All options with non-default values
[10:25:17] /read: ------------------------------------------------------------------------------
[10:25:17] /read: In the column '##' the status of the option is shown:
[10:25:17] /read:  - a '!' means the option is locked by the ruleset.
[10:25:17] /read:  - a '+' means you may change the option.
[10:25:17] /read:  - a '~' means that option follows default value.
[10:25:17] /read:  - a '=' means the value is same as default.
[10:25:17] /read: ------------------------------------------------------------------------------
[10:25:17] /read: Option                    ## value (min, max)
[10:25:17] /read: ------------------------------------------------------------------------------
[10:25:17] /read: aifill                    +  3 (0, 150)
[10:25:17] /read: citymindist               +  5 (1, 11)
[10:25:17] /read: ec_info                   +  enabled
[10:25:17] /read: ec_max_size               +  100 (10, 20000)
[10:25:17] /read: ec_turns                  +  9 (0, 32768)
[10:25:17] /read: endturn                   +  30 (0, 32767)
[10:25:17] /read: foggedborders             +  enabled
[10:25:17] /read: generator                 +  "Pseudo-fractal height" (FRACTAL)
[10:25:17] /read: huts                      +  100 (0, 500)
[10:25:17] /read: landmass                  +  35 (15, 85)
[10:25:17] /read: mapsize                   +  "Tiles per player" (PLAYER)
[10:25:17] /read: maxplayers                +  21 (1, 150)
[10:25:17] /read: mgr_distance              +  3 (-5, 6)
[10:25:17] /read: mgr_nationchance          +  75 (0, 100)
[10:25:17] /read: mgr_worldchance           +  25 (0, 100)
[10:25:17] /read: migration                 +  enabled
[10:25:17] /read: minplayers                +  0 (0, 150)
[10:25:17] /read: nationset                 +  "all"
[10:25:17] /read: onsetbarbs                +  100 (0, 32767)
[10:25:17] /read: size                      +  12 (0, 2048)
[10:25:17] /read: specials                  +  150 (0, 1000)
[10:25:17] /read: startpos                  +  "One player per continent" (SINGLE)
[10:25:17] /read: steepness                 +  10 (0, 100)
[10:25:17] /read: techlost_donor            +  3 (0, 100)
[10:25:17] /read: techlost_recv             +  3 (0, 100)
[10:25:17] /read: temperature               +  40 (0, 100)
[10:25:17] /read: tilesperplayer            +  500 (1, 1000)
[10:25:17] /read: timeout                   +  -1 (-1, 8639999)
[10:25:17] /read: victories                 +  "Spacerace", "Allied victory", and
[10:25:17] /read:                              "Culture victory"
[10:25:17] /read:                              (SPACERACE|ALLIED|CULTURE)
[10:25:17] /read: wetness                   +  60 (0, 100)
[10:25:17] /read: xsize                     +  96 (16, 128000)
[10:25:17] /read: ysize                     +  128 (16, 128000)
[10:25:17] /read: ------------------------------------------------------------------------------


An excerpt from one 'autogame' logs:

Code: Select all

3: in assign_continent_numbers() [utilities.c::488]: Map has 14 continents and 7 oceans
3: in create_start_positions() [startpos.c::476]: starters on isle 1
3: in create_start_positions() [startpos.c::476]: starters on isle 4
3: in create_start_positions() [startpos.c::476]: starters on isle 7
2: in create_start_positions() [startpos.c::494]: The server appears to have gotten into an infinite loop in the allocation of starting positions.
Maybe the number of players is too high for this map.
2: The server appears to have gotten into an infinite loop in the allocation of starting positions.
Maybe the number of players is too high for this map.
3: in map_fractal_generate() [mapgen.c::1430]: Falling back to startpos=2or3
3: in create_start_positions() [startpos.c::476]: starters on isle 9
3: in print_mapgen_map() [mapgen.c::1208]: map settings:
3: in print_mapgen_map() [mapgen.c::1209]:   mountain_pct         :          6%
3: in print_mapgen_map() [mapgen.c::1210]:   desert_pct           :          6%
3: in print_mapgen_map() [mapgen.c::1211]:   forest_pct           :         25%
3: in print_mapgen_map() [mapgen.c::1212]:   jungle_pct           :          1%
3: in print_mapgen_map() [mapgen.c::1213]:   swamp_pct            :          8%
3: in print_mapgen_map() [mapgen.c::1215]: map statistics:
3: in print_mapgen_map() [mapgen.c::1232]:   Inaccessible         :      0   0.0% (land:    0.0%)
3: in print_mapgen_map() [mapgen.c::1224]:   Lake                 :      9   0.2% (ocean:   0.4%)
3: in print_mapgen_map() [mapgen.c::1224]:   Ocean                :   1297  33.4% (ocean:  63.1%)
3: in print_mapgen_map() [mapgen.c::1224]:   Deep Ocean           :    751  19.3% (ocean:  36.5%)
3: in print_mapgen_map() [mapgen.c::1232]:   Glacier              :    566  14.6% (land:   30.9%)
3: in print_mapgen_map() [mapgen.c::1232]:   Desert               :    105   2.7% (land:    5.7%)
3: in print_mapgen_map() [mapgen.c::1232]:   Forest               :    446  11.5% (land:   24.4%)
3: in print_mapgen_map() [mapgen.c::1232]:   Grassland            :    166   4.3% (land:    9.1%)
3: in print_mapgen_map() [mapgen.c::1232]:   Hills                :    108   2.8% (land:    5.9%)
3: in print_mapgen_map() [mapgen.c::1232]:   Jungle               :     16   0.4% (land:    0.9%)
3: in print_mapgen_map() [mapgen.c::1232]:   Mountains            :     81   2.1% (land:    4.4%)
3: in print_mapgen_map() [mapgen.c::1232]:   Plains               :    169   4.3% (land:    9.2%)
3: in print_mapgen_map() [mapgen.c::1232]:   Swamp                :    146   3.8% (land:    8.0%)
3: in print_mapgen_map() [mapgen.c::1232]:   Tundra               :     28   0.7% (land:    1.5%)
3: in send_packet_data() [packets.c::215]: sending packet type=PACKET_CHAT_MSG(25) len=152 to omero
2: in srv_ready() [srv_main.c::3178]: Setting 'startpos' has been adjusted from "One player per continent" (SINGLE) to "Two or three players per continent" (2or3).
2: Setting 'startpos' has been adjusted from "One player per continent" (SINGLE) to "Two or three players per continent" (2or3).
I'm at a loss understanding how 14 continents (whatever size) are not enough to accomodate 3 players and an observer :?

ADDENDUM: I wouldn't mind at all when 2or3 players ended up sharing the huge continent, but i don't understand when instead one gets to share a mini-island while there's plenty of land elsewhere :P