Tumblelog by Soup.io
Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.

June 02 2017

May 31 2017

May 30 2017

4470 664c 500

procedural-generation:

Erosion

I was thinking about erosion, prompted by this blogpost from “Entropic Particles“ about taking a generated terrain and adding water erosion and rivers.

Erosion is frequently a good next step to improve a generated terrain: after the geologic forces, the water cycle is probably next most important force that shapes our landscapes. The catch is that calculating a river requires knowing the shape of the entire landscape: the Mississippi drainage basin encompasses a huge swath of the continent.

If your generator is section-by-section (such as Minecraft’s) and you try to generate rivers as you go along, it’s fairly easy to end up with rivers that go in loops if you’re not careful.

Still, rivers are important enough to human habitation that they’re often worth the expense. (Try a multi-level layer-based approach if you need open-world rivers on the fly.)

Erosion isn’t just about rivers, though: it adds a history to any kind of terrain. (And for smaller scale objects, weathering is equally important; automated weathering systems are useful tools for texturing assets.)

I haven’t tried the particular algorithm described in the blog post yet, but the results certainly look promising. Using a Delaunay graph of the terrain, you calculate the flow for each node. With the tree of the fluvial network giving the volume and direction for the water, the erosion can be calculated based on the slope of the terrain.

This is all much cheaper than fully simulating the erosion. And since performance is one reason why erosion isn’t used as often as it could be, that’s a big advantage.

Of course, I’m going to keep looking for other erosion algorithms too, because as I mentioned in the last post, it is often a good idea to have multiple ways to accomplish the same goal, so you can choose the best fit for the problem at hand.

http://www.entropicparticles.com/procedure-for-rivers-and-lakes/

4483 429d 500

procedural-generation:

Diaspora Star Cluster Generator

Diaspora is a roleplaying game designed by Brad Murray and others at VSCA publishing.

Like many roleplaying games, Diaspora uses some generative elements to create content. In this case, an expressive method of generating a cluster of star systems that fit with the hard-sci-fi setting. It’s a clever little system that quickly produces a lot of story seeds. It’s also a handy base for building other, similar generators by using different sets of stats.

This online generator by Jeffery Miller automates it and produces a nice diagram of the cluster, plus suggests Aspects for each planet. I like the mix of aspects. It takes a lot of work to get a large enough collection to give good juxtapositions. But it pays off: When I encounter a bronze-age system with a thriving planet but poor resources, with “Byzantine Intrigue” and “Shapeshifters walk among us” that immediately gives me several story ideas, especially when I notice that their system is at the crossroads of the cluster.  

I’m fond of Brad Murray’s designs: one of his other games is the play-by-email Callisto, which I’ve run several times. (And I’m starting a new game soon!)

http://www.aristobit.com/diaspora/randomcluster.html

4491 f695 500

procedural-generation:

Turbulent Planet Textures

One of the images above is from the amazing photos of Jupiter that have been captured by the Juno mission. The other is from a presentation by Stephen M. Cameron, about procedurally generating textures for gas giants that look appropriately swirly.

This effect is tough to replicate with some of the common texturing approaches. And it’s not just for Jovian planets: Earth’s clouds look wrong without it, and there’s a whole host of smaller-scale texturing (like water or flames) that looks better with it.

Perlin noise is a common basis for a lot of texturing, but despite looking a bit like puffy clouds it isn’t all that great for representing textures that are swirling or turbulent. Especially on a large scale, the swirls and flows form complex patterns that are beautiful and appear information-dense. Having a way to replicate that opens up another class of texturing options.

Stephen’s presentation (which he developed as part of his open-source game Space Nerds in Space) and this Junkship dev blog post about texturing planets looks like a good starting point for using a flow map created with curl noise via procedural fluid flow to create the swirling textures.

No doubt there are other methods out there, but I’m mentioning this one to point out a couple of things:

First, the common procedural generation tools (Perlin noise, in this case) aren’t always the best choice. There’s still lots and lots of new techniques that can be discovered.

Second, try combining processes and information (in the technical sense) from other sources: use flow fields and slime mold growth and plate tectonics and earthquake data and traffic noise into your generators.

Third, one reason why I think this looks better is that turbulent textures have an implied history, and that history is extra information. And the appearance of having denser information makes for better-looking, more convincing generation. It gives it another layer of meaning.

4498 9324 500

procedural-generation:

Diaspora Star Cluster Generator

Diaspora is a roleplaying game designed by Brad Murray and others at VSCA publishing.

Like many roleplaying games, Diaspora uses some generative elements to create content. In this case, an expressive method of generating a cluster of star systems that fit with the hard-sci-fi setting. It’s a clever little system that quickly produces a lot of story seeds. It’s also a handy base for building other, similar generators by using different sets of stats.

This online generator by Jeffery Miller automates it and produces a nice diagram of the cluster, plus suggests Aspects for each planet. I like the mix of aspects. It takes a lot of work to get a large enough collection to give good juxtapositions. But it pays off: When I encounter a bronze-age system with a thriving planet but poor resources, with “Byzantine Intrigue” and “Shapeshifters walk among us” that immediately gives me several story ideas, especially when I notice that their system is at the crossroads of the cluster.  

I’m fond of Brad Murray’s designs: one of his other games is the play-by-email Callisto, which I’ve run several times. (And I’m starting a new game soon!)

http://www.aristobit.com/diaspora/randomcluster.html

May 29 2017

Older posts are this way If this message doesn't go away, click anywhere on the page to continue loading posts.
Could not load more posts
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
Just a second, loading more posts...
You've reached the end.

Don't be the product, buy the product!

Schweinderl