Ceating realistic but still custom heightmaps

Hello JME3! I am currently working on a new game in which realistic terrain is a must, but it also needs to be custom made. For instance, I need to be able to decide to have a mountain at a specific location, and then have that mountain look realistic. IE. I would determine the general layout, but then the fractalish/realistic details would be filled in automatically. Are there any such tools or do I need to create one? I can’t use TerraMonkey because, as far as I know, it does not allow me to easily fractalize the entire terrain.

Thanks in advance to any answers!

At least worldmachine does support manually drawn montains. Don’t know about the free/open source alternatives…

I just looked at the prices. I can’t really afford that. Thanks for the suggestion though :).

Perhaps if someone could share some of the mathematics involved in creating a heightmap based on mountains I could make my own quicker. I already know the mathematics to create a heightmap without pre-determining where a mountain is. If I made my own, it would probably be BSD licensed.

You can do a lot with the free version, even it is limited to a output resolution of 513x513, you can use paint/gimp to make your large map out of the 512 tiles.

Once you want to publish you game, you might have the 99$ to buy the licence

I know @Empire_Phoenix used a open source tool, but i cant remember the name.

I need something I can use commercially.


Maybe worth to check out… don’t used it personally.

As for dooing it yourself, interesting project i have to say. Beside the simple boring math function you need, erosion would the the point where my math hits its limit. Material transport simulation/ wind, water affecting the terrain, different types of ground material behaves differently… :monkey: puh

But if you intend to make yourself a worldeditor, you can always try worldmachine for free, and see what features you need :wink:

That link appears to be closed source as well. I’ll look into it though.

I am also new to this community, so is there some math guru who could explain the math to me or is it off to the math stack exchange?

Well, in addition to there being about a half dozen major approaches to the problem… it’s also a bit like: “I’m trying to make a grandfather clock from scratch but don’t know much about clock movements… can someone tell me how I’d make my own multi-time-zone clock movements? I can’t really afford to buy any…”

Not only are there many major paths to the end result, the paths themselves have many major steps… each potentially with their own branches and relevant tradeoffs.

For example, maybe you don’t need true realism and seeding a diamond-squares style height map is good enough. But maybe the requirement that the entire fractal needs to be generated in one whole chunk negates the ability to use a diamond-squares approach.

I suspect you might have a lot of reading ahead of you.

Don’t know if any specialist about this topic is here.

Just throwing is some papers in the meantime:

You can find also some project on github for hydraulic and thermal erosion

and what the math guy above me says :wink:

This is something I plan on implementing into jmonkey once i’m finished with my current project. I’ve already done a proof of concept, but all I can say at this point is it’s a WIP because I’m tied down with something else right now. A lot of people are requesting terrain-based improvements and I’m more than happy to do them once I’m free again, namely:

  • provide a documented and cleanly written version of this code I wroe a while ago.
  • add the ability to modify and paint/splat multiple terrainquads in the SDK Terrain Editor
  • add the ability to automatically generate terrain in the SDK Terrain Editor and modify it.
  • add the ability to use, modify and paint/splat image-based heightmaps int the SDK Terrain Editor.

and probably a couple other things I’ve forgotten over time…

When you get around to it, could you perhaps add seeded midpoint displacement? There is already a heightmap for it, so I don’t think it should be too hard.

I’ve been working on this tool and I just wanted to post the kind of heightmaps generated by it so far. NOTE: I am just working on the interface to say “put a montain here” so these heightmaps aren’t processed to be realistic yet. They are purpusley made of several different “flat” layers of color.

Feedback is very appreciated!

I used L3DT can only recommend it, works fine for me at least.

Also it has a design map stage, where you can do stuff like I need a platou here, a mountinrange there and a vulcano as well.

This looks like an interesting bit of code that you may find helpful to roll your own.

have a great day