Jump to content

A19e Nitrogen - UNSTABLE


Damocles

Recommended Posts

Ok, after i posted the prefablist i created for Darkness Falls and posted it i got asked about that.

I send him(i believe) my script(python2.7) to allow making a genuine list based on the prefabs in the "7 days to die/data/prefabs" folder.

He told me i should post it in the forum as maybe some others could have interest in using it, so here we go:

 

Need to mention, that i packed a zip which when extracted will need to be in the "7 Days to die/data" folder as "NITROGEN_prefablistgenerator".

In that folder you find a "parser.py" which is the python script and a parser.exe, for those that do not have python2.7 installed.

The exe comes with a few files needed to run in case you do not have python installed, so ignore all aside the parser.py/exe.

Once the parser is done, should not take too long, you find a "prefabslist.txt" in the folder.

This list will contain ALL prefabs in your data/prefabs folder, means you will need to go through it and comment out what is not needed/wanted or should be avoided. In that matter i can only advise to check with the "prefabslist.txt" that comes with the NITROGEN package from Damocles.

 

Also, be aware that my script only reads out what is in the prefabs tts and xml files. You will need to do some manual editing, as that can't all be done by a non sentient script XD

 

Hope it will be of use for some/one... ;)

 

https://drive.google.com/open?id=1Lg4kwi0R8VJl34lB74_sVM_Mah9LrXUz

 

sounds complicated, any easier way to do it?

Link to comment
Share on other sites

Damocles, any chance to add totally flat maps to the menu option? I mean "Prairies Flat". I like now and then (mostly now lol) to have a map with no mountains or hills. Just miles of perfectly flat area that I can build and farm on. I already have edited it so I have a flat map now but would like it if I could generate new ones without having to copy over my files. I am a forgetful S.O.B. sometimes :)

If not no problem. I will still use NITROGEN with my own manual edit.

Thanks

Link to comment
Share on other sites

Damocles, any chance to add totally flat maps to the menu option? I mean "Prairies Flat". I like now and then (mostly now lol) to have a map with no mountains or hills. Just miles of perfectly flat area that I can build and farm on. I already have edited it so I have a flat map now but would like it if I could generate new ones without having to copy over my files. I am a forgetful S.O.B. sometimes :)

If not no problem. I will still use NITROGEN with my own manual edit.

Thanks

 

For version 0.3 I will add some more complex landscape types.

 

Currently you have the option of "mostly flatland", but wich still has some noise attached to it.

 

The easiest way to have a completely flat "construction map" currently would be to just create some square image (64x64 suffices here), and just fill it with a dark grey (rgb 36,36,36) or (rgb 60,60,60) if you want to build deeper under ground.

Export it as import_HM.png , and safe it to the resources folder (or the output folder if you import it from there).

And use the gen-mode "use import_HM.png".

 

(I guess you probably did that already, but also for others who read it here)

 

The map will then not have larger lakes, but enough smaller ones to have a water supply everywhere.

If its completely flat, it might be better to turn off the mountain huts, else the mapper has some troubles finding a suitable spot, and takes longer than necessary.

 

It might also be helpful to copy over a biomes.png map from another generated map of the same size,

so you have some variation in the biomes. (imported maps will only use forest, and add some snow onto the mountains).

Edited by Damocles (see edit history)
Link to comment
Share on other sites

sounds complicated, any easier way to do it?

 

Sorry, i believe with the parser you already save yourself a good few seconds.

Considering that you would have to load every single prefab in the game editor and write down the measurements to then add them to the corresponding name and other information like zone, rotation and yoffset from the xml files.

Long story less complicated, if you want to generate a prefablist from exactly the prefabs used in your 7d2d installation with maybe mods or Overhauls (that add prefabs), then "parsing" the data/prefabs folder and manually editing/commenting out the lines you don't want NITROGEN to use, is the fastest and easiest way.

The extract, execute parser and comment out lines should not stop you from your endeavors.

 

Regarding complicated:

 

The zip file now only contains an parser.exe and a parser.py.

If you use the application, it will save you a lot time manually gathering data.

Should you have python installed (slightly doubt that though), you can use the script and it will do just the same.

