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

Various topics about the game, the website, or anything else Freeciv related that doesn't fit elsewhere.
Post Reply
omero
Posts: 48
Joined: Fri Mar 31, 2023 10:43 am

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

Post 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
Post Reply