[MapScript] Erebus Continent

oh, right! then I think north/south shuffling even for the others would complement east/west very well, of course making sure that doviello and illians are always north. ( and orcs in the south I guess) . middle of the map would be good for the Malakim if possible, as there's usually desert there. :D

btw, does enabling X wrap mess with the east/west shuffling?
 
[to_xp]Gekko;9463215 said:
oh, right! then I think north/south shuffling even for the others would complement east/west very well, of course making sure that doviello and illians are always north. ( and orcs in the south I guess) . middle of the map would be good for the Malakim if possible, as there's usually desert there. :D
I'm not going to add that, argue away but understand that I'm stubborn and won't change my mind.

[to_xp]Gekko;9463215 said:
btw, does enabling X wrap mess with the east/west shuffling?
No, unlike Y wrap, X is easy. The world is flat as far as the scrip is concerned, once it is done generating the world it tells the game that x wrap is enabled so once you're in the game it wraps. This ensures that the edges of the minimap are always water and greatly simplifies world generation (flat = easy). So, the east & west edges during civ placement are static regardless of wrap settings.
 
nice to know! so, is the script done or do you plan to further enhance it, or dedicate yourself to WorldofErebus, or just abandon Civ4 altogether and focus on anticipating Civ5? ;)
 
I don't know yet. If everybody is happy with this version I'll update WorldOfErebus to match it. Civ5 is closing in on us quickly so chances are I will simply await its release, but then you never know when I'll need my FfH fix :)
 
don't know about everybody, but you know my opinions already :lol:

honestly I'd love to see the starting plot selection routine further improved, but of course I do realize that a lot of work has already gone into it and it's not easy to make it even better than it is now. one thing I dislike is the whole "some civs like to start close to other civs" idea, what I'd like to see is all civs trying to start as far away as possible from each other. I guess that putting a bit more emphasis on the distance from each in the math there, even if it means not all starting positions are absolutely awesome, would give results closer to what I think is right. subpar starting positions could get boosted by a couple resource tiles like flavourmod does, and/or a cleanup routine like the one you use with minimal flavour.

all these complaints caused by the fact that, even when using low sea level, default number of civs and override settings, which means everyone should have plenty of space to settle, I very often see spots that would have fitted a start nicely inhabitated, while others are more densely populated. so I guess there IS room for improvement, even though I realize it probably won't be easy :lol:

edit: another thing that would be great is to make reduced and minimal flavour compatible with modify and override selections, I guess it could be possible to code it so that doviello and Illians are still considered as loving snow while the smart climate does its magic, but not in the starting plot selection routine.

one more nice thing would be allowing further customization of the flavour. for example, it would be nice to use full flavor rules, with the "remove bad terrain around BFC" routine minimal flavour gives, without the "civs like more to start in the middle of the map" minimal flavour gives, and with the "stronger effect for pushing islands out of the sea" effect minimal flavor gives.

one last thing: I don't really like what Limited flavour does. imho the ideal thing would be to make sure Illian start in snow, since it's good for them ( not tundra ) , and have only doviello get the treatment Limited Flavour gives right now, edge of tundra so it's flavourful, but not in the middle of it were they would suffer ( same thing for orcs, edge of jungle so it's flavourful but not in the middle of it which would suck :lol: ) . basically having Illians start outside of the cold area is unneeded, since they can thrive in snow just fine. you only have to make sure they don't get tundra, which is bad for everybody. so yeah, if there is NO snow available, then the Limited flavour treatment would be best for them but that's only a second best, their first choice is definitely snow.

imho if you can get this right the flavour options actually become unneeded, since the map will always yield the ideal combination of flavour and not giving anyone crappy stunting starts. then you could substitute those with more specific options like "strength of pushing islands out of the sea effect" ( 3 strength levels would be cool here instead of 2, with the strongest one stronger than the ones we have now :lol: ) .

