[Map Script] PerfectWorld2.py

Attached starting location is why I think whole BFC should be stripped of jungle.. City is unhealthy when founded.
 

Attachments

  • PW2_unhealthy_start.png
    PW2_unhealthy_start.png
    365.6 KB · Views: 158
Hi, I tried what you advised but I don't think I know enough of the syntax to actually make this work. First I defined Scrub as a feature. Then I tried to have the application place this Scrub feature as it was checking and discarding desert squares for Oasis. After all where the neighbours of a dessert plot have neighbours with water, or mountains etc. that make the plot unfit to have an oasis, they are exactly the type of dessert terrain that grows scrub. I moved from a refusal of the script to even move, to crashing the map. (A whole green tablet with some features around where the civs have been placed with no oceans or seas.) :sad:

Then I had an idea, as you're the FFH2 map implementer, I checked how you solved that problem there. I found that I was correct in defining Scrub as a feature. I'd done it identically to how you have. But you solved the problem by implementing a subroutine of about 5 lines. I copied that appropriately just above the floodplain and oasis routines and thought right problem should be solved. :cry: Alas it wasn't. What I'm getting now is a full map including scrub but not a single tree anywhere, neither as forest nor jungle. Any ideas why? as this routine should be enacted after the trees and jungle are already in position. :confused:

Thanks.
 
Attached starting location is why I think whole BFC should be stripped of jungle.. City is unhealthy when founded.

I'm not bothered by the unhealthiness so much as the zero production :lol:. When I get the time that's one of the things I have to fix.

Usually, the jungle areas eventually become an almost overpowering force on this map, so I don't mind an early handicap. Zero production is not acceptable though.

What size map is this from?
 
Hi, I tried what you advised but I don't think I know enough of the syntax to actually make this work. First I defined Scrub as a feature. Then I tried to have the application place this Scrub feature as it was checking and discarding desert squares for Oasis. After all where the neighbours of a dessert plot have neighbours with water, or mountains etc. that make the plot unfit to have an oasis, they are exactly the type of dessert terrain that grows scrub. I moved from a refusal of the script to even move, to crashing the map. (A whole green tablet with some features around where the civs have been placed with no oceans or seas.) :sad:

Then I had an idea, as you're the FFH2 map implementer, I checked how you solved that problem there. I found that I was correct in defining Scrub as a feature. I'd done it identically to how you have. But you solved the problem by implementing a subroutine of about 5 lines. I copied that appropriately just above the floodplain and oasis routines and thought right problem should be solved. :cry: Alas it wasn't. What I'm getting now is a full map including scrub but not a single tree anywhere, neither as forest nor jungle. Any ideas why? as this routine should be enacted after the trees and jungle are already in position. :confused:

Thanks.

Make sure you have python error popups enabled in your ini file. You can also see the exact errors in the PythonErr.log file. Generally, the first error you get is the problem, and all the ones after that are caused by the first.
 
Cephalo, I have some questions. Firstly, would it be possible to move the perfection of PW to CvMapGenerator to make it so that any of the vanilla map scripts would be generated to PW spec (almost like making PW the basis for all other mapscripts). Second, how hard/involved of a process do you think that would be (if it is in fact even possible)? Do you think that it would have a significant impact on time spent initializing? Just some things I was wondering about and I figured you'd be the one to ask.
 
Cephalo, I have some questions. Firstly, would it be possible to move the perfection of PW to CvMapGenerator to make it so that any of the vanilla map scripts would be generated to PW spec (almost like making PW the basis for all other mapscripts). Second, how hard/involved of a process do you think that would be (if it is in fact even possible)? Do you think that it would have a significant impact on time spent initializing? Just some things I was wondering about and I figured you'd be the one to ask.

I would say that one advantage to the method behind the stock maps is that it is much easier to control many things such as number of continents, continent size, etc. PW on the other hand is wildly unpredictable, which is good in some ways, yet very difficult to control. Trying to combine the advantages of both might be paradoxical.
 
