[Map Script] PerfectWorld2.py

Yeah must admit it hangs on our pc on huge maps and that's with 4G ram. It might well be a question of waiting, but there is no way of knowing so it's easier to hit CTRL-ALT-DEL and switch to a smaller map. However the script is so good, I'm not complaining. :goodjob: Anyway, I cannot think of a way that Cephalo could stop the apparent "freeze" effect of python execution happening all in the one thread. It is very strange considering our computer has two cores :googleyes: Perhaps Windoze 7?
Cheers.

IIRC, Civ IV has a limit on the amount of memory it can use. So at a certain point (1 core, I think it is?), increasing your computer's RAM will no longer have an effect.
 
IIRC, Civ IV has a limit on the amount of memory it can use. So at a certain point (1 core, I think it is?), increasing your computer's RAM will no longer have an effect.

Sadly, Firaxis doesn't believe this for some reason.
 
Yeah must admit it hangs on our pc on huge maps
Anyway that is not entirely true. When this script is generating a huge map, I can switch to other jobs and put civ in the background, presumably because of the second core in the CPU and the operating systems multiprocessor code.

One simple way to give feedback to the perfect world player would be for the python to write to the debug log once a minute for example. Civ could then be put into the background while the map is generated and we could read the log on progress. Perhaps this script already does that?

Whatever, it's great already.
Cheers.
 
Hey cephalo or glider:

In RevDCM there is a gameoption (or there will be in the next version), Barbarian World, which starts the map with the same number of barbarian cities as starting civs. In old versions if you chose "Start in the Old World" option for this map script, the barbarian cities would all be placed in the Old world, along with the starting civs. This is optimal behavior. However in the latest version of the perfect world map script this segragation of barbarian civ placement has been elminated, and barbarian cities are placed completely randomly, including the new world. This causes problems because with the game option Barbarian Civ the new world barbarians end up spawning new civs very early and the new world ends up being just as advanced as the old world. I'd like to reimplement the old functionality of the older map scripts, so barbarian cities are not placed in the old world at gamestart. I can't figure out how to do this, all attempts on my part have lead to python exceptions and failure of the map to generate. I'm including glider's modified Perfect World script which causes the barbarian world game option to work correctly; ie, the placed barbarian cities at gamestart are all placed in the old world. Unfortunately glider's script is based on an old version of Perfect World, and I'd like to update the new version, which is where I'm running into problems. Please let me know how to get the new version of Perfect world to work right in this regard, thanks.
 
Hmm, hey phungus, I don't have time to debug it right now, but you might try winmerge to see if there are any differences related to start placement. I don't remember any differences actually between 2.01 and 2.03 in regard to starting code. There must be something you missed.
 
Hmm, hey phungus, I don't have time to debug it right now, but you might try winmerge to see if there are any differences related to start placement. I don't remember any differences actually between 2.01 and 2.03 in regard to starting code. There must be something you missed.

I tried this, but ended up causing python exceptions and placement failures. The placement code was very different though, at least in terms of Winmerge's perspective.
 
There is something wrong with mine. Is that normal? (Look at the minimap if you can:lol:)
Shouldn't it be eastern (old world) and western (new world)? It was normal before I reinstalled the game anyways... Now there is something very very wrong:eek:.
Don't mind the picture on the right, I got 2 monitors and I suck at paint and don't know how to remove it. I also don't know if I uploaded screens right, I'm pretty much noob in that matter.





 
OMG!!! What I've done?????
 
OMG!!! What I've done?????

Lol, you must have some very high res monitors. I would need about 6 to look at all that at once.

Anyway, there are no rules for east and west. The 'old world' will generally be the largest continent. Forgetaboutit.
 
Lol, you must have some very high res monitors. I would need about 6 to look at all that at once.

Anyway, there are no rules for east and west. The 'old world' will generally be the largest continent. Forgetaboutit.

How could I forgetaboutit, it looks crazy :crazyeye:
 