honestly the "civs like more to start in the middle of the map" and "remove bad terrain around BFC" could be removed as options as well imho. take the best out of all options and make that the default behaviour. so full flavour rules, but "remove bad terrain around BFC" making less-than-great starts better ( adding resources similar to what flavourmod does might be helpful as well. no strategic resources though, just health and happy, with happy being considered better of course.

flavourmod has a "balance starts for food" function that you could borrow, although it needs a tweak in that right now it considers plains as bad as tundra which is not the case. I guess it could also easily get adapted to create "balance for production" and "balance for commerce" routines, with hills providing production and resouces providing commerce. similarly, since adding rivers to starts without access to freshwater is less than desirable, a lone tile of freshwater lake could be added next to flat tiles, to allow for farming without disrupting the flavour of the map placing rivers in weird places :lol: )

I'm not sure what the "civs like more to start in the middle of the map" is for though. again, imho that can also be removed by setting what you thing is an ideal value and making it a constant instead of a variable. imho civs should start in the middle of the map only if there's too many of them to have them all start on the coast, aside from the malakim that love deserts which are NOT found on the coast of course :lol:


and there you go, way more feedback and whining than you could possibly care for :lol:
 
*notice to self: if gekko has finished editing his posts nearly all paragraphs ends with :lol: *

:)
 
Right... done editing so now I'm holding you to it even through you repeated yourself several times and i cut those parts out :)

Anyway...

[to_xp]Gekko;9467660 said:
honestly I'd love to see the starting plot selection routine further improved, but of course I do realize that a lot of work has already gone into it and it's not easy to make it even better than it is now. one thing I dislike is the whole "some civs like to start close to other civs" idea, what I'd like to see is all civs trying to start as far away as possible from each other. I guess that putting a bit more emphasis on the distance from each in the math there, even if it means not all starting positions are absolutely awesome, would give results closer to what I think is right. subpar starting positions could get boosted by a couple resource tiles like flavourmod does, and/or a cleanup routine like the one you use with minimal flavour.
Ok, first the 'distance from other civs' is very computationally expensive. I cheat and 'block' surrounding plots when one is selected so I don't have to check distance and this alone probably cut close to a minute off map generation time. Distance alone is also not entirely accurate unless I use Civs path code but then that wouldn't work as well in mods like RiFE and Wild Mana where certain units can cross water and mountains. If I limited support to a single mod this would be easier but i didn't want to impose that limit.

Also, while *you* prefer to be spread out at the start there is a discussion in the RiFE forum where others have expressed that they prefer to start closer to other civs. I already have too many options as it is so I chose to go with the middle ground.

[to_xp]Gekko;9467660 said:
edit: another thing that would be great is to make reduced and minimal flavour compatible with modify and override selections, I guess it could be possible to code it so that doviello and Illians are still considered as loving snow while the smart climate does its magic, but not in the starting plot selection routine.
You can use any flavor setting with the 'modify selection' option and it will work. The only difference is that it will allways reduce tundra. If you use it with 'override selection' and the Illians aren't in the game you will get no tundra (unless you're using a RiFE/WM civ that prefers Tundra despite the reduced flavor). Otherwise they are both perfectly functional.

If you don't play MP games it is trivial to adjust the way reduced and minimal flavors work per civ, just open the script and search for the civ name to see the nicely commented code explaining what to do :)

[to_xp]Gekko;9467660 said:
one more nice thing would be allowing further customization of the flavour. for example, it would be nice to use full flavor rules, with the "remove bad terrain around BFC" routine minimal flavour gives, without the "civs like more to start in the middle of the map" minimal flavour gives, and with the "stronger effect for pushing islands out of the sea" effect minimal flavor gives.
Too many map options.

As above though, if you're not playing a lot of MP games this can be changed pretty easily. Just search for 'normalization' until you find the code with the comments about cleaning up starting plots :)

[to_xp]Gekko;9467660 said:
flavourmod has a "balance starts for food" function that you could borrow, although it needs a tweak in that right now it considers plains as bad as tundra which is not the case. I guess it could also easily get adapted to create "balance for production" and "balance for commerce" routines, with hills providing production and resouces providing commerce. similarly, since adding rivers to starts without access to freshwater is less than desirable, a lone tile of freshwater lake could be added next to flat tiles, to allow for farming without disrupting the flavour of the map placing rivers in weird places :lol: )
I used to have that. I don't like the effect it has in FfH based games mainly because each civ has different values for which resources would be best, especially with the add-on Civs like the Scions and D'Tesh. This way, by valuing all resources equally, I can place the blame on poor diplomacy AI that doesn't properly value trading and players that don't try hard enough to trade with the AI.