Just make sure the zip is extracted in the "7 Days To Die\Data" folder and you are good to parse.

After that, go through the prefablist.txt file and comment out the prefabs you don't want NITROGEN to use.

 

 

Eventually Damocles may get more of the currently advised to comment out prefabs to work too.

Oh and to comment out, just use "//" at the start of the line, just in case.

 

Good luck

Link to comment
Share on other sites

surely already asked and answerede, but i didn't read all pages of the thread, the option "vicious crack" how it works?

there is a way to make biomes bigger?

 

You can turn the cracks on, wich will create deep ravines in the landscape. They are fun, but also might annoy some players. I left them out of the default for now.

 

The biomes are linked to the landscape features, you can increase desert and mountains (snow) in the landscape selector to have more of them.

Burned forest and wasteland are more sparse.

 

In v0.3 I will add some more landscape options and types.

Link to comment
Share on other sites

For version 0.3 I will add some more complex landscape types.

 

Currently you have the option of "mostly flatland", but wich still has some noise attached to it.

 

The easiest way to have a completely flat "construction map" currently would be to just create some square image (64x64 suffices here), and just fill it with a dark grey (rgb 36,36,36) or (rgb 60,60,60) if you want to build deeper under ground.

Export it as import_HM.png , and safe it to the resources folder (or the output folder if you import it from there).

And use the gen-mode "use import_HM.png".

 

(I guess you probably did that already, but also for others who read it here)

 

The map will then not have larger lakes, but enough smaller ones to have a water supply everywhere.

If its completely flat, it might be better to turn off the mountain huts, else the mapper has some troubles finding a suitable spot, and takes longer than necessary.

 

It might also be helpful to copy over a biomes.png map from another generated map of the same size,

so you have some variation in the biomes. (imported maps will only use forest, and add some snow onto the mountains).

 

 

Yeah I already did make a one color map. I did not know which color I used though as I just used the eye dropper to grab a color and made the entire map that color. Thanks for the rgb color suggestions. Do you know off hand which color will give the thickest ground. The color I used made the surface 37m above bedrock. Wouldn't mind it a bit deeper.

As for the biomes, do you mean I can use any biomes.png from any other map I have made to add variation? It doesn't matter if I don't use the one that was generated with the map I am going to use?

Thanks again for the info.

Link to comment
Share on other sites

Yeah I already did make a one color map. I did not know which color I used though as I just used the eye dropper to grab a color and made the entire map that color. Thanks for the rgb color suggestions. Do you know off hand which color will give the thickest ground. The color I used made the surface 37m above bedrock. Wouldn't mind it a bit deeper.

As for the biomes, do you mean I can use any biomes.png from any other map I have made to add variation? It doesn't matter if I don't use the one that was generated with the map I am going to use?

Thanks again for the info.

 

Use 64,64,64 rgb for the highest level that does not complicate spawning cities.

Not sure (would have to check the code), I think they might spawn anyhow, but thats the normal preferred max hight they get spawned at.

 

You can use any biomes.png of the SAME size as the maps dimensions.

When editing the biomes.png yourself you have to be carful about setting the colors ALL precisely to the games color-palette.

You could just generate some other map, any copy it over for some variation...

Link to comment
Share on other sites

Damocles, incredible work. Love this thing.

 

Two things:

1: Any way to make the # of connecting roads user-input, instead of always 3? I've been making some twisty-canyon type maps, and my canyons end up having 3-4 parallel roads running down them to get between cities.

 

2: Is there a minimum land-mass, or maximum water, that it scales up if you don't meet? I made a custom HM of Hawaii's Big Island, but it's acting funky. My surrounding ocean is set to 15-20 height, but when it renders it pushes the entire map up until that area is 85, and the island shore starts at 100ish instead of 37. I've tried adding a couple 255 pixels, thinking it might block it from raising the map, but no luck.

Link to comment
Share on other sites

Ok, since stample was mentioning it, I sat down 5 minutes and made a small update, version 0.254 (same download)

 

-can select road-grid density (none, few - 2 neighbors, default - 3 neighbors, many - 4 neighbors) ->few will generate a lot less parallel roads

-city roads are a bit wider

-preview map renders (approximate) waterlevel (makes is easier to see where water will spawn in imported maps)

