[MapScript] Erebus Continent

could I ask you a couple more questions? sorry for being such a nag :blush:

1) I see that some civs got edgevalues that don't seem to be for flavour, so I assume these are meant to go alongside their neighbour values. so I guess if I set all neighbour values to 0, I should also do the same for those edgevalues?

specifically:

Svartalfar, Hippus and the Clan al have positive neighbour values and negative edgevalues. should I set both to 0 for all three if I want to "deactivate" the neighbour value?

Sidar have negative neighbour value and positive edgevalue. should I set both to 0?

Kuriotates have negative neighbourvalue and 0 edgevalue. I guess this is a compromise between their dislike for water ( edgevalue -1 ) and their desire to be isolated ( edgevalue 1 ) ? should I set them to edgevalue -1 if I set the neighbourvalue to 0?

2) would it be possible to modify the "cut jungle around starting positions" code so that it cuts jungle regardless of the positive value it might have for the civ? I don't want to use limited flavour settings because I've noticed it can lead to very unflavourful starts for those civs affected ( orcs in the tundra, doviello and illians in lush grassland in the south ) , but I still want the Orcs to have jungle automaticaly chopped around their starting area. would that be possible?

3) similar question regarding the "cleanup around starts" minimal flavour does. would it be possible to set it to behave differently depending on what civs it's calling it? it would be sweet to have the Illian change tundra to snow instead of grassland. if that's not possible, having it not replace snow with grass for the illians would be fine. or marsh with grass for the mazatl, you get the point ;)

thanx in advance for your patience and support :)

edit: woo hoo I think I already succeeded in getting part of 3) to work. I changed
Code:
						if featureType == mc.itFeatureJungle and jv < 1:
							if PRand.random() > 0.15 * cityRing:
								nPlot.setFeatureType(mc.itNoFeature,0)
to read jv < 3 and set the Mazatl junglevalue to 3. now the clan get the junglecut effect and the mazatl are the only ones that don't :D still, it would be nice to be able to get the same effect with no need to change the junglevalue of mazatl or orcs.

I noticed something that imho should be changed though: the forest clearing code cuts both forests and ancient forests. I think ancient forests shouldn't be cut since they are actually very beneficial, +1F and +1H is more than any improvement you can get at the start. but maybe you did this exactly to avoid OP starts?

speaking of which, an ancientforest value would be great for the elves, I guess now they would value a start with forests more than one with ancient forests? a hauntedlandsvalue would be great for the Scions as well.
 
umh, I think the west/east flip might be having a side effect, civs seem to dislike the middle of the map too much. imho it would work a lot better if set to three stages instead than two: east, west, middle ( westmod = 0 ) , repeat.

also, one last suggestion: right now the code evaluates a 5x5 radius, but imho it should just evaluate the BFC. for example, in this screenshot I disabled AI starting settlers moving, and the Bannor have a pig in one of the 4 "blind spots" in the 4 corners of the BFC. if the code had just evaluated the BFC, it would have placed them one or two tiles west, which would have granted them Cotton AND Pig in the BFC instead of just cotton.

although, I don't understand why it didn't just place them in the highlighted tile which would have provided them pig, cotton and 2 wines. especially considering I'm using the double bonus value thingie.
 

Attachments

  • ukg.jpg
    ukg.jpg
    481.4 KB · Views: 196
[to_xp]Gekko;9492629 said:
could I ask you a couple more questions? sorry for being such a nag :blush:
Well... you already asked :)

[to_xp]Gekko;9492629 said:
1) I see that some civs got edgevalues that don't seem to be for flavour, so I assume these are meant to go alongside their neighbour values. so I guess if I set all neighbour values to 0, I should also do the same for those edgevalues?
Most of that was done just to mix things up with civs that otherwise have very similar preferences. For the svarts, hippus and clan, they all preform better when they have neighbors and pushing them towards the map center increases the chance they'll have neighbors.

[to_xp]Gekko;9492629 said:
2) would it be possible to modify the "cut jungle around starting positions" code so that it cuts jungle regardless of the positive value it might have for the civ? I don't want to use limited flavour settings because I've noticed it can lead to very unflavourful starts for those civs affected ( orcs in the tundra, doviello and illians in lush grassland in the south ) , but I still want the Orcs to have jungle automaticaly chopped around their starting area. would that be possible?
I see you already figured out how to do this. The way you did it is the easiest way without having to rewrite a good chunk of code.

[to_xp]Gekko;9492629 said:
3) similar question regarding the "cleanup around starts" minimal flavour does. would it be possible to set it to behave differently depending on what civs it's calling it? it would be sweet to have the Illian change tundra to snow instead of grassland. if that's not possible, having it not replace snow with grass for the illians would be fine. or marsh with grass for the mazatl, you get the point ;)
You can do this similar to the way you changed jungle clearing. You'll need to change the fact that it only runs with limited and minimal flavor starts and then adjust it to change to something other than grassland based on the civ prefs. I would be careful though, I chose grasslands because they can be put anywhere without looking horrible, if they do place snow, for example, and then get dumped in the middle of the map it would look a bit wierd for a start.

