[Map Script] PerfectWorld.py

I sometimes get CTD (crash to desktop) after map has been generated but before I can do anything at all. I do hear hut popping sound, so this is related to when an initial unit happens upon a hut. I've never seen that actually happen in any start, so I would guess there's some check somewhere that makes it impossible on other maps.
 
This looks fantastic! Ive been tiring of Civ (Gasp!) for quite some time now, and its always due to the map. But with the natural forming barriers and the resources resticted to different continents (brillant! Will give trade much more impact) I think you might have saved our favourite comp game for me!
 
I sometimes get CTD (crash to desktop) after map has been generated but before I can do anything at all. I do hear hut popping sound, so this is related to when an initial unit happens upon a hut. I've never seen that actually happen in any start, so I would guess there's some check somewhere that makes it impossible on other maps.

This never happened to me after hundreds of times generating a map, so at first I'm thinking that Elandal is just insane...

Then just today on my new Vista computer the first two maps I generated crashed for this exact reason. The python logs talk about a failure in 'doGoody' which is what happens when you move onto a goody hut. I wonder if this could be related to the 3.13 patch, because on my old computer I was using the unnofficial patch.

How often is this happening to you Elandal?

@gramcrkr103 - Thanks for the compliment!
 
It's happened maybe three times. I probably have generated over a hundred maps.
 
This never happened to me after hundreds of times generating a map, so at first I'm thinking that Elandal is just insane...

Then just today on my new Vista computer the first two maps I generated crashed for this exact reason. The python logs talk about a failure in 'doGoody' which is what happens when you move onto a goody hut. I wonder if this could be related to the 3.13 patch, because on my old computer I was using the unnofficial patch.

I've not checked your code. But by default,since the first Civ IV , the foundValue (for starting Loc) for any player on a plot with an improvement (anyone) is 0. If you don't check if the plot have an improvement (that can create crash). you just should set the plot no improvement if you doesn't already have done it. I've got a crash with the first verson of civ with this reason. I also generate the goodies after the player assignments for this reason.

Tcho !
 
Thanks Sto! I don't believe I'm checking for an improvement so that must be it. Funny how I've never seen it happen until today.
 
Cephalo this map script generates way way too much tundra and ice. The maps seem taller than they are wide and this gives people who start in the temperate lattitudes massive advantages over their unlucky competitors who start in the vast tundras ( happens to me constantly in fact)

What gives, and what can I do about it if I say I hate it?
 
Cephalo this map script generates way way too much tundra and ice. The maps seem taller than they are wide and this gives people who start in the temperate lattitudes massive advantages over their unlucky competitors who start in the vast tundras ( happens to me constantly in fact)

What gives, and what can I do about it if I say I hate it?

You can modify the values yourself by editing the map script file. Make a copy of it first.

Look for the following entries.

#---The following variables are not based on percentages. Because temperature
#---is so strongly tied to latitude, using percentages for things like ice and
#---tundra leads to very strange results if most of the worlds land lies near
#---the equator

#What temperature will be considered cold enough to be ice. Temperatures range
#from coldest 0.0 to hottest 1.0.
self.IceTemp = .15

#What temperature will be considered cold enough to be tundra. Temperatures range
#from coldest 0.0 to hottest 1.0.
self.TundraTemp = .25

I would guess that reducing those two values would give you less ice and tundra. Just play arround with the values until you are happy with the results.

Good luck. :)
 
Cephalo this map script generates way way too much tundra and ice. The maps seem taller than they are wide and this gives people who start in the temperate lattitudes massive advantages over their unlucky competitors who start in the vast tundras ( happens to me constantly in fact)

What gives, and what can I do about it if I say I hate it?

You can adjust that as Harrier described, but the philosophy behind this map is that there should be large, nearly unusable swaths on land, just like on earth. There might be alot of tundra if a continent forms up north or down south, but usually there is even more desert. The tundra areas are right next to a large rainbelt, so if you start there you should have good access to some grassland nearby. Good land can't be good, unless there's also bad land.

With good areas and bad areas, it does make for a challenge to find fair starting locations. I think I did a pretty good job of that though, at least for single payer purposes. the map meant for a fun exploration phase, not really for tournament quality fairness. It may breakdown if you use a ton of players on a smallish map. If you get boxed in early you can go for astronomy and see if you can expand into the new world before others get it.
 
With good areas and bad areas, it does make for a challenge to find fair starting locations. I think I did a pretty good job of that though

No you didnt. I've seen some pretty inane and unusable starts when using perfectworld. Starting in vast swathes of unusable tundra with a fish in the sea is pretty common.

I like the way the maps distribute terrain in the more temperate and tropical lattitudes, but wasting the top and bottom 25% of the map is pure hate, particularly when you start there. I'd rather you not look at things like this from a single player perspective as I certainly hope not all civ players are friendless sociopaths.
 
No you didnt. I've seen some pretty inane and unusable starts when using perfectworld. Starting in vast swathes of unusable tundra with a fish in the sea is pretty common.

I like the way the maps distribute terrain in the more temperate and tropical lattitudes, but wasting the top and bottom 25% of the map is pure hate, particularly when you start there. I'd rather you not look at things like this from a single player perspective as I certainly hope not all civ players are friendless sociopaths.