Edited by Damocles (see edit history)
Link to comment
Share on other sites

so, I've tried to run this, and on an 8K map it goes through fine. a 16K map, however, freezes on terrain generation 2 of 3, no matter what settings I choose. Any tips?

 

You need to start it with more memory reserved, use the bat files and try 4 GB,

Increase that number if there are still memory problems.

 

You can also use a custom size, such as 12000, wich is quite a lot larger (area) than 8k, without being ridiculous large like 16k.

Link to comment
Share on other sites

It was using 6.5gb of ram, happily

 

As for 16k, my current map built with the 17.2 RWG is a 16k map, I was hoping to potentially replace it, with a map file that I had a bit more control over, but, this app doesn’t seem to want to cooperate :(

Link to comment
Share on other sites

Some tips to reduce working memory:

 

You can try to reduce the number cities and towns (road generation between them takes up quite some memory too)

And disable the preview map generation. (reduces keeping this image in working memory)

 

You can also try to generate it in two steps,

first gen-mode "Only generate HM" -> create the hightmap and biomes

then gen-mode "Only map POIs" -> imports the hightmap and places the POIs

 

 

ALSO: check if you are running NitroGen in a 64bit java, not a 32 bit version. As 64 bit is needed to reserve enough memory.

(to see the currently adressed java installation, go to console and type: java -version )

 

I know that others managed to generate 16k maps, so it possible.

 

EDIT: I have just generated a 16k map (all other settings on the default), starting out with 8 Gigabytes of heap-memory.

java -Xmx8G -jar nitrogen.jar

 

Took 33 minutes. (while watching a Game of Thrones review in parallel)

Edited by Damocles (see edit history)
Link to comment
Share on other sites

The machine certainly has enough horsepower, 2700X with 16gb @ 3600mhz with the app running on an M.2 NVMe...

 

Not getting any low memory or anything else, it literally just stops working.

 

Aside from all of that, I shouldn’t have to turn stuff off/down to get it to generate...I could care less how slow it runs it, so long as it actually finishes it. I’ll try turning off the preview image, though I’d honestly prefer not to lose it so I can tell if I like the map or not...

Link to comment
Share on other sites

The main memory usage is at the time when the roads are being generated. (You could turn them off, and manually edit in roads for example)

 

Also try to ramp up the assigned ram (bat file) as much as possible (until java complaints at start), I was using 8GB with my 16k map

 

At any rate: choosing a smaller map (and 16k is really only needed for large hosted servers) is not that much of a drawback compared to the vanilla RWG, as you can use a custom size (like 12k) and then increase the number and size of cities and towns.

 

You can easily surpass the number of POIs you would have in a vanilla 16k map if you want it. Plenty of content to explore for the server-players, just packed into a smaller area.

 

----

 

The problem with very large maps lies less with the generator, and more with the approach they chose with the world files.

Its all represented in single large files. This is bound to have a limit, as the pngs for example have to be exported in one piece (and be in memory for that)

It works fine for 8k maps, but 16k is already stretching the memory requirements of normal consumer PCs.

 

Really large maps would be easier and faster to generate, if the world files where split into regional chunks.

In this case even 64k maps would be possible to generate (in something around 4 hours, but still possible)

 

But the current system works, so I doubt they will change the world-file formats, just to accommodate NASA size maps.

Link to comment
Share on other sites

Very nice bit of work!

 

On NitroGen v0.253a and a Linux system running java -Xmx24G -jar nitrogen.jar I generated a custom map with all defaults, but 20000x20000. Memory only peaked up to 17Gb at the end.

 

... world mapping ... DONE ...

 

FINISHED GENERATING NEW WORLD

Total time taken: 67 min 16 sec

Link to comment
Share on other sites

Updated POI information for vanilla, Darkness Falls and Ravenhearst prefab lists

 

Hello everyone,

 

After trying out my own prefab lists for vanilla, Ravenhearst and Darkness Falls for some time, I found that many POIs had incorrect height values, and I wasn't too happy with the NitroGen zone settings either.

 

Therefore, I took the time to test every single POI in the lists thoroughly in regards of its height and NitroGen zone settings and adjusted those manually. (Also note that the Darkness Falls trader does not spawn in NitroGen maps, at least not for me, so I commented that one out as well.)

 

I have uploaded the new / corrected prefab lists in my original posts, for those interested:

 

https://7daystodie.com/forums/showthread.php?114207-Tool-NITROGEN-a-random-world-generator-for-7DtD&p=968956&viewfull=1#post968956

 

and

 

https://7daystodie.com/forums/showthread.php?114207-Tool-NITROGEN-a-random-world-generator-for-7DtD&p=972744&viewfull=1#post972744

Link to comment
Share on other sites

Ok, since stample was mentioning it, I sat down 5 minutes and made a small update, version 0.254 (same download)

 

-can select road-grid density (none, few - 2 neighbors, default - 3 neighbors, many - 4 neighbors) ->few will generate a lot less parallel roads

-city roads are a bit wider

-preview map renders (approximate) waterlevel (makes is easier to see where water will spawn in imported maps)

 

Awesome, works great! Thanks Damocles

Link to comment
Share on other sites

Hi Damocles,

 

cool program :)

 

