[Map Script] PerfectWorld2.py

You can already set the map size and the # of players. There is no need to make the script more confusing add and redundant options since these options already exist.

Yeah, I was getting a little tangential there.

So anyway, what do you guys think about the default map sizes. Are they too big? I'm going to do some further testing with the Sumerians, and try to make it so it's not such a bad idea to try an axe rush. Or, is an axe rush supposed to be an early gamble that you use when you are blocked or something? As a default setting, when do we want the expansion phase (In the old world) to end?

EDIT: I had probably ten games playing the Sumerians, and the expansion phase ended at very similar tech levels. It's kindof stable in this regard.
 
Well, I stated before I'd prefer that you brought the PW map sizes to what exist in the default Terra Script. Terra is already larger then the other map scripts, and is in line with PW's settings, and this would bring the PW script in line with what the BtS developers considered the correct map sizes for map types.

Edit:
Actually the optimal thing would be to have the X,Y sizes change according to whether or not "Start in Old World" or "Start Anywhere" is selected. Have the size be equivalent to Terra's size for "Start as Old World"; and have it scale down to the standard Continents map script size, if "Start Anywhere" is selected.
 
So anyway, what do you guys think about the default map sizes. Are they too big? I'm going to do some further testing with the Sumerians, and try to make it so it's not such a bad idea to try an axe rush. Or, is an axe rush supposed to be an early gamble that you use when you are blocked or something? As a default setting, when do we want the expansion phase (In the old world) to end?
The Early Rush is a gambit, and like all gambits, is situational. Yes, one can use it out of desperation, but it can also be used if the neighbors are near, and careless with their defense. It all depends on the circumstances. Hatty, Roosy and Gandhi are good targets, Shaka or Churchill are not. (Often Hatty or Gandhi will found a religion and Shrine for you and only have a couple of Warriors defending it. That's just too tempting to pass up.)

phungus420 said:
Actually the optimal thing would be to have the X,Y sizes change according to whether or not "Start in Old World" or "Start Anywhere" is selected. Have the size be equivalent to Terra's size for "Start as Old World"; and have it scale down to the standard Continents map script size, if "Start Anywhere" is selected.
Well put, and an elegant solution to the problem. It's simple, and the player is not bothered with yet another menu option.
 
Only problem is, this doesn't account for people who prefer to have 2:1 ratio maps.
 
Only problem is, this doesn't account for people who prefer to have 2:1 ratio maps.

Once I figure out an exact size that I'm happy with for both settings, it should be just a mathematical relation.
 
When looking at the Custom Game screen we see that a number of civ slots is created based on the map size option. This is set in XML - GameInfo/CIV4WorldInfo.xml under WorldInfo/iDefaultPlayers to be specific. The same setting controls eg. number of buildings required for national wonder, number of buildings required for quests, and so on. This is a very important constraint, and should not be changed without being very clear about it. The number of civs that appear on the map absolutely has to be the same you see in custom game screen before pressing "Launch".

Assuming amount of early-to-midgame land per civ is about the same in current PW2 as in standard Continents map (which is the baseline really), then that's the base option.

Now, if you change the basic map generation to have better land inland, then the map should be made smaller. However, there's no "lowsea" option like there is for eg. Continents, and that option basically adds land to the map. Maybe you could add an option like "sparse map" that creates larger map (eg. current PW2 map size). Also, you could add "overcrowding" option, that adds some number of civs to the map. Probably 1 civ to duel/tiny/small, 2 to normal/large, 3 to huge (that'd be what - 30% extra civs?). Obviously checking both of these would end up giving about the same amount of land per civ, just it's a bigger map and more civs.


Still, as has been said, player can set number of civs already. But as my preference is "a bit larger than large" and I thus use low sealevel to get extra land without going to huge maps, I wouldn't mind extra option to do something like that :)
 
When looking at the Custom Game screen we see that a number of civ slots is created based on the map size option. This is set in XML - GameInfo/CIV4WorldInfo.xml under WorldInfo/iDefaultPlayers to be specific. The same setting controls eg. number of buildings required for national wonder, number of buildings required for quests, and so on. This is a very important constraint, and should not be changed without being very clear about it. The number of civs that appear on the map absolutely has to be the same you see in custom game screen before pressing "Launch".
This is not correct. The reqs go off of what is set in the XML tag iDefaultPlayers for the map size. You can adjust the number of players in a custom game start up to whatever you please, and it will have no effect on quests or events. This is totally a player customization tool.
 
