TerreSculptor

TerreSculptor is now one of the main terrain tools available to the industry. Over it’s lifetime to-date, TerreSculptor has had more than 80,000 downloads, and like its predecessors, it remains free software for any use.

TerraForge3D

TerraForge3D is a Opensource procedural terrain generation toolkit as well as a procedural modellling toolkit. TerraForge3D is suitable for modern 3D Environment design. It can be used for both low poly games as well as for cinematic shots in films.

6 months later

I was thinking that you might be able to generate terrain with Material Maker. It's pretty flexible. At least to export the heightmap for a tesselated plane, and then you can do all the texture / material stuff in Material Maker. Would be fairly easy I think.

    cybereality At least to export the heightmap for a tesselated plane…

    The terrain generator is NOT a map of heights. What makes only a map of heights should be called "pseudo-generator" and used only as a supplement. A good terrain generator should be able to plot rivers, streams, determine where vegetation may be located and where only rocks. I do not know at the moment good programs for this.

    Just because my thread was tagged here: I am not doing a terrain generator.

    A terrain generator finds the visible surface. There are various ways of doing this, from simplex noise to modelling natural processes. Adding surface details, scatterings of things from rocks and stones to vegetation, buildings and fauna is content creation and artwork and depends on the individual use case and the type of scenery one wants to create. Some of this can be integrated in a generator, but usually game developers would have to create their own content that fits their game or simulation. For instance, objects in a space game would look rather silly with grass and trees on them. Just like a veritable desert on earth, think Rhub al Khali.

    I would also like to point out that I am doing a seamless and fast LOD mechanism for use in games that want large worlds. At the beginning, the LOD mechanism uses prior generated heightfields or heightmaps as input. I am not doing a terrain generator because there's a plethora out there already that one can find searching "terrain generator". Some of them support earth-like vegetation and scattering of stones and some flora, but many just do the visible surface with various methods. And I am not doing content creation as this is the task of game developers.

    While heightmaps are just 2.5D, other terrain generators may use 3-dimensional algorithms to produce a voxelized terrain. These are usually slower to display, require a huge amount of memory even for small worlds, and quite some programming effort to make them look "naturally". Rendering these isn't yet suitable for large open world, naturally looking, and fast rendering real time applications. I am not talking about mindcraft.

    But that's another thing.

      Well you can write shader code in Material Maker. The height map would be easy to do with noise. And setting up water on a lower depth and dirt, grass, snow, etc. at different depths would be relatively easy, and similar to what you could do in older apps. Making rivers and laying rocks would have to do custom, but I think possible, as I said you can code custom nodes and GLSL in Material Maker. I don't think it would take more than a week or two to write the algorithm.

      Pixophir No idea why my thread was tagged here.

      I just gave a link to my post, which described in more detail what I expect from such progamma.

      Pixophir I am not doing a terrain generator because there's a plethora out there already that one can find searching "terrain generator".

      It would be very nice to provide a link to a real example of a generator that creates this kind of locality:

        It is called "erosion" and you're part of the link ;-)

        Ignoring the litho-, hydro-, atmo- and biosphere that built the stuff in the first place and delivered the processes for such formations to occur, including the algae mats.

        Seriously, would be cool to know if that's a real photography or something rendered (real time I mean, not overnight). My bet is photography because of the water. These types of things aren't suitable for real time rendering, if you haven't millions to invest and a bunch of programmers to assign, like the Unreal Engine. And even then it is huge project. Sometimes expectations and reality just won't fit together.

          I've only seen that kind of quality with 3D scans. Quixel has some stuff close, but the license only allows use with Unreal Engine. It's probably best that way anyhow, because Unreal 5 is the only engine that can handle that kind of geometry with real time performance. I guess you could fake it with good normal and depth maps, but it still probably a lot to generate procedurally and render in Godot.

            Also, world machine is still worth checking out, indie license is $119, free basic/community edition:
            https://www.world-machine.com/


            cybereality I was thinking that you might be able to generate terrain with Material Maker.

            Would need compute shaders for computing things such as errosion.


            Pixophir While heightmaps are just 2.5D

            2D, really.


            Tomcat It would be very nice to provide a link to a real example of a generator that creates this kind of locality:

            You'd have to use a voxel generator for such overhangs.


            cybereality Quixel has some stuff close, but the license only allows use with Unreal Engine.

            You mean for free, if you pay you can use them wherever.

              Pixophir It is called "erosion" and you're part of the link

              eriously, would be cool to know if that's a real photography or something rendered…

              It's called the "Natural Arch" and there are no links to generate it. Well, at least I couldn't find any. Maybe you'll be luckier. And, yep, also the difficulty of generating caves is a similar problem.

              More examples.

              Megalomaniak Would need compute shaders for computing things such as errosion.

              Unfortunately, the terrain changes over time. Over several years the changes are certainly not big and do not need to implement them in games, but in my case it is necessary.

              cybereality I guess you could fake it with good normal and depth maps, but it still probably a lot to generate procedurally and render in Godot.

              I'll probably leave it for later. In my concept to do the possible, using ready-made solutions to the maximum. Improvements can be made later, in future versions.

              Quite ideally, I try to use only free software - you could say that this is something of an experiment. But there is a deeper meaning in this — I want to offer users the ability to create content, including terrain. And I have a very vague idea of how the issue of licenses will be resolved in the case of using paid add-ons when creating a constructor for the game.

                Oh I see, yeah. You can pay $19/month for Quixel. The website makes it really confusing because I looked into it before. Might pay for a bit and do some renders, but I'd prefer to learn how to create the art myself.

                @Tomcat This is basically the state of the art right here. These are scans and expertly placed art. It would be very hard, or impossible, to get better results than this right now. And the mesh density is so large, I think only Unreal 5 can render it without crashing your system. Though I guess, in theory, it could be made procedurally. No one has figured that out, AFAIK.

                  Tomcat Unfortunately, the terrain changes over time. Over several years the changes are certainly not big and do not need to implement them in games, but in my case it is necessary.

                  You haven't yet stated what you're exactly after, but to give you guys an overview of what real erosion models may need in addition to the generated terrain surface:

                  • A representation of the ground and its strata with their hardness and coherence.
                  • A solvent with certain chemical/physical properties.
                  • Determine forces to to dissolve a grain from ground and energy to keep it suspension.
                  • Determine place and conditions of deposition, watch angle of repose.
                  • A representation of erosion mechanisms to determine surface runoff, diffusion, and possibly other things like expansion/contraction when wet/dry.
                  • The amount of solvent per unit of time and surface area and their erosional effects.
                  • A representation of the transport mechanisms, a river classification, the erosional effects they have on their riverbeds, deposition depending on transport energy.

                  And put that all in a shaker and model a numerically stable time dependent integration with a bunch of differential functions, shake (don't stir) and voila ... an erosion model. And that was rather a minimum, aeolian things not yet included. And it is not part of every terrain generator.

                  Maybe stick with stable terrain, for the time being ?

                    cybereality And the mesh density is so large, I think only Unreal 5 can render it without crashing your system. Though I guess, in theory, it could be made procedurally.

                    Pixophir And that was rather a minimum.

                    Simplify the grid and calculations (terrain quality) is quite acceptable. Full photorealism and a perfect model are not required (yet). The emphasis of the project is on social interactions (and politics). But a beautiful environment would be desirable…

                    Maybe stick with stable terrain, for the time being ?

                    For now, yeah, of course. But the possibility of minimal terramorphing (irrigation) is necessary. Something like this:

                    Pixophir And put that all in a shaker and model a numerically stable time dependent integration with a bunch of differential functions, shake (don't stir) and voila ...

                    I once looked into writing a physics engine that would work on the molecular level. Didn't write any code, but I got a ballpark estimate to the kind of computer that would be needed, and it was like as complex as the entire universe.

                    @cybereality Ok, you're kidding. But these models exist and run on a pc, also the real stuff for settlement and city planning or estimation of environmental impact of infrastructure projects may need some supercomputing here and there when official guidelines are still missing. But it is not magic. They work with well defined features, grain sizes being one of them.

                    @Tomcat Go ahead. I doubt that there has been the necessity yet to make this for Godot. Go and learn some about the theory, some C++. Then grab some open source programs to see how others addressed the problem, and then go.

                      Pixophir Go ahead. I doubt that there has been the necessity yet to make this for Godot. Go and learn some about the theory, some C++. Then grab some open source programs to see how others addressed the problem, and then go.

                      Tomcat In my concept to do the possible, using ready-made solutions to the maximum.

                      I have in front of me The Sims 3, a rather old open-world game. The minimum I set myself is to improve it a bit by adding some social interactions and allowing players to expand the game. And then improving it can be done to… infinity.

                      Pixophir But these models exist and run on a pc

                      I mean in real time. Like a realistic game, where you could pick up a glass of water, and the entire water is simulated as hydrogen and oxygen molecules. And then you could drop the glass, and the glass would shatter, based on the physical properties, and each drop of water would be simulated. I can't recall the exact numbers, but to simulate that amount of particles would require more energy than would be possible (hotter than could be cooled). I mean, maybe some crazy quantum computer could do it, I'm talking about traditional processors.

                        @cybereality I don't know enough about fluid dynamics. Former girlfriend of mine worked in the field doing math for a company that makes ventilation systems.

                        Is this really done on a particle basis ? Maybe reasonable sized quantities of particles ?

                        I recall something about Boltzman equations and probability distributions, thermal gradients, viscosity, thermal conductivity, more qualitative and very math. But that was in the late 80s. Probably something has changed meanwhile.