fairland: Try harder to deliver the requested amount of land

Planned island sizes are random with an expected value that matches
the average size requested by the user.  Can be off quite a bit when
the number of islands is small.  Also, actual island size can be
smaller than planned size when space is tight.

Instead of picking random island sizes independently, pick a random
split of their requested total size.

To reduce the probability of islands not growing to their planned
size, grow large islands before smaller ones.

To compensate for inability to grow, carry the difference over to the
next island size.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
Markus Armbruster 2020-08-11 17:58:23 +02:00
parent 696d31460c
commit 56c014806e
10 changed files with 3940 additions and 3913 deletions

View file

@ -15,41 +15,41 @@ World dimensions: 64x32
seed is 1
placing capitals...
growing continents...
growing islands: 1(6) 2(6) 3(6) 4(9) 5(9) 6(9) 7(4) 8(4) 9(4) 10(9) 11(9) 12(9) 13(11) 14(11) 15(11)
growing islands: 1(14) 2(14) 3(14) 4(12) 5(12) 6(12) 7(11) 8(11) 9(11) 10(8) 11(8) 12(8) 13(5) 14(5) 15(5)
elevating land...
writing to sectors file...
. . . . . % . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . % % . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . % % % . . # . . . . . . . % . . . . . . . . . . . . . .
. . . % % % . # # # . # . . . . . % . . . . % % % . . . . . . .
. . . . % % . # c c # # . . . . % % % . . . % % % % . . . . . .
. . . . . . . # # # # # . . . % % % . . . . % % . . . . . . . .
% . . . . . . . # # # # . % % . % . . . . . . % . % % % . . . %
. . . . . . . # # # # . % % % . . . . . . . % . % % % . . . % %
. . . . . . . . # # # # . % . . . . . . . . . . . % % . . . . .
. . . . . . . . # # . . . . . . . . . . . . . . . % . . . . . .
% . . % % % . . . . % % % % . . . . . . . . . . . . . . % % . .
. . . . . . . . . . % % % . . . . . . . . . . . . . . . . . . .
. . . . . . . . . # . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . % % . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . % % % . . . . . . . # . . . . . . . . . . . .
. . . . . . . . % % % . . . . . . . # # # . . . . . . . . . . .
. . . . . . . . . . % . . . . . . . . # # # . . . . . . . . . .
. . . . . . . # # # . # . . . . . . . . . . . . . . . . . . . .
. . . . . . . # c c # # . . . . . . . . . . . . . . . . . . . .
. . . . % % . # # # # # . % % . . . . . . . . . . . . . . . . .
. . . . % % % . # # # # . % % % . . . . . . . . . . . . . . . .
. . . . % % . # # # # . % % % % . . % % % . . . . . . . . . . .
. % % . % % % . # # # # . % % % . . % % % % . . . . . . . . . .
% % % . % . . . # # . . % % . . . . . % . . . . . . . . . % % .
. . % % . . . . . # . . . . . . . . . . . . . . . . . . . . % %
. . . % . . . . . . . . . . . . . . . . . . . . . . . . . % % %
% . . . . . . . . . . . . . . . . . . # . . . . . . . . . % % %
. . . . . . . . . . . . . . . . . . # # # . . . . . . . . % . .
. . . . . . . . . . . . . . . . . . . # # # . . . . . . . . . .
. . . . . . . . . . . . . . . . . . # # # # . . . . . . . . . .
. . . . . . . . . . . . . . . . . . # # # # # . . . . . . . . .
. . . . . . . . . . . . . . . . . # # a a . . . . . . . . . . .
. . # # . # . . . % % % . . . . . # # # # # . . . . . . . . . .
. # # # # # # . % % % % . . . . . # # # # . . . . . . . . . . .
. # # # b b # . % % % % . . . . . . # . . . . . . . . . . . . .
. # # # # # . . . . . . . . . . . . . . . . . . . . . . . % . .
. # # # # # # . . % % % % . . . . % % . . . . . . . . . . % % .
. . . # # # . . . % % % . . . . . % % . . . % % . . . . . % . .
. % % . # . . . . . % % . . . . . . . . . . % % % % . . . . . .
. % % . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . % % . . . . . . . . . . . . . . . % % . . . . . . . . . . .
. % % % . . . . . . . . . . . . . . . % % % . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . % % % % . . . . . . . . .
% % % . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. % % . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . # # . # . . . . . . . . . . . # # # # # . . . . . . . . . .
. # # # # # # . . . . . . . . . . # # # # . . . . . . . . . . .
. # # # b b # . . . . . . . . . . . # . . . . . . . . . . % . .
. # # # # # . . . . . . . . . . . . . . . . . . . . . . % % . .
. # # # # # # . . . . . . . . . % % % . . . . . . . . . . % % %
. . . # # # . . . . . . . . . % % % % . . . . . % . . . . % % .
. . . . # . . . . . . . . . . % % % % . . . . . % % . . . . . .
. . . . . . . . . % % . . . . % % % . . . . . . % % . . . . . .
. . . . . . . . . % % % . . . . . . . % . . . % . . . . . . . .
. . % . . . . . . . . . . . . . % % % % . . % % % . . . . . . .
% % % . . . . . . . . . . . . . . % % % % . % % % % . . . . . .
% % % % . . . . . . . . . . . . . . % % % . % % % . . . % % . .
% % % . . . . . . . . % % . . . . . . . . . . . . . . . % % % .
% % . % % . . . . . % % % . . . . . . . . . . . . . . % % % % .
A script for adding all the countries can be found in "sandbox/no-spike-newcap_script".