Do you think it would be possible to make it so that PW-generation would be an option at the start. Say you want to play an archipelago map, one of the map configuration choices would be something like Default Generator or PW Generator. That way, whatever map you wanted to play could be set to be generated with the standard process or generated with a little more refinement and depth. I'm not so much trying to combine the advantages of both so much as I was wondering how difficult it would be to lend the PW style to other maps.
 
Do you think it would be possible to make it so that PW-generation would be an option at the start. Say you want to play an archipelago map, one of the map configuration choices would be something like Default Generator or PW Generator. That way, whatever map you wanted to play could be set to be generated with the standard process or generated with a little more refinement and depth. I'm not so much trying to combine the advantages of both so much as I was wondering how difficult it would be to lend the PW style to other maps.

Archipelago is a good example. The problem is that there's no way in PW to be certain that you have an archipelago. You can adjust settings to make that more likely, but you might still end up with a long, stringy pangaea.
 
Finally have read the thread through :)
My example was from a Large map. I usually play Prince or Monarch, Large map. I'm quite sensitive to health in capitol, as in the very beginning every turn is important, and unhealthy city grows slower -> you may lose several turns worth of the beginning.

Now that I've finally read the thread through, I've also tweaked the parameters a bit. I'm hoping to get just a tad bit more desert turning to plains, which if there's river / lake and food source is usable area - not good, but the city isn't going to be a pure resource grabber that does nothing else but will hopefully add some value to the empire :)
 
Another thing that popped to my mind.. As the map generation takes quite a while, could there be some kind of "raw map" cache and another application that can run while I sleep, creating maps into the cache? Eg. could height map and rainfall be generated and cached, then scaled to required size (as is apparently done with heightmap always) when fetched from cache? How much could be done without knowing almost anything?
 
Finally have read the thread through :)
My example was from a Large map. I usually play Prince or Monarch, Large map. I'm quite sensitive to health in capitol, as in the very beginning every turn is important, and unhealthy city grows slower -> you may lose several turns worth of the beginning.

Now that I've finally read the thread through, I've also tweaked the parameters a bit. I'm hoping to get just a tad bit more desert turning to plains, which if there's river / lake and food source is usable area - not good, but the city isn't going to be a pure resource grabber that does nothing else but will hopefully add some value to the empire :)

This map definately makes the game a bit harder, and on the higher difficulties this gets magnified somewhat. At some point I want to make the starting positions for human players more resource rich on higher difficulties as a tunable option. When you are up against massive AI cheating, it makes the game much better if you have a chance at the beginning.
 
I just wanted to say how much I like this map script. Thank you, Cephalo!

I play Quot Capita which uses a slightly modified version of PW but in every game I play, I think about preserving the landscape as much as I think about obtaining those resources.

Every map is simply beautiful. :thumbsup:
 
I play on BTS Mac and i would like to choose general climate of the world...

Deserts are too empty, also, should be more productive even for 1-2 pop cities...
 
I play on BTS Mac and i would like to choose general climate of the world...

Deserts are too empty, also, should be more productive even for 1-2 pop cities...

Check toward the beginning of the map script for many tunable options.
 
This map has been failing to load for me (dies during the initialization phase). Is there an obvious reason as to why this might be happening? Really excited to play it from all I've heard.
 
This map has been failing to load for me (dies during the initialization phase). Is there an obvious reason as to why this might be happening? Really excited to play it from all I've heard.

Is your computer old or are you running a laptop?

EDIT: Actually, explain to me what you mean by it dying. Does the game just suddenly terminate, or...?
 
This map has been failing to load for me (dies during the initialization phase). Is there an obvious reason as to why this might be happening? Really excited to play it from all I've heard.

It is the slowest map script ever. It takes a good long time to generate. Unfortunately, there's no way to give feedback during generation, so it looks like the computer just hangs. Give it 3-5 minutes at least.
 
It is the slowest map script ever. It takes a good long time to generate. Unfortunately, there's no way to give feedback during generation, so it looks like the computer just hangs. Give it 3-5 minutes at least.

Yeah, that's what I was trying to get at.
 
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.
 
Top Bottom