World Machine 2.3 Released

Its time!

World Machine 2.3 Final is now released. 2.3 is now available on the upgrade site at http://update.world-machine.com.

There are some seriously awesome improvements and compelling new features, not to mention a whole slew of bugfixes.

On the flip side, perhaps sometime soon I will post a postmortem on 2.3 – on the whole it took far, far too long to get it put out the door. The extended development cycle was hard on me, and hard on the users waiting for bug fixes! I continually forgot that new users not part of the public beta were using a version (2.2) that was out of date and contained bugs that I fixed long ago.

One of my goals moving forward is to change to a far more frequent release cycle; bugfix releases should come as fixes happen, perhaps monthly; the plan for large feature releases deserves its own post and will get it.

In any case  I mentioned earlier, there will definitely be time for reflection soon. But for now, I hope you enjoy the changes: The very-soon-to-be-updated website has an extensive list of them. It really is not hyperbole at all to say that some of them will quite change how you create your World Machine worlds.

 

 

Improving Real World Data

I wanted to talk briefly about a very popular but often unmentioned use of World Machine: Taking low resolution real world DEM files and creating something with more detail suitable for use in art or simulation.

This is one of the areas that I think could definitely use a tutorial! For an example of the power of the transformation, here’s a quick look at a before and after of a low-resolution DEM of an area of Washington state in the USA:

Before and After

 

Click on the above to blow it up. Specifically, note how we’ve carefully added artificial detail that complements the quite coarse real-world data we have to work with. Hopefully I will get a chance to make a walkthrough soon.. but here’s the network for the world above:

transforming-real-world-data2

World Machine 2.3 Ready for Christmas?

Hi folks,

Just wanted to mention that code changes are essentially complete for 2.3. I was originally hoping to have it released by Christmas time, but it looks like it will slip that a little bit.

Mostly, because I am trying to include some additional resources such as new macros and example files. Many of these reflect common questions or scenarios addressed on the forums over the years, so I figure it makes sense to make these available to everyone included in the default distribution.

For example, here’s an image from a newly included example file demonstrating how to create a volcano:

volcano

The example above demonstrates how to place a single “hero” mountain onto the terrain, as well as punching a crater into the top of it and simulating lava flow with the snow device.

Merry Christmas to all!

June Update

So, what’s been percolating behind the scenes in the past while with World Machine?

Mostly things like bugfixing, business-side, and other custom work. I believe that 2.3 Beta-3 is starting to achieve very solid status; there are only a few more things I want to get into line before final release.

I’m writing here, however, about a new feature. Even though I’ve sworn to myself to feature-freeze 2.3, I find that the allure of working on a few small things from the feature-request backlog sometimes gets to be too much. Which explains the reason for this post…

Take a look at this screen capture straight out of World Machine:

There’s nothing obviously strange about this image, but it’s showing off a couple very cool new features that, despite being small, will revolutionize the way people texture with World Machine.

In particular, this image is using the new Colorizer tool to create custom textures. The existing Colorizer was only ever meant to simply allow you to use the built-in colortables in your texturing schemes. That can be useful, but is of only limited power.

The new colorizer allows you to quickly create custom RGB gradients. But far from simply using them as a height-color lookup table, in my experiments so far I’ve found them to be indispensible for practically every texturing purpose. Any time you want to vary color based on a heightfield, the new colorizer is now your go-to tool. Whether that means a gradient based on height, slope, erosion status, or practically anything else — being able to quickly map your input to a custom set of colors is huge.

In particular, in the image above I created a rough grassy pattern using a couple noise devices, then drove a colorizer with it to get a nice mottled grasslands color set. I did the same thing for the dirty areas, then Choose between the two based on slope/erosion data.

One other last interesting trick:  You may notice there’s alot of “rough” feel to the surface; I plugged a small collection of nodes together to effectively combine the texture with a surface texture heightmap and bake the resulting light+bump map into the surface texture. This is a cheap, but fun, hack.

 

To Crash, or not to Crash..

Hi folks,

I just realized that its been a while since I last posted here, so I figured I had best make an  update!

