[MapScript] Erebus Continent

Question from a total mapscript-newby: How do I use this mapscript-thing?

Ok, found it. I put the py-File into the PublicMaps Folder.
 
Question: when I play this map all I get is a patch of flat green land with rivers running through. What's up? It doesn't look at all like the cool screenshots on the first page.
 
Interesting: I got almost the same result last time. Flat land, no hills and absolutely no (!) rivers. I had all options (mountains, jungles, etc.) on standard. Now that I play with reduced jungle, tundra and desert the result is far more captivating. Perhaps those options aren't meant to be untouched.
 
actually, I always feel like on average with default desert size plains are too uncommon. I usually don't want to increase deserts sizes though, just more plains so that grasslands feel good instead of normal.
 
Ok, sorry about my absense, the good news is that I survived the layoffs :)

Anyway... I have a new version to upload tonight with a few minor tweaks and some new controls to play with. I also have a more significant update that I've been toying with, more on that later.

The biggest changes in the next version are:
  • Ability to increase plains. You can only increase the plains as reducing them has unwanted side effects on the deserts.
  • Ability to reduce/increase forest density. This is weighted by rainfall so there will still be areas of dense forest/jungle even with reduced forest density. The overall effect will be obvious, time to stick it to the elves :)
  • Ability to increase/reduce river & lake frequency. Unfortunately this has the side effect of adjusting the overall length of rivers as well, for now the adjustments are fairly minor, if I can find a way to reduce the number of rivers without making them all short I'll increase the effect.
  • Slightly reduced total landmass. The reduced total landmass will make the maps a better fit for the default number of civs. It's a small change, roughly 2% (of the total number of tiles) fewer land tiles.
  • Fine tuning to the start plot selection (still not perfect). I found a bug where it was allowing civs to start very close, that can still happen but only when a civ can't find a better place to start, it should be very, very rare.

Things I'd like to add in the future:

Unique regions. Things like lush valleys with ancient forests or great plains regions without desert mixed in. These will also use new code to create some more interesting areas by simulating ancient natural disasters like meteor strikes, volcanos and earthquakes. This should give us interesting map areas like a 'crater lake' or an inland sea along a split in the underlying plates. Another possibility is to have pre-existing city ruins and roads on the map similar to how they were done in Fury Road (scattered ruin clusters and incomplete roads connecting them). This will be an on-off option as the extra passes will add quite a bit of time to map generation.

Optimization. There are a few places in the code where I iterate through the entire plot list multiple times. I'm going to try to combine more of those processes to share passes with each other since those iterations are what add the most time to the generation of the map. I did this before and it helped, if I can I'd like to do it again, I just don't know if I can do enough here to make a difference.

Bonus placement. This needs to be adjusted to better place bonuses (resources). Some of the rules for bonus placement defined in the xml files need to be broken to get them to work better with this script. For example, some bonuses have are limitiations, since an area in Civ is essentially a continent and this script tries to develope single continent maps the current method isn't ideal.

FfH unique feature placement. I need to write my own custom code to place the FfH unique features. This will help by ensuring important features aren't stucke alon on a single tile island 20 tiles off the coast. Along with the unique features I should be able to handle lairs and dungeons at the same time to better distribute them.
 
2.2 has been uploaded. I've been using it for a while and it has been perfectly stable so there shouldn't be any issues unless they're hardware (memory really) related or the result of a conflict caused by a modified FfH game on your end.

Have fun :)
 
Hey Seven05,

Welcome back. Hey I discovered something since you've been out. The default normalizeRemovePeaks routine actually removes peaks in a huge radius around starting plots, way bigger than the FC actually. I didn't realize how much this was impacting the look of my maps.

I disabled this routine and replaced it with a routine that allows some tunable maximum number of peaks in the FC, and it really punched up my maps with some extra drama.
 
Hmm... I'll have to check that out. I already have my own code to turn some peaks to hills in an area larger than the fat cross around each starting plot and I think I already diabled the default.

Ah, nope, I was only bypassing the default normalization for bad terrain.

