Outerra forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Download Outerra Tech Demo. Unofficial Outerra Discord server, MicroProse Discord server for OWS.

Pages: [1] 2

Author Topic: Simulating river and glacial valleys  (Read 30540 times)

Mark

  • Jr. Member
  • *
  • Posts: 10
  • newbie
Simulating river and glacial valleys
« on: March 10, 2012, 12:49:34 pm »

Hi

In reference to the issue of river and glacial valleys, I think there's a way to simulate this without having to simulate erosion processes. This takes advantage of the fact that river valleys are 'V' shaped, and glacial valleys 'U' shaped. I am assuming a fractal generation system that puts random points on a line and then randomly perturbing them up or down and iterating this process until the required level of detail is achieved. Essentially, to generate a 'U' shaped valley, on the first iteration of the fractal generator, instead of placing the perturbation points on the axis of the terrain line, place at least two each along two narrow vertical axes closely positioned on either side of the valley floor, the uphill point should be perturbed upward by a random amount, and the downhill point perturbed downwards, though not below the valley bottom level. This should then make the valley take on a 'U' shaped profile and the remaining iterations can operate as normal.

I have attached an image ('River and glacial valley generation.png') to illustrate my method. I shouldn't think this would be too heavy on performance.

While I am on the subject of fractal terrain generation, I have often thought that generated terrain can be rather bland and repetitive, and I would also like to offer a suggestion to remedy that, if you are not already looking into this. Assuming again that you are using a system of generating and perturbing points (I hope you are, or all of this is a waste of time  :P ), such a system would have a number of parameters to decide 1, the approximate number of points to be placed on the line, i.e. the density. 2, The approximate amount by which the points should be perturbed i.e. the height range. 3, the minimum allowable distance between adjacent points, which would control slope steepness and 4, the amount of smoothing applied to the resulting angles.  If these four parameters were to be adjustable according to the type of terrain it might give quite large variations in the character of the terrain. For example, setting the point density to a low value, the perturbation range to a high value and the minimum distance to a low value would give terrain with long slopes punctuated by steep cliffs, or setting point density low, range low, distance high and smoothing high would give low hummocky hills. Many variations would be possible. I've attached another image ('Terrain Variation.png') to illustrate this. I hope these ideas are useful to you in some way, if they are, I have many many more  ;D concerning issues such as climate generation, simulating the effects of plate tectonics and generating plausible mountain ranges and river valleys (for a clue on this particular subject, look at l-systems) and I would be more than happy to share them with you. I'm sorry if I'm simply telling you something that you already know, which is very likely I'll admit, but I hope it may be something useful.

Thanks for you time
« Last Edit: March 10, 2012, 03:44:04 pm by Mark »
Logged

Mark

  • Jr. Member
  • *
  • Posts: 10
  • newbie
Re: Simulating river and glacial valleys
« Reply #1 on: March 10, 2012, 12:52:38 pm »

Eeeek, just realised my link to wikipedia has pointed somewhere totally different, I'll try again http://en.wikipedia.org/wiki/L-system
Logged

Mark

  • Jr. Member
  • *
  • Posts: 10
  • newbie
Re: Simulating river and glacial valleys
« Reply #2 on: March 10, 2012, 01:11:45 pm »

Sorry bout this, one more addendum, then I'll stop. I am also working on a virtual world generation system which I think would complement Outerra very well. The system uses AI techniques to store and generate attributes and behaviors for world, or game entities, ranging from galaxies and solar systems to planets, ecosystems, social groups, towns, cities and even individuals. This sounds a bold claim but I'm certain it's achievable, it would, for example, be able to store, and generate the fractal parameters I described in my previous post. I hope to have a working prototype over the next few weeks, if Outerra was to ship with an API that would allow integration with other engines that would be very cool indeed. And if this idea is of interest to anyone else I am keen to find collaborators.
Logged

cameni

  • Brano Kemen
  • Outerra Administrator
  • Hero Member
  • *****
  • Posts: 6721
  • No sense of urgency.
    • outerra.com
Re: Simulating river and glacial valleys
« Reply #3 on: March 10, 2012, 02:53:35 pm »

You could just modify the first post :)

You may find your people among ME-DEM guys. They are creating ME world to look natural, and went through various tools and techniques. In the end they are using real Earth mountains because the existing erosion simulating processes still don't produce such good results and are quite costly as well.

But I'm interested to see the results that you'll be capable of producing with your algorithm. Not sure how it would work on 2D grid of existing data. We could use something like that to enhance the patterns below the imported detail level; I have a couple of ideas myself but getting them to work universally is the hard part.
Logged