I actually think the map size is just fine at the moment. I play exclusively on huge/marathon and didn't even know that PW maps are larger than vanilla BTS maps of same size. If you're really changing this, then at least leave the option to keep the sizes as they are now.
 
I actually think the map size is just fine at the moment. I play exclusively on huge/marathon and didn't even know that PW maps are larger than vanilla BTS maps of same size.
If you play the biggest map, I'm not surprised you don't mind it being bigger. Actually though Cephalo you may consider making your script "Gigantic" compatible, I know alot of players enjoy the bigger maps, even bigger then huge. I also think it's been done by others, so it should be easy to grab it, and just throw in an if clause to make sure the user has a Gigantic option before running the code, so that no errors are thrown.

My belief that PW should be scaled to the size of Terra standard size when standard sized maps is selected, is because I play standard size maps. I also think the firaxis devs were pretty good about setting map sizes, and don't see a need to change this. To be honest PW is slightly too large, but not by much, Terra is a pretty big map script. The problem occurs when you select "Start Anywhere", in which cases the map is way too large, and causes vast empty spaces to exist between civs with the default player numbers. I also would like to reiterate it's not a good idea to set the standard by those who enjoy the extremes. If players like playing the biggest map size (huge), or the smallest (duel), they will obviously be inclined to want the script to follow suit be default. If you're a huge map player, please keep in mind not everyone wants bigger.
 
I actually think the map size is just fine at the moment. I play exclusively on huge/marathon and didn't even know that PW maps are larger than vanilla BTS maps of same size. If you're really changing this, then at least leave the option to keep the sizes as they are now.

Right now, I am experimenting with a standard map that is 24,16 instead of 26,16, and it's already noticable. I found myself in a war in the axeman stage, with maybe one area I could put a settler if I wanted.

I am planning to leave the huge size as is. Generally people who play huge really want huge or even bigger.

It really bugs me that Civs who have a mid game or later UU always get to use them, while Civs with earlier UU's almost never do. That's really unfair! Do the romans ever get to use their praetorians? I think the only way to really see the game progress from era to era you have to play on marathon speed. On standard speed you can't even go to war until you've built up troops over multiple tiers. It's always part axeman, part maceman army, because the tech breezes past.
 
...because the tech breezes past.

You need to load up a RevDCM based mod and select Start As Minors, Barbarian Civ, and Barbarian World starting options. This will slow down the early tech rate enough to make all unit ages apparent and significant, at least it does in my games.
 
The main force that works against interior starts is the way I create separation between the civs, which you can probably guess is even more important than the raw value of the location. Each continent has some number of players and maybe 4 times as many good city locations. The first player goes to the city location that is furthest on average from the other city plots, usually on some remote edge or promentory. The second player goes on the place that is furthest from the first player, and the third player goes to the spot that is furthest away from the other two, and so on until all the players on that continent are placed. The process makes kindof a star pattern, like the way you are supposed to tighten bolts on a car wheel. This ensures maximum separation between the players. However, it also means that nobody will be placed in the interior until the edge has filled up! It happens nicely if there are enough civs.

This also explains why those 'one offs' are so common when you turn down the coast multiplier to 1.0. If the water has no resources on it is valued quite low, even if the city is on the coast, so the exact plot that makes it through the value rejection process is likely to be the one more inland a bit that has some of the more valuable land squares. It is chosen for a player not because it's so great, but because it's on the 'edge' of the continent! The actual nearby 'coast' had been rejected for being low value.

Oh i see...
would it be reasonable to assign starts just by highest value and not worry about the distance? Then the best areas would be fully settled early on, which would also solve the problem of the pointlessness of early wars you wrote about. I think it's worth a try to see if this could work or if it'll crowd lots of capitals too close together.

Anyways, the change you made to the evaluation code will probably work great for me already, as i usually use many more civs than recommended (17 for large, 23 for huge, plus the ones that spawn from barb cities and revolutions in RevDCM).

looking forward to the next version!
Ulysses
 
would it be reasonable to assign starts just by highest value and not worry about the distance? Then the best areas would be fully settled early on, which would also solve the problem of the pointlessness of early wars you wrote about. I think it's worth a try to see if this could work or if it'll crowd lots of capitals too close together.

Also historically civilizations settled the best areas, not the farthest from other civilizations :mischief:

