View Full Version : [Map Script] PerfectWorld.py
cephalo Jan 09, 2008, 08:08 PM Anyway, I like the maps it creates. The only issue I find is the the resources tend to be very clustered and often limited to a single continent. Not sure if that's the intent, or just a consequence of the maps being more "smooth" than the standard maps.
There are some resources that are designed to be placed on a single continent. Anything with a bArea flag set to 1 means that it's only supposed to be on one continent. I loosened these rules somewhat but the idea is to promote resource trading, rather than self sufficiency.
I think for vanilla civ, you can't use the myDocuments folder.
Woody1 Jan 09, 2008, 08:35 PM Okay, I guess that makes sense.
I think the problem may be just too many resources. I compared an 18-civ map generated with PerfectWorld to one generated with the standard fractal map. The PerfectWorld has about twice the density of resources. Too many, IMO. About every second or third tile had a resource on it.
I'm not sure if this was because of the small map + 18 civs I was using. However, the fractal map was also small + 18 civ. I increased the land up to 40% to compensate for less land that your maps are created with. Not sure if that has anything to do with it.
I might try playing with your script to see why I have so many resources.
cephalo Jan 09, 2008, 10:23 PM Okay, I guess that makes sense.
I think the problem may be just too many resources. I compared an 18-civ map generated with PerfectWorld to one generated with the standard fractal map. The PerfectWorld has about twice the density of resources. Too many, IMO. About every second or third tile had a resource on it.
I'm not sure if this was because of the small map + 18 civs I was using. However, the fractal map was also small + 18 civ. I increased the land up to 40% to compensate for less land that your maps are created with. Not sure if that has anything to do with it.
I might try playing with your script to see why I have so many resources.
There are some different rules for the different resources. Some are placed depending on how much valid land there is, and some are placed depending on the number of players plus a certain random percentage. If you have a ton of players on a small map, plus a map script that uses alot of water, it makes sense that you would have a very high concentration. I'm surprised that the standard maps wouldn't also have that effect. Keep in mind there is a random factor when deciding how much there is to place. There are some minor differences in the way this map places resources from the standard way, but for the per player type ones like iron or aluminum they should be the same. I took great pains to keep the spirit of the XML rules intact.
To be honest, 18 civs on a small map is not something I tested for. ;)
Woody1 Jan 10, 2008, 01:58 PM Yeah, it's weird. Is it possibly due to the fact that your maps contain larger contiguous areas of homogeneous terrain?
For example, your maps often have a fairly large area of continuous jungle or forest. In those areas, I'll see something like 6 banana resources all together.
In normal civ maps (generated with "fractal"), those jungle areas will be more broken up, and I'll see perhaps 3 banana resources in a similar spot.
Perhaps your maps simply allow more of those resources to be plopped into a certain area?
No doubt the resourcing is partially explained by the 18 civs on a small map, too. But, it's strange that your maps put so many more resources on such maps.
cephalo Jan 10, 2008, 03:33 PM Yeah, it's weird. Is it possibly due to the fact that your maps contain larger contiguous areas of homogeneous terrain?
For example, your maps often have a fairly large area of continuous jungle or forest. In those areas, I'll see something like 6 banana resources all together.
In normal civ maps (generated with "fractal"), those jungle areas will be more broken up, and I'll see perhaps 3 banana resources in a similar spot.
Perhaps your maps simply allow more of those resources to be plopped into a certain area?
No doubt the resourcing is partially explained by the 18 civs on a small map, too. But, it's strange that your maps put so many more resources on such maps.
Wow, 6 bananas on a small map? Is there ton's of jungle on this map? The number of bananas is based purely on the amount of acceptable terrain, so shouldn't be affected by 18 civs. I wonder if your crazy playstyle might have exposed a bug. Can you post a screen shot of something you find strange?
I only intended minor differences in my bonus placer vs. the standard. For most of it I pretty much mimicked the code in the dll. Here are the intended differences:
1) Bonuses take precedence over features. In the standard way, forests and such will block placement of many resources, but since PW likes alot of trees (because, well... I really like trees) I wasn't getting nearly enough ag bonuses and such.
2)bArea bonuses are supposed to only be placed on one continent. (Bananas are an example of this, as are most non-strategic resources.) Since PW has wildly unpredictable landforms, many of the smaller islands had no resources on them, which made them irrelevant. In addition to the main continent for such resources, I include any continent that has a high percentage of suitable land for that resource, that also had the fewest other bArea type resources.
3)Emergency placement. Sometimes for whatever reason, resources are called for but there is no room according to spacing rules etc. (This is very common on duel maps) I make addtional passes with progressively relaxed rules for these resources so there is at least 1 on the map.
4)Starting plot normalization. I do no like to change terrain to even out the starting locations, so I use bonuses instead. Any resource with bNormalize = 1 is game for this type of placement. This start plot normalizer also considers the wider area that a player starts in outside of the local area, so if you start out with lots of crabs in the ocean, you will likely be needing those.
These are the only intended changes.
Woody1 Jan 10, 2008, 06:45 PM Here's an example of what I mean. (Although, it's not the best example... I only tried one map generation to try to reproduce the issue.)
You can see there 6 wine resources in a small area of the map. Are wine resources controlled by the number of players? I also tried to reproduce the issue with just the standard 5-players, but the problem doesn't seem to be an issue with a low number of players.
http://forums.civfanatics.com/uploads/12784/resources.jpg
cephalo Jan 10, 2008, 08:26 PM Here's an example of what I mean. (Although, it's not the best example... I only tried one map generation to try to reproduce the issue.)
You can see there 6 wine resources in a small area of the map. Are wine resources controlled by the number of players? I also tried to reproduce the issue with just the standard 5-players, but the problem doesn't seem to be an issue with a low number of players.
Ok, for the resources on the screenshot, wine, furs and gold, the number placed is determined by the number of players and a random modifier. Also, these particular resources are actually designed to cluster. In the case of wine, how it work's is when you go to place wine, there is a 50% chance that wine will be placed in each square within one tile of the first one. This process will stop when the desired number of wine bonuses is placed, or if more wine is needed, it will place a cluster somewhere else using the same method. So, in this picture we are looking at two clusters of wine most likely. Again, this clustering is yet another way to encourage trading. For the low cost of one city, you have a nice little jackpot of wine to trade. Someone else probably has a similar cluster of dye, while another has a cluster of silk so maybe you can strike a deal with both of them.
Wine can only be placed on plains, so you probably won't see this on Fractal. Fractal is really kinda goofy though, consider this map a fix for the bug that exists in Fractal that supresses resource clusters. :lol: Welcome to the true nature of Civ! :borg:
Sine Nomen Jan 11, 2008, 12:25 AM I just want to say (again) you've done a really remarkable job. I'm using this with lumpthing's culturally-linked starting locations script and it's great. Playing on a map that has the features of a plausibly-formed world is almost like playing a new game.
Something I have noticed recently is how starting locations tend to have abundant (perhaps over-abundant) food resources, but the surrounding terrain is essentially devoid of anything. Is this intentional?
frekk Jan 11, 2008, 06:37 AM This is just a great map script, in terms of how it lays out the terrain.
There's one little thing I'd like to change with it. I'd like it to produce bulkier continents, and feature two large oceans that mostly separate the world. Essentially, an Atantic and a Pacific - so that I can have two areas of continents and island chains that are totally separate. I'm generating rather large grids (48x30 ie 192x120) and it takes a looong time to see if changes are working.
EDIT
looking over the thread I think that version 1.07 might just be exactly what I'm looking for ... is it still around?
Woody1 Jan 11, 2008, 07:39 AM Wine can only be placed on plains, so you probably won't see this on Fractal. Fractal is really kinda goofy though, consider this map a fix for the bug that exists in Fractal that supresses resource clusters. :lol: Welcome to the true nature of Civ! :borg:
Okay, I think I understand. So, there are two issues for why I am seeing large clusters of some resources:
(1) I'm playing with a large number of civs on a small map, and therefore the map is trying to place at least 18 resources of each type (or whatever the number) somewhere on the map.
(2) Your maps have contiguous areas of similar terrain, which allows the map to place those resources. Unlike the default fractal maps, which don't have contiguous features and so the resources can't all be placed in clusters like they're supposed to be.
Is that "cluster" setting tunable somewhere? For instance, if I wanted to turn the clustering of resources off, can I do it? Thanks for your help!
cephalo Jan 11, 2008, 08:59 AM Something I have noticed recently is how starting locations tend to have abundant (perhaps over-abundant) food resources, but the surrounding terrain is essentially devoid of anything. Is this intentional?
The starting plot normalizer will give food and other resources to make up for an inferior starting position. At the beginning of the starting area process, I compile a list on every continent of every decent city location. The starting plots are evaluated not only by the local area, but also by which decent city locations you are closest to, and thus more likely to claim. The resources help somewhat, but they don't actually help quite enough. Anytime you start with lot's of resources like that you know you are in for a challange. PW is a really tough map to find fair starting locations, but in 1.09 I think I can say that the horrible, horrible, doomed to eat snow and ice forever starting locations are gone. :D
looking over the thread I think that version 1.07 might just be exactly what I'm looking for ... is it still around?
No, I killed it off. It had a few other bugs as well. I took out that hemispheres code because I felt it was too darn predictable, and both the east and west continents always had a rectangular, very unnatural looking appearance. I suppose I could put it back in as an option for a later version. I know that some people like that since it mimicks earth somewhat. For bulkier continents, try boosting the land percentage, the pangaeas formed will likely be broken up by lots of meteors and might take a little longer to generate, but it might give you what you are looking for.
Is that "cluster" setting tunable somewhere? For instance, if I wanted to turn the clustering of resources off, can I do it?
Yes! In the XML file Civ4BonusInfos.xml, there is a iGroupRange and a iGroupRand tag. Bonuses will have an iGrouRand chance to appear within iGroupRange tiles of the original placement. The bArea tag controls whether the bonus should appear on one continent only. In PW that means one main continent and maybe some other smaller ones that don't have other resources already.
Woody1 Jan 11, 2008, 10:32 AM Thanks! That helps.
frekk Jan 11, 2008, 10:40 AM No, I killed it off. It had a few other bugs as well. I took out that hemispheres code because I felt it was too darn predictable, and both the east and west continents always had a rectangular, very unnatural looking appearance. I suppose I could put it back in as an option for a later version. I know that some people like that since it mimicks earth somewhat.
Yeah, that's what I'm looking for, earth-like. But not actual variations on earth like the terra and earth type scripts seem to do.
A while back in the thread, Seven05 posted some code for doing a hemisphere:
http://forums.civfanatics.com/showpost.php?p=6128001&postcount=157
But I can't figure out where in the script it ought to go. If I wanted to use that, where would I put it?
cephalo Jan 11, 2008, 10:55 AM But I can't figure out where in the script it ought to go. If I wanted to use that, where would I put it?
Good news! It looks like I left the function in there and simply commented out the call. Find this line:
# self.SinkMiddle()
and uncomment it out again. This should do it, although the continent might still connect near the 'date line'. To help prevent that, find this line:
x = PWRand.randint(0,xChunks - 1) * self.chunkSize
and change it to:
x = PWRand.randint(1,xChunks - 2) * self.chunkSize
frekk Jan 11, 2008, 01:47 PM Wow!!!
It didn't do quite what I expected, but I think I like it even better!
I didn't get earthlike hemispheres, but on this first try the map I got is just amazing. Four very large, bulky continents, some very interesting island chains, and good separation into two zones (with a few large islands in the middle of nowhere).
Absolutely perfect!!
http://img246.imageshack.us/img246/7090/pwexcellentscreenshot1dg2.jpg
Thanks!! This is amazing!!
What I was getting before looked alot like the lower right corner, for the entire map. It looks really neat when it's just one area, but when it covers the map I don't like it. This is much, much, much better.
Thorn Jan 11, 2008, 07:55 PM Good news! It looks like I left the function in there and simply commented out the call. Find this line:
# self.SinkMiddle()
and uncomment it out again.
If you just do this part you get the type of maps shown above (which I also love!). But if you do the second part you get giant continents near the south pole. Not sure why. I hope the second part is optional!
frekk Jan 12, 2008, 07:49 AM I guess there is one more thing I'd like to try to do now.
While I was changing the grid sizes, I found these lines:
def getTopLatitude():
"Default is 90. 75 is past the Arctic Circle"
return 80
def getBottomLatitude():
"Default is -90. -75 is past the Antartic Circle"
return -80
What exactly do these lines do if you fiddle with the numbers? Essentially what I want to do is make the southern hemisphere more tropical and the northern hemisphere more temperate - basically to drag the equator line from the middle of the map, to the middle of the south or so. Would these lines help me do that?
cephalo Jan 12, 2008, 09:07 AM I guess there is one more thing I'd like to try to do now.
While I was changing the grid sizes, I found these lines:
def getTopLatitude():
"Default is 90. 75 is past the Arctic Circle"
return 80
def getBottomLatitude():
"Default is -90. -75 is past the Antartic Circle"
return -80
What exactly do these lines do if you fiddle with the numbers? Essentially what I want to do is make the southern hemisphere more tropical and the northern hemisphere more temperate - basically to drag the equator line from the middle of the map, to the middle of the south or so. Would these lines help me do that?
No, I think these only actually apply to resource placement. The code you're looking for is in generateTerrainTypes.
tm.GenerateTempMap(80,-80)
rm.GenerateRainMap(80,-80)
You can change these hard coded numbers, but keep in mind that I never have tested any values other than these, and I might have made some assumtions along the way that I shouldn't have. All I can say from this code is that at one time I wanted to be able to handle arbitrary latitudes. Did I succeed? I don't know.
frekk Jan 12, 2008, 10:04 AM I'll have to do a little fiddling, but that does seem to be it. I changed the tm.GenerateTempMap(80,-80) to (70,-90) which more or less seems to have shifted everything south in terms of temperature. Hard to tell when there's no real banding, but on one map I got a desert at the south pole, a few squares even on the very bottom row of tiles. Thanks, I will play around with this and see if I can get something to approximate what I'm looking for.
ggganz Jan 12, 2008, 08:25 PM I haven't played it yet but they look like fun!
Wolfshanze Jan 13, 2008, 01:04 AM PART-1:
Good news! It looks like I left the function in there and simply commented out the call. Find this line:
# self.SinkMiddle()
and uncomment it out again. This should do it...
PART-2:
although the continent might still connect near the 'date line'. To help prevent that, find this line:
x = PWRand.randint(0,xChunks - 1) * self.chunkSize
and change it to:
x = PWRand.randint(1,xChunks - 2) * self.chunkSize
Cephalo... I started using your "Perfect World" map-script with v1.07... which I liked immensely. However, when you took the Hemispheres out in the new version, I tend to get a lot of "Pangea" type super-continents now... after reading your above comments (and some of the other comments), I experminted with some changes... if I change both Part-1 and Part-2, I indeed get less occurances of Pangeas, but as another person mentioned, those continents tend to "drift south" a bit.
I then went back and ensured only "Part-1" was changed and didn't change "Part-2" and left Part-2 as it is in the current version (without changing as you suggested)... I still get less Pangea-like continents, and now they seem to stay more centered... this was my very first huge map attempt here with ONLY changing "Part-1" in your current Perfect World script, and look what I got... I like it very much!
http://i84.photobucket.com/albums/k3/Wolfshanze/Games/ModifiedPerfectWorld.jpg
Three distinct continents and some good island chains... a little more centered too! I think I'll leave the script like this!
Thanks for the great work!
cephalo Jan 13, 2008, 01:36 AM Well, this part:
x = PWRand.randint(0,xChunks - 1) * self.chunkSize
and change it to:
x = PWRand.randint(1,xChunks - 2) * self.chunkSize
Only prevents the initial altitude peaks from being placed on the 'date line'. Why it would cause continents to drift south boggles my mind.
Whether you use the hemishpere divider or not, the meteors should be effective in taking out any pangaeas. It's no guarantee, but I haven't seen it fail yet.
Wolfshanze Jan 13, 2008, 11:30 AM Well, this part:
x = PWRand.randint(0,xChunks - 1) * self.chunkSize
and change it to:
x = PWRand.randint(1,xChunks - 2) * self.chunkSize
Only prevents the initial altitude peaks from being placed on the 'date line'. Why it would cause continents to drift south boggles my mind.
Whether you use the hemishpere divider or not, the meteors should be effective in taking out any pangaeas. It's no guarantee, but I haven't seen it fail yet.
I dunno... but using the "no date line" thingie... wouldn't that cause MORE Pangea-like super-continents, or less continents overall? Correct me if I'm wrong, but you're placing an artificial barrier on the globe that land can't shouldn't appear in (to prevent a land mass from stradling the "date line"). I would think if a continent is allowed to form or float wherever it wants without any artificial barriers you might get more "earth-like" continents.
I dunno... I have no experience with these map scripts, and I simply love the work you've done cephalo. I am curious though... in v1.09 by default this dateline thingy is turned-off... and those of us who liked the "hemispheres" option of 1.07 you're telling us to turn-on or modify two features.
Could you then please explain what the other change does?
...if...
x = PWRand.randint(1,xChunks - 2) * self.chunkSize
...prevents continents from straddling the dateline...
...what does activating...
self.SinkMiddle()
do?
Seven05 Jan 13, 2008, 11:48 AM The 'problem' with PerfectWorld is that the heightfield is generated a bit more 'naturally' that normal mapscripts with fractal layers. If you dig around a bit you'll see that you have absolutely no control over where continents form, how many form and what their general size or shape will be. Instead, you get a basic heightfield that is then manipulated with plate tectonics. The results are much better landmass shapes in general but almost no control over their creation.
It is possible to have a little bit of each and it's not even that much work. I've taken the default multilayer fractal code and use that to generate a 'fake' plotmap. Then I use that plotmap to modufy the base heightfield prior to performaning plate tectonics, I also use the 'peaks' from that plotmap to seed the 'peaks' used to generate PerfectWorld's midpoint displacement heightfield.
Like I said, it's not very hard to impliment. I add a couple of lines into the generateHeightField() function like this:
Near the top...
global plotgen
self.terraMap = array('d')
plotgen = BnSMultilayeredFractal()
self.terraMap = plotgen.generatePlotsByRegion()
for i in range(self.mapWidth * self.mapHeight):
if self.terraMap[i] == PlotTypes.PLOT_PEAK:
self.map[i] = 1.00
At the bottom...
for i in range(self.mapWidth * self.mapHeight):
if self.terraMap[i] == PlotTypes.PLOT_OCEAN:
self.map[i] *= 0.5
This requires pulling the BnSMultilayeredFractal() (Big and Small in this case) function from the appropriate mapscrip and merging it in. The hardest part is getting the map options to work.
Anyway, the last line of code I posted: self.map[i] *= 0.5 controls how strong you want the influence from the fractal map to be. The exampel code isn't a very strong influence as it only take every plot that is water on the fractal map and reduces it by 50% on the heightfield so that land from the fractal map *should* be higher. In cases where I merged more specific mapscript like the Earth2.py script I used much stronger influence like:
for i in range(self.mapWidth * self.mapHeight):
if self.terraMap[i] == PlotTypes.PLOT_OCEAN:
self.map[i] -= 1.00
elif self.terraMap[i] == PlotTypes.PLOT_PEAK:
self.map[i] += 1.00
elif self.terraMap[i] == PlotTypes.PLOT_HILLS:
self.map[i] += 0.75
else:
self.map[i] += 0.50
With these values I all but eliminate the base heightfield, essentially making it little more than some noise. The purpose of this method is that it lets me take advantage of PerfectWorld climate code which requires the underlying heightfield to work.
So, if you are looking for more control over the continent placement and makup of PerfectWorld maps this is one way to get that. Otherwise you just kind of need to accept the fact that PerfectWorld's creation process is highly random and not easily controlled. Personally, I prefer the unpredictable nature of PerfectWorld maps over the hard rules of the fractal maps but not many players feel the same way :)
Edit: I've attached screenshots showing example maps in this post (http://forums.civfanatics.com/showpost.php?p=6360968&postcount=255), that is using hemispheres with two different sets of options.
cephalo Jan 13, 2008, 05:01 PM ...if...
x = PWRand.randint(1,xChunks - 2) * self.chunkSize
...prevents continents from straddling the dateline...
...what does activating...
self.SinkMiddle()
do?
The first example attempts to prevent land from starting it's growth on the date line, or where x == 0. The second example actually sinks the middle after the heightmap is generated, and is therefore more reliable in it's intended effect. I could have written a similar function called SinkDateline, but I figured that by not placing the initial peaks there, it wouldn't connect very often. The scheme really didn't work very well, but I abandoned the whole sinking philosophy once I found a way to target the meteors.
You really should not be getting super-continents with 1.09. Are you really getting those? There should almost never be a continent that is over 70% of the land mass. If you really want to prevent large continents, you might experiment with the function called 'isPangea' (misspelled, I know) Try turning that down to 0.5 from 0.7. The map will likely take longer to generate, but maybe not by too much.
Wolfshanze Jan 13, 2008, 08:17 PM You really should not be getting super-continents with 1.09. Are you really getting those? There should almost never be a continent that is over 70% of the land mass. If you really want to prevent large continents, you might experiment with the function called 'isPangea' (misspelled, I know) Try turning that down to 0.5 from 0.7. The map will likely take longer to generate, but maybe not by too much.
Is there a big differance between 1.08 and 1.09 in continent generation? My current game (using 1.08) I have a massive super-continent on a Huge map and one tiny continent...
I've downloaded 1.09 and toyed with map generation, but using 1.08 for my current game, I gat a massive super-continent... which takes up almost all of the land % for the planet (I'd say 70% of the land on this planet is part of the super-continent). It's making navies on this map pretty useless since everybody is on the super continent.
If you tell me you did a major fix between 1.08 and 1.09 I'll be happy... but the last few games I played on 1.07 I never had a map like the one I got using 1.08. Hence my nostalgia for 1.07's code.
cephalo Jan 13, 2008, 08:55 PM If you tell me you did a major fix between 1.08 and 1.09 I'll be happy... but the last few games I played on 1.07 I never had a map like the one I got using 1.08. Hence my nostalgia for 1.07's code.
1.07 introduced a bug in starting placement that I really didn't fix until 1.09. You may have noticed that in 1.07 there are almost no coastal starting citys. Also, 1.07 and 1.08 have alot of all tundra starts that I wasn't happy with. Because tundra has one food, my city evaluator saw a city with all tundra as having enough food to support 10 or so pop, which is really very far from the truth since non of those plots can feed themselves, so you can never really work more than 2 tiles or so, rather than the full 20 needed to get 20 food (for 10 pop).
Again, find that isPangea() function, and tweak the percentage of land that constitutes a pangaea. You can probably do some good with that. 70% is just an arbitrary number that I thought up. maybe later I can make a tuning variable for that.
Shoxer Jan 17, 2008, 11:30 AM :goodjob:
very nice map!
but:
would it be possible to include a script for a fair startpositions and with nearly the same distance/space between the startpositions?
i would like to use the mapskript for MP games.
thx
cephalo Jan 17, 2008, 01:20 PM :goodjob:
very nice map!
but:
would it be possible to include a script for a fair startpositions and with nearly the same distance/space between the startpositions?
i would like to use the mapskript for MP games.
thx
Well, I nearly gave myself a stroke trying to get these starting positions as fair as possible over a period of some weeks. For this map, I think this is about the best I can do...
The thing is, this map was never designed to offer a tournament quality MP game. I'm not even sure that it's even possible to find exactly fair starts on most of the maps PW generates. I was thinking more along the lines of a fun exploration phase.
This map should be fine for a fun MP game of civ, but not if your are seeking a real test of skill, only if you are looking for a fun series of events to put together a fun story.
SlightlyMad Jan 17, 2008, 01:45 PM Yep, it's a fantastic map for SP, but it's innately imbalanced for MP. Starting positions will often be in sprawling deserts or jungles, or small isolated areas.
Shoxer Jan 17, 2008, 01:48 PM no no - just like you wrote
it would be great if not all civ start on the same contie - or in the desert.
actually we try your map on a mp game - just for fun - its a game not a competition
cephalo Jan 17, 2008, 02:43 PM no no - just like you wrote
it would be great if not all civ start on the same contie - or in the desert.
actually we try your map on a mp game - just for fun - its a game not a competition
Everyone should have a shot at getting something going. If you see a really bad starting position with 1.09, I'd like to see a screenshot to see if there's a bug I missed. Also, starting positions can be placed anywhere in the 'old world'. Sometimes that will be one continent, but usually not.
If you want, there is a tunable variable at the beginning of the script that will allow you to turn off the 'new world/old world' functionality, that will spread starting locations out over the whole map.
SlightlyMad Jan 17, 2008, 02:59 PM Everyone should have a shot at getting something going. If you see a really bad starting position with 1.09, I'd like to see a screenshot to see if there's a bug I missed.
The only starting positions I ever see that I think suck are when there's several jungle tiles in the fat cross, as you can end up with unhealthiness in the city at 2-3 population. That's pretty rare though, and I can just regen the map. The biggest problem I have is when a starting position looks good, but turns out to be surrounded on all sides by desert and mountains.
The only way to really fix a problem like that is if the starting plot calculator could also check and make sure there's 2-3 good city sites in the surrounding area as well. Honestly though, I think the diversity makes the game a more interesting most of the time, and on the occasion that I get totally boned and have no chance, I've usually figured it out within 20-30 turns and can just quit and start up a new game.
cephalo Jan 17, 2008, 03:23 PM The only starting positions I ever see that I think suck are when there's several jungle tiles in the fat cross, as you can end up with unhealthiness in the city at 2-3 population.
Those don't bother me since jungle areas tend to be in areas with lot's of grass (rare on PW), and you only have to get to ironworking before that city is suddenly one of the best places in the world. If you get one again, stick with it. It should pay off in the end.
On this map, an equatorial start almost needs to have some jungle in the way to prevent that from being an overpowered start.
Shoxer Jan 17, 2008, 03:47 PM Everyone should have a shot at getting something going. If you see a really bad starting position with 1.09, I'd like to see a screenshot to see if there's a bug I missed. Also, starting positions can be placed anywhere in the 'old world'. Sometimes that will be one continent, but usually not.
If you want, there is a tunable variable at the beginning of the script that will allow you to turn off the 'new world/old world' functionality, that will spread starting locations out over the whole map.
thats would be great - please turn off!! :)
one of 8 players always tsarts in a desert, we tried 6 times
cephalo Jan 17, 2008, 03:58 PM thats would be great - please turn off!! :)
one of 8 players always tsarts in a desert, we tried 6 times
Have everyone in your group find this line in the file:
AllowNewWorld = True
And change it to:
AllowNewWorld = False
Now about this desert start, is it in a bad desert area far away from anything good? A desert start can be ok as long as you have some floodplains and access to some better lands.
Shoxer Jan 17, 2008, 04:18 PM Have everyone in your group find this line in the file:
AllowNewWorld = True
And change it to:
AllowNewWorld = False
Now about this desert start, is it in a bad desert area far away from anything good? A desert start can be ok as long as you have some floodplains and access to some better lands.
often without any food - but stone, iron ....
skallben Jan 17, 2008, 04:19 PM Hello there Cephalo dude, you abandoned the FFH project?
cephalo Jan 17, 2008, 04:23 PM Hello there Cephalo dude, you abandoned the FFH project?
No! I was working on it all day today. :D It's starting to work out, but might take a couple weeks. Hopefully I'll have some screen shots soon.
cephalo Jan 17, 2008, 04:59 PM often without any food - but stone, iron ....
make sure you use version 1.09, previous versions had some bad starts. If you are using 1.09, I'd like to see a screenshot if you have time.
Shoxer Jan 17, 2008, 05:58 PM make sure you use version 1.09, previous versions had some bad starts. If you are using 1.09, I'd like to see a screenshot if you have time.
i took the one in your first post, yesterday - might be the right one
Shoxer Jan 17, 2008, 06:49 PM i did what you said and it works fine now - i reduced the desert a bit - so we have not that much bad land - its better for mp games
at all thank you very much for your prompt help and this marvellous map
MrPopov Jan 17, 2008, 07:47 PM is there a way to force jungle and forest onto tiles with bonuses that otherwise prevent them?
It's too obvious when you see a lone hill surrounded by jungle/forest to know there must be copper/iron/etc there. In other map scripts that seem to randomly place forest/jungle around it's not as big of deal, but in your mapscript where massive areas of jungle and forest cover continents, the only reason a tile would be without is if there is a bonus there.
Which brings me to why is that rule anyway?
ggganz Jan 17, 2008, 07:49 PM Um, there can be forest/jungle over copper/iron. :confused:
MrPopov Jan 18, 2008, 03:00 AM well then something in the script changed that.
Every map I have played on, copper, iron, horses (and some food related bonuses that are always revealed such as sheep, corn, etc) are never on a tile with forest or jungle.
I don't know if forest and jungle spread to those tiles during the game (TBH I've never payed attention) but when the game starts it looks like this:
before (http://forums.civfanatics.com/uploads/96168/before.JPG)
after (http://forums.civfanatics.com/uploads/96168/after.JPG)
before (http://forums.civfanatics.com/uploads/96168/first.JPG)
after (http://forums.civfanatics.com/uploads/96168/second.JPG)
Shoxer Jan 18, 2008, 03:15 AM this is one of this craping startpositions i have spoken about:
167778 <--- why dosnt work it?????
Shoxer Jan 18, 2008, 03:36 AM another bad start:
Hyronymus Jan 18, 2008, 05:00 AM this is one of this craping startpositions i have spoken about:
167778 <--- why dosnt work it?????
You find that a crap starting position? You have flood plains to boost city growth and enough hills ánd stone to boost production.
Shoxer Jan 18, 2008, 05:19 AM there are only two floodplains! you are right, it could be more worst but i play only mp-games. if my opponent starts with one or to fish in fatcross or pigs... , then is this position BAD.
cephalo Jan 18, 2008, 08:35 AM there are only two floodplains! you are right, it could be more worst but i play only mp-games. if my opponent starts with one or to fish in fatcross or pigs... , then is this position BAD.
Thanks for posting those screenshots Shoxer. The first one in the desert is actually a very good starting location, not only for the reasons stated by Hyronymus, but also I think I see some gold on that hill. Get mining, and you'll get a nice jump on tech with that commerce.
That one in the plains though is not so nice. However, because I don't see alot of boosting resources there, it tells me that the general area might be pretty good. That player might have even been on his own island. Usually, if a starting plot is not well situated, you'll have alot of bonuses placed next to it. The more bonuses you see, usually the worse of the starting area it is.
The version number is written at the very beginning of the file. Make sure it's 1.09 because previous versions had a higher chance of bad starts. It's really very hard to make them fair! Next time someone gets a bad start, tell them to play it the best they can. Things might not be so bad as they first appear.
cephalo Jan 18, 2008, 09:04 AM well then something in the script changed that.
Every map I have played on, copper, iron, horses (and some food related bonuses that are always revealed such as sheep, corn, etc) are never on a tile with forest or jungle.
I don't know if forest and jungle spread to those tiles during the game (TBH I've never payed attention) but when the game starts it looks like this:
before (http://forums.civfanatics.com/uploads/96168/before.JPG)
after (http://forums.civfanatics.com/uploads/96168/after.JPG)
before (http://forums.civfanatics.com/uploads/96168/first.JPG)
after (http://forums.civfanatics.com/uploads/96168/second.JPG)
Well according to these screenshots, there are some clearings that are just empty. You still might guess wrong if you plunk down a city. :)
The reason for the clearing is that the XML rules don't explicitly allow trees/jungle for that resource. If a resource does allow them, they should be replaced if they were removed to put a resource there. I like the massive forests because the climate conditions in those places warrant them, but I don't want it to prevent resources from going there, as that used to be a big problem.
I know this is something that always bugged you. You might try changing the XML so that the hidden resources allow forest/jungle. That way these holes should be covered up.
Edit: However, since I'm already cheating by putting them there in the first place, maybe covering them up again will not have any negative consequences. I should try this in a future version.
SlightlyMad Jan 18, 2008, 10:26 AM I've actually had great results by adding forest and jungle "threshold" variables to the script. I just add them as multipliers in the feature addition part of the script where it checks for forest and jungle. This allows for much more interesting fauna formations, IMO. I get big open "great plains" areas, and lots of forests on grassland as well. The jungle areas of the map tend to be extremely dense and wet, and are a minority (as it is on this planet).
This helps a lot, as it reduces the detriment of desert starts (when every non-desert start has tons of forest, it makes the desert starts even less fair), and makes jungle starts very rare.
I also tweaked the flood plains to make them much more rare, but able to also appear on plains and tundra. This again reduces desert starts (since desert areas are rarely suitable without FP), and makes the "great plains" areas more viable with some scattered flood plains (which are less imbalanced than I thought they'd be, as there's never more than 1-2 around).
The more barren deserts, which are usually accompanied by mountain ranges, make for amazing strategic areas. They almost always form a natural barrier between civs, and become dramatic war grounds. I've had incredible games on large and huge maps, where there were truly epic marches of troops across the desert, usually meeting the enemy in between and staging huge battles. It's far more interesting than the same old city attack/defense that most wars are made of.
Seven05 Jan 18, 2008, 10:48 AM The problem that makes it more of an issue in MP games is that you have somebody to compare yourself with :)
The worst starts are when you get a poor starting plot on a really good area with other civs. You don't get many 'boost' resources for your first city so you can't expand like everyone else and since its a really good area they get several really good cities while you struggle. In a SP game that's part of the fun but in an MP game it kinds of ruins it.
Shoxer Jan 18, 2008, 12:59 PM The problem that makes it more of an issue in MP games is that you have somebody to compare yourself with :)
The worst starts are when you get a poor starting plot on a really good area with other civs. You don't get many 'boost' resources for your first city so you can't expand like everyone else and since its a really good area they get several really good cities while you struggle. In a SP game that's part of the fun but in an MP game it kinds of ruins it.
thats how it is dude
SevenSpirits Jan 18, 2008, 10:01 PM It seems premature to judge those positions without knowing about what's in the fog, or hidden resources. How about revealing the map before taking the shot?
That said, the second one sucks.
2manyusernames Jan 20, 2008, 06:25 PM I get a map crash every time I try to use this map. I get the standard all plains except forest around starting points map.
The PythonErr.log gives me:
Traceback (most recent call last):
File "<string>", line 1, in ?
File "<string>", line 52, in load_module
File "PerfectWorld", line 215, in ?
ImportError: cannot import name random
Failed to load python module PerfectWorld.
ERR: Call function getNumHiddenCustomMapOptions failed. Can't find module PerfectWorld
ERR: Call function getNumCustomMapOptions failed. Can't find module PerfectWorld
ERR: Call function getNumHiddenCustomMapOptions failed. Can't find module PerfectWorld
ERR: Call function getNumCustomMapOptions failed. Can't find module PerfectWorld
ERR: Call function getNumHiddenCustomMapOptions failed. Can't find module PerfectWorld
ERR: Call function getNumCustomMapOptions failed. Can't find module PerfectWorld
The map is in the proper location and I do not get this error with any other map (well other than Seven05's World Piece map which uses PerfectWorld as a base)
Any ideas?
cephalo Jan 20, 2008, 10:01 PM I get a map crash every time I try to use this map. I get the standard all plains except forest around starting points map.
The PythonErr.log gives me:
The map is in the proper location and I do not get this error with any other map (well other than Seven05's World Piece map which uses PerfectWorld as a base)
Any ideas?
Yep! There is an old map script called random.py. This name conflicts with the random.py that is part of the Python system modules. Find the random.py map script and rename it.
2manyusernames Jan 21, 2008, 12:46 AM Yep! There is an old map script called random.py. This name conflicts with the random.py that is part of the Python system modules. Find the random.py map script and rename it.
That did the trick. Simple solution for a nerve-wrecking problem. Thanks So Very Much!
omglazers Jan 24, 2008, 05:30 AM My only major complaint about this map script is that ALL I get is long diagonal chains of islands or one massive diagonal continent [if I turn on pangea settings]. It's the farthest thing I can imagine from a realistic playing field [Earth-like].
I'd love to see this script applied so that 90% of the world wasn't water, and that what remained was basically a big long strip of one island :\
MrPopov Jan 24, 2008, 05:59 AM Perfect world unmodified produces very earth-like maps for me. Mabye there is something else going on?
cephalo Jan 24, 2008, 07:57 AM My only major complaint about this map script is that ALL I get is long diagonal chains of islands or one massive diagonal continent [if I turn on pangea settings]. It's the farthest thing I can imagine from a realistic playing field [Earth-like].
I'd love to see this script applied so that 90% of the world wasn't water, and that what remained was basically a big long strip of one island :\
Well.... There is a setting for land percent. Unless you set that to 10%, you should be getting about 26% land or close to it. Let's not exaggerate shall we? If you turn up the land percent and turn off pangaea settings I almost guarantee you will get nice big continents plus a new world unless new worlds are turned off.
The idea here is a plausable, yet completely unpredictable planet to explore. If you really want earthlike, LDiCesere's Tectonics map script has a cool Terra option that makes random continents that more or less match earths.
Edit: what map size do you like to play? Different map sizes on this script do have differing land forms. I confess the ones I pay most attention to are Standard, Huge and Duel.
omglazers Jan 24, 2008, 05:13 PM Well.... There is a setting for land percent. Unless you set that to 10%, you should be getting about 26% land or close to it. Let's not exaggerate shall we? If you turn up the land percent and turn off pangaea settings I almost guarantee you will get nice big continents plus a new world unless new worlds are turned off.
The idea here is a plausable, yet completely unpredictable planet to explore. If you really want earthlike, LDiCesere's Tectonics map script has a cool Terra option that makes random continents that more or less match earths.
Edit: what map size do you like to play? Different map sizes on this script do have differing land forms. I confess the ones I pay most attention to are Standard, Huge and Duel.
Standard.
Sorry for exaggerating, but I REALLY love your script but the crazy looking island-continents aren't very fun purely because it's one like stretch of cities.
Most of my maps end up as one lonnnng banana shaped continent with 26% land and pangea on.
And it's not very wide. Maybe two cities width at it's widest
cephalo Jan 24, 2008, 06:12 PM Standard.
Sorry for exaggerating, but I REALLY love your script but the crazy looking island-continents aren't very fun purely because it's one like stretch of cities.
Most of my maps end up as one lonnnng banana shaped continent with 26% land and pangea on.
And it's not very wide. Maybe two cities width at it's widest
Is what you are getting looking like the screenshots on the first post? Those are typical of what I usually get. I have seen some really snaky looking continents before, but it's pretty rare. I wouldn't mind a screenshot to make sure there's not something wrong.
Other than increasing the land percent, there is one more thing you can try.
Find this line:
WorldSizeTypes.WORLDSIZE_STANDARD: (26,16),
and change it to:
WorldSizeTypes.WORLDSIZE_STANDARD: (24,16),
What this does is rather complicated to explain, but it lowers the resolution of the initial peak place placement and makes for bulkier continents. It used to be this way, but I changed it because I was getting lot's of pangaeas and super bulky continents and I thought it went a bit too far in that direction. You may think differently though.
frekk Jan 24, 2008, 09:42 PM I was getting much the same thing - long, snaky continents. Of course I had a custom grid size of 192x120 set. Two things fixed it. One is detailed a page or two back, a small change Cephalo suggested that sinks the middle of the map (I think this will help compress your 26% into fatter continents). The second was that I changed the custom grid size from 192x120 to 192x112 (ie from 48x30 cells to 48x28 cells). I don't know why that made such a big difference, but it did. I get a nice mix of big fat continents, often with interesting peninsulas and bays, and some island chains. The snakiness is still there in small spots and it helps to create the island chains and peninsulas, but it is not the dominant appearance of the map anymore.
manooly Jan 31, 2008, 08:53 AM Hello! I just recently bought and installed BtS for Civ4. First off, will this MapScript work for me (using BtS)?
I'm the kind of player that loves continents and terrain just like our real world. Because of my older laptop I am only basically able to play on Standard sized maps with 7 or 8 civs. I also like the idea of civs starting all over the place and not just one specific continent. Having civs start on different continents and also leaving one or two "New World" continents to explore sounds like the perfect MapScript. Is this what this script will do? If so, could you please tell me exactly what settings I should set to create a Standard size map that fits the descriptions I've stated? Any info would be appreciated.
Thanks for your time!
- manooly
cephalo Jan 31, 2008, 11:20 AM Hello! I just recently bought and installed BtS for Civ4. First off, will this MapScript work for me (using BtS)?
I'm the kind of player that loves continents and terrain just like our real world. Because of my older laptop I am only basically able to play on Standard sized maps with 7 or 8 civs. I also like the idea of civs starting all over the place and not just one specific continent. Having civs start on different continents and also leaving one or two "New World" continents to explore sounds like the perfect MapScript. Is this what this script will do? If so, could you please tell me exactly what settings I should set to create a Standard size map that fits the descriptions I've stated? Any info would be appreciated.
Thanks for your time!
- manooly
The script should do just that right out of the box! :)
uh.. but if it doesn't, let me know and we'll decide what to do about it. :blush: There are a collection of tuning variables at the beginning of the script that you can play with. This script is meant to be a 'plausable' earth, but also very different from earth as far as where the continents are and how many.
manooly Jan 31, 2008, 12:00 PM Perfect! Thanks for your reply. How exactly do I get your script to work when starting a new game?
cephalo Jan 31, 2008, 12:57 PM Perfect! Thanks for your reply. How exactly do I get your script to work when starting a new game?
If you put it in the right place, you should get the option to use PerfectWorld as your map script when starting the game.
manooly Jan 31, 2008, 01:22 PM So, I'll simply be able to select it is one of the map types like Continents, Terra, etc. right? Thanks!
Ermak- Feb 01, 2008, 12:25 PM Why does it crash or load 20 mins in multiplayer game thow?? is this only for songle-player?
cephalo Feb 01, 2008, 12:34 PM Why does it crash or load 20 mins in multiplayer game thow?? is this only for songle-player?
if the game is crashing 20 minutes in, it's gotta be something else besides the map script. I'm not sure I understand the question. This map does take a long time to generate, there's alot of stuff going on. It used to have OOS errors in MP, but I thought I fixed those.
Seven05 Feb 01, 2008, 01:18 PM It used to have OOS errors in MP, but I thought I fixed those.
You did fix the MP compatability errors, it's been very stable since you implemented your fix to the RNG.
DharmaMcLaren Feb 03, 2008, 06:47 AM Will this work with Fall from Heaven, or does something need changed?
cephalo Feb 03, 2008, 09:37 AM Will this work with Fall from Heaven, or does something need changed?
This one works fine. You may however want to turn off the new world functionality with the tuning variable at the beginning of the script. Otherwise, you'll get so many barbarians there it's kinda rediculous.
manooly Feb 04, 2008, 08:04 AM How do you "turn off" certain funcionality of your script? All I see is that your map is available as an option within the game. I see no choices or other parameters to change before generating a map. Maybe I'm missing something though.
cephalo Feb 04, 2008, 08:31 AM How do you "turn off" certain funcionality of your script? All I see is that your map is available as an option within the game. I see no choices or other parameters to change before generating a map. Maybe I'm missing something though.
You have to get under the hood and get your hands dirty. :) Open up the file in a text editor and toward the beginning of the file you'll see some variables with instructions above them. If you ruin the file, you can re-download.
MrPopov Feb 06, 2008, 05:40 AM I make a few copies myself, each renamed with the change I made.
Be careful though, you can't have spaces in map script names. It will crash when loading and be all grassland.
Seven05 Feb 06, 2008, 10:17 AM I should just take this script and put map options in like I did for my version of it, it's not hard :)
cephalo Feb 06, 2008, 11:26 AM I should just take this script and put map options in like I did for my version of it, it's not hard :)
The thing that always made me hesitate, was that I heard that in order to save those custom options, you had to jump through alot of hoops getting it to work on both PC and Mac. Personally, I'd rather just set it up like I want and be done with it rather than have to select my options every time.
Seven05 Feb 06, 2008, 03:57 PM For that you just go in and re-define the default selections how you want them which isn't much different than the current method except that you can also make changes per game without having to edit the python.
cephalo Feb 06, 2008, 04:26 PM For that you just go in and re-define the default selections how you want them which isn't much different than the current method except that you can also make changes per game without having to edit the python.
That is true. Which one's do you think people would like to change from game to game?
zmojo Feb 06, 2008, 05:29 PM All I get when I try this is a Map of all grassplains. I installed as instructed. Does this not work with BtS?
cephalo Feb 06, 2008, 05:54 PM All I get when I try this is a Map of all grassplains. I installed as instructed. Does this not work with BtS?
make sure you don't have a map script called 'random.py'. random.py is a Python system module that PerfectWorld needs, and the map script random.py creates a naming conflict. If you have that map script, re-name it. Also, once in a while the map will crash (and create all grassland), make sure you try it more than once.
MrPopov Feb 07, 2008, 04:38 AM Needed selections:
Definately these two:
Pangeas: Yes/No
New World: Yes/No
Mabye these:
Land Percent: 20,25,30,35
Python Random Thingy: Yes/No
Generic way to tune world climate that ties in the rain and temp-threshold values?: Cold,Temperate,Tropical
zmojo Feb 07, 2008, 01:51 PM make sure you don't have a map script called 'random.py'. random.py is a Python system module that PerfectWorld needs, and the map script random.py creates a naming conflict. If you have that map script, re-name it. Also, once in a while the map will crash (and create all grassland), make sure you try it more than once.
that did it! Thank you!
Seven05 Feb 07, 2008, 02:14 PM That is true. Which one's do you think people would like to change from game to game?
Personally I set up the script for my mod originally around the pangaea and new world settings. Eventually I added a sort of climate option as well (tropical, arid, cool) since sometimes it's fun to play on a gigantic pangaea jungle world but I wouldn't do that in every game :)
I would say the big ones are definately the new world option and the pangaea option. Possibly the percentage of land but thats a tough one with your script.
Your script is incredibly tunable for the climate and it's hard to translate all of that to in-game selections. However having one to increase/decrease rainfall thresholds and another to increase/decrease temperatures wouldn't be too complicated, they could work by adjusting whatever was set in the script so effectively the options would be to use the values in the script or add/subtract a small percentage from them. For instance a 'Rainfall:' option would have three choices- Less, Standard and More. Standard would use the exact values from the mapscript, less would use the desert & plains thresholds *1.1 (or something similar) and more would use desert & plains thresholds * 0.9 (or something similar).
Nordon Feb 08, 2008, 06:30 AM I have a question regarding map scripts. Does anyone of you tried to combine Smartmap with PerfectWorld? PW does really exceptional, realistic maps when it comes to the landmasses and terrain shape, but I lack settings that are in SM and which decide about river placements, bonuses, goody huts, lakes and such (not to mention none of the scripts have an option that let player start on continent without any other civ on it).
Also, I admit I am quite demanding when it comes to maps - I try to randomize one to play for 5 days already, but 90% of results ends up with at least 1 other civ around, or throws me near the pole (like any civilization in worlds history ever raise on snow...). Since I am complete noob when it comes to changing map scripts, maybe someone of you can help me with this problem?
cephalo Feb 08, 2008, 08:18 AM Ok, next week I'll try to have a few options. I think I'm also going to put the tuning variables into a class at the beginning of the script. When you put those globals like I have been doing in Python you can't change them programatically, plus it's just wasted memory if someone is not using PW.
By the way Mr. Popov, I am now allowing forest on top of the resources, and it looks unusual sometimes but it works. That way hidden resources won't be telegraphing themselves by a conspicuous lack of forest.
cephalo Feb 08, 2008, 08:30 AM I have a question regarding map scripts. Does anyone of you tried to combine Smartmap with PerfectWorld? PW does really exceptional, realistic maps when it comes to the landmasses and terrain shape, but I lack settings that are in SM and which decide about river placements, bonuses, goody huts, lakes and such (not to mention none of the scripts have an option that let player start on continent without any other civ on it).
Also, I admit I am quite demanding when it comes to maps - I try to randomize one to play for 5 days already, but 90% of results ends up with at least 1 other civ around, or throws me near the pole (like any civilization in worlds history ever raise on snow...). Since I am complete noob when it comes to changing map scripts, maybe someone of you can help me with this problem?
Hmm, most of these are not really possible in PW, as the natural appearance is achieved by sticking to a pattern of rules. Wind, sea and land create the climate, Rivers go downhill etc. Most of the options you are interested in require the map to be built around those options, and it would be difficult to pull off one player per continent while have it look natural and be somewhat fair starts. Bonuses can have options quite easily, but man, you don't know how hard I worked just to get bonuses to follow the XML rules :crazyeye: If you play around with your XML files, PerfectWorld will carry it out faithfully! :goodjob:
Seven05 Feb 08, 2008, 11:41 AM By the way Mr. Popov, I am now allowing forest on top of the resources, and it looks unusual sometimes but it works. That way hidden resources won't be telegraphing themselves by a conspicuous lack of forest.
I did that via XML for my mod and the result are really good. I didn't do it for some resources since I knew PW would make room for them, most of the resources that you can see from the start (cows, corn, wheat, etc) were left alone.
Nordon Feb 08, 2008, 01:37 PM Hmm, most of these are not really possible in PW, as the natural appearance is achieved by sticking to a pattern of rules. Wind, sea and land create the climate, Rivers go downhill etc. Most of the options you are interested in require the map to be built around those options, and it would be difficult to pull off one player per continent while have it look natural and be somewhat fair starts. Bonuses can have options quite easily, but man, you don't know how hard I worked just to get bonuses to follow the XML rules :crazyeye: If you play around with your XML files, PerfectWorld will carry it out faithfully! :goodjob:
Oh, well, still, these are the reasons I use SmartMap instead of your generator - I am addicted to "many rivers" and slightly increased amount of resources, compared to normal spawn). I tought it would be just enough to increase chance for getting a river in your code, and make bonus placement section run twice (or thre times) if needed (I guess this might double (or triple) resources without messing too much with the whole script, but I am no programmer - I ended my education in the subject on Basic and HTML :( ). Landscapes generated by PW are indeed perfect (altough lines between climates sometimes create a straight line across continents). All I am dreaming is a small, optional post-processing, that would add few bonuses here and there. Just to humor some freaks like me, who likes really huge cities ;) I just didn't know it would be that complicated. If it is, then sorry for wasting your time.
I don't quite understand why "it would be difficult to pull off one player per continent while have it look natural and be somewhat fair starts." You see, about 20-30% of the placements I get on Smartmap ends with putting me (and, as I checked in the worldbuilder, some other civs as well) on the icecap line. It certainly doesn't look natural, or fair. I believe even if the script simply runs a check if a player is alone, and re-shuffle starting position if it isn't so, it will be still a lot better for me than making a tons of new maps. For eg. (again, SmartMap) I use "2 per player" continent settings, and yet, as I observed, script happily puts me with companion, while there are at least 4 quite nice continents without any civ on it at all! (while on many smaller ones there are 2 civs sticked together). And it doesn't looks like these continents lack of anything important - usually they have copper and iron, and either both coal/oil, or one of it. I'd have to calculate odds for these some day to see if generator doesn't make it on purpose...
cephalo Feb 08, 2008, 02:39 PM Oh, well, still, these are the reasons I use SmartMap instead of your generator - I am addicted to "many rivers" and slightly increased amount of resources, compared to normal spawn). I tought it would be just enough to increase chance for getting a river in your code, and make bonus placement section run twice (or thre times) if needed (I guess this might double (or triple) resources without messing too much with the whole script, but I am no programmer - I ended my education in the subject on Basic and HTML :( ). Landscapes generated by PW are indeed perfect (altough lines between climates sometimes create a straight line across continents). All I am dreaming is a small, optional post-processing, that would add few bonuses here and there. Just to humor some freaks like me, who likes really huge cities ;) I just didn't know it would be that complicated. If it is, then sorry for wasting your time.
I don't quite understand why "it would be difficult to pull off one player per continent while have it look natural and be somewhat fair starts." You see, about 20-30% of the placements I get on Smartmap ends with putting me (and, as I checked in the worldbuilder, some other civs as well) on the icecap line. It certainly doesn't look natural, or fair. I believe even if the script simply runs a check if a player is alone, and re-shuffle starting position if it isn't so, it will be still a lot better for me than making a tons of new maps. For eg. (again, SmartMap) I use "2 per player" continent settings, and yet, as I observed, script happily puts me with companion, while there are at least 4 quite nice continents without any civ on it at all! (while on many smaller ones there are 2 civs sticked together). And it doesn't looks like these continents lack of anything important - usually they have copper and iron, and either both coal/oil, or one of it. I'd have to calculate odds for these some day to see if generator doesn't make it on purpose...
If you open PerfectWorld with a text editor, toward the begining of the file there are many variables with clear instructions that you can play with to change quite a few things. Give it a read, and don't worry about being a programmer, if you mess something up permanently you can just download the file again. The frequency of rivers is one of the things you change.
I believe that SmartMap actually custom creates a continent for each player or group of players. I'm sure it can be done in a convincing way that looks good, but PerfectWorld is so different than that in the way it works that one would have to make a different map script entirely, and just glue it into the script as an option. If you read through this thread about my struggle for fair-ish starting locations, you'll see that the issues you run into are quite difficult.
A map script is kinda like a song, or a painting. If you try to write a song that is all things to all people, as if there were to be no need for any more songs or songwriters, you would likely end up working ten times as hard on a not very good song that lacked focus. This script is my interpretation of a plausable, 'what if' earthlike scenario. My goal with this is to create in a players mind a question; not "How can I make the world suit my imagination?" but "What can I do in the world I have been given?" There's a realism there that appeals to me. The Greeks probably would have loved their own green continent away from the Romans, but they had to make do with a bunch of plains hills and some copper.
SmartMap has almost 10,000 downloads because it is a very good script. It is born and bred to give options, and it gives many and gives them pretty well. PerfectWorld is something else, it's not about options. To enjoy this map script most effectively, forget what you know about maps and put yourself back to 4000 B.C. as tribal chief who doesn't know nothin about nothin. Is somebody taking up space on your island? Well... you know what to do.:evil: :lol:
Nordon Feb 08, 2008, 04:24 PM Believe me, I know about all you wrote. There is only one thing - when i finally got the game I wanted (eg, "continent on my own"), it appeared to be a simple rectangle, with very few add-ons, mostly one-square bay here and there... As I understand, the easier way to fix it would be incorporating the part that randomizes continents into SmartMap?
(I mean, something not as complex as your PW script, but something that makes continental coastlines reasonably realistic.)
cephalo Feb 08, 2008, 04:33 PM Believe me, I know about all you wrote. There is only one thing - when i finally got the game I wanted (eg, "continent on my own"), it appeared to be a simple rectangle, with very few add-ons, mostly one-square bay here and there... As I understand, the easier way to fix it would be incorporating the part that randomizes continents into SmartMap?
One thing you can do to be sure of the game you want, is to generate the map with whatever script, and use World Builder to place your starting plot on an acceptable island. It's kindof cheating, and might give away the world, but if you do this several days before you play, you'll have time to forget what you saw. :)
headhoncho Feb 10, 2008, 11:15 AM Cephalo, I LOVE the maps your script generates. I do have one question/request, however. I love random resource generation and can't stand maps where all of the resources are clustered by continent (mostly because I don't like being forced to trade, for various reasons). I glanced at the text file of the script, but I can't figure out how to randomize the resources. Is there any way you can suggest a fix?
Thanks!
cephalo Feb 10, 2008, 02:24 PM Cephalo, I LOVE the maps your script generates. I do have one question/request, however. I love random resource generation and can't stand maps where all of the resources are clustered by continent (mostly because I don't like being forced to trade, for various reasons). I glanced at the text file of the script, but I can't figure out how to randomize the resources. Is there any way you can suggest a fix?
Thanks!
You can edit the XML. In the Civ4BonusInfos file theres a field called bArea, set all bArea = 0 and no resources will be separated by continent. However, some resources also have strict limits as to how close they can be to other resources of the same class, and since they are placed one before the other, sometimes the first one will crowd out the ones placed after. You can relax those rules in the Civ4BonusClassInfos file.
Keep in mind you are never forced to trade, you have the option of taking as well. :)
headhoncho Feb 10, 2008, 05:09 PM You can edit the XML. In the Civ4BonusInfos file theres a field called bArea, set all bArea = 0 and no resources will be separated by continent. However, some resources also have strict limits as to how close they can be to other resources of the same class, and since they are placed one before the other, sometimes the first one will crowd out the ones placed after. You can relax those rules in the Civ4BonusClassInfos file.
Hmm, I've searched all over, and I can't find this file. Do you know where it's located?
Thanks so much for your help!
cephalo Feb 10, 2008, 06:36 PM Hmm, I've searched all over, and I can't find this file. Do you know where it's located?
Thanks so much for your help!
It will be in Civ4/Assets/XML/Terrain I think. Also, depending on the mod you are playing, in might be in the mods XML/Terrain folder.
headhoncho Feb 11, 2008, 04:27 PM It will be in Civ4/Assets/XML/Terrain I think. Also, depending on the mod you are playing, in might be in the mods XML/Terrain folder.
Hmm, I made this change, but it doesn't seem to have made any difference despite multiple map restarts (it's a standard custom game using your Perfect World script).
I am wondering if there's a different file name used for BTS? I checked the BTS/Assets/XML/Terrain folder, and there didn't seem to be anything that matched what you described. And I changed what you said in the Civ4 folders, but again, nothing seems to have changed.
Sorry to be such a pain, but if you have any ideas, I would certainly welcome them. :) Your script is great and I appreciate how helpful you've already been!
cephalo Feb 11, 2008, 05:07 PM Hmm, I made this change, but it doesn't seem to have made any difference despite multiple map restarts (it's a standard custom game using your Perfect World script).
I am wondering if there's a different file name used for BTS? I checked the BTS/Assets/XML/Terrain folder, and there didn't seem to be anything that matched what you described. And I changed what you said in the Civ4 folders, but again, nothing seems to have changed.
Sorry to be such a pain, but if you have any ideas, I would certainly welcome them. :) Your script is great and I appreciate how helpful you've already been!
Do you have the cheat code turned on so you can see where everything is placed on the map? If you turned bArea off for all of them, they should place themselves everywhere, as long as you ease some of the crowding problems I mentioned. For example, if you are getting lots of sheep, and hardly any pigs or cows on the map that's due to the bonusClassInfo rules. If you don't designate continents for them, one will dominate.
BtS falls back to the ones in the Civ4 folders I think.
headhoncho Feb 11, 2008, 10:13 PM Do you have the cheat code turned on so you can see where everything is placed on the map? If you turned bArea off for all of them, they should place themselves everywhere, as long as you ease some of the crowding problems I mentioned. For example, if you are getting lots of sheep, and hardly any pigs or cows on the map that's due to the bonusClassInfo rules. If you don't designate continents for them, one will dominate.
BtS falls back to the ones in the Civ4 folders I think.
Well I know your day would not be complete without a progress report from me. :) :)
I tried what you indicated, I set all of the bAreas in the one document to 0, and then I set the ClassInfo uniques from 5 to 2 on grain and livestock. Unfortunately, in Perfect World the problem persisted, without fail all of the grain and livestock were clustered by continent.
I then tried a standard Custom Continents game, and while there was still some clustering, it was not absolute like it was on Perfect World.
Do you think I should try reclassifying the grain and livestock bonuses as general bonuses, and then seeing how it goes?
Thanks for your patience!
EDIT: I also brought the unique values down to zero (and separately renamed all of the _GRAIN and _LIVESTOCK resources _GENERAL instead), with the same result. Only on Perfect World, and not on Custom Continents. So it does appear to me that it's an issue specific to the Map Script, if I'm not mistaken. Thanks!
cephalo Feb 12, 2008, 08:43 AM Well I know your day would not be complete without a progress report from me. :) :)
I tried what you indicated, I set all of the bAreas in the one document to 0, and then I set the ClassInfo uniques from 5 to 2 on grain and livestock. Unfortunately, in Perfect World the problem persisted, without fail all of the grain and livestock were clustered by continent.
I then tried a standard Custom Continents game, and while there was still some clustering, it was not absolute like it was on Perfect World.
Do you think I should try reclassifying the grain and livestock bonuses as general bonuses, and then seeing how it goes?
Thanks for your patience!
EDIT: I also brought the unique values down to zero (and separately renamed all of the _GRAIN and _LIVESTOCK resources _GENERAL instead), with the same result. Only on Perfect World, and not on Custom Continents. So it does appear to me that it's an issue specific to the Map Script, if I'm not mistaken. Thanks!
Hmm... that should not be happening. I never really tested altering the XML like that, it's possible that you found a bug. Do me a favor and change the following lines in your Civilization4.ini file to these values:
HidePythonExceptions = 0
LoggingEnabled = 1
I'm wondering if there's a crash happening that's not making itself obvious. These settings will bring a popup when there's a problem. When logging is enabled, you can look in your MyDocuments/games/bts/logs folder for the PythonDbg file. That will some some additional info on how the resources are placed.
Keep in mind that the different livestock have different terrain preferences. if Cows take over all the plains, then sheep will likely have to go on grass, which might often be on different continents.
EDIT: which directory exactly did you put PerfectWorld in? Also, make sure the files are not cached. Set these lines in the ini file as well to make sure you are using your recently changed files.
DisableFileCaching = 1
DisableCaching = 1
Also there are some different Civ4BonusInfos.xml files scattered across the different versions, you might check whether the Warlards one is the one being used. Are you seeing the effect of the class placement allowing for closer placement? If not, then it looks like you are editing a different xml file than the one you are playing with.
I guess editing the XML is a little more complicated than I thought! Sorry!
headhoncho Feb 12, 2008, 09:58 AM Hmm... that should not be happening. I never really tested altering the XML like that, it's possible that you found a bug. Do me a favor and change the following lines in your Civilization4.ini file to these values:
HidePythonExceptions = 0
LoggingEnabled = 1
I'm wondering if there's a crash happening that's not making itself obvious. These settings will bring a popup when there's a problem. When logging is enabled, you can look in your MyDocuments/games/bts/logs folder for the PythonDbg file. That will some some additional info on how the resources are placed.
Keep in mind that the different livestock have different terrain preferences. if Cows take over all the plains, then sheep will likely have to go on grass, which might often be on different continents.
EDIT: which directory exactly did you put PerfectWorld in? Also, make sure the files are not cached. Set these lines in the ini file as well to make sure you are using your recently changed files.
DisableFileCaching = 1
DisableCaching = 1
Also there are some different Civ4BonusInfos.xml files scattered across the different versions, you might check whether the Warlards one is the one being used. Are you seeing the effect of the class placement allowing for closer placement? If not, then it looks like you are editing a different xml file than the one you are playing with.
I guess editing the XML is a little more complicated than I thought! Sorry!
I am indeed seeing the effect of class placement that allows for closer placement, so it's clear the data has been changed. And the terrains are diverse, so that's not the issue either.
Perfect World is in my BTS/PublicMaps folder.
I will do the other stuff you suggest and report back! Thanks again for all your help, you are truly going above and beyond. :)
EDIT: Gosh, is THAT the problem? I will also try moving PerfectWorld to the Civ4/PublicMaps forum and see if that works.
EDIT 2: OK, moving the folder didn't help, but what DID help was the changing to uncached XML. So maybe my mind was playing tricks on me when I thought I had seen the effects of closer placement. I think that must have been what did the trick. Now it totally works! You are seriously awesome, I really appreciate all of your help, you have really made one Civ4 player's day! Not sure if you want or need it any more, but I also have the log if you want it. :) Thanks again!
EDIT 3: I suppose a more fundamental question sheerly for the sake of curiosity is, why is it that resources are clustered and grouped more tightly from continent to continent in Perfect World, than in, say, Custom Continents (which frequently have different kinds of grain or livestock on the same continent, unlike Perfect World)? How does the script change the resource allocation system (or does it, am I imagining things again)? It's definitely a noticeable difference, IMO! Again, many thanks for the help!
cephalo Feb 12, 2008, 06:32 PM EDIT 3: I suppose a more fundamental question sheerly for the sake of curiosity is, why is it that resources are clustered and grouped more tightly from continent to continent in Perfect World, than in, say, Custom Continents (which frequently have different kinds of grain or livestock on the same continent, unlike Perfect World)? How does the script change the resource allocation system (or does it, am I imagining things again)? It's definitely a noticeable difference, IMO! Again, many thanks for the help!
I'm glad it works! I thought it would follow the rules, I sure as heck worked very hard to learn those rules! :lol: Now when you say clustering, you mean stuff like wine that is supposed to cluster but often doesn't because of the standard fractal terrain generator, or are you just talking about continent placement? For continent placement, the code as I understood it from the DLL will prefer different continents if a suitable one exists, but if not it will share a continent. The problem though is that the bonus are placed one at a time, for example all cows are placed, then pigs etc. usually that means there will be much fewer of one of them.
One difference between PW and other maps is that PW has lots of trees. Because of those trees, PW was not placing enough bonuses because the trees were blocking most of the territory. So, I rewrote the bonus placer to go ahead and place the bonus anyway and remove the trees, so now PW is different from other maps in that bonuses have zero trees blocking them, instead of the moderate amount of normal maps. If you are curious there are discussions earlier in this thread regarding the history of PWs developement.
headhoncho Feb 12, 2008, 08:49 PM I'm glad it works! I thought it would follow the rules, I sure as heck worked very hard to learn those rules! :lol: Now when you say clustering, you mean stuff like wine that is supposed to cluster but often doesn't because of the standard fractal terrain generator, or are you just talking about continent placement? For continent placement, the code as I understood it from the DLL will prefer different continents if a suitable one exists, but if not it will share a continent. The problem though is that the bonus are placed one at a time, for example all cows are placed, then pigs etc. usually that means there will be much fewer of one of them.
Sorry I was vague, what I mean by clustering is that in PW on default settings/XML, one continent will only have, say, cows and rice, and none of the other livestock or grain. Another continent will have sheep and wheat. And another, pigs and corn. This is in stark contrast to, say, custom continents which will have a decent amount of diversity within the livestock and grain groups on each continent.
I know I was able to address the issue by editing the XML, but I suppose I was just wondering what changed from custom continents to PW? It implies there is a change within the Map Script, that might be changeable without editing the XML. But my knowledge of coding is close to nil, so perhaps the implication I'm taking from it is mistaken. :)
cephalo Feb 12, 2008, 10:53 PM Sorry I was vague, what I mean by clustering is that in PW on default settings/XML, one continent will only have, say, cows and rice, and none of the other livestock or grain. Another continent will have sheep and wheat. And another, pigs and corn. This is in stark contrast to, say, custom continents which will have a decent amount of diversity within the livestock and grain groups on each continent.
I know I was able to address the issue by editing the XML, but I suppose I was just wondering what changed from custom continents to PW? It implies there is a change within the Map Script, that might be changeable without editing the XML. But my knowledge of coding is close to nil, so perhaps the implication I'm taking from it is mistaken. :)
The only thing that I intended to be different, was the tree thing. I think what you might be seeing on continents is the plot normalizer. If one starting position is determined to be weak, food bonuses are added and by default they do not respect the bArea rule. I felt this was undesireable, so in PW I made sure that normalization would respect that.
asioasioasio Feb 13, 2008, 04:36 AM My favoured map script - thank you :)
cephalo Feb 13, 2008, 09:24 AM My favoured map script - thank you :)
That's what it's all about, my unhealthy desire for praise! Ahhhh. :thanx:
GeoModder Feb 13, 2008, 09:31 AM Just discovered this. I simply have to give it a try. :D
Mknn Feb 14, 2008, 11:37 PM I _love_ the maps aesthetically, but I seem to be getting many more island based maps than I'd like. I like playing on huge maps with 15-18 civs. What settings in the Python would you recommend? I have allow pangea set to TRUE and allow new world to FALSE, but am unsure about how to tweak the land percentage.
psob2 Feb 15, 2008, 06:35 AM this script makes great looking terrains.
when making a pangea map, what lines would i need to comment out to disable the "simulated meteor shower to break up pangeas" step, or is the meteor shower step turned off when pangea is set to true
thanks
omglazers Feb 15, 2008, 06:38 AM I _love_ the maps aesthetically, but I seem to be getting many more island based maps than I'd like. I like playing on huge maps with 15-18 civs. What settings in the Python would you recommend? I have allow pangea set to TRUE and allow new world to FALSE, but am unsure about how to tweak the land percentage.
You have to really crank up the land percentage. While 70% of the actual world is water, unless Perfect World makes some kind of script to form continents similar to the Terra or Earth scripts, then, large land masses are needed to make the maps fun.
cephalo Feb 15, 2008, 07:48 AM I _love_ the maps aesthetically, but I seem to be getting many more island based maps than I'd like. I like playing on huge maps with 15-18 civs. What settings in the Python would you recommend? I have allow pangea set to TRUE and allow new world to FALSE, but am unsure about how to tweak the land percentage.
Theres is a tuning variable called LandPercent. 1.0 is all land, 0.0 is all water. If you raise this to be much higher than 0.30, you might have to tweak the DesertPercent and PlainsPercent, as it will be harder for water to come in from the Ocean. There will always be little islands scattered around most likely though. Players should not start on those islands unless they are big enough to support one player.
cephalo Feb 15, 2008, 08:10 AM this script makes great looking terrains.
when making a pangea map, what lines would i need to comment out to disable the "simulated meteor shower to break up pangeas" step, or is the meteor shower step turned off when pangea is set to true
thanks
Pangaea set to true means no meteor shower.
Mknn Feb 15, 2008, 11:08 AM Is there any way to force Civ to reload the python without exiting the game completely? If I generate a map with land set to, say, 0.7, then exit to the main menu, change the python file to .25, then start a new custom game, it retains the 0.7 setting.
Best of all would be if there is a way to regenerate (forcing a reload of the modified Python script) from within WorldBuilder--is this possible?
cephalo Feb 15, 2008, 11:12 AM Is there any way to force Civ to reload the python without exiting the game completely? If I generate a map with land set to, say, 0.7, then exit to the main menu, change the python file to .25, then start a new custom game, it retains the 0.7 setting.
Best of all would be if there is a way to regenerate (forcing a reload of the modified Python script) from within WorldBuilder--is this possible?
I don't think it is possible. That's probably one reason why alot of people want some in-game options.
Mknn Feb 15, 2008, 11:21 AM Too bad.
One more question: does ALLOW NEW WORLD just _allow_ the new world, or does it force it? That is, what if I would like a map where there may or may not be a new world, and where I don't know which it will be.
cephalo Feb 15, 2008, 11:32 AM Too bad.
One more question: does ALLOW NEW WORLD just _allow_ the new world, or does it force it? That is, what if I would like a map where there may or may not be a new world, and where I don't know which it will be.
If you allow it, you will almost certainly get a new world. If you don't allow it, there's actually still a good chance you will get one. For example, if you get 8 good size land masses and 7 players, you'll get at least one of them without a starting location.
Allowing a new world just means that some continents will be off limits to starting locations.
Ninja2 Feb 15, 2008, 02:42 PM Is there a variable for getting a little less mountains? I like the script, but I always seem to get a little too many mountains...
cephalo Feb 15, 2008, 02:53 PM Is there a variable for getting a little less mountains? I like the script, but I always seem to get a little too many mountains...
There's a variable called PeakPercent.
GeoModder Feb 16, 2008, 05:09 PM Was it intended that forests can appear on ice/ice hill plots? The most recent map I drew has several of those plots.
cephalo Feb 16, 2008, 06:41 PM Was it intended that forests can appear on ice/ice hill plots? The most recent map I drew has several of those plots.
As long as they have snow on them, it should be fine :)
GeoModder Feb 17, 2008, 02:23 AM Okay, that checks out fine. :D Even an icy plot with a tribal village on it gave a snowed forest.
cephalo Feb 19, 2008, 06:52 PM 1.10 is published!
I wrapped all the tuning variables into a class so that all those variables are not in memory if they are not needed, and also this makes it a bit easier to add in-game options based on those variables.
I added two in-game options! Can you believe it? They are New World Rules and Pangaea Rules so you can select these features from inside the game. Now, I did make the tuning variables easier to use for adding in-game options, but don't get greedy! I have seen maps that have like 20 pages of options to flip through before the game starts and I really don't like them.
From the days of Civ I, you've normally always had the option of Arid climate, Wet climate etc. but ever since those days, after I maybe tried a couple jungle maps I never saw the point. I could easily cook up some settings to provide that option but I didn't. If someone could give me a good fictional or gameplay reason to play on an 'Arid' map I may reconsider... :rolleyes:
Lastly, my favorite addition to this version is that unrevealed bonuses do not remove the trees they were placed on. Thanks to Mr. Popov for pointing out that sometimes, the lack of trees in an isolated spot can be very conspicuous. :lol: At first, I thought there might be some graphical glitches from doing that, but in the native game at least, everything works great. I couldn't just allow trees to go back over all the resources though, I had to separate them between ones that have a tech reveal and ones that don't. Otherwise, you could have a situation where you started next to wheat, but not only did you need Agriculture, you also would need Bronze Working in order to use it. I didn't like that very much, luckily there's an easy way to differentiate between those kinds of resources.
Enjoy!
jmm Feb 19, 2008, 08:48 PM Wow.... I should try this at once.... but there is a pile of work to do and a deadline less than 24 hours from now... so I'll have to wait a few days.
Thanks for all your work Cephalo.
Just my 2 cents:
Why Arid? Well, you could have a pangea with arid climate to simulate the climate from the middle east and part of northern Africa.
From a pseudo fictional POV: think global warming and add 2050 AD to the mix.
Wet climates... I don't know. Never liked too much jungle.
Still, I think you should use an activation variable (bUseAridClimate = true) for the script since the arid setting seems to be more likely to be used with mods
cephalo Feb 19, 2008, 09:03 PM Still, I think you should use an activation variable (bUseAridClimate = true) for the script since the arid setting seems to be more likely to be used with mods
Well for that kind of stuff, there's quite a few climate variables to tune in the map script, but does anyone actually say to themselves, "Hmm, today I'll play 'Arid'."
Rael Feb 20, 2008, 11:58 AM I've seen some horses in forests and jungles since last version. Was it intentional? It makes little sense to me:D Also when incense, copper or iron appear on desert river tiles they erase the floodplain which sometimes looks very stupid like a river floods on most of its length stops doing that at its mouth. On the other hand it would make an overpowered tile if the floodplain and the resource were left so I would suggest moving the bonus instead of erasing the feature. Anyway, excellent progress with this script:)
cephalo Feb 20, 2008, 12:08 PM I've seen some horses in forests and jungles since last version. Was it intentional? It makes little sense to me:D Also when incense, copper or iron appear on desert river tiles they erase the floodplain which sometimes looks very stupid like a river floods on most of its length stops doing that at its mouth. On the other hand it would make an overpowered tile if the floodplain and the resource were left so I would suggest moving the bonus instead of erasing the feature. Anyway, excellent progress with this script:)
Yeah, since horses are a 'hidden' resource, they sometimes now reside in forest or jungle. This, and the things you mention regarding floodplains, come from the difficulties of keeping this bonus code as generic as possible, so when they are modded the whole thing still works. This map does depend on specific 'features' though anyway, so maybe it's ok to only remove forests, and not just features in general. I'll look into that.
lilnev Feb 20, 2008, 04:09 PM I'm going to download this and start playing with it.
I don't usually choose Arid specifically, but I often set climate to "Random", just to increase the gameplay variability....
peace,
lilnev
ggganz Feb 20, 2008, 04:18 PM In my current game I started on mid-sized continent all to myself... and found a mid-sized new world right next to me!!!! :woohoo:
cephalo Feb 20, 2008, 06:07 PM New Version 1.11
I changed the combination of bonuses and features so that features again have the priority over bonuses, except for forests specifically. That was my original intent with that whole thing anyway, for some reason I thought I needed to handle the features generically, which I don't in any other part of the script, so why here?
Anyway this means there will no longer be corn in jungle, or oil on floodplains and other such craziness. You wouldn't believe how complicated it was to get this simple thing working. The combination of TerrainBooleans, FeatureBooleans and FeatureTerrainBooleans has far reaching effects, and for a while everything I tried in order to control the results failed.
The only thing that might seem weird is that horses, being a hidden resource, will appear in forests occasionally. I think that's ok. At least they won't appear in jungle anymore.
ggganz Feb 20, 2008, 06:26 PM Wow, that was fast.
MrPopov Feb 22, 2008, 04:30 AM wow. I didn't forsee the difficulties you'd face in my suggestion. I am a novice programmer so I understand how a seemingly small change suddenly has vast consequences such as the floodplains issue.
I appreciate all your work into this (and your other) excellent map scripts! Keep it up :goodjob:
Seven05 Feb 22, 2008, 09:40 AM If you're having problems with resources & floodplains (or, if you had to fix them) you may want to double check your resource placement since most resources are setup to not be allowed on riverside tiles in the first place.
cephalo Feb 22, 2008, 01:06 PM If you're having problems with resources & floodplains (or, if you had to fix them) you may want to double check your resource placement since most resources are setup to not be allowed on riverside tiles in the first place.
I can't remember now what the code used to be, but I did see some oil resources on riversides, which is not supposed to happen. It shouldn't happen anymore though, the new code is more similar to the dll code now and a little bit simpler. If you were using that code from a previous version in your map, you might want to look at it in the PlotCanHaveBonus function. I hope I didn't use a 'return True' in there and skip many of the tests, but I might have.
Seven05 Feb 22, 2008, 01:34 PM I haven't had any problems yet :)
I'm not using the latest code though, a while back I changed most of the resources in XML to allow them to appear on tiles with jungles and forests.
manarod Feb 26, 2008, 02:24 AM I find this the best map script for my games with 18 civs, but i find a problem
I played this script 3 times and everytime the capitals were too powerful, with at least 6 resources (One time 5 fish, 1 gem and 1 iron) but everywhere else the resource were few. My other 5 city had almost no resources
There's a way to make a more random distribution? I use bts
(Sorry for my english, i'm italian)
cephalo Feb 26, 2008, 07:28 AM I find this the best map script for my games with 18 civs, but i find a problem
I played this script 3 times and everytime the capitals were too powerful, with at least 6 resources (One time 5 fish, 1 gem and 1 iron) but everywhere else the resource were few. My other 5 city had almost no resources
There's a way to make a more random distribution? I use bts
(Sorry for my english, i'm italian)
The starting plot normalization will pump up the resources in a capital if it determines that this person will have less access to less land for expansions. If you look at the cities with the fewest resources, they should be situated better for expansion. I mean, that's what I tried to make happen. :p
I have often found that the more resources I have, the harder the game is on this map. If you have cheat codes turned on and press ctrl-z so you can see the whole map, it should make sense that this or that capital has alot of resources. It's usually because you are close to other neighbors and have few places to expand.
aelfwyne Feb 27, 2008, 12:01 AM When I tried this map script, it would hang on initializing at about 10%. CPU loaded down, hard drive not running. Went & got something to drink, came back, still at the exact same spot, so I had to kill the process. I tried this several times and then gave up.
No I didn't try it at less than huge size - I don't bother with small map games.
cephalo Feb 27, 2008, 07:37 AM When I tried this map script, it would hang on initializing at about 10%. CPU loaded down, hard drive not running. Went & got something to drink, came back, still at the exact same spot, so I had to kill the process. I tried this several times and then gave up.
No I didn't try it at less than huge size - I don't bother with small map games.
Ah you gotta be patient. This is the gauranteed to be the slowest map script out there. Luckily you only have to generate a map once per game. A huge map will take a good long time to generate. If you had gone an cooked up a grilled cheese sandwich or something, it would have been done when you got back.
Seven05 Feb 27, 2008, 10:43 AM Listen for the music, if the music stops it crashed otherwise it's fine :)
jmm Feb 28, 2008, 08:00 PM Well for that kind of stuff, there's quite a few climate variables to tune in the map script, but does anyone actually say to themselves, "Hmm, today I'll play 'Arid'."
Last night I started a game with Arid settings (almost only deserts w/ floodplains or hills and a few regular patches here and there).
It was nice for awhile, then I got my ass kicked by Genghis... I'm not really sure if I want to try that again :D (The Arid setting, I'm sure I'll have my ass kicked again in civ)
The main problem is that production is really difficult. For starters, my starting position had access to 6 flood plains, 1 desert with a river, 2 desert hills, 1 plain hill, 1 plain, 1 plain w/forest, 1 coast, 1 coast with fish.
For my second and third cities I only had floodplains, desert and water (and one or two plains). 3 hammers tops.
By the time all went wrong I was considering further expansion (settlers and workers used all the extra food, so producing them was quick) but I only had two choices
a) Coastal cities: water, a few flood plains and desert
b) Desert cities: desert, a few flood plains and all the hills I could get (max city size: 5 or 6)
What went wrong: I couldn't finish building my forces (and had the slight health problem due to the number of flood plains) and Genghis had plenty of horses and axes and a more favorable position (near the pole, more grassland and hills)
cephalo Feb 29, 2008, 08:24 AM Ok, I fixed a small bug in the bonus placer. The current version is now 1.12.
The number of bonuses to place is not ever supposed to be zero, but for some reason I thought that was a valid result. There should always be at least one. This makes a huge defference on duel size maps. Other size maps probably won't be affected by this change.
BloodAngel Feb 29, 2008, 11:34 PM Hmm. I like this script, but I have a minor problem with it, similar to what manarod was talking about. The capital cities always wind up with 5+ resources every game. I play small maps with 18 civs, because I think it's more realistic and fun with more civs, but my computer can't really handle large maps, nor am I very fond of them. Anywho, I point this out because you said civs with less room to expand from their start position will get more resources, however this applies to almost every civ almost every time in my games since they're always a bit crowded.
Jason The King Mar 03, 2008, 04:44 AM im getting a file not found error when trying to download...
cephalo Mar 03, 2008, 02:33 PM im getting a file not found error when trying to download...
Yeah, some jerk deleted all of Civ Fanatics download files. I have to figure out were I put the latest stable versions of all my maps and screenshots.
Soduka Mar 03, 2008, 03:58 PM Urrg, is that why everything is missing? Fudge.
ggganz Mar 03, 2008, 08:58 PM Check the first link in my signature.
Psycadelic_Magi Mar 04, 2008, 09:00 AM Is there a logical reason why this script would be incompatiable with the "earth flavour... historically appropriate starting postions" script?
Cos When I've tried it it seems to screw the script up and leaves me with a basic grasslands map with no ocean etc...
I'm asking here cos I didint get a reply on the other forum...
ggganz Mar 04, 2008, 05:53 PM How many times has that happened? What is the filename of the other script?
Seven05 Mar 04, 2008, 07:06 PM Is there a logical reason why this script would be incompatiable with the "earth flavour... historically appropriate starting postions" script?
Cos When I've tried it it seems to screw the script up and leaves me with a basic grasslands map with no ocean etc...
I'm asking here cos I didint get a reply on the other forum...
Should work fine, I do that in my mod with modified versions of perfect world and the starting position normalizer.
Psycadelic_Magi Mar 05, 2008, 09:58 AM |