Good catch, I'll add it right now and see what it does :)
 
Wow, I'd like the City Ruins and Roads addition, and the Unique Regions sounds really fun :)
 
2.3 is uploaded, happy Valentines day :)

The biggest change in 2.3 is the custom bonus placement (modified from my old PerfectWorld based script). Bonuses should be more plentiful now, please let me know if there are too many or still not enough. I also override two restriction from the XML file for unique area distibution. I force a minimum land size of 8 tiles for bonus placement (or the xml limit, whichever is greater) and a minimum number of allowed areas of 3. This way the main continent can potentially have ALL bonus types and there shouldn't be any on the scattered small islands although large islands (or the rare multiple continents) can have bonuses.

Another noticeable change is with peak removal around starting plots. I have turned off the default Civ4 peak normilization and increased the strength of my own code that reduces peaks into hills around starting plots. This makes a pretty significant difference in the layout of mountain ranges, especially on crowded maps.

I also increased the base threshold for deserts and plains slightly to compensate for the changes in landmass size in 2.2.

And finally, there are two steps of some future code in place. I have two passes that simulate meteor strikes, one before and one after plate Tectonics. While you don't get really noticeable crater effects on the map it does have an effect on things like natural harbors and mountain ranges. There will be a few more interesting areas in the map, those places that look a little more unique than the rest of the map. I also have a pass during plate tectonics that simulates volcanos. Like the meteor strikes it's not something that really stands out but it does have an effect on the final map, particularly when the volcano code tries to make a volcano underwater. Since this code will only generate a volcano on plate boundries the main effect is 'thicker' mountain ranges in some places and more noticeable island chains rather than scattered islands. Both of these are early steps towards adding more unique areas to the maps.

I think that's everything, have fun ;)
 
Hey, this mapscript is great :goodjob:

I wonder, is it possible to make 2-3 line mountains on edges when flat world selected? Can it be a selection?
 
tried 2.3 with Wild Mana, but it throws a couple python exceptions at startup...

when the second one happens, the generated map has no hills/mountains.
 
Hey, this mapscript is great :goodjob:

I wonder, is it possible to make 2-3 line mountains on edges when flat world selected? Can it be a selection?

It's possible, I'll put it on the list.

[to_xp]Gekko;8900365 said:
tried 2.3 with Wild Mana, but it throws a couple python exceptions at startup...

when the second one happens, the generated map has no hills/mountains.

Ok, I caught that first one already, I thought it was before posting 2.3 but apparently not. I'll upload 2.4 here in a minute so it works right, there will be a few half-finshed features in it but it's stable. There are a couple of places that end up with that out of bounds error every once in a great while, the result is the same, you get the map with all of the propper terrain but no hills, peaks, rivers or trees. As I stumble across them I add in some error checking to catch that before it happens :)
 
2.4 working great :D

I had that out of bounds error in one of the maps I generated, but I forgot to take a screenshot of the python exception >.<

there has been an oddity, my starting settler started on a peak which gave him uber line of sight at the start :lol:
 
there, I managed to get a picture of the python exception we're talking about. hope it's useful :lol:

also, I can confirm that units sometimes spawn on a peak at start-up, which is pretty weird and gives crazy line of sight :D
 
[to_xp]Gekko;8901595 said:
there has been an oddity, my starting settler started on a peak which gave him uber line of sight at the start :lol:
Strange... I already have one check in there that shouldn't allow peaks as valid start plots, I'll double check that tonight when I get home.

[to_xp]Gekko;8902817 said:
there, I managed to get a picture of the python exception we're talking about. hope it's useful :lol:
Thanks :)

If you have logging enabled you can grab these messages from the logs folder in your my documents/my games/civ4/logs folder, they'll be in the pythonerr.log file (or something like that, the one with no numbers in the name). Might be easier than grabbing and posting screenshots.

The annoying part is that it's going out of bounds on a pretty simple list that should contain every plot of the map so it's pretty basic.
 
Back
Top Bottom