Mark

  • Jr. Member
  • *
  • Posts: 10
  • newbie
Re: Simulating river and glacial valleys
« Reply #4 on: March 10, 2012, 04:30:30 pm »

Oh yes, so I could. Now I have.

Thanks for the link to ME-DEM, that looks very cool too, and I will definitely get in touch with them. You're right that the method I'm suggesting for generating 'U' shaped valleys would not work well on existing data, and it would really only be meaningful on large scale features like an entire valley, though the other ideas would work as well for small scale features. The reason why I liked your engine is that I was under the impression that it was ultimately intended to generate virtual worlds of many different kinds, good for space based games as well as fantasy rpg's. Certainly the ideas I was suggesting are really only applicable to completely generated worlds. I must confess that I haven't tried my suggestion in practice, having been fairly well engaged on my other project. I did write a simple fractal landscape generator based on repeated iterations of the point perturbing algorithm many years ago and the results were disappointing, in large part because the generated terrain was actually very uniform at every scale which is not true of real terrain and it's an obvious visual difference. It's only when I saw outerra that I started thinking along those lines again.
I can well imagine that trying to simulate erosion processes is an expensive process, which is why I had thought to try to simulate the effects rather than the process itself. Real erosion effects of course are the result of the interaction between the material being eroded and the agent of erosion and to make it look real both those factors would have to be taken into account. I suppose ultimately it depends whether you are aiming for a scientifically accurate simulation (and they use super computer for that, and it can still take months to process) or just want something that looks good enough to please the average gamer. I was tending to think towards the latter. I'm getting the impression that you are not thinking about generated worlds so much as modeling real worlds, Earth, Mars etc. in which case my suggestions are certainly not useful. I'll have a go at implementing my algorithm, though I'm not really that great at 3D programming and come back to you.
Logged

C. Shawn Smith

  • Hero Member
  • *****
  • Posts: 712
    • C. Shawn Smith's Art Gallery & Portfolio
Re: Simulating river and glacial valleys
« Reply #5 on: March 10, 2012, 04:52:06 pm »

I'm getting the impression that you are not thinking about generated worlds so much as modeling real worlds, Earth, Mars etc. in which case my suggestions are certainly not useful. I'll have a go at implementing my algorithm, though I'm not really that great at 3D programming and come back to you.

Actually, fictional worlds will be supported eventually too, which is why I am here (well, secondary to writing the novella based on the Anteworld game anyway :D).

I have another fictional piece set in a fantasy world, and would like the Outerra engine to render this world in a similar detail.  I've spoken with Cameni at great lengths about it, and have even processed height maps that were unfortunately too coarse to render.  Cameni and Angrypig have discussed having a toolset to allow users to create a completely fictional planet, but it's going to be a while before anything like that can ever be truly realized, while they get the tools in place for the current engine.
Logged
What we think, we become -- Buddha
There is no spoon -- Neo, The Matrix
The Cosmos is all that is, or ever was, or ever will be. -- Carl Sagan
Outerra is all that is, or ever was, or ever will be. -- Me :)
- Yes, I'm still around ... just been busy with other projects ;)

cameni

  • Brano Kemen
  • Outerra Administrator
  • Hero Member
  • *****
  • Posts: 6721
  • No sense of urgency.
    • outerra.com
Re: Simulating river and glacial valleys
« Reply #6 on: March 10, 2012, 05:27:27 pm »

Oh I am interested in generated worlds, but from all my experience I know that the results I want cannot be achieved by a simple (or even complex) subdivision algorithm alone. While I'm now focusing on the procedural detail refinement with fractal attributes and on the rendering, on the backburner I'm slowly cooking the ideas and algorithms for generating believable worlds. Once the former part is done and ready I plan to move on with the latter.

Btw I lean towards simulating the effects (and not the processes) like you do. Need to make it GPU-friendly as well.
Logged

Redrobes

  • Member
  • **
  • Posts: 73
    • http://www.viewingdale.com
Re: Simulating river and glacial valleys
« Reply #7 on: March 11, 2012, 07:22:44 pm »

Hi Mark, Im one of the MeDemmers and I write GeoTerSys which is the river and glacial erosion simulator for MeDem. Whilst we don't actually do much procedural erosion in MeDem at the mo the app is designed to do it. It takes too long for us to calculate it on the M.E. dem itself. However, have a scootch over to GeoTerSys.com and find the videos section: http://www.viewing.ltd.uk/cgi-bin/geotersys.pl?category=movies would be a suitable link and download the two movies there. What its showing is random starting terrain thats being terraformed into glacial U shaped valleys and then cut with small streams after the ice age has thawed out the snow. We know it would kinda work but it takes a lot of processing. One day I will port it to GPU. Its being ported to linux at the mo so there is scope to move it again and speed this up a lot from where it is at the mo. That anim would take about an hour to calculate and we have 1600 tiles in MeDem to get through not counting the other processing that we have to get through to make it work out. So whilst it might be able to calculate river positions and do glacial erosion, it doesnt for the MeDem terrain. The MeDem terrain will be out for Outerra very shortly now.