Just a few hints for your doc / folder layout:

 

1. If you put your additional files that the game does not need (like the genHM.png etc) in a subfolder of the world they won't be transferred over the net in MP games. That would help users with not having to fiddle with the output of your tool :)

 

2. WorldGenSeed and WorldGenSize are options relevant for GameWorld=RWG only (as the notes in the serverconfig say). No reason to specify them. The only thing you need at all for a custom world is GameWorld.

 

3. The example shows overriding the UserDataFolder to find the world. While this is obviously a legitimate approach there's other options too:

- Put it under the game's regular UserDataFolder (e.g. %APPDATA%/7DaysToDie/GeneratedWorlds/MyNitroWorld on Windows)

- Put it in the save game's own folder (e.g. %APPDATA%/7DaysToDie/SaveGames/MyNitroWorld/MySavegame/World, assuming you use Windows and the default SaveGameFolder)

- Put it in a mod (recommended; e.g. <7daysroot>/Mods/MyWorldsMod/Worlds/MyNitroWorld)

- Put it in the game's own Worlds folder (not recommended, as this is the most likely place to lose your worlds on updates or similar; e.g. <7daysroot>/Data/Worlds/MyNitroWorld)

 

That's it for now, toying around with a world now :)

 

Regards,

Chris

Link to comment
Share on other sites

Hi Damocles,

 

cool program :)

 

Just a few hints for your doc / folder layout:

 

1. If you put your additional files that the game does not need (like the genHM.png etc) in a subfolder of the world they won't be transferred over the net in MP games. That would help users with not having to fiddle with the output of your tool :)

 

2. WorldGenSeed and WorldGenSize are options relevant for GameWorld=RWG only (as the notes in the serverconfig say). No reason to specify them. The only thing you need at all for a custom world is GameWorld.

 

3. The example shows overriding the UserDataFolder to find the world. While this is obviously a legitimate approach there's other options too:

- Put it under the game's regular UserDataFolder (e.g. %APPDATA%/7DaysToDie/GeneratedWorlds/MyNitroWorld on Windows)

- Put it in the save game's own folder (e.g. %APPDATA%/7DaysToDie/SaveGames/MyNitroWorld/MySavegame/World, assuming you use Windows and the default SaveGameFolder)

- Put it in a mod (recommended; e.g. <7daysroot>/Mods/MyWorldsMod/Worlds/MyNitroWorld)

- Put it in the game's own Worlds folder (not recommended, as this is the most likely place to lose your worlds on updates or similar; e.g. <7daysroot>/Data/Worlds/MyNitroWorld)

 

That's it for now, toying around with a world now :)

 

Regards,

Chris

 

Hi Chris, thanks for the suggestions.

 

For now I have added a button (next update) to quickly open the 7DtD GeneratedWorlds folder for the user.

Im still hesitant to automatically write outside of the NitroGen installation directory until Im sure not to have issue with the paths.

(Also not to break comparability with linux installations yet. At one point the generator should be operatable via command line.)

 

I can add an option to clear up the intermediary files, as they are only needed for error checks and manual world-editing.

Edited by Damocles (see edit history)
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...