SevenSpirits
Immortal?
- Joined
- Jul 7, 2007
- Messages
- 512
I was just looking through the code that normalizes (tries to improve) starting positions, and noticed some stupidity in it.
You know how in BTS you sometimes get starts where there is one food resource and all the rest are forests? It turns out that it's not because it considers chopping to be that powerful. It just gets stuck and can't give you any more resources!
Example start: Note forests everywhere they are legal, and exactly three hills.
Here's a summary of how it normalizes:
1) Add Rivers: If you don't have fresh water yet... Checks if it can add a lake. If so, tries to add a river in a way that might provide fresh water.
If it sees it won't be able to add a lake, it adds the river in a smart way instead.
2) Remove Peaks: Replaces peaks with hills.
3) Add Lakes: If you don't have fresh water, adds a lake.
4) Remove Bad Features: Removes jungle and maybe ice.
5) Remove Bad Terrain: Replaces crap like deserts and tundra with better land.
6) Add Food Bonuses: Makes sure you have at least one food resource or two seafood resources. Also if you have no other resources with 2+ food on the tile and no flood plains, it gives you another food resource.
7) Add Good Terrain: Essentially tries to make sure you have four grassland forests.
8) Add Extras: OK, this is the important part. This tries to up your city value until you have at least 80% of the best city value. It does this in three steps, and stops when/if it reaches 80% value, or when it runs out of stuff to do:
a. Add a forest to every plot that can have one.
b. Add certain kinds of resources until you have four or more, with seafood counting as 2/3 of a resource.
c. Add hills until you have three hills.
So here's what happens: Coming into Add Extras, it sees you have a crappy start, so it spams forests everywhere in your BFC. You already have the one food resource from step 6, but after that it can't add more resources because the forests block it! It's safe to assume the hills thing won't matter much, so at this point it has no further way to raise the city value, even if it is way below 80% of the best start. It basically screws itself and paints itself into a corner. It's a totally stupid way to try to boost the city value.
The forests used to be only added with a random chance, but that condition has been commented out. This is probably what changed going into BTS.
This is why the two most frequent kinds of starts in BTS are the ridiculous forest start and the super seafood start. (Forests can't block seafood!) All the other good starts you get were good before the normalizer's 7th step, because they have stuff like Flood Plains or good resources like gold.
You know how in BTS you sometimes get starts where there is one food resource and all the rest are forests? It turns out that it's not because it considers chopping to be that powerful. It just gets stuck and can't give you any more resources!

Example start: Note forests everywhere they are legal, and exactly three hills.
Here's a summary of how it normalizes:
1) Add Rivers: If you don't have fresh water yet... Checks if it can add a lake. If so, tries to add a river in a way that might provide fresh water.
If it sees it won't be able to add a lake, it adds the river in a smart way instead.
2) Remove Peaks: Replaces peaks with hills.
3) Add Lakes: If you don't have fresh water, adds a lake.
4) Remove Bad Features: Removes jungle and maybe ice.
5) Remove Bad Terrain: Replaces crap like deserts and tundra with better land.
6) Add Food Bonuses: Makes sure you have at least one food resource or two seafood resources. Also if you have no other resources with 2+ food on the tile and no flood plains, it gives you another food resource.
7) Add Good Terrain: Essentially tries to make sure you have four grassland forests.
8) Add Extras: OK, this is the important part. This tries to up your city value until you have at least 80% of the best city value. It does this in three steps, and stops when/if it reaches 80% value, or when it runs out of stuff to do:
a. Add a forest to every plot that can have one.
b. Add certain kinds of resources until you have four or more, with seafood counting as 2/3 of a resource.
c. Add hills until you have three hills.
So here's what happens: Coming into Add Extras, it sees you have a crappy start, so it spams forests everywhere in your BFC. You already have the one food resource from step 6, but after that it can't add more resources because the forests block it! It's safe to assume the hills thing won't matter much, so at this point it has no further way to raise the city value, even if it is way below 80% of the best start. It basically screws itself and paints itself into a corner. It's a totally stupid way to try to boost the city value.
The forests used to be only added with a random chance, but that condition has been commented out. This is probably what changed going into BTS.
This is why the two most frequent kinds of starts in BTS are the ridiculous forest start and the super seafood start. (Forests can't block seafood!) All the other good starts you get were good before the normalizer's 7th step, because they have stuff like Flood Plains or good resources like gold.