File diff suppressed because it is too large Load diff

View file

@ -21,27 +21,27 @@ writing to sectors file...
. . . . . . . . . . . . . . . . . . . # # # # # . . . . . . . .
. . . . . . . . . . . . . . . . . . . # # . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . # # . . . . . . . . . . .
. . . . # # # . . . . . . . . % % % . . . . . . . . . . . . . .
. . . . # # # # . . . . . . . % % % % % % . . . . . . . . . . .
. . . # # e e # # . . . . . . % % % % % % . . . . . . . . . . .
. . . . . . . . . . . . . . . . % % . # # . . . . . . . . . . .
. . . . # # # . . . . . . . % % % % . . . . . . . . . . . . . .
. . . . # # # # . . . . . . . % % % % % . . . . . . . . . . . .
. . . # # e e # # . . . . . . % % % % . . . . . . . . . . . . .
. . . # # # # # # # . . . . . . . . . . . . . . . . . . . . . .
% . # # . # # # # . . . . . . . . . . . . % % % . . . . . . . %
% % . # . . # # # . . . . . . . . . . . . . % % % . . . . . % %
% . # # . # # # # . . . . . . . . . . . . % % % % . . . . % % %
% % . # . . # # # . . . . . . . . . . . . . % % % % . . . . % %
% % . . . . . . . . . . . . . . . . . . . % % % % . . . . . % %
% % % . . . . . . . . . . . . . . . . # . . % % % % . . . . . .
. % % . . . . . . . . . . . . . . . # # # . . % . . . . . . . .
% % % . . . . . . . . . . . . . . . . # . . % % % . . . . . . .
. . . . . . . . . . . . . . . . . . # # # . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . c c # # # . . . . . . . . .
. . . . . . . . . . . . . . . # # # # # # # # . . . . . . . . .
. . . . . . . . % % % . . . . . # # # # # # # . . . . . . . . .
. % % % % . . . % % % % . . . . # # # # # # . . . . . . # # # #
. % % % % . . . . % % % % . . . . . . . . . . . . . . . # # # #
. % % % % . . . . % % % . . . . . . . . . . . . . . . . # a a #
. . % % % . . . . . . . % . . . . . . . . . . . . . . . # # # #
. . . . . . . . . . # . . . . . . . . . . . . . . . . . # # # #
. . . . . . . . . . # # . . . . . . . . . . . . . . . . . # # #
. . . . . . . . # # # # . . . . . . . . . . . . . . . . # # # #
. . . . . . . . . d d # . . . . . . . . . . . . . . . . . . # #
. . . . . . . % % % % . . . . . # # # # # # . . . . . . # # # #
. . . . . . . . % % % % . . . . . . . . . . . . . . . . # # # #
. . . . . . . . % % % . . . . . . . . . . . . . . % % . # a a #
. . . . . . . . . % . . . . . . . . . . . . . . . % % . # # # #
. . . . . . . . . . # . . . . . . . . . . . . . % % % . # # # #
. . . . . . . . . . # # . . . . . . . . . . . . . % % % . # # #
. . . . . . . . # # # # . . . . . . . . . . . . % % % . # # # #
. . . . . . . . . d d # . . . . . . . . . . . . % % . . . . # #
. . . . . . . . # # # # . . . . . . . . . . . . . . . . . . # .
. . . . . . . . # # # # # . . . . . . . . . . . . . . . . . . .
. . . . . . . # # # # # # . . . . . . . . . . . . . . . . . . .

