PDA

View Full Version : WIP- FT Script development



Master TMO
07-04-2011, 11:42 AM
I am working on enhancing the world-processing script. My goal is to have the script do a large list of processing to a fresh world, so that I only have to spend my precious brain energies on custom artsy changes and not on rote bulk updates.

I was wondering if I could some critiquing on the post-processed world. Feel free to critique anything that doesn't look quite right to you. Many of you know a *lot* more about what is and isn't realistic geography.

The script does not currently do craters or volcanic hotspots. It does try to do glaciation. The original world is a raw FT world.

My goal is to take the critiques and try to add more script commands to include them.

The original world files are attached in this message.

The images are:
* Image climate
* Rainfall (brighter blue = more rainfall)
* Temperature
* Bump map

Master TMO
07-04-2011, 11:44 AM
Here are the post-processing images. Nothing on these maps is hand-edited.

Any and all critiques or feedback is welcome. Not sure why the system didn't create thumbnails of some of the maps.

It's kind of odd that no deserts got created. I may need to modify the continental drying portion of the script. It's possible that the only reason deserts have shown up in my previous map is because the continent was flipping HUGE (covered most of a hemisphere). If so, then I'll have to up the drying factor to compensate.

Master TMO
07-04-2011, 12:10 PM
Here are the general script steps:
* Fill Basins
* Shrink the continental shelves slightly
* Smooth Prescale Offset
* Incise Flow the entire world
* Fill Basins
* Smooth Offset
* Select all terrain <40 degrees F
* Incise flow just the selected area, to try and replicate glaciation
* Lower rainfall around the horse latitudes by 20", and raise the avg temp by 10 degrees
* Raise the rainfall elsewhere by 20"
* Select all landmasses, drop rainfall by 1" per 10 pixels in.

Pretty much none of these are new - I've discussed them elsewhere in the forums. I'm putting them all into a single project to see how realistic they are and if there's anything more I can add to it.

waldronate
07-04-2011, 03:12 PM
Incise Flow has the feature that it will make little basins around the junctions of rivers. I recommend a fill basins immediately following any Incise Flow step. For best effects, I also recommend at least a 4096 editing resolution any time that you plan to use incise flow because the visible effects are very dependent on editing resolution.

Master TMO
07-04-2011, 03:36 PM
I use a 4096 resolution. I had not filled basins after the last incise flow on the thinking that they were too new to really be eroded. I was planning on figuring a way to fill them with water. I know FT has the Fill Basins with Lakes feature, but I haven't played with it much lately, and an earlier model of the software seemed to fill the lakes with a sloping water table, which looks alright from a distance, but if you start looking at it in detail, the elevation of the water at one end of the lake could be 100 feet higher than the water level at the other end.

What is the feature that makes basins around the river junctions? I haven't knowingly stumbled across that one yet.

Thanks for the response!

waldronate
07-05-2011, 06:37 AM
Feature, bug, they are all a matter of opinion. The way that incise flow works means that applying a blur to the basic flow pattern will result in the contribution of multiple rivers to points near the join. This excess of altitude removal manifests as little bowls around the joins. It often isn't noticed, but it's there.

The sloping water thing should be remedied by putting a 0 for the slope on the basin fill part of the operation. Setting the value to 0 will give flat lakes, but FT can't route rivers across perfectly flat terrain. I added the little bit of slope to computations to make everything work visually well. Another unfortunate consequence of the way that FT's river routing works manifests as an automatic basin fill as part of the river routing operation. This automatic basin fill can (and usually does) result in many very straight river segments that head through the air over valleys. The fill basins and smoothing operations should result in removal of the really concave valleys. Sometimes it doesn't work as well as it should. In an ideal world, the atomic elements that are part of the river routing operation would be scriptable, but they aren't.

Master TMO
07-05-2011, 09:25 AM
Well, the two Incise Flows I use are as follows:

General Whole World: (modified from the one given in the FT tutorial)
// Tool Incise_flow blur amount exponent effectblend
Tool Incise_flow 1.5 1.5 0.4 0.5


Glaciation Incise Flow:
// Tool Incise_flow blur amount exponent effectblend
Tool Incise_flow 1.0 0.5 0.2 1.0

From the notes I've found searching the forums, having a lower Exponent value means it follows more riverbeds. So the Glaciation Incise carves more channels, but not as deep, and (theoretically at any rate) less blurred and more sharply defined.

And I don't see anything that allows me to enter a slope for the Basin Fill operations. When I run them from the menus it just processes immediately. And the Script Info file doesn't list any parameters for the commands.


Tool Fill_basins
fill the basins in the surface in the offset channel at the current editing resolution.

Tool Fill_lakes
fill the basins in the surface in the water channel at the current editing resolution.

Master TMO
07-05-2011, 01:59 PM
I found what may have been a minor glitch - the base map did not have Prescale editing enabled, so the steps that used it probably didn't happen. I'm re-running the script now just to see what it looks like. I think I'm also going to double the amount of continental drying. Rather than drop it 1" per 10 pixels, I'll drop it every 5 pixels.

I know that central valley around the lake has incorrect rainfall - it's entirely surrounded by mountains, and would most likely be in a permanent rainshadow. But I haven't figured out a way of automatically calculating rainshadows, so fixing that would be a manual process, and that's not what I'm aiming for with this project. I'm trying to build up a complete automatic script that I would run before doing any hand-editing. Now, if anybody knows of a way to automatically figure out rainshadows or wind/ocean currents, that would be completely different.... ;)

ravells
07-05-2011, 02:06 PM
This is all way over my head. But I hope when you're done you create something which all of us non programmer types can use with FT!

Master TMO
07-05-2011, 02:12 PM
O_O ...


You mean I have to share????

:PP

ravells
07-05-2011, 02:24 PM
But of course! That is what the Guild is for and you'll get lots of kudos and much adulation! (and what could be better than that?)!

Master TMO
07-05-2011, 02:36 PM
True, I do like the adulation concept...

Master TMO
07-05-2011, 06:14 PM
Mmm... found another glitch. My Continental Drying routine wasn't actually applying any drying. No wonder no deserts were appearing.

Just gotta identify each glitch in turn and knock it down. Eventually you'll run out of glitches. Or sanity. Either way is fine.

Master TMO
07-06-2011, 10:52 AM
Alrighty, latest glitches fixed and applied, and new maps to show for it. Please feel free to critique, advise, or complain about anything you spot that you think could be better done.

I think it needs a bit more erosion, the mountains are still pretty tall, with 18k and 24k tall ones easily found in the north of the main continent. But that's not something you can tell by looking at the maps.

Same as before, the only bit of hand-editing on the map involved the lake in the middle of the left continent. All I did was make sure it wasn't being treated as an ocean coastline by the drying routine, and then lowered the water level there to -500' after everything was finished.

Master TMO
07-06-2011, 10:56 AM
I'll throw a quick question to Waldronate - in the north of the main continent is an area that got basin filled at the beginning, but around the edges are a series of lakes where the ground is still below sea-level. Is there something I can tweak in my script to get rid of those? I recall seeing that effect before, but don't know if any way around that was mentioned.

Master TMO
07-06-2011, 11:06 AM
Eep! Yep, definitely needs more erosion. Found what is probably (hopefully) the high spot on the map - at 31,392 ft above sea level.

Master TMO
07-06-2011, 11:15 AM
Minor tip: If you want to find the high point in a Bump map in Photoshop, load it as a layer, then put a layer completely filled with Black above it. Set the blackout layer to Darken, and opacity 70%. Then go to Layer Style/Blending Options and in the Blend If section, slide the white slider on the Underlying Layer bar to the left until a single point is highlighted. That point is the highest point of the map.