[to_xp]Gekko;9467660 said:
I'm not sure what the "civs like more to start in the middle of the map" is for though.
Yes, you said that... four times now? See above :)
 
really? I honestly can't remember where I said that before O.o

anyway good points and thanx for the info, I'll see if I can't fiddle with the code a bit to make it more appealing to me :)

although seriously I'd like to know more about the "civs like more to start in the middle of the map" thingie since I really don't understand its function and if I'd rather have it on or off :blush: if you could tell me how to locate that and the "bonuses are valued more with limited/minimal flavour" thingie in the code via the search function I'd be very grateful as it will allow me to tailor it exactly to my tastes :D

another thing I'd appreciate is a suggestion about what to raise the "stronger effect for pushing islands out of the sea" effect to increase it even more without screwing up the script... I see full flavor is 3,1,1 and limited/minimal is 4,3,2. thanx in advance for your kindness :)
 
Those happen to both be in one place :)

Starting at line 5747 (easy to find with Notepad++)
Code:
					if plotRules > 0:
						northMod = 1
						westMod = 1 + shuffledPlots[m].westValue * westFlip
						if plotRules > 1:
							value += shuffledPlots[m].bonusValue * 2
							edgeMod = 1 + shuffledPlots[m].edgeValue * (civPref.edgeValue - 1)
plotRules is the flavor setting, 0=full 1=limited 2=minimal

All of the ???Mod values are used as multipliers so setting northMod = 1 basically overrides any civ specific north/south preference. Not sure why I put that in there but I'm sure it seemed like a good idea at the time. Maybe I was testing something... :)

The bonusValue * 2 is added to the plots starting value, since we already added the bonus value this means that in anything other than full flavor starts bonuses values are trippled. The base value for bonuses is 1 for water resources, 2 for land resources, 4 for land resources requiring ancient era techs.

The edgeMod is what pushes the civs towards the center of the map. If you just want to stop that from hapening change 'edgeMod = 1 + shuffledPlots[m].edgeValue * (civPref.edgeValue - 1)' to something like 'edgeMod = 1 + shuffledPlots[m].edgeValue * civPref.edgeValue'. If you want to reverse the effect change that -1 to a +1.

For the islands, you want this code (line 1872):
Code:
			islandLimit = [3,1,1]
		else:
			islandLimit = [4,3,2]
The numbers are the minimum land size that will be allowed, it's a list based on cohesion (high, medium, low). Larger numbers will cause larger islands to be pushed below sea level. The way this works is the I first calculate the sea level based on the desired number of land tiles, then this code is called which pushes islands down with some random noise and then sea level is calculated again. This has the effect of reducing small islands without reducing the number of land tiles. You can try larger numbers here, I would think you're safe up to about 32, but high numbers may create some ugly side effects.

Edit: I should note that increasing this may not have the effect you're looking for :)
 
why would it not give the effect I'm looking for? by the description you give of it I'd think it would... am I missing something obvious? :lol:

I'll try to set the edgevalue from -1 to +1 to see what happens, thanx for the thorough explanation! I'm still curious why you thought it would be a good idea to move civs towards the center of the map on reduced and minimal flavour though...

one last thing, why do you value water resources so low? they're actually pretty good, especially fish!
 
Oh, also if you simply want to make civs start further (or closer) you want this code (line 5658):
Code:
		# Varying distance preferences based on world size and cohesion
		worldsizes = {
			WorldSizeTypes.WORLDSIZE_DUEL:      [7,6,5],
			WorldSizeTypes.WORLDSIZE_TINY:      [7,6,5],
			WorldSizeTypes.WORLDSIZE_SMALL:     [8,7,6],
			WorldSizeTypes.WORLDSIZE_STANDARD:  [8,7,6],
			WorldSizeTypes.WORLDSIZE_LARGE:     [9,8,7],
			WorldSizeTypes.WORLDSIZE_HUGE:      [9,8,7]
			}
#FlavourMod: Added by Jean Elcard 02/26/2009
		if hasattr(WorldSizeTypes, "WORLDSIZE_GIANT"):
			worldsizes[WorldSizeTypes.WORLDSIZE_GIANT] = [10,9,8]
