Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 [2] 3

Author Topic: [SUBREGION_MAX:ZOMGINFINITY], The forgotten paramater...  (Read 11968 times)

GhostDwemer

  • Bay Watcher
    • View Profile
Re: [SUBREGION_MAX:ZOMGINFINITY], The forgotten paramater...
« Reply #15 on: March 30, 2012, 07:11:31 pm »

If you looked in the logs and saw a rejection by ~2,000 when the max region was set to 5,000, and then re-genned using the same seed but a higher max regions setting, and it worked, I would say your conclusions are valid and the maximum stated in the advanced setting screen is wrong. I also have to disagree with girlinhat, I think this is very useful science. I have read a number of posts lamenting the difficulty of generating "region type a next to region type b" be that evil/good, volcano/sedimentary flux stone, or what have you. Your technique will allow for more different combinations in one map. However, as you have found, having a large number of regions can cause problems.

I like to draw my own maps in GIMP and pre-erode them using Wilbur before importing the bitmap into Perfect World, and based on my heightfield and other parameters, I have had to turn up the max regions on occasion. But I've found that world gen often crashes or the resulting world is unusable. There is a reason the default is to reject worlds with too many regions. Nowadays I blur out a lot of the noise. I tend to like worlds that just about hit the default maximum number of regions. That is still a LOT of regions, a lot more than normal.

I would say the max regions setting is important to consider if you want to push the limits on a large map, but you first have to know how to push the limits. You want to generate more noise in a variety of parameters so the game actually generates more regions in the first place. And you have to be prepared for disappointment, especially if you try to gen a large, complex world with lots of history. The world gen engine and most people's RAM just isn't there yet.

Edit: maybe an illustration would help. Here's a bitmap that required me to turn up the max regions parameter to 5,000:



and here's one that didn't:



Note that when using Perfect World any noise in your bitmap is magnified because PF generates other parameter sets based on your heightmap.
« Last Edit: March 30, 2012, 07:21:14 pm by GhostDwemer »
Logged

runlvlzero

  • Bay Watcher
    • View Profile
Re: [SUBREGION_MAX:ZOMGINFINITY], The forgotten paramater...
« Reply #16 on: March 30, 2012, 07:16:57 pm »

If you looked in the logs and saw a rejection by ~2,000 when the max region was set to 5,000, and then re-genned using the same seed but a higher max regions setting, and it worked, I would say your conclusions are valid and the maximum stated in the advanced setting screen is wrong. I also have to disagree with girlinhat, I think this is very useful science. I have read a number of posts lamenting the difficulty of generating "region type a next to region type b" be that evil/good, volcano/sedimentary flux stone, or what have you. Your technique will allow for more different combinations in one map. However, as you have found, having a large number of regions can cause problems.

I like to draw my own maps in GIMP and pre-erode them using Wilbur before importing the bitmap into Perfect World, and based on my heightfield and other parameters, I have had to turn up the max regions on occasion. But I've found that world gen often crashes or the resulting world is unusable. There is a reason the default is to reject worlds with too many regions. Nowadays I blur out a lot of the noise. I tend to like worlds that just about hit the default maximum number of regions. That is still a LOT of regions, a lot more than normal.

I would say the max regions setting is important to consider if you want to push the limits on a large map, but you first have to know how to push the limits. You want to generate more noise in a variety of parameters so the game actually generates more regions in the first place. And you have to be prepared for disappointment, especially if you try to gen a large, complex world with lots of history. The world gen engine and most people's RAM just isn't there yet.

This for sure is probably 99% likely the reason its coded for 5k. But dang I sure wish it was documented otherwise lol. I have 8gb of ram and the executable unlocked so I have never had a crash from too many regions overloading ram yet, then again I wouldn't know because I'm not running a clean executable.

I also like the idea of drawing them in gimp, but my art skills are sub par and I usually can't get anywhere near a finished product. Its why I started upping the noise, to get more interesting looking terrain with PF's default height maps.
« Last Edit: March 30, 2012, 07:20:55 pm by runlvlzero »
Logged
I voted for BANANA!

GhostDwemer

  • Bay Watcher
    • View Profile
Re: [SUBREGION_MAX:ZOMGINFINITY], The forgotten paramater...
« Reply #17 on: March 30, 2012, 07:40:32 pm »

