[Map Script] PerfectWorld2.py

Well, i usually play on large/huge maps with lots of civs (ca. 20 plus the ones created by revolutions and barb cities) and no empty new world, and i imagine there are more people like me who enjoy this mapscript also because it creates worlds that are bigger than the usual "huge". On such a map it doesn't make a lot of sense that the interior of a big continent (which doesn't necessarily have to be all desert, as i pointed out above) stays empty for a very long time.

This seems to be just a matter of taste... and thats why i ask for an opportunity to get more inland starts. The change i propose won't alter anything as long as you leave the CoastalCityValueBonus and other variables the way they are. The rare inland starts will probably still be very close to the coast (due to climatic conditions) and allow for enough coastal cities for the civ in question, but it won't screw the AI like in my example above, which depicts the kind of inland starts you get with the script as it is now.

Again, what i ask for is only an opportunity to tune the script according to ones taste. It won't change anything as long as you leave the variables the way they are, except that the very rare inland starts you get now won't screw the AI.

greets
Ulysses

I assume that you tried making the interiors more hospitable? The reason I put so much desert in the default settings, is because with the default number of civs on such a large map, I like to make a bunch of the land kinda harsh to slow things down. If you had more green in there, along with a coast value of maybe 1.2, I would expect a good number of interior starts.
 
I'm with Ulysses81 on making the script more customizable if possible. Since I don't know how difficult it is to do, I'm not pushing for it. Should you decide to do so, that will be great, but if you don't, that's okay, since you've already made this fine script.

(Usually I play Standard size maps, occasionally Large, so I have not experienced the things Ulysses81 has mentioned.)

By the way, I'm all for more realistic generation of maps, with rain shadow etcetera. It looks better, and as a matter of personal taste, I prefer them to adhere to some "real world" geological principles.
 
I assume that you tried making the interiors more hospitable? The reason I put so much desert in the default settings, is because with the default number of civs on such a large map, I like to make a bunch of the land kinda harsh to slow things down. If you had more green in there, along with a coast value of maybe 1.2, I would expect a good number of interior starts.

Yes, i made the interiors more hospitable (like i described some posts ago).
But (as i already mentioned several times) i can't lower the coastal value because then you get many of these 1-tile-off-the-coast starts, exactly as the one i posted.
I just want to be able to use the means of adjustment you already provided.
And the easiest way to make the coastal value usable is the simple exclusion criterium i suggested.

