[Feature suggestion]s with FT
Hello all.
First of all, I guess I might as well explain where my interests lay in what regards ProFantasy software, since from what I've been seing here I may differ somewhat from the average user.
In a nutshell, I'm only interested in Fractal Terrains and my main focus is in realism. Why? Because I'm in the process of developping a setting for a series of science fiction stories and ever since I found FT I thought it might be invaluable to give me a sense of geography and environment and to aid me with descriptions. As it stands now, it's already excellent (and I may post later a couple of pictures I made with FT - including personalised climate shaders - and Celestia), but it does force me to do a lot of extra work to get the kind of results I aspire to. So, over the months I've been using the software I've compiled quite a list of stuff I'd like to see improved, which I'll be putting here from time to time, trying to do my best to add some ideas on how stuff might, perhaps, be implemented, in the hope that even if I'm dead wrong in how I suppose the program is made (I'm not a programmer, although 10+ years ago I did do some programming in Turbo Pascal and a couple of flavours of Basic), it might help give actual programmers some good ideas.
Let's start, then.
My first feature suggestion has to do with topography. The thing is: FT includes an action to remap altitudes, with an altitude profile that can be changed by the user. The results, however, aren't really satisfactory. I've tried using it to get an altitude profile similar to the one we have on Earth, and what I got were (at least some) coastal areas filled with tiny lakes and islands instead of coastal plains and a continental platform. If I understand correctly how the program works, I guess this is due to the remapping being made a posteriori. But there's one feature in place that already does altitude changes and works pretty well: the continental shelves flag.
Couldn't there be a way to use whatever method is used with continental shelves to remap altitudes as a whole, using a predefined altitude profile as guide, but keeping the coasts realistic?
Earth's altitude profile is as shown in Wikipedia's article on Earth, Hydrosphere section. This, although inverted, has the same structure the FT action has, with additive values (although FT does allow you put in oscillations, which produce some pretty weird results - great fun, but, to me, not useful). But there are other ways to represent the same thing, like the area fraction graphics that can be found in the Columbia University website. This last page has a great comparison of the hipsometries of the Moon, Earth, Mars and Venus. If I'm not grossly mistaken, a typical FT planet would have a straight vertical line in one such histogram.
First of all, I guess I might as well explain where my interests lay in what regards ProFantasy software, since from what I've been seing here I may differ somewhat from the average user.
In a nutshell, I'm only interested in Fractal Terrains and my main focus is in realism. Why? Because I'm in the process of developping a setting for a series of science fiction stories and ever since I found FT I thought it might be invaluable to give me a sense of geography and environment and to aid me with descriptions. As it stands now, it's already excellent (and I may post later a couple of pictures I made with FT - including personalised climate shaders - and Celestia), but it does force me to do a lot of extra work to get the kind of results I aspire to. So, over the months I've been using the software I've compiled quite a list of stuff I'd like to see improved, which I'll be putting here from time to time, trying to do my best to add some ideas on how stuff might, perhaps, be implemented, in the hope that even if I'm dead wrong in how I suppose the program is made (I'm not a programmer, although 10+ years ago I did do some programming in Turbo Pascal and a couple of flavours of Basic), it might help give actual programmers some good ideas.
Let's start, then.
My first feature suggestion has to do with topography. The thing is: FT includes an action to remap altitudes, with an altitude profile that can be changed by the user. The results, however, aren't really satisfactory. I've tried using it to get an altitude profile similar to the one we have on Earth, and what I got were (at least some) coastal areas filled with tiny lakes and islands instead of coastal plains and a continental platform. If I understand correctly how the program works, I guess this is due to the remapping being made a posteriori. But there's one feature in place that already does altitude changes and works pretty well: the continental shelves flag.
Couldn't there be a way to use whatever method is used with continental shelves to remap altitudes as a whole, using a predefined altitude profile as guide, but keeping the coasts realistic?
Earth's altitude profile is as shown in Wikipedia's article on Earth, Hydrosphere section. This, although inverted, has the same structure the FT action has, with additive values (although FT does allow you put in oscillations, which produce some pretty weird results - great fun, but, to me, not useful). But there are other ways to represent the same thing, like the area fraction graphics that can be found in the Columbia University website. This last page has a great comparison of the hipsometries of the Moon, Earth, Mars and Venus. If I'm not grossly mistaken, a typical FT planet would have a straight vertical line in one such histogram.
Comments
I'd like to see FT keeping track of the all of the settings we have defined when we close it. I, for instance, tend to forget to turn prescale editing on, and I have constantly to get rid of those pesky ( ) imperial measures the program keeps imposing on me. This seems to me a simple overlook, since other options, such as planet sizes, axis inclination and lots of other settings are already efficiently tracked. It does get annoying after a while to have to change the same things over and over again.
Probably the worst part in how Fractal Terrains currently works has to do with the climate model, especially in what regards precipitation. Unless I'm very much mistaken, it's currently a simple fractal function, transformed by temperature, where lower temperatures lower the amount of rain. This generates very unrealistic results, with a large impact on the final look of each planet.
To put it simply, precipitation on Earth does depend on temperature, yes, but depends more on the global system of "cells" there is in atmospheric circulation. The planet's eastward rotation and differentiated levels of solar incidence cause a confluence of air around the equator, coming from the tropics (and the east, creating norteast winds in the northern hemisphere and southeast winds in the southern hemisphere), where it raises, cools, and drops its load of water, generating a stripe of high precipitation where rainforest grows. Around the tropics, it's air coming from above that drops to the surface, mostly dry, creating the stripe of arid areas there are there. In higher latitudes, this air is blown eastward in western winds, and in the polar regions the prodominant winds are coming from the east and are mostly dry (because cold air is bad to "dissolve" moisture). Adding to this global system, the further an area is from the sea, the drier it tends to get, and there's also the mountain effect that goes as follows: humid, hot air is blown against the mountain, is forced to raise, cools and water pours, and the air that crosses the mountain range is consequently much drier.
This whole process is why the air that comes from the Atlantic loaded with water rains heavily over the Amazon basin and the eastern slopes of the Andes, while the Pacific coast of Peru, on the other side of the mountains, is much, much drier, and why, going south, it rains much more in southern Chile than in Argentinian Patagonia - there the predominant winds are western winds. Continental effects (and the Himalaya) explain why northern Europe is humid wereas Siberia, at the same latitude, is much drier. It also explains why you have large extensions of humid temperate forest in Cascadia, wereas across the Rockies all you get are the much drier prairies.
(To complicate matters further, oceanic currents also play a major role here. Think on how the Gulf Stream influences the climate in Europe, for inastance. But I think you might be able to generate a relatively good approximation with atmospheric factors alone)
What I mean with all this is that to generate credible climate in planets, precipitation in FT mustn't be based on a fractal. Or, rather, that it should be based on a number of characteristics of the topological fractal and an adecuate system of atmospheric circulation, with its global cells that transfer moisture from some areas into others, in patterns that are mostly horizontal to the map. Ideally, the number of cells should be user-defined, and the model should not only incorporate predominant wind directions but also take into account topography and distance from the sea (and how big the sea upstream to the wind is: if your air is blown all across a Pacific-sized ocean it will probably accumulate much more water than if it's simply blown across a Mediterranean-sized sea).
It is a major change and a major programming challenge, I know. The best way to do it would be, I guess, to keep the current model for basic worldbuilding, while adding a realistic climatic model as an action, like it's done with erosion and rivers. This would allow the user to regenerate the model after topological changes are made to the world, like, say, raising a new mountain range somewhere, or drying out an inner sea, etc, while keeping the basics lightweight. But, if done adecuately, would give FT a huge impulse in realism. I'd love-love-love to see it done: trying to "paint" a realistic climate for my planets is where I "waste" most of my time, and I'm almost always forced to trash whatever precipitation patterns FT present me.
One small change might perhaps help quite a bit, though: if we could randomly generate precipitation maps while keeping everything else constant, we might be able to select a good starting point, lowering significantly the hassle.
What do you think? Feasible?