World Machine Development News

Quick Update on Latest Release

Just figured I’d write a quick note about what’s happening with the latest dev channel release.

A current version with the river tool has dropped to the alpha testing team a week ago; changes and additions are still being added at this point before the Dev Channel release.

Beyond the river tool itself, I wanted to take a quick look at a few other things that will be showing up soon:

Scene View Device


Water surface display
Water surface display in the Scene View device

The Scene View device is an extension of the Overlay View, that accepts additional inputs over and above a simple terrain/bitmap combo. The first additional input is what is shown above: you can supply a water depth or watertable map which will be superimposed upon the terrain, allowing you to preview the water surface of your rivers instead of just the riverbed.

This is important because the water level slider presently available works fine for simulating an ocean height but lousy for rivers that have gradients! This ability to display arbitrary water levels is pretty critical and useful; and if it gets you excited about other devices that could export water levels, it should.. 🙂

Another key eventual purpose is to help with workflows using splat maps, where it’s hard to visualize the final result within WM itself. The Scene View will eventually accept your splat (guide) map and also the set of textures you intend to use in-engine and display them appropriately; this should give you less round-trips to the game engine when doing basic map design.

Better Curves

The rough control possible in the Curves device has been a complaint of everyone (including myself!) for a long time now. The Layout curve editor was better but still only let you have linear segments.

I finally took the time to improve the Curve Editor; crucially, the editor is shared between the Layout Generator and the Curves device now, and drastically improved:

Editing a profile curve
Editing a profile curve


This change makes the Curve Filter device about 10x more useful! Presets are shared universally, letting you use the same curve for a layout shape that you might apply to a heightfield.

And oh, did i mention that Curves are now a separate datatype that can be wired to devices? 🙂 Eventually, devices will be retrofitted to accept curves to specify their behavior in all the various ways you can imagine that would be useful…

Device Versioning

The Curve Filter is also the first device to show off the new way that we’ll handle device improvement.

In the past, when device functionality changed, an import path was attempted to be created, but sometimes it was impossible to capture the old behavior while still allowing the new.

The new method is to preserve old behavior in a deprecated version that will load by default in older worlds, which you can switch to a new version when you like.

Switching to the new Curves device…

Note that I can’t guarantee that a deprecated version won’t go away at some point; but you’ll at least have fair warning that you’re using an old version now.


Erosion Improvements

The erosion device has gained two new inputs: A rock hardness map input, and a sediment capture input. Combined, they work to provide more control and nuance than the simple mask input provides. Here’s how they work:

Rock hardness does what you expect, and modulates the resistance of the underlying substrate to erosion. Here’s an example image, where the hardness varies from very hard to very soft as you move left-to-right across the heightfield:

Variable hardness erosion
Variable hardness erosion


This is pretty simple, but useful! I originally didn’t include this input because I didn’t think it made a large enough difference — but especially with geologic time enabled, it can certainly be a very powerful thing to control.

Here’s another example. In this one, a simple gradient slope is being extremely  eroded. Guess what area contains a big dollop of resistant rock 😉

Extreme erosion with underlying resistant rock
Extreme erosion with underlying resistant rock


So, that’s some exciting new stuff. The big question is, when does it drop to everyone not on the alpha team?

I’m inclined to say “sooner than later”; the whole point after all of the Dev Channel is that things can be in an unpolished state with some rough edges and weird behavior still. But there’s still at least some minor things that should be done, like adding icons still for all the new devices…

A bit hard to tell what's what at the moment...
A bit hard to tell what’s what at the moment…

But once that’s done and a few other loose ends are wrapped up, it’s probably time to drop the very first version of the river tool to the Dev Channel — I’m sure there’s going to be a million questions and suggestions once that happens, and it’s better to make that sooner than later 🙂



By Stephen

Founder of World Machine

5 replies on “Quick Update on Latest Release”

Export of the river heightfield separately? That’s most awesome!
‘Driving’ device inputs with curves sounds awesome as well 🙂
This looks really exciting all in all!

Thanks for the heads up Stephen 🙂


I don`t know how the River device works but I would love to be able to have a rock hardness map input, exactly like the new Erosion device. I also support the export of the river bed heightfield separately

Comments are closed.