Musings on future terrain directions…

Just a brief aside before I get to my main focus here — the bugfixing is still on track and will be rolled out before next wednesday. Most all of what needs to be fixed has been fixed, now it just needs to be tested and packaged.

After the urgency of the bug hunt, the main question turns to future improvements to WM. There are endless features large and small that could be useful, and after the bugs have been released I plan on trying to get as much community feedback as possible on what people would like to see, what would make WM yet more useful for their (your) needs.

As far as the internals go, there are a number of changes that I want to make that will improve the core functioning of WM; they aren’t flashy, but they will help remove a number of somewhat irritating limitations that are here now because of early design decisions made back when WM’s scope was not nearly so expansive as it is now.

Perhaps the biggest one is eliminating the artificial vertical scale issues that WM has. Keeping all data internally between 0 and 1 made sense when everything was created in a sandbox-style creation, but it has no place now that WM has huge terrains spread across many virtual kilometers, and is especially problematic when the “0..1” system produces results different from a “natural height” system that simply tracks meters alone. The change isn’t sexy, but it will result in a more cohesive product and eventually allow for some interesting changes to the erosion algorithm and other things.

There are many things that COULD appear in future WM editions; many are nearly production-ready already but didn’t make the cut for WM 2, others would be ground-up development. But before bringing the question to the general populace of WM users, I’ll ask the blog readers — What do YOU want to see next in WM?

12 thoughts on “Musings on future terrain directions…”

  1. I would like to be able to generate and export a low polygon version of the height map. It is tedious to to export the mesh to a 3rd party program and do the triangle reduction. Also they often give errorous results.

    Thanks for making a neat program.

  2. Color output – 8bit png

    Coastal Erosion – remove the lower cap! Alternatively, have it expressed in units rather than what seems to be a %.

    Color generator – Add alpha%, when mixed together with combiners, it takes this value into account, as well as adding an alpha output to the combiner nodes.

    Tiled output – it’s somewhat annoying that even with a quadcore and 4gb of ram, I can barely make a 16×16 grid of 256pixel tiles before WM2 runs out of memory. I can only assume this is because it’s either not dumping memory after each tile, or it’s trying to keep the results in memory to blend them. I suggest the results are output, and read back in, 9 tiles at a time, to blend them (the tile and all tiles around it). Obviously this would take longer, but is far more in line with what I thought tiled output would be.

  3. Cache/Snapshot – this was mentioned on the forum as a tested feature that didn’t quite make it, so you’ve thought about it! Most of the time there are entire branches that I don’t want/need to recalculate, so a cache/snapshot node would definitely be a huge work flow improvement.

    Output settings node – There are the global settings for your output, but often I want to output a 512 texture mask map and a 1024 heightmap. Even if everything is calculated at the global scale and sampled down at the end (when it hits the node), that’s fine. It’s all about avoiding extra steps between WM output and being able to pull it into your chosen program!

  4. Real world units is absolutely essential- and like you say Stephen, it may not be sexy but it’s really going facilitate some very cool things.

    As ever lots of ideas. I’d like to see shp file support of import/ export of layouts.
    A river shape- I always have trouble with that one!
    More options for selecting subsets of shapes within a shape layouts.
    An L-System- like shape for generating terrain and rivers.
    A way of converting between raster and vector within WM specifically for river creation. The idea is to generate a wear of erosion map and convert it into a layout of rivers. I sometimes do this:
    * run erosion to find where the lay of the land is creating rivers.
    * use the map output to help define my manual rivers (so that they all connect up naturally)
    * impose the river layouts on the original uneroded terrain.
    * run the erosion again and then you have a really convincing river network with all of the tributaries, etc.
    I’d REALLY like to see Howard Zhous plugins realized for the WM2.0 64, but I guess that’s one for him- could you not update those yourself with Howard’s permission? The PPA device is the most immediately useful. There are some really cool things you can do with that.
    Support for simple models/ billboards within Explorer/ Layout mode.
    Some sort of manged approach to Climate now that the terrains and getting huge.

  5. Thanks for your request! I’m surprised there have not been any features suggested yet… I have a lot of things I would like to see implemented, but one thing I was always looking for and that should be easy to implement is some kind of distance-measurement tool, i.e. being able to click on a point on the terrain and have a line drawn between that point and the mouse, displaying the distance between the two points in m/km/miles whatever. I’ll post more feature suggestions later 🙂

  6. Long sedimentary flows, wide flows, aluvial fans, old glacial erosion, exfoliation domes, fault displacement, uplift displacements for more convincing mountain shapes, hard stony hills and complex river drainage networks.

  7. I would love to see more options for OBJ output.
    a) An .OBJ export option for the resolution of the mesh (ie. so you could export a lower poly .OBJ if wanted).
    b) An option for .OBJ export to set Y axis as up (ie. save the mesh as rotated 90 deg.)
    c) The option to set the output bounds to something besides 0 to 1. For example -0.5 to 0.5 to center the mesh on the axis, or something like -256 to 256 to center the mesh and also have the mesh be 512 units on a side instead of 1 unit.

    The ability to output things at different resolutions, so you could have two nodes that output masks for example, one using the project resolution (say 4096 res for example), and another output that’s set to something smaller (256 res for example). Just to reduce the need to use external programs for resizing/post processing when possible.

    Some of the odd UI sort of things mentioned here:
    http://forum.world-machine.com/index.php?topic=963.0

    Thanks Stephen, glad you’re still working away behind the scenes. And glad to see some sort of posts from you. I think it’s too bad that when people click on the link to the Forums from the main WM page they get a “Down for Maintenance” page. I hope that hasn’t discuraged too many users.
    -marc

  8. Great program! I’m really enjoying so far and the quality and depth of the program is amazing.

    I really like removing the 0 to 1 limitation. I’ve already run into that as I made my world bigger and needed to add depth and had to rejigger the whole thing to get it to work.

    I am also running into out of memory issues when rendering tiles. Its is really buggering up my work at the moment. I need huge maps but the whole app keeps crashing when it gets to all the little Tile Edge tasks at the end. I’ve got 4 GB RAM and a decent XP 32 bit system. Maybe this will be fixed in the 2.2 release.

  9. One of the things I’d really like to see is a vector displacement map output and the option to have not just vertical displacement, but also sideways so you can create overhang.

  10. Hi !

    As I have written on forum (along with few other people) I would love to see improved layout generator, possibly with good support for creating roads. Also It would be nice to be able to choose output resolution per each output device (even scaling down from maximum/global setting)…

    Good luck !

    1. I’d also like to see Vector Displacement Map Output as well as Vector Displacement Map Input. I could export base Vector Displacement Maps created elsewhere and then bring them into World Machine 2, alter them in WM2, and then export them back out again. And yes, a few videos would be nice.

Comments are closed.