Remember the trouble I was having getting marshes to not appear on hills? I got it to work by cloning "isRequiresFlatlands" to CvTerrainInfo. The only thing that sucks about it is that now the mapscript requires a DLL (though only if you are picky like me).
 
Remember the trouble I was having getting marshes to not appear on hills? I got it to work by cloning "isRequiresFlatlands" to CvTerrainInfo. The only thing that sucks about it is that now the mapscript requires a DLL (though only if you are picky like me).

Noooo, you do not need a DLL! It's easy to prevent marshes from being placed on hills, but maybe just a bit more work to prevent hills from being placed 'under' marshes. Making an XML schema change is overkill. I don't even use the XML for terrain in this map script.

If you have taken pains so that marshes are not placed on hills, and you are still getting that, then it's because the hill is being changed after. Do a text search for 'hill' and see where this might have happened.
 
You must unlearn what you have learned... :lol:

I shall do that master cephalo... :bowdown: I know I'm not worthy yet, but I shall unlearn.
 
@SickFak
When posting screenies, please do resize them first. Yes, I've got 24"W monitors too, running civ at 1920x1200, but they're horrible on the forums, so I'd first halve screenies to 960x600 before posting.
To do it simply get eg. IrfanView and it'll have resize option to simply halve the image. Cropping right half shouldn't be needed at all as civ can take screenshots by itself (press PrintScreen and look for the image in "My Documents/My Games/Beyond the Sword/ScreenShots" -directory).

If there's a reason to post a huge image without resizing, put it to within SPOILER tag so it doesn't affect the forum layout..
 
I shall do that master cephalo... :bowdown: I know I'm not worthy yet, but I shall unlearn.

:lol:

But seriously, it's all intentional. In 4000 B.C. you don't know anything about the world. East, west, means this hill and that hill. You think the world is still flat! You couldn't have imagined that in truth the world was actually uh, cylindrical.
 
Noooo, you do not need a DLL! It's easy to prevent marshes from being placed on hills, but maybe just a bit more work to prevent hills from being placed 'under' marshes. Making an XML schema change is overkill. I don't even use the XML for terrain in this map script.

If you have taken pains so that marshes are not placed on hills, and you are still getting that, then it's because the hill is being changed after. Do a text search for 'hill' and see where this might have happened.

Will do, I only did it because I figured I was already in there cloning iHealthPercent and iTurnDamage so why not just one more tag. I'll look back over the Python though and see if I can prevent "hills under marshes".
 
@SickFak
When posting screenies, please do resize them first. Yes, I've got 24"W monitors too, running civ at 1920x1200, but they're horrible on the forums, so I'd first halve screenies to 960x600 before posting.
To do it simply get eg. IrfanView and it'll have resize option to simply halve the image. Cropping right half shouldn't be needed at all as civ can take screenshots by itself (press PrintScreen and look for the image in "My Documents/My Games/Beyond the Sword/ScreenShots" -directory).

If there's a reason to post a huge image without resizing, put it to within SPOILER tag so it doesn't affect the forum layout..

It wasn't intentional, wasn't trying to show my monitors. I just panicked at what I've done myself. These were my first screens EVER, I never done it before. Like I said I'm very much noob in that matter and I'm sorry for screwing up the thread.
By the way thanks for clarifying on how to do it in future ;).
Oh and I did press print screen, but it printed second monitor too :eek:.

:lol:

But seriously, it's all intentional. In 4000 B.C. you don't know anything about the world. East, west, means this hill and that hill. You think the world is still flat! You couldn't have imagined that in truth the world was actually uh, cylindrical.

:) Yes, but it seriously was always Western and Eastern before I reinstalled... though maybe I like the way it is now :mischief:
 
I was just wondering... is it possible for it to be less... desert... ly?
 
I was just wondering... is it possible for it to be less... desert... ly?

Open the map script, and toward the beginning you will see some adjustable variables that are well commented. You can turn down DesertPercent to a level more to your liking.
 
Top Bottom