• If you have a mod, tool or prefab, please use the Resources section. Click Mods at the top of the forums.

A19e Nitrogen - UNSTABLE

Status
Not open for further replies.
Nevermind on the 2nd item. It took me forever, but I finally realized I had some transparency. Once I flatted my image, it got all better.

 
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)

 
Last edited by a moderator:
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?

 
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.

 
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 :(

 
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)

 
Last edited by a moderator:
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...

 
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.

 
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
 
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

 
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

 
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 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.

 
Last edited by a moderator:
(upcoming version)

Added some rivers.

river1.jpg


river2.jpg


 
my server players are asking if its worth to update to 17.3, if so, will your RWG work with it, and if it does, how do i put it into my dedi server

 
Works fine with 17.3, I have not noticed an issue with it yet.

There where no file-format or POI changes as far as I have checked. You can ignore the 17.2 load warning, its just stating that it was designed for 17.2

On the first post, at the bottom, there is a short tutorial by zootal about setting up a dedicated server with the map.

 
New Version 0.255 (same download link) online

v 0.255:

- added rivers (first iteration)

- preview map shows (approximate) base water level

- higher chance of parking lots spawning (more cars to loot)

- (convenience) option to directly open 7DtD save/generated worlds folder

- added an executable wrapper, that controls the java runtime to load, and hints the user if java requires another installation

you can still open/run the jar directly, but the exe might help users who have issues running the program

 
Damocles,

Another request for you for an upcoming version. Bear with me, last time I did Java, 32-bit 5.x was the new hotness, so I'm making some assumptions about your code.

It appears there is no "weighting" for the chances any given POI will spawn in your given zones. The cities I get generated usually have several of the rare/valuable POIs like hospitals, shotgun factories, shamway factories, pharma towers, etc right next to each other. So I'm making an assumption that when generating POIs, you just dump all the POIs for a given zone into an array or tree map, and use a rand from 1 to arraysize to pick one each time.

So, what if you added a column to prefablist.txt that allows the user to add a weight, which translates directly to the number of times that prefab is added to the array, increasing (or decreasing) the chances it would be picked? Like an old D&D treasure table. Treat anything null, or less than 1 as 1, so it stays compatible with the existing file.

This could let you do some interesting things, like make cities with fewer of the good POIs, and lots of the burned out buildings. Or lots of Victorian/Tudor houses, and very few New/Under Construction houses. Or lots of the good POIs, and less of the burned up buildings, to represent an area that survived the bombings and just got overrun with zombies. Maybe you just want more of the under construction houses, or the old-style Shotgun Messiah, PopNPills or Working Stiffs.

You could do this to an extent now, by adjusting what buildings can appear in what zones, and tagging some as unique, but its pretty limited when you start talking about a map vs 1 city.

Edit: Haha, figures. Exactly the same minute I post this, you post something implying that you DO have control over how much a given POI spawns, e.g. parking lots.

 
Last edited by a moderator:
V 2.55b -> removed the biome from the rivers, looked stupid in the desert areas

@stample:

There are a few mechanics in place for POI distribution

-POIs can be assigned to be unique (for custom prefab lists)

-Settlements (cities, towns, farms, rednecks, oldtowns) try not to repeat POIs if possible, they will look for a different one, unless all have bee used already.

-Cities, towns, and rednecks have a list of POI zone-types to populate, to have those settlements have a certain POI type distribution (controlled by the zones-types).Cities thus have a center, a downtown area, housing and industry.

-I did not actually implement a weighting system for POIs. So they do have all the same weight. Its however possible to increase the chance of a POI spawning: i double their entry in the prefabs list ... very crude, but for now that suffices i guess. (Was used here to increase the chance a bit to spawn POIs with many cars)

A weighting system would be possible later, but I rather keep the complexity down, unless its necessary.

I would probably rather introduce new zone-types, wich allows to control a category-group of POIs, rather than adding a weight to each POI.

A wrong weight might cause the generator to spawn a silly amount of radio-towers or stuff like that.

So there is also a potential for error in such parameters.

 
Last edited by a moderator:
Status
Not open for further replies.
Back
Top