Ok, just published a huuuge update.
Starting positions are much improved, and bonuses are placed somewhat differently than the default way to better suit this map script. That sounds pretty subtle, but this update was a huge amount of work both in research time and in debugging and even in just raw typing. It was worth it though, I think this update will enhance gameplay quite a bit.
Here's a wordy wordy explaination of what I did:
The default bonus placement procedure had some problems with PerfectWorld. In the XML, some bonuses are not placed according to how many players there are, but by how much suitable land exists for that bonus. If there are relatively few tiles that will allow such a bonus, the procedure will
not try to make the most of the available room, but will simply lower the number of bonuses that it wants to place!
For example, wheat requires plains. If you have 200 plains tiles the calculated wheat to place might be 10 or so, but if you only have 100 plains you still might easily have room for that same 10 wheat, but the calculated need will only be 5 wheat. In the case of wheat, the need for it is calculated by the number of suitable tiles, not the need of the number of players. Players do not need wheat, the
plains tiles need wheat. This is something I was unaware of when I made this map script.
The problem that this created for PerfectWorld was that this script really likes trees, and the basic function to determine if a resource is placeable will block any resource that does not explicitly allow trees. The solution for this was not only to rewrite that basic function to give precedence to resources over trees, but also to rewrite all procedures that relied on that function!
Another enhancement that I made was regarding bonuses tagged with bArea=1. The default way is to choose one continent for this bonus. This is fine, but since PerfectWorld's landforms are so unpredictable, it left alot of little islands and such with no area bonuses. What I do here is to assign bonuses to one main continent with the most room, and then also to any continents that are most agreeable to that resources requirements and are most free from other one-area bonuses. This works very well to boost the importance of some of those smaller islands. Each landmass will likely have something that someone is missing.
For starting locations, I first assign each player to their respective continents according to the value on the continent. Then I make a list of the best places on the continent for cities. Then for each player on that continent I place them in those city places that are farthest away from other starting plots.
For normalizaton, I look at the value of each starting location, not just locally, but also what territory the player has the best access to. The normalizer will give a starting location up to 5 bonuses to help even things out. Bonuses will be placed according to the rules in the XML except in regard to spacing. PerfectWorld knows what bonuses are allowed on what continents and will give only those. The default normalizer ignores spacing and also the bArea flag. Keeping resources to their proper continents and islands insures opportunities for trade and less self-sufficiency. On this map, you could actually name your city 'Pigville' or 'Cowtown' and know exactly where in the world it is most likely to be.
Give it a try and tell me what you think.