[to_xp]Gekko;9492629 said:
I noticed something that imho should be changed though: the forest clearing code cuts both forests and ancient forests. I think ancient forests shouldn't be cut since they are actually very beneficial, +1F and +1H is more than any improvement you can get at the start. but maybe you did this exactly to avoid OP starts?

speaking of which, an ancientforest value would be great for the elves, I guess now they would value a start with forests more than one with ancient forests? a hauntedlandsvalue would be great for the Scions as well.
Ancient forests already have a higher value for civs that prefer forests, or they did and as long as I didn't delete that code they still do. I cut them all because it balances things out with the AI as they won't exploit that advantage like a player will.

[to_xp]Gekko;9493042 said:
umh, I think the west/east flip might be having a side effect, civs seem to dislike the middle of the map too much. imho it would work a lot better if set to three stages instead than two: east, west, middle ( westmod = 0 ) , repeat.
This is where that edge value comes in handy. Also, if you're still using your change that increased the distance between civs I wouldn't expect many to show up in the middle.

[to_xp]Gekko;9492629 said:
also, one last suggestion: right now the code evaluates a 5x5 radius, but imho it should just evaluate the BFC. for example, in this screenshot I disabled AI starting settlers moving, and the Bannor have a pig in one of the 4 "blind spots" in the 4 corners of the BFC. if the code had just evaluated the BFC, it would have placed them one or two tiles west, which would have granted them Cotton AND Pig in the BFC instead of just cotton.
Is that you or the AI? Did the AI move their settler? If you want to look at starting plots you should look before the and of the first turn so the AI doesn't have a chance to move their settlers. It'll be harder to spot them but thats the only way to make sure you're not seeing the effect of the AI moving around.

If anything, the search should cover a 7x7 or larger square (I used to do that, but changed it to speed things up). The problem with only looking at the BFC is that it may not be an accurate representation of the area, it's also four extra calculations to trim the corners and would only make a significant difference if you mod the game to not allow any cities beyond the first for the AI.
 
You can do this similar to the way you changed jungle clearing. You'll need to change the fact that it only runs with limited and minimal flavor starts and then adjust it to change to something other than grassland based on the civ prefs. I would be careful though, I chose grasslands because they can be put anywhere without looking horrible, if they do place snow, for example, and then get dumped in the middle of the map it would look a bit wierd for a start.

no problem, I want to make sure they never ever get dumped in the middle so it'll be fine. plus. I only want it to turn tundra to snow, and there's no tundra in the middle :lol: I'll see if I can make this change, shouldn't be hard :)


This is where that edge value comes in handy. Also, if you're still using your change that increased the distance between civs I wouldn't expect many to show up in the middle.

nah, I tried it once more but discarded it for exactly this reason, it pushes civs out TOO much and the middle of the map gets ignored which is suboptimal for evenly distribution. default value is best there. but I wasn't using that tweak when I noticed this behaviour, so I still think a three-stage flip would be best.


Is that you or the AI? Did the AI move their settler? If you want to look at starting plots you should look before the and of the first turn so the AI doesn't have a chance to move their settlers. It'll be harder to spot them but thats the only way to make sure you're not seeing the effect of the AI moving around.

that's me, but I had deactivated AI settlers moving so I settled right where my settler spawned to emulate what the AI would have done.




all in all my experiments have been very interesting, but still frustrating cuz no matter what I do the code is so complicated that it can "misbehave" for so many different reasons :lol:

I guess my number one annoyance is that the "smartness" of the "minimal distance between civs" code is not smart enough for me. i.e. , it reduces the value if it's too high, but when it does it reduces it too much. if I set it low, civs will not distribute on the map as evenly as I want. if I set it too high, it's the same cuz some will not a spot far enough from others, the code will reduce the value a lot and they will end up right next to somebody else. I've been trying to find a sweet spot, but I can't seem to do so :lol:

I really wish I can get this to work as I want cuz aside from the starting placement the maps that are generated are absolutely gorgeous. :goodjob:
 
[to_xp]Gekko;9495085 said:
I guess my number one annoyance is that the "smartness" of the "minimal distance between civs" code is not smart enough for me. i.e. , it reduces the value if it's too high, but when it does it reduces it too much. if I set it low, civs will not distribute on the map as evenly as I want. if I set it too high, it's the same cuz some will not a spot far enough from others, the code will reduce the value a lot and they will end up right next to somebody else. I've been trying to find a sweet spot, but I can't seem to do so :lol:
Make sure you enable logging and read the log file, it will tell you what's happening :)

For example, if you get civs too close it is probably not because the starting distance was reduce too much, it is probably because they couldn't find a spot (all remaining spots were blocked or less than 0 value to them) so they just picked a random one.

The problem you're going to run into is that unless you do what Cephalo did with Creation.py (or Erebus.py if you prefer) and create the world in chunks designed for each civ it's very difficult, close to impossible in fact, to achieve both perfect balance AND accurate flavor at the same time on a world that you want to look somewhat realistic. Something will have to give.
 
