I was going to post this as a reply to @crullerdonut's game report Isle of Isabella. Then this idea about having multiple threads sunk in a bit further and ... here we are.

1. Starting position in crullerdonut's game;

2. A starting position produced by the new algorithm;

3. Result of another run of the new algorithm, slightly different outcome because it's randomized, and without swapping starting sites around based on the difficulty level (human handicap) in the end. Omitting that last step makes it easier to read the algorithm's log file.

The algorithm begins with the position computed by the BtS algorithm, i.e. what AdvCiv 0.97 uses too, and moves civs around iteratively. (I've named the algorithm "starting position iteration.") The log file after the final iteration (see below) shows that the position in the third screenshot is considered to be pretty well balanced: The "start values" range between 4186 (Isabella; with two others on the largest continent) and 6100 (Hannibal; alone on the smallest continent). If savemap wasn't involved, then extra resources could narrow that gap a bit further, and, if the log file wasn't enabled, human Isabella would swap her start with Pericles (I guess), the 3rd worst start among 8.

The "volatility" values measure, let's say, how "weird" a start is. None are too bad here. The highest two: Isabella, who is fairly close to two other starting sites; and Hannibal, who is – not really isolated – but alone on his continent. Volatility values can also affect whether the human position gets swapped and with whom; but, in this example, volatility is too low to matter.

Regarding the original positions (first screenshot), the BtS algorithm probably placed Hannibal, Justinian, Gandhi and Pericles in the best spot available (city radius mainly + nearby surroundings) on their respective continents, ultimately and without regard for the other civs still to be placed. This greedy strategy really doesn't work well for continents that have room for only two or three civs.

I think that part of the reason why my Isabella game ended up so difficult came down to having 8 civilizations instead of 7, on a Continents map. This map ended up with 4 main continents, somehow. One AI, Justinian, ended up alone on a huge area of the biggest continent; three AIs were shoved onto a medium-sized island, I and Gandhi ended up on a small food-barren island, and Pericles (!!!) ended up on his own private isle where he could just sit and tech in peace. [...]

The balance of starting positions is the main thing I've been working on (mostly finished now) for the next version. As an experiment/ a demonstration, I've used the savemap function (Alt+Shift+M) to allow the new algorithm to assign starting locations for crullerdonut's map. One caveat: savemap doesn't remove the extra "normalization" resources and features that were placed near the original starting sites. I'm attaching three screenshots for a comparison; I'll mostly talk about the 3rd.[...] it seems to me that having 8 AIs makes Continents even more luck-dependent than it already is, as it can really lead to lop-sided spawns.

1. Starting position in crullerdonut's game;

2. A starting position produced by the new algorithm;

3. Result of another run of the new algorithm, slightly different outcome because it's randomized, and without swapping starting sites around based on the difficulty level (human handicap) in the end. Omitting that last step makes it easier to read the algorithm's log file.

The algorithm begins with the position computed by the BtS algorithm, i.e. what AdvCiv 0.97 uses too, and moves civs around iteratively. (I've named the algorithm "starting position iteration.") The log file after the final iteration (see below) shows that the position in the third screenshot is considered to be pretty well balanced: The "start values" range between 4186 (Isabella; with two others on the largest continent) and 6100 (Hannibal; alone on the smallest continent). If savemap wasn't involved, then extra resources could narrow that gap a bit further, and, if the log file wasn't enabled, human Isabella would swap her start with Pericles (I guess), the 3rd worst start among 8.

**Spoiler**

*:*

Reduces avg. error to 97 permille (was 167 permille)

Increases start position value to ca. 11426 (was ca. 8523)

New worst outlier: 0 (was 2)

Evaluating starting position ...

Site #0(Isabella)

From found-city value: 3142

From exp. space: ca. 4546

Rival distance factor: 82 percent

Volatility: 15 percent

War factor (2 pot. enemies): 72 percent

Trade factor (2 pot. partners): 92 percent

Start value: ca. 4186

Site #1(Shaka)

From found-city value: 2960

From exp. space: ca. 5122

Rival distance factor: 87 percent

Volatility: 7 percent

War factor (1 pot. enemies): 83 percent

Trade factor (2 pot. partners): 94 percent

Start value: ca. 5525

Site #2(Joao II)

From found-city value: ca. 3082

From exp. space: ca. 4672

Rival distance factor: 84 percent

Volatility: 9 percent

War factor (2 pot. enemies): 72 percent

Trade factor (2 pot. partners): 92 percent

Start value: ca. 4365

Site #3(Justinian)

From found-city value: 3196

From exp. space: ca. 5968

Rival distance factor: 89 percent

Volatility: 5 percent

War factor (1 pot. enemies): 83 percent

Trade factor (1 pot. partners): 81 percent

Start value: ca. 5567

Site #4(Pacal)

From found-city value: 3160

From exp. space: ca. 5245

Rival distance factor: 96 percent

War factor (2 pot. enemies): 72 percent

Trade factor (2 pot. partners): 92 percent

Start value: ca. 5389

Site #5(Gandhi)

From found-city value: 3116

From exp. space: ca. 5190

Rival distance factor: 89 percent

Volatility: 4 percent

War factor (1 pot. enemies): 83 percent

Trade factor (1 pot. partners): 81 percent

Start value: ca. 5046

Site #6(Pericles)

From found-city value: ca. 2917

From exp. space: ca. 5296

Rival distance factor: 88 percent

Volatility: 5 percent

War factor (1 pot. enemies): 83 percent

Trade factor (1 pot. partners): 81 percent

Start value: ca. 4924

Site #7(Hannibal)

[The found-city value, i.e. the city radius around the starting site, is given less weight, and space for expansion is given more weight because Hannibal is alone on his continent. Getting off to a good start isn't so important for him.]

From found-city value: ca. 693 (weight 23 percent)

From exp. space: ca. 5904

Volatility: 15 percent

War factor (0 pot. enemies): 110 percent

Trade factor (1 pot. partners): 84 percent

Start value: ca. 6100

Increases start position value to ca. 11426 (was ca. 8523)

New worst outlier: 0 (was 2)

Evaluating starting position ...

Site #0(Isabella)

From found-city value: 3142

From exp. space: ca. 4546

Rival distance factor: 82 percent

Volatility: 15 percent

War factor (2 pot. enemies): 72 percent

Trade factor (2 pot. partners): 92 percent

Start value: ca. 4186

Site #1(Shaka)

From found-city value: 2960

From exp. space: ca. 5122

Rival distance factor: 87 percent

Volatility: 7 percent

War factor (1 pot. enemies): 83 percent

Trade factor (2 pot. partners): 94 percent

Start value: ca. 5525

Site #2(Joao II)

From found-city value: ca. 3082

From exp. space: ca. 4672

Rival distance factor: 84 percent

Volatility: 9 percent

War factor (2 pot. enemies): 72 percent

Trade factor (2 pot. partners): 92 percent

Start value: ca. 4365

Site #3(Justinian)

From found-city value: 3196

From exp. space: ca. 5968

Rival distance factor: 89 percent

Volatility: 5 percent

War factor (1 pot. enemies): 83 percent

Trade factor (1 pot. partners): 81 percent

Start value: ca. 5567

Site #4(Pacal)

From found-city value: 3160

From exp. space: ca. 5245

Rival distance factor: 96 percent

War factor (2 pot. enemies): 72 percent

Trade factor (2 pot. partners): 92 percent

Start value: ca. 5389

Site #5(Gandhi)

From found-city value: 3116

From exp. space: ca. 5190

Rival distance factor: 89 percent

Volatility: 4 percent

War factor (1 pot. enemies): 83 percent

Trade factor (1 pot. partners): 81 percent

Start value: ca. 5046

Site #6(Pericles)

From found-city value: ca. 2917

From exp. space: ca. 5296

Rival distance factor: 88 percent

Volatility: 5 percent

War factor (1 pot. enemies): 83 percent

Trade factor (1 pot. partners): 81 percent

Start value: ca. 4924

Site #7(Hannibal)

[The found-city value, i.e. the city radius around the starting site, is given less weight, and space for expansion is given more weight because Hannibal is alone on his continent. Getting off to a good start isn't so important for him.]

From found-city value: ca. 693 (weight 23 percent)

From exp. space: ca. 5904

Volatility: 15 percent

War factor (0 pot. enemies): 110 percent

Trade factor (1 pot. partners): 84 percent

Start value: ca. 6100

Regarding the original positions (first screenshot), the BtS algorithm probably placed Hannibal, Justinian, Gandhi and Pericles in the best spot available (city radius mainly + nearby surroundings) on their respective continents, ultimately and without regard for the other civs still to be placed. This greedy strategy really doesn't work well for continents that have room for only two or three civs.