Like the idea, in some starts the neighbour would be just some tiles away and then sometimes more far. Though praetorians with the next player over 20 tiles away would just be too evil :lol:
 
Oh i see...
would it be reasonable to assign starts just by highest value and not worry about the distance? Then the best areas would be fully settled early on, which would also solve the problem of the pointlessness of early wars you wrote about. I think it's worth a try to see if this could work or if it'll crowd lots of capitals too close together.

Ulysses

I'm not sure what would happen in this case. The way I'm doing it now, no matter how many civs you put on a continent, you will always get about equal separation. I was thinking that I could chose a spot randomly that is a minimum distance away, but if I have 2 players on a small continent, and one guy get's the edge while the other gets the middle, that would be totally unfair. If alot of civs are to go on the continent, I might end up painting myself into a corner and having to drop the last civ right next to someone. With all the work I put into trying to make the starts as fair as I can, this would pretty much undo all that work. :lol:

It might make for an interesting game though...
 
Interesting.

Cephalo what do you think about adding a Historical Start/Fair Start option? Where if Historical is chosen, civs are started clumped together in fertile river valleys, to simulate the fact all the ancient civs started in the Tigris/Euphrates, Indus, or Yangtze River valleys; and on the flip side if Fair Start is selected, the normal distance code is applied.
 
I'm not sure what would happen in this case. The way I'm doing it now, no matter how many civs you put on a continent, you will always get about equal separation. I was thinking that I could chose a spot randomly that is a minimum distance away, but if I have 2 players on a small continent, and one guy get's the edge while the other gets the middle, that would be totally unfair. If alot of civs are to go on the continent, I might end up painting myself into a corner and having to drop the last civ right next to someone. With all the work I put into trying to make the starts as fair as I can, this would pretty much undo all that work. :lol:

It might make for an interesting game though...

The scenario you describe is unbalanced only in terms of strategy choices. The civ on the edge would be forced to go to war if there is just not enough land (and the AI understands this i think) while the other one has to make a careful balance between peaceful expansion and defence.

Also, random placement wouldn't really undo the work you did to ensure fair capital locations at least. And it would definitely make for a more interesting early game if the better land is already heavily contested early on while there are still lots of uninhabited areas.

EDIT: I agree with phungus, this decision should probably be left to the player. maybe some prefer to be left alone until around the middle ages.
 
Interesting.

Cephalo what do you think about adding a Historical Start/Fair Start option? Where if Historical is chosen, civs are started clumped together in fertile river valleys, to simulate the fact all the ancient civs started in the Tigris/Euphrates, Indus, or Yangtze River valleys; and on the flip side if Fair Start is selected, the normal distance code is applied.

Well, in this case the likely scenario is that half of your Civs will be eliminated very early in the game, probably the ones that are blocked with one city. I'm not sure that's desirable. I think that for an early war scenario, it's better to just have a whole bunch of Civs, so when the chips fall you end up with a normal amount of Civs.

Before catapults come in it is very expensive to capture a city. A 40% def bonus is hard to overcome while the defenders are getting XP and promotions. You basically get one shot before you are spent.
 
Well, in this case the likely scenario is that half of your Civs will be eliminated very early in the game, probably the ones that are blocked with one city. I'm not sure that's desirable. I think that for an early war scenario, it's better to just have a whole bunch of Civs, so when the chips fall you end up with a normal amount of Civs.

Before catapults come in it is very expensive to capture a city. A 40% def bonus is hard to overcome while the defenders are getting XP and promotions. You basically get one shot before you are spent.

I don't think it's going to be that dramatic. How could a civ get only one city? Also, if you can't build any more cities, you can build more troops. Things will probably balance themselves...
 
I'm sorry but with regard to the coastal start situation, not much has changed.
With or without a lower coastal value, the big majority of inland starts that you get are still "one-off" starts, and they just make no sense. Although they don't get any more bonus seafood, there may still be some in the area that gets wasted. Plus (and an evaluation of the position as such can't appreciate this) even if it is a good spot, they are still a waste of fertile maritime land, having one city using up the land that has room for two good cities. This is especially evident in the 2nd screenshot below (wasted pigs etc).

View attachment 233475

View attachment 233476

I still think the best solution is to allow starts to be either on the coast or at least 3 tiles inland and to get rid of the distance maximization.

Ulysses
 
Top Bottom