tag:blogger.com,1999:blog-1987228030684276063.post7231678160959396685..comments2022-04-18T08:04:16.897+02:00Comments on Generated Worlds: Rivers in "Alpha"Our dream is to travelhttp://www.blogger.com/profile/12026109474128629471noreply@blogger.comBlogger10125tag:blogger.com,1999:blog-1987228030684276063.post-73729019007723849702012-02-03T22:53:01.426+01:002012-02-03T22:53:01.426+01:00Oh, this is interesting. My benchmark for a "...Oh, this is interesting. My benchmark for a "complete" world is done with an 4096 * 4096 world. This currently takes around 5 seconds. Though including rivers, it excludes a few things like cities, language, lore, ruins, and other ...things. My goal is to provide a 4096 * 4096 world within 10 seconds. A map of 2048 * 2048 should take no more than 4 seconds. (Mathemathically it should take 2,5 seconds since (4096*4096) / (2048*2048) = 4, but there's considerable overhead).<br /><br />How does other software you've tried compare? 4 seconds for 2048*2048, 10 seconds for 4096*4096?<br /><br />I have no illusions that my algorithms are the best, but it's nevertheless interesting to see how others perform, and whether I should worry about performance (so much) or not.Our dream is to travelhttps://www.blogger.com/profile/12026109474128629471noreply@blogger.comtag:blogger.com,1999:blog-1987228030684276063.post-42228378643330885502012-02-03T22:15:40.873+01:002012-02-03T22:15:40.873+01:00Unless the new version is vastly different than th...Unless the new version is vastly different than the old, I think Teramis misspoke. CC itself is a drafting suite, and does not calculate rivers. Fractal Terrains is available as a companion product, though. FT uses fractals to produce land forms, and does have a function to calculate rivers from there. <br /><br />As you surmise, it takes a long time on a large map. FT maps can be large, but I think (at least with my PC) anything larger than 2048*2048 takes longer than I'm willing to wait.Pythorhttps://www.blogger.com/profile/17157795243688240635noreply@blogger.comtag:blogger.com,1999:blog-1987228030684276063.post-86912319864471470962012-02-02T21:17:44.001+01:002012-02-02T21:17:44.001+01:00Hi Teramis.
Thanks for the feedback!
As for your...Hi Teramis.<br /><br />Thanks for the feedback!<br /><br />As for your first paragraph; I see what you're saying and it does really sounds awesome. Unfortunately, I believe that implementing this would be too huge a scope creep at the moment. I'd offer the options of generating (the same) maps with and without rivers though, - so you could at least post process it in photoshop or gimp.<br /><br />To your second point, I can only say: Yep, I'm very aware of this challenge. It's not optimal, and since rivers are seperate entities, I *can* redo this later without ruining the rest of the map, doing the more realistic approach.<br /><br />Algorithms for these kind of problems are usually either highly specific, or very generic (A-Star, Best-First, - typical path-finding algorithms). But, I would love to be wrong, so if you or anyone else know of any good links that I've missed, I'd be very happy so dive in.<br /><br /><br />I'm not very familiar with CC, so I'm obviously curious, what's a large map in CC ( pixels * pixels ? ), and how long does it take to generate it?<br /><br />Thanks again!Our dream is to travelhttps://www.blogger.com/profile/12026109474128629471noreply@blogger.comtag:blogger.com,1999:blog-1987228030684276063.post-34529582504951749992012-02-02T20:55:49.555+01:002012-02-02T20:55:49.555+01:00Hi, Terje,
FWIW, I would want the ability to edi...Hi, Terje, <br /><br />FWIW, I would want the ability to edit the river path afterwards, or erase it entirely, so that I can draw one in manually if desired. Auto-generated rivers may not always be in the place I want them to be, depending on other terrain features or the requirements of my fictional setting. <br /><br />Also, regarding the logic of first drawing the river, then eroding surrounding lands to justify its path: I would be concerned that on a large scale this could create rivers in nonsensical places. For instance, if local terrain is eroded to create river path, but on a regional scale the elevation and mountain watershed angle does not give a reason for run-off to flow through that river path, then the river appears unlikely in its given location. <br /><br />You say you tried the reverse (terrain first, then trace river path) but the rendering times were too long. How is it that a product like Campaign Cartographer achieves this? As a user I'd like to have the ability to tweak terrain to some extent (must have high peaks **here**), and then let rivers autogenerate from that geography. I'm wondering if there are some algorithms that are open source that you can borrow from that would accomplish this in a more practical rendering time.Teramishttp://www.deborahteramischristian.comnoreply@blogger.comtag:blogger.com,1999:blog-1987228030684276063.post-48578862708546436452012-02-02T20:36:12.479+01:002012-02-02T20:36:12.479+01:00Since these screenshots were posted, I've tune...Since these screenshots were posted, I've tuned the algorithm in several ways (including a factor that specifies the possible bend angles, or meandering). But even with a really high factor, I've not allowed for oxbow lakes... I never considered it very important to achieve, but I could be wrong. 100% realistic maps are still not my goal though, - I'm going for good-looking and believable.Our dream is to travelhttps://www.blogger.com/profile/12026109474128629471noreply@blogger.comtag:blogger.com,1999:blog-1987228030684276063.post-67020810852715165822012-02-02T20:16:20.625+01:002012-02-02T20:16:20.625+01:00Very meandering rivers, that requires a pretty fla...Very meandering rivers, that requires a pretty flat landscape and leads to oxbow lakes.Stevehttps://www.blogger.com/profile/15654828840444533490noreply@blogger.comtag:blogger.com,1999:blog-1987228030684276063.post-84092702260046408512012-01-26T20:51:04.667+01:002012-01-26T20:51:04.667+01:00Ah, I see.
Due to performance challenges on large...Ah, I see.<br /><br />Due to performance challenges on large maps, I opted to go for a "good-enough" scenario.<br /><br />- The river has a given length.<br />- From the river mouth, I find an optimal angle for the river.<br />- I plot a straight line that is "river-length" long, from the river mouth, along the optimal angle.<br />- I check if any point along that line crosses ocean. If so, I deem the angle infeasible.<br />- I then shift the angle a few degrees, and repeat the process. If I have made a full revolution (360 degrees), I try it again, but this time with a shorter river length.<br />- The process goes on until either a) The river length is shorter than some threshold I've set, or b) we've found a good angle.<br />- Once the angle is set, I create a bezier spline to replace the straight line I used before. I make some tests (again, check that no points cross water, for instance), and the river is generated.<br />- Afterwards, I have to erode and reduce the height of the river's surrounding lands, so that it fits in the landscape. (As opposed to most approaches, where the landscape makes the basis for where a river should fit. I tried this approach first as well, but generation took too much time).Our dream is to travelhttps://www.blogger.com/profile/12026109474128629471noreply@blogger.comtag:blogger.com,1999:blog-1987228030684276063.post-47413238456425170412012-01-25T15:38:40.925+01:002012-01-25T15:38:40.925+01:00Actually, I was wondering about the head of the ri...Actually, I was wondering about the head of the river, not the mouth. How do you decide where to place the inland end of the river?Pythorhttps://www.blogger.com/profile/17157795243688240635noreply@blogger.comtag:blogger.com,1999:blog-1987228030684276063.post-74997201899016080862012-01-24T18:52:19.803+01:002012-01-24T18:52:19.803+01:00Hi. The scale is neither zoomed in our out (It'...Hi. The scale is neither zoomed in our out (It's a 1x part of a 4096*4096 image).<br /><br />I've experimented a bit with the curvation. At this point it's still somewhat random (otherwise the rivers would look totally unnatural), but it's basically just a tweakable option that can be increased or decreased. Perhaps I'll try some lower values again.<br /><br />As for the river mouth, I think the images show that the rivers run out into the ocean at places with typical bays or small fjords? Or did I misunderstand your question?Our dream is to travelhttps://www.blogger.com/profile/12026109474128629471noreply@blogger.comtag:blogger.com,1999:blog-1987228030684276063.post-78334130043146251012012-01-24T14:54:01.371+01:002012-01-24T14:54:01.371+01:00Hmm. It may be a function of the scale, but they ...Hmm. It may be a function of the scale, but they look too curved to me. I'm thinking this is a zoomed out view, so these rivers are Hudson River sized. At that scale, I'd expect them to be straighter. If the scale is different, the curves may be fine.<br /><br />Also, how are you placing the river's head? You mentioned placing the delta along an appropriate bay.Pythorhttps://www.blogger.com/profile/17157795243688240635noreply@blogger.com