Oh also noted your using AI to place items in a world. I tried that too using economics to drive an iterative model to get better mapping. It was a wild thought that I still maintain could be done but I did abandon it after I found it got difficult. If your interested in that too then you can head over to the guild and read about that here:
http://www.cartographersguild.com/showthread.php?11689-An-attempt-at-mapping-using-economics
« Last Edit: March 11, 2012, 07:44:46 pm by Redrobes »
Logged

Mark

  • Jr. Member
  • *
  • Posts: 10
  • newbie
Re: Simulating river and glacial valleys
« Reply #8 on: May 19, 2012, 01:18:47 pm »

Hi Redrobes,

My apologies for the great length of time before my reply, I've been distracted by some of my other projects, I tend to try to do too many things at once :). I had a look at what GeoTerSys and was mightily impressed. I also read your thread about mapping using economics. It look as though what you're doing is generating both terrain and cultures from first principles (which is very cool btw), I can imagine it must be very hard to do though. What I am working on is a more static system which uses a Semantic Network http://en.wikipedia.org/wiki/Semantic_network to form an abstract description of entities in the world, or, for that matter, the world itself. I then use this data structure to generate objects which can be placed appropriately in the world on the fly. Hopefully the objects will at least then be reasonably plausible and consistent within the restraints of the semantic description. The system does not concern itself with rendering models or performing actions but procedural code can be embedded in the network in the appropriate places to allow the generated entity to perform such actions. So far I have managed to generate objects from a simple sample network, still plenty of issues to deal with though, especially with the embedded code. I don't know if this idea is on any interest to you given the difference to your approach, but if it is let me know as I would be very happy to have some outside input.
Logged

PaTrond

  • Jr. Member
  • *
  • Posts: 11
  • newbie
Re: Simulating river and glacial valleys
« Reply #9 on: May 28, 2012, 05:25:28 pm »

You could just modify the first post :)

You may find your people among ME-DEM guys. They are creating ME world to look natural, and went through various tools and techniques. In the end they are using real Earth mountains because the existing erosion simulating processes still don't produce such good results and are quite costly as well.

But I'm interested to see the results that you'll be capable of producing with your algorithm. Not sure how it would work on 2D grid of existing data. We could use something like that to enhance the patterns below the imported detail level; I have a couple of ideas myself but getting them to work universally is the hard part.

WorldMachine is a tool using algorithms to simulate glacial- and other erosions. It's often combined with DEMs and other height maps to create greatly detailed- and realistic landscapes. I think a lot of level/ landscape designers - including me - find it a bit boring to have to use the feature in a separate program, so it would be a great feature to have in Outerra. Still! I got to say I respect people making such tools, even though they're separate from Mudbox or game engines with landscaping features!
Logged

monks

  • Full Member
  • ***
  • Posts: 212
Re: Simulating river and glacial valleys
« Reply #10 on: September 20, 2012, 06:45:30 pm »

Hi Mark, some neat ideas there. I especially like the idea of trying to avoid erosion (at least at the initial "design" stage of world creation). Speaking purely from my viewpoint of creating worlds from a top down topographic approach. I think a system which allows the input of three things would be really useful.
1. Coastline/bounds
2. continental divides, or mountain ranges.
3. Rivers.

All equally important.

 That would require a decent artist interface of course.  And everything would be done on the gpu.