You don't need art skills to generate a map in GIMP. You need Wilbur. And I guess you need a technique. I'll describe mine: I start with a single layer, black background. I draw the outline of a continent or island using the pencil tool and fill it in white. Using the levels tool in the colors menu, I set the white level to whatever I want my base altitude to be, usually 50-100. You can try playing around with selecting your continent and using shape fill at this point. Then I make another layer for mountains and draw those in white, just lines and crosses and stars and stuff. Play around with layers, use settings like multiply and lighten only to add layers together. Flatten the image (merge all layers and delete any transparencies) Save as a .png, import into Wilbur (hope you have Windows or know how to use WINE) and erode the heck out of it. I tend to: add noise, do a precipiton run x10, blur, add more noise, fill basins, incise flow, rinse and repeat until it looks good. I usually draw and erode at 4x, (1028x1028) and then resize down to 257x257.

I know that probably sounds complicated but it's really not and you don't have to be able to draw to do it. :)
Logged

runlvlzero

  • Bay Watcher
    • View Profile
Re: [SUBREGION_MAX:ZOMGINFINITY], The forgotten paramater...
« Reply #18 on: March 30, 2012, 08:07:14 pm »

Thanks for the tips =) I'm pretty familiar with gimp so I understand mostly what your saying to do there. Also appreciate the link to Wilbur on softpedia apparently its sorta a defunct project. (googling wilbur gives you a dead 404 page about 10 links down)

Currently my biggest and most ambitious goal is to create some mountain plateaus and very noisy elevation wise areas surrounded by extremely flat terrain. So the noise is not spread evenly. This is a real tricky thing to do with the sliders =) so far as Ive noticed lol, if you turn the noise up on one, it effects the whole map, not just little bits no matter what. Also the obvious thing to do is weight one noise map slider low, but then it has almost no effect on the areas you wanted weighted high... I've been using noise at levels that looks like static on a TV screen mostly. I think your technique will help me avoid that for the most part as far as 90% of the elevation goes (I will still brush up the mountains a bit).

I swear I have spent more time genning worlds and messing with the raws and settings in this game then playing it mostly lol.
Logged
I voted for BANANA!

GhostDwemer

  • Bay Watcher
    • View Profile
Re: [SUBREGION_MAX:ZOMGINFINITY], The forgotten paramater...
« Reply #19 on: March 30, 2012, 08:56:11 pm »

It's also important to know the meaning of the desired squares of good/evil in small/medium/large regions if you want to get a good mix. I'm not sure exactly what the game considers to be a small, medium, or large region. But I know that setting the 'large' region parameters to anything but 0 pretty much guarantees you a good or evil ocean. Setting the desired evil squares in large regions to 1, say, means you want at least one large region to be completely evil, not just 1 square in a large region. The game will try to come as close to without going under your desired count by setting entire regions of the appropriate size to good or evil. Oceans are usually large, and often nothing else is so they are the regions picked most frequently. 

Logged

Sadrice

  • Bay Watcher
  • Yertle et al
    • View Profile
Re: [SUBREGION_MAX:ZOMGINFINITY], The forgotten paramater...
« Reply #20 on: March 31, 2012, 12:44:01 am »

And I imagine an evil ocean would be more manageable than a terrestrial evil biome.  Your dwarves will be less inclined to go in the rain, for one.  Also, you can have a fortress entrance littered with corpses without zombie troubles, and dig under the ocean for any zombification you might need to do.  Of course, you might get zombie giant sperm wells that come and wreck your shit...
Logged

nightwhips

  • Bay Watcher
    • View Profile
Re: [SUBREGION_MAX:ZOMGINFINITY], The forgotten paramater...
« Reply #21 on: March 31, 2012, 12:49:25 am »

So... this would make it easier to, say, get undead unicorns.

BINGO. THIS IS IMPORTANT.
Logged
: Miner dwarves? In my volcano?

:I put childs into danger room...
They die, and their parents care nothing because legendary dining room.

melomel

  • Bay Watcher
    • View Profile
Re: [SUBREGION_MAX:ZOMGINFINITY], The forgotten paramater...
« Reply #22 on: March 31, 2012, 02:53:40 am »

OH MY GOD ARMOK IT'S FULL OF STARS REGIONS.

I am entranced and want to buy one, but the only thing I understand is "regions over 5000".  Wilbur?  Hand-drawn maps?  I know my way around graphics programs and could make something like one of those pics, but how does one turn a squiggly b/w image into a glorious, glorious, parameter-breaking cornucopia of regions?

In small words.  For those of us who function on an...  Urist-y level compared to the mathematically-inclined.  For those of us who are very excited.  And by us, I mean me.
Logged
I HAVE THREE HUNDRED THOUSAND CRAFT ITEMS. I WILL TRADE THEM ALL FOR CHEESE.
7+7

GhostDwemer

  • Bay Watcher
    • View Profile