(sorry if i start to annoy you but i'm not sure that you got my point yet)

greets
Ulysses
 
Actually a "no 1 tile off coast clause" for starting player placement would be nice. I see civs with their capitals 1 tile off the coast sometimes, and I haven't changed anything in the script. Just seems like a simple and clearcut solution to the problem. I doubt anyone actually wants the map script placing the starting settlers 1 tile inland, so it certainly wol't hurt anything.
 
I really like the realism of this map generator. Its a nice change to have the geography look more natural, with interior deserts and long, flowing rivers! I REALLY want to see how a game develops on these maps. My problem is that I keep getting an isolated start. I generated two Large Maps (one with Old World and one Random) and a third with 'Standard/Old World. In the first two I had a very large continent to myself and the third I'm playing now I have explored over 30 tiles away from my capital without encountering anyone else! My question is 'Is this just my bad luck? Or do I need to set something up to prevent an isolated start? Thanks in advance!
 
I really like the realism of this map generator. Its a nice change to have the geography look more natural, with interior deserts and long, flowing rivers! I REALLY want to see how a game develops on these maps. My problem is that I keep getting an isolated start. I generated two Large Maps (one with Old World and one Random) and a third with 'Standard/Old World. In the first two I had a very large continent to myself and the third I'm playing now I have explored over 30 tiles away from my capital without encountering anyone else! My question is 'Is this just my bad luck? Or do I need to set something up to prevent an isolated start? Thanks in advance!

It's kinda unlucky from a challenge perspective, but isolated starts do happen, and personally I always like to try and make it work. However, a big problem began with the introduction of the apostolic palace is that some AI will win before you can make the comback by settling in the new world, and you can't do anything to stop them. I always play with diplomatic victories disabled for this reason. I think it's dumb to have a victory condition set for the middle ages, but that's just me.

It can make for a very interesting and fun game except for the apostolic palace.
 
Yes, i made the interiors more hospitable (like i described some posts ago).
But (as i already mentioned several times) i can't lower the coastal value because then you get many of these 1-tile-off-the-coast starts, exactly as the one i posted.
I just want to be able to use the means of adjustment you already provided.
And the easiest way to make the coastal value usable is the simple exclusion criterium i suggested.

(sorry if i start to annoy you but i'm not sure that you got my point yet)

greets
Ulysses

Let me make sure I understand. The functional difference between starting "one off" the coast and further inland is that the starts are boosted with water resources which can't be used until a second coastal city is founded. That, plus it looks a bit goofy( I do not like stuff that looks goofy).

If that's the case, is it better for me to fix how resources are given out, or prevent the scenario with brute force? Both methods are about equally easy to impliment.

I'm thinking that if I fix it with brute force, you might actually see some obvious mistakes, where the 'one off' is actually a very good location that is missed, and again a human would see this and adjust while the AI would not. This might happen off of a one tile inlet for example, where you have two gem piles you could use for the early tech lead, but only if they're in your FC.
 
Let me make sure I understand. The functional difference between starting "one off" the coast and further inland is that the starts are boosted with water resources which can't be used until a second coastal city is founded. That, plus it looks a bit goofy( I do not like stuff that looks goofy).

If that's the case, is it better for me to fix how resources are given out, or prevent the scenario with brute force? Both methods are about equally easy to impliment.

I'm thinking that if I fix it with brute force, you might actually see some obvious mistakes, where the 'one off' is actually a very good location that is missed, and again a human would see this and adjust while the AI would not. This might happen off of a one tile inlet for example, where you have two gem piles you could use for the early tech lead, but only if they're in your FC.

From my experience one-off starts that miss seafood happen all the time with a lower coastal value, while i have never seen one that actually makes sense.
Also, adjusting the resources won't do anything to give more inland starts to those who want them. It's just kinda frustrating to have this tuning variable in there and not being able to use it.
 
From my experience one-off starts that miss seafood happen all the time with a lower coastal value, while i have never seen one that actually makes sense.
Also, adjusting the resources won't do anything to give more inland starts to those who want them. It's just kinda frustrating to have this tuning variable in there and not being able to use it.

Stay tuned. I'm going to fiddle with this today. I'm also going to try to handle jungle removal in a nicer, more effective way.
 
Fist, let me say, I love this script in the way it makes the landmasses realistic in shape (though, sometimes frustrated by the amount of desert). I did notice that when I select this map script for a custom game that there is an option to adjust the climate and sea level, however, I am not able to change them. Was this intentional? Will these options ever be available to modify?
 
Fist, let me say, I love this script in the way it makes the landmasses realistic in shape (though, sometimes frustrated by the amount of desert). I did notice that when I select this map script for a custom game that there is an option to adjust the climate and sea level, however, I am not able to change them. Was this intentional? Will these options ever be available to modify?

You can modify these with variables at the beginning of the script, but not in game. The reasons for this are sorta complicated... For example, you often can't use the 'new world' functionality with a large land percentage. I prefer to force people to get familiar with the variables in the script so they are more aware of the issues that come up. Don't worry, if you mess up the script beyond repair you can re-download.
 
From my experience one-off starts that miss seafood happen all the time with a lower coastal value, while i have never seen one that actually makes sense.
Also, adjusting the resources won't do anything to give more inland starts to those who want them. It's just kinda frustrating to have this tuning variable in there and not being able to use it.

Okay, I've been working with this today trying to emulate what you were trying to accomplish. There is another issue preventing inland starts that you should know about.

First of all, I changed it so that water tiles evaluate to zero when the city is not on the coast, so if the spot is one away from the coast, water in the FC are essentually evaluated as dead tiles. So even if the coast multiplier is 1.0, if this is going to be a viable start it should be relativly abundant to make up for wasting FC space. Also, I have prevented non-coastal starts from being sweetened by water resources, so that they will get other resources on land instead if they need them.

Here is an example of interior starts with a coast multiplier of 1.3(like before). This is a huge sized map. I have decreased deserts and plains to about half the default, .10 for deserts .20 for plains, and bumped it up to 17 civs. The number of civs is important which I will explain.


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.
 

Attachments

  • InteriorStarts.jpg
    InteriorStarts.jpg
    122.1 KB · Views: 434
I'm going to keep working on this new version a bit. Anyway, I wanted to share with you all this 'mother of all bad starts' I found today. Try as I might these last couple of years to make fair starts, I still manage to fail spectacularly on occasion. This is from the unpublished 2.05 version, huge map, 17 civs.


This guy has this vast northern wasteland alllll to himself. I guess the size of the continent means it has a cumulative value that makes it mathematically acceptable. To make things even more insulting, this guy is starting right next to someone else, (this can happen when they are on different continents) and the 2 hill sweetener that he got are not only not on his continent, but deep inside his neighbors FC!

:lol::lol::lol:
It's a very special screenshot that can point out this many problems at once. It's a perfect storm!
 

Attachments

  • TerribleStart.jpg
    TerribleStart.jpg
    115.3 KB · Views: 410
Still, the terrain looks very beautiful. Yours are the best-looking maps, to be sure. Playability is the only concern sometimes.
 
Before I publish a new version, I'd like to discuss the issue of map size. The reason why these maps are so large is because I wanted to use a great deal of unusable terrain and ocean to provide challenges and interesting landforms. I still like that idea, but I think it can still use some tuning.

Let me tell you about my recent Civ playing. I'm not such a good Civ player. Lately I've been obsessed with playing Gilgamesh of the Sumerians, and I lost like 10 games in a row on Noble difficulty. This last Saturday I stayed up until 8 am playing Civ and I finally won as Sumeria.

I lost those games in various ways, but there was a common theme in all of those losses. In every game I forced myself to try to take advantage of my unique unit, the Vulture, which is a replacement for the Axeman. The problem was that on a standard size PW map, with the default number of players, it is impossible to gear up for an axeman war without sacrificing expansion speed. If you aim to conquer territory, you are much better off using settlers through the whole axeman era, than to get bogged down in a war while the expansion phase is still going. Other civs fill up the unclaimed land far faster than you can conquer land from a neighbor.

So I finally won the game by avoiding war until the map was completely full. By that time, I was making macemen and xbows.

So here is the problem with the current map size. If your UU is a replacement for swordsmen or earlier, then you can't use them against your opponents! If you try you will lose on Noble! That's no fun to have an unusable UU right?

Considering that some Civs have a warrior replacement, should the map be sized to make war possible in the warrior stage? I may be able to size the map according to the number of players, but I need some input on this from those who are following this thread.
 
Considering that some Civs have a warrior replacement, should the map be sized to make war possible in the warrior stage? I may be able to size the map according to the number of players, but I need some input on this from those who are following this thread.
Make map size adjustable if possible. This way the map script can be scaled up or down depending on whether one wants to play a Warmonger game from the get-go, or a Builder's game.

Even without putting a map script size adjustment option in the custom game screen, one can still do it with map size. For example, my preference is for Builder style play, and if I want breathing room, I'll play on a Large map and only use the number of opponents for a Standard map. (This is also a good way to get a lot of barb cities in FfH2, and I've been told that in BtS if you turn on Raging Barbs in this circumstance, the regular game will also produce lots of barb cities. Been meaning to try this.) So if you want to do an axe rush with Sumeria, you could play on a Small map with six opponents (the usual number for a Standard map.)
 
Map size vs. number of civs is why I never use the simple Play Now option :)
Usually standard size map with standard number of civs has early enough contact to allow for axe rush. I instead play on large maps, and even then opt for low sealevel and add two more civs to balance for the amount of land (more civs = more diplomacy and more warfare really).