File diff suppressed because it is too large Load diff

View file

@ -15,42 +15,42 @@ World dimensions: 64x32
seed is 1
placing capitals...
growing continents...
growing islands: 1(11) 2(11) 3(11) 4(11) 5(11) 6(11) 7(11) 8(11)
8 stunted islands
growing islands: 1(3) 2(3) 3(3) 4(3) 5(3) 6(3) 7(3) 8(3)
Only managed to grow 24 out of 160 island sectors.
elevating land...
writing to sectors file...
^ b b # # . . . . ^ % . % % . . % % ^ . . . . . . . . . . . . .
# # ^ # . . . % % % % . % % % % % % . . . . . . . . % % . # # #
# # # # . . . % % % % . % % % . . . . . . . . . . . % % % . # #
# # . . . . . . . % . . % % % . . . . . . . . . . . % ^ % . . #
. # . . . . . . # . . . . % % ^ % . . . . . . . . . . % % % . .
. . . . . . . # # . . . . . % . . # # . . . . . . . . . . . . .
. . . . . # # # ^ # . . . # . . # # # # # # . . . . . . . . . #
. . . . # # # # # . . . . # # # ^ f f . . # # . . . . . . . # .
# . . . . # # e e ^ # . . . . # # ^ # . . . # . . . . . . . # #
. ^ . . . . # # # # # # . . # ^ # # . . . . # . . . . . . ^ # #
. % % . . . . # ^ . # # . . # # # . . . . . . . . . . . . # ^ #
. % % . . . . # . . . . . . . . . . . . . . . . . . . . h h # ^
. % % . . . . . . . . . . . . . . . . . . . . . . . # # # # # #
% % % . . . . . . . . . . . . . . . . . . . . . . # # # . . # .
. . % . . . . . . . . . . . . . . . . # . . . . . # . # . . # #
. . . . . . . . . . . . . . . . . # # # # # # . . . . # . . . .
. . . . . . . # . # # . . . . . . . . # ^ # ^ # . . . . . . . .
. . . . . . ^ # # # . . . . . . . . # # d d # # . . . . . . . .
% . . . . # # # # . . . . . . . . . # # ^ # # # # . . . . . . %
% . . . . # # # . . . . . . . . . # . # . . . # . . . . . # . ^
% . . . # # c c . . . . . . . . . # . . . % % . # . . . # # # .
% . . . . # # # . . . . . . . . . . % % % ^ % . . . . # # # . %
% % . . . # # # . . . . . . . . . . % . . % % % . . . # g g # .
% % . . . . # # . . . . . . . . . . . . . . . . . # # ^ ^ # # .
. . . . . . . ^ # . . . . . . # ^ . . . . . . . . . # # # ^ # .
. . . . . % . # ^ . . . . . . # . # # . . . . . . . # # . . # #
. . . . . . ^ . . . . . . # # # # # # . . . . . . . . . . . # #
. . . . . % % % . . . . . . . ^ # # # # . . . . . . . . # # . .
. . . . . . % % % . . . . . . # a a # ^ # . . . . . . . . . . .
. # . . . . . % % % . . . . # # # # # # . . . . . . . . . . . .
^ # # . . . . . . . . . . . . . . # # . . . . . . . . . . . . .
# # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . .
# b b # # . . . . . . . . . . . . . . . . . . . . . . . . . . .
^ # # # . . . . % . . . . . . . . . . . . . . . . . . . . # # #
# # # # . . . . % % . . . . . . . . . . . . . . . . . . . . # #
# ^ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . #
. # . % . . . . # . . . . . % % . . . . . . . . . . . . . . . .
. . % . . . . # # . . . . . % . . # # . . . . . . . . . . . . .
. . % . . # # # # # . . . # . . # # # # # # . . . . . . . . . #
. . . . # # # ^ # . . . . # # # # f f . . # # . . . . . . . # .
# . . . . # # e e # # . . . . # # ^ ^ . . . # . . . . . . . ^ #
. . . . . . # # ^ # # # . . ^ # # # . . . . # . . . . . . # # #
. % % . . . . ^ # . # # . . # # # . . . . . . . . . . . . # # #
. % . . . . . # . . . . . . . . . . . . . . . . . . . . h h # #
. . . . . . . . . . . . . . . . . . . . . . . . . . # ^ ^ # # #
. . . . . . . . . . . . . . . . . . . . . . . . . # # # . . # .
. . . . . % . . . . . . . . . . . . . # . . . . . # . # . . # #
. . . . % % . . . . . . . . . % . # # # # # # . . . . # . . . .
. . . . . . . # . ^ # . . . . . % . . # # # # # . . . . . . . .
. . . . . . # # # # . . . . . % . . # ^ d d # # . . . . . . . .
. . . . . # # ^ # . . . . . . . . . # # # # ^ # # . . . . . . .
. . . . . # # # . . . . . . . . . # . ^ . . . # . . . . . # . .
. . . . # # c c . . . . . . . . . # . . . . . . # . . . # # # .
% . . . . # # # . . . . . % . . . . . . . . . . . . . # # # . .
% % . . . # # # . . . . . % . . . . . . . . . . . . . # g g # .
. . . . . . # # . . . . % . . . . . . . . . . . . # # # # ^ # .
. . . . . . . # ^ . . . . . . # # . . . . . . . . . # ^ # # # .
. . . . . . . # # . . . . . . # . # ^ . . . . . . . # ^ . . # #
. . . . . . . . . . . . . # # # # # # . . . . . . . . . . . # #
. . . . . . . . . . . . . . . # ^ ^ # # . . . . . . . . # # . .
. . . . . . . . . . . . . . . # a a # # # . . . . . . . . . . .
. # . . . . . . . . . . . . # # # # # # . . . . . . . . . . . .
# # # . . . . . . . . . . . . . . # # . . . . . . . . . . . . .
# ^ # # . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A script for adding all the countries can be found in "sandbox/spike-newcap_script".