There’s been lots of work being done but not much visible progress lately. Partially this is because I’ve been doing a fair bit of work not directly related to the main  World Machine codebase  lately. However, more important is the fact that I’ve been doing lots of work in the last few months or so in improving the error handling of World Machine.

WM never really has handled error conditions particularly well; your answer to asking to do something beyond its capabilities was almost always a crash. The crash reporting handler in the last beta was the first step in refining things. For this next beta, enormous amounts of work have been put in to make World Machine maintain stability, recover gracefully, and inform you properly when things don’t go according to plan. This is particularly true of memory handling; My goal for the next beta is that you will be unable to make WM crash no matter what you ask of it! (Whether this is achieved will remain to be seen..)

Happy Holidays

Hi folks,

It’s been a while so figured I should write a little update! I hope all of you are having a great holiday. Things have been extremely hectic here both personally and professionally over the winter to date so I’ve been pretty bad at keeping up with my correspondence — if you’ve emailed me and not received a response yet, my apologies.

There are some interesting changes coming down the pipe in the next 2.3 Beta due to some contracted changes requested by a customer that will be shared to everyone. More about that in the next post. But for now I just wanted to get a shout out that I am alive and wish you all the best this season!

 

 

Texturing w/ Roads

Hi guys,

Just wanted to post this image which I thought demonstrated a use of mask outputs that I haven’t seen much of yet.

I’ve created a basic terrain, eroded and then placed a road into the terrain via a spline path.

What’s interesting, is that I’ve then looked at the terrain before and after the road insertion to determine the areas that have been cut, and the areas filled, and then textured them appropriately:

Capturing cuts and fills

What struck me how simple this information was to extract from the WM network, but how bloody useful it is to anyone doing paths on terrains!

 

Graphics Bugs

Been working on fixing numerous display bugs lately — one of them turned out to actually be an ATI display driver issue that was fixed in an update, the other another strange driver quirk with a viable workaround.

Graphics compatibility vs performance has always been a challenge, as a content tool WM is sometimes run on substandard hardware and needs to remain compatible with that… while at the same time, when displaying high resolution output requires real-time performance as well.

I’m thinking WM 2.3 Beta-2 will be released sometime in the next week or so to bump out the changes to everyone!

On MSVC 2010 and Sales Text

I upgraded to MSVC 2010 yesterday. Primarily for compatibility reasons — MSVC 2005 is not as common anymore and it is getting harder for people to write plugins, etc with it.

The back of the box had this beautiful feature list:

This is interesting to me as one of the things I’ve been slowly working on over the last year is doing a better job on the marketing and sales side of World Machine. There’s a common “golden rule” for writing convincing text: Tell how your product enables the user, do not just list a feature.

This is a great idea actually, as unless you know exactly what kinds of features you’re looking for, a feature list is pointless. However, the above makes me realize something:

When selling to technical people, throw out your normal rules.

I’m going to pick out a couple particularily glaring examples from above:

 

  1. Accelerate the coding process using your existing skills.
  2. Now practically anything is possible, virtually anywhere.
  3. Be more creative to build richer experiences for Windows
  4. Spend more time imagining the possibilities with [powerful editing tools]

 

None of these tell me anything at all about the product! I have no idea off the top of my head if MSVC 2010 actually has dramatically improved the coding process with an innovative new IDE, better design tools, etc…. or if they’re simply having  a creative writing session on the back of the box. And I’m inclined to naturally think the latter.

To me, this is a good example of terribly misapplied marketing. They could have sold me with C++0X standards support.. or multimonitor support, or any of the other new things. Instead I got a list of fluff.

The Lesson

If I were to try and distill down the self inflicted marketing wounds above into guidelines for myself as I pursue better marketing techniques, it would look something like this:

  1. Explain how you’ve made your users’ life easier by enabling them to do [blank] but…
  2. Also show them how/why they can achieve this result

You must satisfy both of the above at the same time to convince a technical user. Failure to follow this advice will make your carefully tweaked and sweated over sales text be simply bypassed and ignored as a “content-free zone”.

With that food for thought, I know I can certainly improve the presentation of World Machine on the website when I next have some time to devote to wearing that hat!