The three numbers again represent the cohesion setting (high, medium, low) you can increase them to start civs further apart. The code is 'smart' in the sense that it will forcibly reduce those values if needed as each civ is placed based on the remaining number of unassigned starting plots. So if you put absurdly high number in there the first civ placed will have nobody anywhere near it but subsequent civs will have neighbors that are closer. You'll want to be careful about using numbers that are too high because civs will be forced to just pick an open spot regardless of its value if there isn't enough room.

This 'grain' is modified by civ preferences as well. The clan, for example, has a high neighbor preference (2) so playing on a standard size high cohesion map would cause them to block starting plots within 6 tiles of their start rather than 8. Sidar, on the other hand, want to be isolated (-2) so they will block starts within 10 tiles of their starting plot. This does not meant these two civs would start 16 tiles apart, it means no civ placed after them will start less than 6 tiles from the clan or 10 tiles form the sidar. If the clan is placed first the sidar may start 6 tiles from the clan but the next civ couldn't start within 10 tiles of the Sidar. Civs are placed in a random order sorted by their neighbor value with those with non-zero values being placed first.
 
[to_xp]Gekko;9471584 said:
I'm still curious why you thought it would be a good idea to move civs towards the center of the map on reduced and minimal flavour though...
Because those setting we designed for MP games and players indicated that they prefer close starts in MP games.

[to_xp]Gekko;9471584 said:
one last thing, why do you value water resources so low? they're actually pretty good, especially fish!
Resources are only a small part of the value of a tile. Water is generally bad so skewing the results because there is some fish will make everybody start on the coast.
 
makes sense, and you've provided some great insight and useful knowledge about what to tweak. thanks!

one last question I have is what kind of outcome does valuing bonuses more have on the final result ( i.e. placement of civs on the map ) ?

also you haven't told me why raising the island thingie value might not give me what I wanted :p :lol:
 
The tile values are calculated for a 25 tile (5x5) square centered on that tile, not for individual tiles. So you can't look at it like, "what is this single tile with this one bonus worth?" but rather "what are these 25 tiles combined worth?" Since every tile is valued based on the sum of it and the surrounding tiles excessively high bonus values can make a tile seem like it's worth more than it should be.

For instance, take a jungle tile with a resource using the default civ values. A grassland tile will be worth 2, jungle will be -2, the bonus will be worth 2 so that tile is worth 2 points, or the same value as a grassland tile with no jungle. Since it's not common to find lone jungle tiles and many of the bonuses in jungles can cluster (dye is a good example) you may be looking at 5 or 6 tiles. With this low bonus value they're not worth any more than an empty grassland tile. Increasing the bonus value too much will make those 5 or 6 tiles worth substantially more, add in some fish off the coast and maybe a mana node (mana is a bonus too) and not you have pretty nasty jungle start, one tile in from the coast with the broken sepulcher next to it and it is somehow more valuable than that nice open grassland start with corn on a riverside tile.

Inevitably the next question will be, "Why don't you value plots by their yield?" I used to do that, but it really doesn't work for FfH because of all of the bonuses and penalties that aren't defined by the terrains, features and bonuses themselves and it doesn't work at all for civs that don't play by the 'normal' rules. This is broken even further by mod mods that add new civs and change rules for terraforming and tile improvements.

So, the short answer regarding the bonus value is that you have to keep them in the same scope as terrain values. You can double or tripple them if you want to emphasize bonuses over the base terrain but going much higher is going to increase your margin of error.

I didn't explain the 'island thingy' because I don't feel like explaining how height maps work to you again :)
 
I hear you... so summing it up, how do the two values you use ( one for full flavor and one for limited/minimal ) differ when it comes to their effect on the starting spots?

I ask this because honestly right now, the way you explained it makes it seem like raising that value would always be a bad thing. but since you're using that value for non full flavour start, I guess it does have a purpose and a noticeable effect... I just can't really understand what that is and why you chose to link it to non-full flavour starts yet :lol:

once I know that last detail I should be ready to start experimenting to see what happens :D

sorry to be such a bother, you're explaining so many details and I really appreciate that but I don't have the coding experience to fully understand how it behaves in layman terms :blush:
 
Top Bottom