File diff suppressed because it is too large Load diff

View file

@ -1,17 +1,17 @@
add 1 1 1 p
newcap 1 47,11
newcap 1 5,11
add 2 2 2 p
newcap 2 42,0
newcap 2 53,3
add 3 3 3 p
newcap 3 57,23
newcap 3 46,16
add 4 4 4 p
newcap 4 61,3
newcap 4 16,0
add 5 5 5 p
newcap 5 31,21
newcap 5 38,28
add 6 6 6 p
newcap 6 14,26
newcap 6 61,23
add 7 7 7 p
newcap 7 24,6
newcap 7 31,7
add 8 8 8 p
newcap 8 9,15
newcap 8 20,20
add 9 visitor visitor v

View file

@ -16,58 +16,52 @@ seed is 1
placing capitals...
growing continents...
growing islands: 1(2) 2(2) 3(2) 4(2) 5(2) 6(2) 7(2) 8(2) 9(1) 10(1) 11(1) 12(1) 13(1) 14(1) 15(1) 16(1)
No room for island #23
No room for island #24
try #2 (out of 10)...
placing capitals...
growing continents...
Only managed to grow 33 out of 35 sectors.
Only managed to grow 34 out of 35 sectors.
try #3 (out of 10)...
placing capitals...
growing continents...
growing islands: 1(2) 2(2) 3(2) 4(2) 5(2) 6(2) 7(2) 8(2) 9(1) 10(1) 11(1) 12(1) 13(1) 14(1) 15(1) 16(1)
No room for island #24
try #4 (out of 10)...
placing capitals...
growing continents...
growing islands: 1(1) 2(1) 3(1) 4(1) 5(1) 6(1) 7(1) 8(1) 9(1) 10(1) 11(1) 12(1) 13(1) 14(1) 15(1) 16(1) 17(1) 18(1) 19(1) 20(1) 21(1) 22(1) 23(1) 24(1)
24 stunted islands
Only managed to grow 24 out of 480 island sectors.
elevating land...
writing to sectors file...
. . . . . . . . . . . . . . . . . . . # # # # # # . . . . . . %
. . . . . . . . . . . . . . . . . . . # # # # # # # . . . . . .
. . . . . . . % . . . . . . . . . . . . # # # # # # . . . . . .
. # # # . . . . . . . . . . . . . . . . . . . . . . . . . . # .
# # # # # . . . . . . # # # # # . . . . . . . . . . . . . . # #
e # # # . . . . . # # # # # # # . . . . . . . . . . . % . . # e
# # # # # . . . . . # # # # # # # . . % . . . . . . . . . . # #
# # # . . . . % . . # # c c # # # . . . . . . . . . . . . . # #
# # # . . . . . . . . # # # # # # . . . . . # # # # . . . . . #
# . . . . . . . . . . . # # . . . . . . . # # # # # . . . . . #
. . . . . . . . . . . . . # . . . . . . . # # f f # # . . . . .
. . . . . . . . . . . . . . . . % . . . # # # # # # # . . . . .
. . . . . . # # . . % . . . . . . . . . . # # # # # # # . . . %
. % . . . # # # . . . . . . . . . . . . . . # # # # . . . . . .
. . . . # # # # # . . . % . . . . . . % . . . # # . . . . . . .
. . . # # # # # . . . . . . . . . . . . . . . . . . . . % . . %
. . . # # b b # # . . . . . # # # . . . . . . . . . . . . . . .
. . . # # # # # # . . . . . # # # . . . . . % . . . . . . . . .
. . . . # # # # # . . . . . # # # # # . . . . . . . . . . . . %
. . . # # # . . . . . . . # d d # # . . % . . . . . . . . . . .
. . . . . . . . . . . . . # # # # # # . . . . . . . # # # . . .
. . . . . . . . . . . . . # # # # # . . . . % . . # # # # . . .
. . . . . . . . . . . . . . # # # # . . . . . . . . # # g g # .
. . . . . . . . . . . . . . # # # . . . % . . . . . # # # # # #
. . . . . % . . . # . . . . . # . . . . . . . . . . # # # # # #
. . . . . . . # # # . . . . . . . . . . . . . . . . # # # # # .
. . . . . . . # # # # . . . . . . . . . % . . . . . . # # # # .
. . . . . # # a a # # . . . . . . % . . . . . . . . . # # . . .
. . . . . # # # # # # # . . . . . . . . . . . . . . . . . . . .
. . . . . # # # # # # # . . . . . . . # # # # . . . . . . . . %
. . . . . . . # # # # # # . . . . . # # # # # # . . . . . . . .
. . . . . . . # . . . . . . % . . . # # h h # # . . . % . . . .
. . . . . # # c c # . . . % . . . . . . . . . % . . . . . . . .
. . . . # # # # # . . . . . . . . % . . . . . . . # # # . . . .
. . % . . # # # # . . . . . . . . . . . . . . . . # # # # # # .
. . . . . . . . . . . . . . . . . . . . . . . . . # # # # # # .
. . . . . . . . . . . . . . # # # # . . % . . . . # h h # # # .
. % . . . . . . % . . . # # # # # # . . . . % . . # # # # # . .
. . . . . . . . . . . . # # # # # # . . . . . . . # # # # # . .
. . . . . . . . . . . . # # f f # # . . . . . . . # # # # . . .
. . # # # # # . . . . . # # # # # # # . . . . . . . . . . . . .
. # # # # # # . . . . . # # # # # # . . . . . . . . . . . . . .
. # # # # # # # . . . . . . . . . . . . % . . % . . . . . . . .
# # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . .
. # # e e # . . . . . . . . . . . . . . . . . . . . . . . . . .
. # # # # . . . . . . . . . . % . . . . . . # # # # # # . . . .
. . . . # . . . . . . . . . . . . . . . . . # # # # # # . . . .
. . . . . . . . . . # # # # . . . . . . . . # # # # # . . . . %
. . . . . . . . . . # # # # # . . . . % . . # # d d # # . . . .
. . . . % . . . # # # # # # . . . . . . . . # # # # # # . . . .
. . . . . . . . . # # # # # . . . . . . . . . # # # # . . . . .
# . . . . . . . # # b b # . . . % . . . % . . # . # . . . . . .
# # . . . . . . . # # # # . . . . . . . . . . . . . . . . . . .
# # . . . . . . . # # # . . . . . . . . . . . . . . . . . . . #
# # . . . . % . . # # # . . . . . # . . . . . . . . . . . . . #
g # . . . . . . . . . . . . . . # # # . . . . % . . % . . # # g
# # # . . . . . . . . . . . . . # # # # . . . . . . . . . # # #
# # # . . . . . . . . . % . . . # # # # # # . . . . . . # # # #
# # # . . . . . . . . . . . . . . # # # # # # . . . % . . # # #
. . . . . . . . . . . . . . . . . # a a # # # . . . . . . . # #
. . . . . . . # # # # . . . . . . . # # # # # . . . . . . . . .
. % . . . . # # # # # . . . . . . # # # # . . . . . . . . . . .
. . . . . . # # # # # # . . . . . . . . . . . . . . % . . . . .
. . . . . # # # # # # . . . . % . . . . . . . . . . . . . . . .
A script for adding all the countries can be found in "sandbox/stunted-newcap_script".

File diff suppressed because it is too large Load diff