So, as it currently stands as released, PW2 has more land, but also larger amount of land is junk, and thus it should have about same about of reasonable land as most other maps of same size category? Thus, if someone tunes the map for lower amount of "junk" land (less desert, less plains, more grassland is the usual idea), then also map sizes should be lowered. That is, if the same amount of reasonable land is reached with same gridsize as eg. continents or hemispheres, the choices for the player are either to add civs or shrink the maps in each category, OR end up with sparse maps where early contact is limited and rex is the only practical choice.

The reason why PW doesn't lend to rushing is because the civs will expand first along the coast, and thus the important issue is total length of (smoothed) coastline, not total area of landmass. Could say that it lacks dimensionality in the early game.

Because early contact, rushing, blocking, and so on are important options on higher difficulty levels, with rex being just one of the options (instead of the only option), it's easy to see why the central areas should be more open for early settling. This creates dimensionality, and allows for larger borders with more civs.

So, what kind of changes are you really leaning on? More "early settling" land -> more civs needed -> the map is for larger size category (default number of civs is in xml, so whatever you call "large" gets default of 9 civs) -> "large" map needs to be smaller so that "early settling" land per civ stays as before.
 
Map size vs. number of civs is why I never use the simple Play Now option :)
Usually standard size map with standard number of civs has early enough contact to allow for axe rush. I instead play on large maps, and even then opt for low sealevel and add two more civs to balance for the amount of land (more civs = more diplomacy and more warfare really).