I know, that's why I'm also using the double bonus value code to make flavourvalues less overwhelming on the final result. but it doesn't seem to help and it can have side effects as you have pointed out. I think what I could do is edit flavourvalues so that they are less "extreme" so to speak, like for example setting desert and tundra to 0 instead of -1 and -2 so civs are less afraid of starting in the middle of the map. plains also seem kinda undervalues, but I don't want to give them the same value as grass so they'll stay the same for now. ideally I'd choose the default values based on tile yields, then edit them for civs that have a special flavour. I'd also try to minimize the civs that have nondefault values, and only edit those specific values that they really care about, to make it as flexible as possible. that would probably mean only editing those values that have an impact on the game and leaving out those edits that are only for flavour... like for example letting the Sidar and Hippus use default values, that kind of stuff. boy just thinking about it gives me a headache :lol:

this kid of thorough editing is a pita but it's probably what I'll end up doing :lol:

one more question! how could I change the "minimal effect starting spot cleaning" code so that it changes desert to plains, but only if said desert doesn't have a floodplains? I don't want to end up with OP plains/floodplains tiles :lol:
 
[to_xp]Gekko;9495655 said:
one more question! how could I change the "minimal effect starting spot cleaning" code so that it changes desert to plains, but only if said desert doesn't have a floodplains? I don't want to end up with OP plains/floodplains tiles :lol:
Just check for the existance of either a river or a floodplain feature. I do that check already in many places so you should have lots of examples to look for :)
 
nice, thanks! :goodjob:


Make sure you enable logging and read the log file, it will tell you what's happening :)

For example, if you get civs too close it is probably not because the starting distance was reduce too much, it is probably because they couldn't find a spot (all remaining spots were blocked or less than 0 value to them) so they just picked a random one.

My last post aside, I gotta say I don't think this is what has been going on in my tests though. I've had the Luchuirp ignore a pretty isolated "great plains" start, with just plains, no desert, some hills and a couple peaks that must have had scored pretty damn high for them, just to defy my minimum distance values and get placed next to the calabim on the coast, in another plains location that there's no way scored more than the other one, and even if it did it's no good reason to defy my will and ignore that other start that would have made us both happy :lol:

that other start they ended up choosing didn't even have more bonuses than the other one too, so that's something really weird... damn, I wish I had checked the log after that one, there's something fishy going on here. maybe the code just wants to punish me and annoy me for my constant messing with it. it almost seems like it's taking offense of my never being quite fully satisfied with its work :lol:
 
I thought about that, but downloading 500 MB+ just for a 100 kb mapscript is not very appealing :lol:

mostly I was just curious to know what Seven05 has in store for us ;)
 
Dont know if this is still being developed, but any chance of getting a version of this with a real "fewer peaks" option? I find myself having to worldbuilder half the map of peaks off every game I start (mainly for the AI) even with the "fewer" option selected.
 
I think Erebus as well as Erebus Continent did rely on mountain peaks heavily in the first place. You want fewer mountains you need to take another mapscript. IIRC the whole idea was that players are surrounded by mountains for some natural borders.
 
I could try taking a look at the code and checking if there's an easy way to accomplish it later today IF I remember to do it :D

should be as easy as checking what the fewer peak option does and strenghtening the effect further... I hope this won't mean very very very few hills as well though.
 
ok Quetz, here you go:

first of all, open the erebuscontinent file with wordpad.

search for "self.PeakPercent" ( without the "" of course ) and you'll find:

Code:
#How many map squares will be above peak threshold and thus 'peaks'.
		self.PeakPercent = 0.04

		#How many map squares will be above hill threshold and thus 'hills' unless
		#they are also above peak threshold in which case they will be 'peaks'.
		#Only affects initial hill placement after tectonics, higher values here will
		#result in 'thicker' hills near plate boundries.
		self.HillPercent = 0.14

		#In addition to the relative peak and hill generation, there is also a
		#process that changes flats to hills or peaks based on altitude. This tends
		#to randomize the high altitude areas somewhat and improve their appearance.
		#These variables control the frequency of hills and peaks at the highest altitude.
		self.HillChanceAtOne = .08
		self.PeakChanceAtOne = .01

read this to understand how the code works about peaks and hills.

then search for "#Mountains" and you'll find this:

Code:
		#Mountains
		selectionID = mmap.getCustomMapOption(1)
		if selectionID == 1:
			mc.PeakPercent = 0.03
			mc.HillPercent = 0.10
			mc.PeakChanceAtOne = 0.01
			mc.HillChanceAtOne = 0.06
		elif selectionID == 2:
			mc.PeakPercent = 0.05
			mc.HillPercent = 0.18
			mc.PeakChanceAtOne = 0.05
			mc.HillChanceAtOne = 0.12

selectionid=1 is the fewer peaks custom option, selectionid=2 is the more peaks custom option. now you can tweak away to your liking :)

feel free to ask here if you have any more questions, I'll see if I can help. enjoy :goodjob:
 
I am going to try it right now with Tholal's naval patch !!!

THANKS !
 
The Climate option is ghosted out even when the Smart Climate option is set to all you change the climate. Any ideas on how I should correct this? Thanks.
 
Hey all.

I downloaded the file, yet it failed to extract, saying:

....cannot create erebus_continent.py...

any ideas?
 
Top Bottom