waldronate
07-06-2011, 11:34 AM
I'll throw a quick question to Waldronate - in the north of the main continent is an area that got basin filled at the beginning, but around the edges are a series of lakes where the ground is still below sea-level. Is there something I can tweak in my script to get rid of those? I recall seeing that effect before, but don't know if any way around that was mentioned.

I think that was the area that caused me to mention the river merge "feature". FT's adjustment layers (prescale offset, offset, rainfall, temperature) have a cubic interpolation scheme that will overshoot and undershoot around very large vertical jumps. Most likely there are pretty significant one-pixel changes in the offset channel right there. If you're selecting an area, feathering the selection after making the selection can go a long way toward preventing this sort of jump in offset values.

Midgardsormr
07-06-2011, 11:41 AM
Nice tip, thanks!

A quick variation: Copy the bump layer first to preserve it. Use the technique on the copy and bring the slider down so that you have the upper portions of all of your mountains visible. Merge the black layer with your copied bump (select both, and Ctrl-e). Select all (Ctrl-a) and copy (Ctrl-c). Go to your Channels palette and create a new channel. Paste (Ctrl-v) the image into the new channel.

This new alpha could be used as a mask for putting snow on your mountains, or to define a timber line. There are likely plenty of other purposes you could put it to as well. You could use the other end of the blending slider to pull out your basins and fill them with water, for example.

Master TMO
07-06-2011, 12:19 PM
I think that was the area that caused me to mention the river merge "feature". FT's adjustment layers (prescale offset, offset, rainfall, temperature) have a cubic interpolation scheme that will overshoot and undershoot around very large vertical jumps. Most likely there are pretty significant one-pixel changes in the offset channel right there. If you're selecting an area, feathering the selection after making the selection can go a long way toward preventing this sort of jump in offset values.

It doesn't *look* like any of my selections are in that area, but I will step through the script and see where the divots are happening. I suspect it's the Incise Flow after the Fill Basins, running into that offset edge you mention. I do a Smooth Offset of 2 after the Fill Basins. Is there another way I can smooth out the transition slightly?

Master TMO
07-06-2011, 01:10 PM
Just experimenting, I swapped the order of the commands, running an Incise Flow first, then Smooth Offset 2, then the Fill Basins. Most of the lakes disappeared, but there are still a bunch of much smaller lakes around the edge.

Master TMO
07-06-2011, 01:12 PM
Innnnteresting... if I Smooth by 2 after the Fill Basins all those lakes come back again.

Master TMO
07-06-2011, 04:44 PM
I tried Deterracing the Offset layer. It got rid of the tiny lakes around the edges of the basin fills, but poked a brand new lake where none had been before, one deep enough to drop below the continental shelving.

Mind you, Deterrace doesn't appear to have a script command, so it wouldn't be an ideal solution, since I'm trying to automate, not add more manual. ;)

Master TMO
07-06-2011, 10:34 PM
The sloping water thing should be remedied by putting a 0 for the slope on the basin fill part of the operation. Setting the value to 0 will give flat lakes, but FT can't route rivers across perfectly flat terrain.

Zig-zagging a bit, I tried running a script with a 0 param after the Fill Basins as Lakes and it aborted.

Master TMO
07-07-2011, 02:45 PM
There are some days you just gotta cackle like a Mad Scientist. This is one of those days for me. >:)

Attached is a FTPro script that will process your world and create 8 selection files:

Land: All pixels with Altitude > 0
Water: All pixels with Altitude <=0 (inverse of Land)
Continents: All pixels with Altitude > -1000 (assuming that's where your continental shelves are at)
Seafloor: All pixels with Altitude <= -1000 (inverse of Continents)
Lakes: All water pixels (Altitude <= 0) that are completely landlocked
Oceans: All non-landlocked water pixels
Landmass: All Land pixels + Lakes
Shelves: the Continental Shelves


I've also attached 3 of the selection files as samples.

To use the script, uncompress it into your Scripts folder. You will need to create a folder where FT can save the selection files. The file path to this folder can NOT include any spaces. Edit the script file (Create_Selections.fsr) and do a global replace on c:/mapping/selections and replace it with your file path, then save.

That should be all it takes to be able to use the script. Fair warning, this is not a fast script. It will take a while to run to completion, so be patient.

Once it's done, you can use the selections for various things, some of which I will address later in this thread (like getting rid of all those lakes!). If you make changes to your map that alters the outline somehow, you can always run this script again, and it will overwrite your old selection files with new ones.

Enjoy!!

Ascension
07-07-2011, 04:07 PM
Beyond my capability to understand programming but my hat's off to you, my man. Keep up the great work (from one mad scientist to another).

Master TMO
07-07-2011, 04:45 PM
Well, my primary goal of it was to get the two selections Shelves and Lakes as separate selections. If you select all terrain between altitude -1000 and 0, you have no way of telling if it's a continental shelf, or a section of landlocked water that goes below sea level. It's a personal thing, but two of the things I first want to change with each of my maps is that the continental shelves are too wide if you compare them to Earth's, and that finding and filling all those basins around the map by hand is tedious. Hopefully with these, I can do that. Getting there is a bit of a brute force, but that's all that was available to me.

Master TMO
07-09-2011, 12:08 AM
It's taken me over a day to get to the next stage. Attached is a script for filling in those sub-sealevel lakes. It is not 100% perfect, but pretty close. About 98%, I'd say. However, if you run the Create Selections script again, you can use the Lakes selection to find what is left and fix manually, or run Fill Lakes again. You do have to run Create Selections again first though, to get a correct Lakes selection.

Master TMO
07-09-2011, 12:14 AM
Oh, I should mention, I would advise doing any large-scale modifications to your world before running these scripts. While the scripts will handle landlocked below sealevel areas, it will not do anything about places where they dip below the continental shelf. So if you have any of those you don't want, fill them in with prescale editing first. Once you get it all above the shelf boundary, the scripts will fill it in.

Master TMO
07-12-2011, 10:18 AM
I don't think I like the way the Fill_Lakes script works at the moment, but I don't have anything better to replace it yet. Right now I'm playing around with the settings for generating new worlds, in case that other shared world project calls, but it also will give me a bunch of worlds to test scripts on in the future. So this thread isn't dead, merely sidelined for a bit.

Master TMO
07-20-2011, 03:10 PM
I was mucking about last night trying to work some more on the glaciation thing. Has anyone ever used Fractal Terrains to make fjords before? FT has a tendency to spread out into plains as it gets close to the waterline, and fjords (I believe) are mountains that go right to the water's edge and in. Any advice or tips are welcome. The north part of the large western continent seems like a potentially appropriate place for a few fjords to me.

cantab
07-20-2011, 03:29 PM
Fjord refers to the valley. It's a glacial valley, so U-shaped, that has since been flooded by the sea after the glacier retreated. They're often at roughly right-angles to the overall shoreline, but they can run at other angles. The walls of the fjord are indeed like mountains that drop straight down into the sea.

Rias are similar, but formed when a river valley is flooded due to rising seas or sinking land. Rias typically must have only fairly small rivers flowing into them; the sediment from a big river would fill the ria in.

I haven't worked with FT, but possibly you could get much of this sort of terrain by dropping the land level down.

Master TMO
07-20-2011, 04:40 PM
Are the Norwegian mountains particularly tall? If they're short, but steep, then it would be feasible to just lower the land level a few thousand feet and see if that works.

cantab
07-20-2011, 04:56 PM
http://en.wikipedia.org/wiki/Geography_of_Norway

Master TMO
07-20-2011, 05:36 PM
I had been on wikipedia reading up on fjords, but hadn't made the jump to Norway for some reason.