Re: [SUBREGION_MAX:ZOMGINFINITY], The forgotten paramater...
« Reply #23 on: March 31, 2012, 01:02:57 pm »

Perfect World is the final step, after you have a decent heightmap. And if you can't draw one you can find hightmaps of the real world online, but it's been a while since I looked (finding real tropical islands for use in the first Tropico game) But let's just say you have sorta followed my earlier directions using GIMP and Wilbur.

Open PF. Select the Elevation Map tab. Click the Import Bitmap button. Select your map.
Use the Sea level slider, make some oceans. Use the Tree Line slider to make your mountain ranges as big as you like.

Open the Rainfall Map tab, Click the Generate Rainshadow button. Click the Generate New Noisefield button.
Play with the sliders to get the right balance of forest, grassland, and desert.

Open the Drainage Map tab. Set the filter size to 3. Click the Generate Elevation Standard Deviation Map button.
Play with the sliders for dune/swamp, rocky/grass, and hills to get a good mix.

Open the Volcanism Map tab. Click the Generate Elevation Cusp Map button. Play around with the high and low cusp sliders.
Play around with the Volcanism sliders. Remember, you need some areas of red if you want volcanoes but red means no sedimentary stone in that area.
Unlike the other tabs, it's a good idea to use the Generate New Noise Field button here, unless you want all your volcanoes at the same altitude.
Don't raise the lower cusp too high or you will get a lot of ocean volcanoes.

Open the Savagery Map tab. Choose a savagery map type. Generate the map and noise field, if you want lots of little disconnected regions of savagery, turn up the feature size and the smoothness (they are inverse), if you want the opposite, do the opposite. Play around with the savage/neutral/calm balance sliders.


Almost done.

Import your workld gen file from the file menu. Click on the map parameters tab. Select an island or region of the appropriate size in the param set Name drop down box. Now type in a new name, this will be the name you select in DF world gen. PW will ask if you want to copy parameters or rename, choose copy.

Click all the "Use Perfect World Maps For:" check boxes. Set your parameters:
End year: you know what this does, right?
Mineral scarcity: Higher is scarcer
Mega, Semi-Mega, titans, demons, Bogymen, Vampires, Curses, Rains, etc: Higher is more of these nasty things. But you want that, right? Just don't go crazy. Thousands is crazy, hundreds maybe not.
Good and Evil square counts: Small, in the low hundreds or more. Medium in the mid hundreds or more. Large, do you want an evil or good ocean? Just set these to 1 then.
Peaks, volcanoes as you like it, but you can only get as many volcanoes as you have 100% volcanism squares.
I like setting the erosion cycle count to 300-350.
River starts: these are rejection parameters, they don't actually influence the number of rivers. You probably won't need to change them
Other settings: well, it's your world.

Now look at the Map Generation parameters sub-tab. If you are using the PF maps, you won't have to set any of these except temperature. Set that as you like it. Oh, if you turned an island region into a continent, the number of edge oceans may be wrong, and that's a rejection parameter so it might keep your world from genning. Just set it to 0 and you won't get rejections.

From the file menu, export your map. QUIT DF if you have it running. Start it and go to the advanced gen screen, pick your region and generate.
Logged

runlvlzero

  • Bay Watcher
    • View Profile
Re: [SUBREGION_MAX:ZOMGINFINITY], The forgotten paramater...
« Reply #24 on: March 31, 2012, 10:54:32 pm »

Well I finally got some time to sit down and really mess with wilbur (dang that thing is POOOOWAAAFULL) and cool.. and more powerful then I can probably figure out this lifetime...

But here is the first map I finally made.



I couldn't figure out the multiply/divide/blahblah gimp stuff, so I just fell back on my old quake texturing skills and managed to pull it off with just black, white, opacity settings, and a super fuzzy brush, no layers (this works best for me). I couldn't find a good youtube tutorial for the life of me on gimp tools... (they were all emo kids drawing cats with lame music and no voice over describing what settings to use).

Anyway I couldn't have managed it without your help again GhostDwemer =)
Logged
I voted for BANANA!

GhostDwemer

  • Bay Watcher
    • View Profile
Re: [SUBREGION_MAX:ZOMGINFINITY], The forgotten paramater...
« Reply #25 on: April 01, 2012, 03:11:57 am »

Looks nice, you'll definitely get a major river in that central valley. Should get some nice waterfalls too. You may want to add some noise in PF to break up some of those smoothly shaded areas if you want lots of regions.