So, as it currently stands as released, PW2 has more land, but also larger amount of land is junk, and thus it should have about same about of reasonable land as most other maps of same size category? Thus, if someone tunes the map for lower amount of "junk" land (less desert, less plains, more grassland is the usual idea), then also map sizes should be lowered. That is, if the same amount of reasonable land is reached with same gridsize as eg. continents or hemispheres, the choices for the player are either to add civs or shrink the maps in each category, OR end up with sparse maps where early contact is limited and rex is the only practical choice.

The reason why PW doesn't lend to rushing is because the civs will expand first along the coast, and thus the important issue is total length of (smoothed) coastline, not total area of landmass. Could say that it lacks dimensionality in the early game.

Because early contact, rushing, blocking, and so on are important options on higher difficulty levels, with rex being just one of the options (instead of the only option), it's easy to see why the central areas should be more open for early settling. This creates dimensionality, and allows for larger borders with more civs.

So, what kind of changes are you really leaning on? More "early settling" land -> more civs needed -> the map is for larger size category (default number of civs is in xml, so whatever you call "large" gets default of 9 civs) -> "large" map needs to be smaller so that "early settling" land per civ stays as before.

I'm still not sure what my options are for any 'automatic' resizing. I intend to keep things adjustable from within the game though.

I was thinking of using 'map size' only for setting the number of civs, and then an option called 'Expansion Room' that actually sets the map size, involving game speed, number of civs, etc. I would name them 'Warrior,Axeman,Swordsman,Maceman,Musketman" so the player would have a rough idea on when to expect the expansion phase would be over.

I'm concerned this might actually be more confusing, and that maybe it's better to keep things as they are, and then shrink the default size of the map just a tad.
 
I was thinking of using 'map size' only for setting the number of civs, and then an option called 'Expansion Room' that actually sets the map size, involving game speed, number of civs, etc. I would name them 'Warrior,Axeman,Swordsman,Maceman,Musketman" so the player would have a rough idea on when to expect the expansion phase would be over.

I'm concerned this might actually be more confusing, and that maybe it's better to keep things as they are, and then shrink the default size of the map just a tad.
Call the option something like "Overcrowded" or "Prelude to War" since that should give the player some idea when a non-warmonger AI civ is likely to go to war due to overcrowding.

(Incidentally, I prefer to war in the Middle Ages. An Early Rush is only done if necessary, or if I started a game with a civ that has an early UU suited to the rush.)
 
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.
 
Top Bottom