Here's a simple solution for you: don't use it.

Or you could try modifying TundraTemp in the well-documented script file, but I think you've already make up your mind you hate the map, so I doubt you're actually looking for a solution.
 
No you didnt. I've seen some pretty inane and unusable starts when using perfectworld. Starting in vast swathes of unusable tundra with a fish in the sea is pretty common.

I like the way the maps distribute terrain in the more temperate and tropical lattitudes, but wasting the top and bottom 25% of the map is pure hate, particularly when you start there. I'd rather you not look at things like this from a single player perspective as I certainly hope not all civ players are friendless sociopaths.

You have all kind's of strong opinions on how things ought to be done. Why don't you just do them? That's what I do.

All my code for starting positions is in a class in the script, if you can do better, I'd love to see the results.

I disagree that wasting %25 of the map is a problem. It presents a challenge to the player in obtaining resources and represents the tension between man and nature. These maps are bigger than normal dimension-wise precisely so I can waste more. I made it so you don't start there, and if you do, you should have plenty of expansion room to make up for it. There might be a few bad starts, but there's not very many, I've generated alot of maps by now.

If you need fair starts, there's map scripts like mirrored inland sea, etc. where nobody can complain of a bad start.

I might make a multiplayer map someday, but I'll keep to my own agenda thank you...:)
 
Wow, this map script looks great. I've been missing out. I heard it recommended on the main forums. So time to give it a shot. :)

And 23 pages of updating it and improving it! That's impressive.

Keep up the great work Cephalo! :trophy2: :thanx: :hatsoff:
 
Not really sure if this belongs here or in Rise of Mankind 2.0 devel area, but uh, have a little issue with this map. In Gigantic mapsize (bigger than what's normally available in BTS), I always seem to find very long, narrow swaths of land (Persia, for example, started out on a 12x1 jungle jetty/peninsula, which had a moderate-sized plains area east of it, and a jungle/grassland island chain west of it which looped around to the southern end of the plains). Then, on the other side of the plains, was a HUGE desert, and at the north end of it was a civ sitting next to 12-14 wine resources all bunched up next to each other. Is this an example of "Don't use this script with custom map sizes" or something else?
 
Not really sure if this belongs here or in Rise of Mankind 2.0 devel area, but uh, have a little issue with this map. In Gigantic mapsize (bigger than what's normally available in BTS), I always seem to find very long, narrow swaths of land (Persia, for example, started out on a 12x1 jungle jetty/peninsula, which had a moderate-sized plains area east of it, and a jungle/grassland island chain west of it which looped around to the southern end of the plains). Then, on the other side of the plains, was a HUGE desert, and at the north end of it was a civ sitting next to 12-14 wine resources all bunched up next to each other. Is this an example of "Don't use this script with custom map sizes" or something else?

The exact map dimensions can have a profound effect on the land forms. In the future, I may impliment a plan I have to change this. It's rather complicated to explain, but can you tell me what the exact dimensions of your map are? I didn't create an option for gigantic maps but some people have modified the script to handle it. If your map dimensions are divisable by larger powers of 2, the result will usually be larger continents.

I'd like to change this behavior because sometimes a map size will be caught between stringy continents and overly massive continents.
 
Err, not sure exactly what the dimensions of the map are. The features page says it's 50% larger than the next-smallest size, which is itself 54% larger than Huge.
 
Err, not sure exactly what the dimensions of the map are. The features page says it's 50% larger than the next-smallest size, which is itself 54% larger than Huge.

Open the script in a text editor and search for a function called 'getGridSize'. Tell me what the numbers are for the two sizes larger than Huge.
 
Err... hmm. No def getGridSize, map.getGridSize, self.getGridSize or any sort of getGridSize in CvMapGeneratorUtil.py.. there is, however:

Code:
	sizekey = self.map.getWorldSize()
		sizevalues = {
			WorldSizeTypes.WORLDSIZE_DUEL:      (3,2,1,2),
			WorldSizeTypes.WORLDSIZE_TINY:      (3,2,1,2),
			WorldSizeTypes.WORLDSIZE_SMALL:     (3,2,1,2),
			WorldSizeTypes.WORLDSIZE_STANDARD:  (4,2,1,2),
			WorldSizeTypes.WORLDSIZE_LARGE:     (4,2,1,2),
			WorldSizeTypes.WORLDSIZE_HUGE:      (5,2,1,2),
			WorldSizeTypes.WORLDSIZE_GIANT:     (5,2,1,2),
			WorldSizeTypes.WORLDSIZE_GIGANTIC:  (6,2,1,2)
			}
		# EPIC MOD EDIT END ----------------------------------------
		
		# You can add as many grain entries as you like.
		# Seed them all from the matrix using the following type of line:
		(iGrainOne, iGrainTwo, iGrainThree, iGrainFour) = sizevalues[sizekey]

Apologies in advance for my inability to figure stuff out on my own
 
Apologies in advance for my inability to figure stuff out on my own

Whoah, they changed alot of stuff in there. From the comments it looks like they may have generated the heightfield in their own way. If so, I don't know what to say about it. :) You'll have to ask them I guess.
 
Back
Top Bottom