And yeah, Wilbur is amazing. It operates on 16 bit samples too, 65,536 levels instead of the 256 you get out of GIMP. I don't think GIMP does High Dynamic Range, which is essentially what Wilbur is doing. Wilbur's brushes (paint, mountain, trough, noise, smooth and smudge) are much smoother than using the equivalent tools in GIMP. You'll see stairsteps in gradients when you export from GIMP. But they'll smooth out with a few rounds of precipitons. I like to turn that one up to .35 delta and -3 max distance. It makes for more dramatic results. I also like to do multiple incise flow runs at varying widths and exponents. This makes rivers that are wider at the mouths.

Wilbur also has the same kind of multi-ridged fractal generator that PF has, and that I think DF uses to lay the detail onto the heightmap (to turn the embark squares into detailed squares.) But I never bother, I like to draw my own maps.

There used to be Wilbur tutorials out there, but it looks like the site is down. :(
Logged

runlvlzero

  • Bay Watcher
    • View Profile
Re: [SUBREGION_MAX:ZOMGINFINITY], The forgotten paramater...
« Reply #26 on: April 01, 2012, 01:49:20 pm »

Ya, I get more noise from drainage, and rainfall parameters, I like smoother elevations. Believe it or not that map has allot more detail that's not as easily visible in the gray scale.

I didn't know gimp scaled down to 256 colors in gray-scale, I will have to learn how to re size and export from wilbur... I figured gimp was up to date with hardware capabilities like most linux native tools =/
Logged
I voted for BANANA!

Girlinhat

  • Bay Watcher
  • [PREFSTRING:large ears]
    • View Profile
Re: [SUBREGION_MAX:ZOMGINFINITY], The forgotten paramater...
« Reply #27 on: April 01, 2012, 01:51:58 pm »

Coincidentally, I'm trying to gen a pocket world that will allow undead unicorns.  Advice on how to achieve this?

runlvlzero

  • Bay Watcher
    • View Profile
Re: [SUBREGION_MAX:ZOMGINFINITY], The forgotten paramater...
« Reply #28 on: April 01, 2012, 02:11:54 pm »

To be honest you could copy the unicorns in the raws and make an undead version for evil biomes. But I have not gotten into creature editing very much, so better to ask that one on the modding forums.

To get "naturally" (when a unicorn dies on evil land) occurring ones put elevation, rain, drainage, and savagery, variances maxed out to 3200, 3200, and get rid of all the map rejection parameters (zero them out, it wont effect anything your worried about). Put desired small/good biomes up to to 130 each (that gives you 45% of the small map regions good and evil on a 239 square pocket world, you'll probably have less then that many small regions, but you should have enough). I would set my elevation mins to 99 or 100 and get rid of oceans entirely to give you more room for good/evil embarkable biomes. Be sure to enable max sub regions (5000) should be sufficient on a small map ( the total number of regions you can have at all should be 239).

Instead of tweaking variances and having a randomly generated world you could go into PerfectWorld and create some elevation, rain, and drainage maps with the sliders all the way over at noisy and small features.

I found also editing the entity raws for civs to include [USE_GOOD_WOOD] [USE_GOOD_PLANTS] helps greatly when having worlds with very little neutral biome. You may want to allow using evil biomes as well (but I haven't tested this). If you do [USE_GOOD_ANIMALS] it will permit unicorns for embarkation for your dwarves. (they cost about 500 points). You may also want to allow [SART_BIOME:ANY_LAND] for dwarves, humans, and elvises.

Following are references to the token parameters you'll find in entity_default.txt under your raw's folder, each civilization has an entry there.

http://dwarffortresswiki.org/index.php/DF2012:Entity_token
http://dwarffortresswiki.org/index.php/DF2012:Biome_token

« Last Edit: April 01, 2012, 02:13:47 pm by runlvlzero »
Logged
I voted for BANANA!

GhostDwemer

  • Bay Watcher
    • View Profile
Re: [SUBREGION_MAX:ZOMGINFINITY], The forgotten paramater...
« Reply #29 on: April 01, 2012, 02:12:15 pm »

Girlinhat, large variance in parameters (height, temp, savagery, etc) means more regions. You can achieve that through Perfect World, or just bumping up all the X and Y Variability settings in advanced world gen. You want those regions to be primarily either good, or evil, so you will get good and evil next to each other. There are only 289 embark squares on a pocket 17x17 map, so you could try setting the desired number of small and medium good and evil squares in the 200s. That should ensure most if not all your map is either good or evil. I don't know what lack of neutral regions will do to world-gen, though.

That said, I don't think zombie unicorns will just spawn, as zombies only spawn in evil and unicorns only spawn in good. They will have to be created by choosing a map with both and having regular unicorns get hit by huskifying weather, get killed in an reanimating biome, and so forth. But you probably already figured that out.
Logged
Pages: 1 [2] 3