Cashgen - (kinda) Infinite Procedural World Generator

I’ve not tested on 4.11 or 4.12, but that error is related an old plug-in I used. I thought I had removed all the references the other day.

Check the .uproject and build.cs files for any instances of UnrealLibNoise and remove them.

there were 2 ‘UnrealLibNoise’ references in cashgenUE.Build.cs file and after removing them the project opened. thank you.

Cool! I’m on vacation at the moment but next week I’ll be working on getting the plug-in cleaned up and converted to 4.11/4.12.

Also going to move it to Koderz runtime mesh component and see how that performs

Just the errors I was getting. Thanks, now I have good hope I can try this plugin tomorrow.
Why did you move away from libnoise? I have been messing with the c++ version of libnoise in the last days, using the complex planet example to populate a mysql table with height data. Do you think the UnrealLibnoise plugin could mimic the functionality of complex planet to create the data on the fly, maybe even from blueprints (and be performant)?

Libnoise is GPL licensed so you flat out cannot use it in an Unreal Engine project.

Shame as UnrealLibNoise is a nice way of configuring modules in blueprint…but no use for anything you plan to release. I do plan on adding module/layers support to the Fastnoise wrapper. Going to give a quick talk on the terrain generator at our user group next week so I’ll be spending some time on it, adding the foliage placement, upgrade to 4.12, trying out koderz’ runtime mesh component etc.

I did create a 10-module libnoise blueprint and performance wasn’t a problem, the generation is done off the game thread so not a big.

Right, I’ve moved the old release into a 4.10 branch.

is now updated to 4.12, and I’ve replaced the ProceduralMeshComponents with Koderz’ RuntimeMeshComponent. Also updated with the 4.12 version of OceanPlugin (and included the ocean and sky components in the repo). All dependency issues should be sorted.

Edit - push is in progress, as it’s including the OceanPlugin stuff, should be up in 30 mins or so I guess.

New vid, just pushed a little fix for visibility problem I came across.

For fun I tried to move build to the BP construction event. Heads up it crashes the editor ha.

Is there an area where we could adjust the noise to make larger “continents”? Even though the set up is pretty sweet right now.

Heh, it’s totally setup for runtime generation at the moment, although I don’t imagine it would be a big job to make a version that you could build terrains in the editor with.

To make larger worlds I’ll really need to implement the blending methods in, so you create a ‘land’ noise generator, and use a simple low frequency perlin generator to mask it off against a below sea-level height. That is on the todo list :slight_smile:

There is a bit of a bug with LOD visibility at the moment btw, will fix it shortly.

You can of course, make larger islands by just messing with the parameters.

Here’s what this looks like :

I figured that was the case but I wanted to try it out! I see you made yourself a Landscape mat! I will have to take a look once I get home about adjusting the parameters. I like the Idea/look of larger islands and the idea of building it in the editor for some of us who are terrible with landscapes…

Yeah I’m working on a material, trying to just use the sample content textures. Not really done much material work before so I’m mainly just copy/pasting snippets…it’s already a giant spaghetti mess and I’ve only done the base color!

Demoing the plugin at our user group next week and I’m running out of time so think I’m just going to dump the foliage spawning back in (you’ll see a bunch of structs in the code from this), and get the material looking a little nicer.

Then numero uno task is getting world origin rebasing working…so it can stop being a (kinda) infinite procedural world generator, and just be an actual infinite world generator :slight_smile:

Landscape materials are the craziest things. Have you looked at the one from the Kite demo?

Hey @mid_gen

I have a few questions about this awesome resource.

  1. Is there anyway to sync the World Generation settings used by the WorldManager BP class to persist over a network? What I am asking is - Is there anyway this can work in a multiplayer setting?
  2. Is there any ETA on the foliage generation coming back into the plugin?
  3. Is there anyway to save the generated map(s) out to disk?

Thanks for your time,

HeadClot

  1. I’ve not looked into MP yet, I guess you could have multiple worldmanagers tracking different pawns and do some clever stuff when they are overlapping, but that’s a way down the line for now.

  2. I’m dropping this back in at the moment, but it’s kinda rough and is just enough for the demo I’m doing next week. I’m putting a BiomeWeightMap into the zone data, which has BiomeType/weight pairs that will be used for blending multiple noise configurations and foliage sets. I’ll hopefully get this released next week.

  3. I know @koderz has talked about adding an FBX export to the RuntimeMeshComponent, if/he does get round to it, then yes, but I don’t have the capacity to work on it myself right now.

I saw your video that had some of the Biome settings in it. I am so excited!

Just hacked it back in…biome map is in, but it’s just flat at the moment, need to have a look at how best to define it. Not up on github yet as it’s a bit quick and dirty to get it ready for a demo.

Oh man, that’s some good stuff.

Mutilplayer and combining with a pre-made landscape

First off, wow awesome work. This is way beyond anything that I could do. I’ll have to subscribe or follow, whichever.

I had a few questions about integration with other editor features.

  1. Will this work with the existing Landscape tools already in the editor once you have completed the project. I’m interested in making a game world where the player start area will be a pre-generated map that is the same no matter what server you play on. This will be a large extinct caldera, containing some large forests, a town village, abandoned castle, etc. Once you get outside the caldera however, I would like to have the world randomly generate from there. This will continue until the world size reaches a data size limit, and then the world will try to loop so that you get a simile of a planet where you can walk all the way around.
    So could you feasible have the pre-generated caldera and then stitch it into the random map?

  2. Are you planning on extending the biome generation function any farther than trees and plants, or is that as far as it will go? I could see this as a open world game generator package, where a designer could input a bunch of parameters, add some characters, NPCs, and quests, and have themselves a simple game in a massive world.

  3. Will the world support terrain editing at runtime, such that you can dig holes like in Minecraft? ( I know, I used the M word. It’s really the only game I know of where you can do that.)

  4. Is the water swim-able, or could it be implemented, such that the program generates a physics volume underneath the water as well as a post process volume to simulate water ?

  5. How big can this world conceivably be, and can it be saved, so that a player could explore a large map and then return to a previous area and have it the same as the last time he was there?

I know it’s a lot of work, I just wanted to know if you have any plans for implementing this kind of stuff or not.

Thanks and keep up the great work.