Category Archives: World Machine Development News

Development News concerning World Machine

State of the World (Machine) 2017

Hi folks,

It’s been quite a long time since the last post here!

The latest development build (3014) of World Machine is available today, and that will be a whole topic of its own. Briefly, the two most notable and immediately useful new features are a major reworking of the River device to fully support multiple rivers and hierarchical river systems, and a usability improvement that lets you view the “before and after” of any device in the 3D View.


The next blog post will be about using the new modification to the River device.

But this post is about something else. The last post on this blog was about 14 months ago — what happened to 2016?

Seemingly a little, actually a  lot, and many lessons learned the hard way.

The Bad, and What I Learned From It

Let’s face facts – I, more than anyone else, am painfully aware that I seem to have disappeared off the grid in 2016. This manifested in two main ways. First, there were no new releases in 2016. Second, I wasn’t active in the forums. To make matters worse, there was no public information as to why. Yeesh. I heard from a lot of folks via support tickets and emails during that time: some were concerned (are you ok?), some confused (does World Machine still exist?), some frustrated (dude, are you ignoring us?).

The short version: I’m OK (thankfully), World Machine absolutely still exists and is what I exclusively work on, and for that last part, I sincerely apologize, but am taking steps so that this sort of absence doesn’t happen again, starting with this blog post.

Everyone knows running a business is challenging, but what I didn’t expect is that it continually becomes challenging in new ways I wasn’t expecting. I started World Machine as a side project because I love mountains, computers, and the act of creation. Then I realized I had made something people could get a lot of use out of, and devoted myself entirely to running this business, quitting my corporate job. Since then, that’s been World Machine – me at my computer and lots of coffee, exploring how to make this software I love ever better. I created the forums with the vision of having a community of people all passionate about creating worlds, that could support and inspire each other, and enjoyed being a part of that same community myself. I looked forward to interacting with any customer that came along, happily answering questions, even if they were just teaching new users the features. It was fun and I could run the whole thing while still having plenty of time for big sprints of development.

But here’s what I never saw coming. All that was easily doable when there were a couple hundred users. But as World Machine continued to grow, the time devoted to handling the administrative and support side grew with it and sorely tested my ability to handle everything as a one-man shop. I’m amazed and grateful at the success World Machine has seen, but its success greatly reduced the time available for each part of the business – development, customer support, forum engagement, and generally keeping users updated (like the website and this blog). And those last two were the first things to drop.

I’ve finally realized this, and am looking to adapt to the new realities of World Machine’s growth. Here’s a breakdown of what I’ve learned and how things are changing.

Let’s go back to that first most obvious disappearance. After a long cadence of multiple releases per year, there were zero releases in 2016. This left anyone who had purchased a license upgrade expecting to receive, well, upgrades, likely quite upset, and understandably so. In an ideal world, I would aim for quarterly releases, but it’s not always that simple. For example, 2016 was a year with substantial time poured into speculative R&D projects, trying to do things that haven’t been done before. Some of that effort has yielded extremely promising early results; however, other efforts consumed month after month of work, ultimately never producing a viable product. To make matters worse, since much of that speculative R&D work was entangled with the changes to the River device, it impeded my ability to get any other features out that were production ready.

What I’ve learned and what’s changing

  • The first major business update is to make sure the upgrade policy is fair to everyone. Going forward, if World Machine does not release a new version within 12 months of purchasing your license upgrade, you’ll receive the next (Development) version once it is available, even if it’s beyond the 12-month upgrade timeline. Also, anyone who purchased a license upgrade between December 2015 and December 2016 has already automatically received all 2017 updates free of charge, not just Build 3014, just to say thanks for your patience and support last year. I can’t promise how often I can get new features in your hands, but I can promise that a 12-month license upgrade will actually provide at least one upgrade!
  • Next, I’ll be making additional efforts to keep the speculative R&D efforts on separate development branches so regular releases can still go forward despite stalled experimental progress. I’m also going to be better about splitting dev time more equally between near-term and long-term improvements. So if there’s a feature you’ve been wishing for, I’d love to hear what it is. I’ll be looking at the forum under the “New Feature Requests” topic to see where there might be things I can get into your hands more quickly.