The design level could be done with a r-t vector interface. The smaller fill-in details would be fractally generated using typical height map representation. Again that detail could be generated in real time.
 If you're drawing a fantasy map, they're the three things all map makers head for: the most important geographic features.

 The useful thing about using vectors is that you *could* represent the world as a network of basins and divides. Which is in essence what the scientific community describes things. Some link on wiki woukld be useful here but I don't have it off hand. Such a top down approach could extend right down to lower orders of detail. So the world would divided into polygonal watersheds, each which was potentially sub-divisable, depending on the scale you needed, maybe a fast recursive algorirthm would work very well.
 The networks would be comprised of splines or wahatever that generated height data with fall-off much as World Machine Layout mode uses.
 I 've said this a number of times in the past, but I've learned that ridges and rivers are two sides of the same coin- a no brainer I guess if you study subjects like geography, geology etc- but that's how terrain generation should be viewed in my opinion. It's only then will we see better (if not not even correct) hydrology.
 You would also need to introduce into the network generator a certain degree of randomness- ofsetting in x,y,z with noise that is. It would probably be a good idea to describe the stream networks internally along something like the Strahler stream or whatnot- something that's already out there being used by the GIS community. If you did that you might even be able to take advantage of the data out there which categorises stream networks in different terrain morphologies, and impose that on the networks to create visual variety.

 If your aim is to create correct hydrology, then your most important features are in fact your river basins, not your mountains. The thing I've found is that terrain can always be added with relative ease to what's underneath, but as soon as you start to subtract it, your hydrology gets into trouble for obvious reasons. So to view terrain in this manner (counter to traditional way of viewing it) would allow you to build a network of points which represented local minima along which water flows. A terrain "skeleton" consisting of river valleys and river beds. The ridges could be seen as an inverse of this and could even be generated from that network as well since one implies the other.

 You woudl also need to be able to represent basins that didn't connect to outflow- endorheic basins- but that could be easily acheived by selection of a collection of watersheds and defining them as closed.

 Another approach is to rather than abstract out the representation as networks, to synthesise terrain from image analysis of real terrain. See Howard Zhou.

shp file support would be essential to have I think, as would generation of terrain on a sphere. Geez...not asking much :D

 Erosion processes could be added as a last step. The user would have the option of filling any basins (like Wilbur does) created which disrupted the flow that they wanted to achieve with the river networks.

 This sounds like a real headache and in fact sounds even over complicated. BUT, the best terrain (on a geagraphic scale) is created when you have the river networks all in place. The eye just looks at them and recognises them as convincing. Get the river network complexity, and everything else will fall into place.
 That's not that necessary though for most applications right now. It's only when you get into orbit in something like Outerra that you can see the difference between real terrain and procedural terrain. The difference is pretty big!
 
 monks
Logged

seppen

  • Full Member
  • ***
  • Posts: 130
  • newbie
Re: Simulating river and glacial valleys
« Reply #11 on: September 21, 2012, 12:25:28 pm »

Great post monks!
Since the importer already surpassed all my exspectations, and is far more solid at core then Crytek´s max exporters ever been, I think Geostuff should be prioitised  8)

I might test out some models from worldmachine/geocontrol I have, also have NZ Wellington 0.5m/1m area in Max, but worry about size when saved as daa ::)

Fun thing with Outerra is the solid base though, it might handle a 1(sat images large part) gb dae he he.
Logged

monks

  • Full Member
  • ***
  • Posts: 212
Re: Simulating river and glacial valleys
« Reply #12 on: September 21, 2012, 04:10:56 pm »

 0.5m..? Phew! That's must be some dataset Seppen. How does Max handle it btw? I'm hoping to learn some Max soon- hopefully, fingers crossed. ;) I've seen some amazing New Zealand datasets- used in Terragen.
 You tried mapressor then...? :-D
 GeoControl is a great piece of software but it's held back at the moment by a distinct lack of 64 bit support.
Max terrain size 4096 (it used to support 8096). Way too small for my uses. Been told that it's imminent
though- I'm thinking this year or maybe early next year. I think once it goes 64 bit I'll be using it much more
for a few features.

 Didn't see this thread until yesterday...:)

 Exactly! regards the Geostuff- I take it you mean GIS support by that. I've been arguing the case as it were-
well the folks over at ME-DEM have been looking for it for some years now. We did set up a forum called Terrain
Summit where lots of folks came together from terrain modelling/rendering. We did manage to agree and provide input for the development of a new terrain file format called hf2/hfz. Aaron Torpy of L3Dt wrote it and it's supported by World Machine, Wilbur, Leveller, Global Mapper and upcominmg support is promised by GeoControl.
 It provides tiling, projection info and compression options. Really cool format.
 The forum kinda dissipated. We also tried to get together some kind of consensus on support and
"standardisation" of overhang data- you know for displacements and cliffs, etc, but I think it was just too soon for that to happen mainstream. And practically there weren't really any renderers at the time (other than
high end commercial ones) to provide a compelling target. Of course rendering engines all have their own
solutions for it, but we wanted a widely available file format. We live in hope! :)
 I was just re-iterating some stuff on what was discussed on the Terrain summit. Ideas I've formed over the