Now let’s address the second part of my disappearance: no activity on the forums. This was very different than previous years, and made it seem like World Machine had been abandoned. While I was able to (mostly..) keep up with support tickets, emails, and other administrative requests, that plus development just flat out didn’t leave me time to nurture and provide support to the community that I longed to create and be a part of.

Despite my desire to help every customer with questions, it really is too much for one person. So for the first time, I’m looking to bring on some help with the creation of a part-time position: Community Liaison. If you’re already a pro at World Machine and are looking to help people out and bring in some extra income, shoot me an email at  My vision would be for this person to help run the forums and a few other points of customer contact, answer questions and brief me on how things are going there, as well as to help keep lines of communication up during long development pushes on my part. Hopefully, this will help keep the community informed and help me more efficiently wade through that data.

The Good, And What I’m Really Excited About

Not all of the R&D efforts were futile. I’ve developed some incredibly promising new functionality, but haven’t ironed out all the issues yet. This is what’s both so exhilarating but also demoralizing with new possibilities – there’s no clear path to follow to make it work the way you envision it.

But regardless of big and exciting new developments, I’m committed to working on the easier, smaller features as well. That way, even as I pursue what sometimes seems like rabbit hole after rabbit hole.. only to find zero rabbits, there are still upgrades to be shared.

To give you a little taste of what I’ve been so excited about that I spent months of 2016 pursuing it, here’s a basic World Machine world transformed by the application of some of the new devices:


Basic Terrain, Basic Coverage


After a few new features are applied 😉


So. although 2016 was a rough year for World Machine progress, 2017 will get to enjoy the fruits of that labor. And that’s a great thing.


Undo Support? Could it be?

Yes. Riverpreview 2 should be out tonight and includes a basic undo/redo stack. You’re welcome. 🙂

It also fixes a number of other issues that have been found so far. Let me know if you run into any problems, including actions that are not undoable, etc.

Further afield, there’s some very exciting new potential features coming up on the dev branch, too. My next post will detail a few of them…


A few more things on Erosion

I mentioned in the last post that there are several improvements to Erosion coming, including a hardness input.

But that’s not the only improvement..

Better Masking

The mask input on Erosion previously did a simple alpha-blend between the results and the input. This is.. adequate. One consequence is that the mask is not actually used to guide the erosion itself, ie the masked area doesn’t “sit” well against the rest of the eroded terrain.

Under the next version, the Mask input is an “active” mask. That is, it actually participates in the erosion process:

  • Fully masked areas will be completely unaffected, as with previous.
  • Areas outside the mask will now be eroded accounting for the masked area. This is probably what you figured it should do in the first place 🙂 The difference is hard to describe, but profound; for example, a masked area in a low basin that would previously have been filled quickly with sediment will instead stay unfilled, acting as a “sediment sink” for surrounding areas.
  • Areas that are completely masked will no longer generate any waterflow. This means that masked erosion will be much faster.  Fully masked-off areas take relatively negligible time to process.

The main thing that prompted this change was to make terrain with rivers work better with erosion. Now you can simply take the river channel mask, pipe it (inverted) into the erosion mask, and boom!

Overhead view of a mountain river
Overhead View of a mountain river, showing the improved integration behavior

The river now “sits” much nicer into an eroded terrain. As a nice bonus, the hero-river systems will effectively transport away sediment for the hillslope erosion, just like in real life…

We forced the river channel to stay at the masked height; as a result, the surrounding valley becomes carved with gullies
Sediment transport has caused gullies to form

In the last picture above, you can see the effect of the river transporting sediment; the surrounding valley becomes steeply carved with gullies as the river effectively participates in the erosion process! Not bad for a simple mask input 😉