last..well nearly 10 years or so now. Yikes..been that long! To be honest, ever since I first got into
converting my old role playing maps over to the computer I thought that we needed to upgrade the approach used by the "fantasy" map making / world building community to use industry standard cartographic tools. Well not so much that. as frustrated. I was just trying out all kinds of software and workflows but the two worlds of GIS and Art/Gaming never seemed to mesh. So workflows were impossible. For eg, I did try out some cave mapping software to convert my old hand drwan maps but you had to bend over backwards to get anything. Totally impractical for maps of any size. Again, that software is in the GIS community, and it does support the shp format- but how many softwares in the artist community do you know that do? Illustrator doesn't and I can't see it ever doing. Dunno. And I can see in Outerra the closest we've got to a simulation approach/aspirations, which places it well for the link up of the GIS and Gaming worlds. Of course it would be impossible though without the spherical projection and the focus on the GPU.
 There was a paper published which Brano sent me a link to called Riverworld or Riverland I think which uses that approach of prioritising the riverbeds and then building the terrain around it. The thing is,in my opinion, it's not just an unnecessary focus on simulation (where none is needed- the case with most applications), but the real bonus is that is the visual authenticity (for geographic scales of terrain) is emergent from that. Ie, you can't have great looking terrain (on that scale) without connected river networks, without require correct hydrology. Well, you can fake it actually but I think procedural texturing would be one thing which would show up the deficiences. Rendering water courses would be another- it'd be a nightmare to correct riverbeds on any scale ok ,render the river as a texture but physics in the gaming world is rapidly going beyond that. You can get the good hydrology without moving away from a heightmap representation and using brute force erosion, but it's very destructive to your terrain and unpredictable.
 But then, with the advancement of GPUs, it might become much more easy to use purely erosion to get the maps artists want rather than solutions as Mark has suggested. I know that RedRobes GTS would be WAY more usable on a GPU. Maybe with the GPU it would be possible to model with rain falling onto the model to provide real time feedback of water courses. Put your wellies on! :) Perhaps even throw in a solid state drive (as Robes now has!) for the i/o bottleneck.

monks
« Last Edit: September 21, 2012, 04:38:06 pm by monks »
Logged

seppen

  • Full Member
  • ***
  • Posts: 130
  • newbie
Re: Simulating river and glacial valleys
« Reply #13 on: September 21, 2012, 04:29:37 pm »

I´m into some beer dispute with my Friend (Wife is lost in other town with Sony job ha ha), He moved to my town for Oil company work.

But He´s a huge fan of Cameni´s approach (worked for IBM/Siemens).
But I feel some custom/mod work must be ok on the main database if tested clean/effective!

I would love to discover other people´s work on Outerra :)
If could use Lidar data on local areas, and workout the money issue, I know they are very expensive etc.

i can do it alone on my area in time since got the money for it (microheli with laser), but the commersial thing must be supported also!

Not everybody is as manic as me with the Outerra core, and future.
I think some money must be invited since many young/bright enthusiasts do need money!

So it´s gonna be easier witha mix of the brilliant prosedural attitude of Cameini, and freedom to do own Lidar data soon if an enthusiast he he.

I have been one since my Uncle show me to measure land at 14.
I´m also a huge fan of Cityscape(dead), Infrastructure Modeler etc.

Cityengine 2, and most of all Ghosttown by KilaD.
Logged

monks

  • Full Member
  • ***
  • Posts: 212
Re: Simulating river and glacial valleys
« Reply #14 on: September 21, 2012, 05:17:58 pm »

Beer dispute? What's that then? Will that require lots of sampling I hope?  :D

 Yes, I've always had a good feeling about Cameni and Co. Not just regards expertise but "progressive", approachable outlook too. By progressive I mean the use of GPU, the entire planetary renderer and the embracing of vector data. Outerra rocks!

Hehe...micro heli with laser...! That's pretty darn cool. Like the one James Bond had by any chance? :-D
What did your uncle release onto the world..! :) Sounds like a great guy to teach you like that. You should talk to Robes btw, he's into all of that high tech stuff: lidar and laser scanning. I think he has a laser scanner in his potting shed at the bottom of the garden. Built it himself.   :o

 Agreed, regards the monetary support. I see they finally saw the US military interest come to fruition. I think that will help things along a lot.

what was Cityscape?... Haha, just did a search of GhostTown and found one of my favourite ever songs (Specials). Don't think that's what you meant...Here we go, 3DS Max plugin. I'm guessing it's a script for city generating? I'll hopefully take a look at that at some point. Think I'm gonna need to upgrade to Win7 though. Still on trusty old XP64 here.

 I'm not so much an architecture person though, more a terrain head, but I think I could easily become interested in it.

 A project I'm involved in if you're interested. More a labour of love than anything.
http://www.me-dem.me.uk/

 Looking forward to seeing your ultra high def modelling in Outerra. I think that's going to be quite something!

monks

Logged
Pages: [1] 2