Jump to content

A19e Nitrogen - UNSTABLE


Damocles

Recommended Posts

Hi Damocles. I just heard about Nitrogen from the a18 forum and I'd like to give it a try. A question: I downloaded Java as instructed and then ran the Nitrogen start.bat but I get the message that Nitrogen can detect no 64-bit version of Java. But I'm pretty sure I downloaded the 64-bit version. When I tried to generate a world anyway, the resulting radiation.png is just black/empty. What am I doing wrong? Sorry for the noob question. Thanks for your help.

Link to comment
Share on other sites

Hi Damocles. I just heard about Nitrogen from the a18 forum and I'd like to give it a try. A question: I downloaded Java as instructed and then ran the Nitrogen start.bat but I get the message that Nitrogen can detect no 64-bit version of Java. But I'm pretty sure I downloaded the 64-bit version. When I tried to generate a world anyway, the resulting radiation.png is just black/empty. What am I doing wrong? Sorry for the noob question. Thanks for your help.

 

You might have several Java versions installed, wich windows launching the 32 bit version.

You could open the Java Control Panel (search in Windows, is called "configure java" on mine) to see which runtimes are installed.

Or open a console, and enter "java -version".

 

You should still be able to create a 4k map with 32bit java, to test everything. 64 bit is needed to reserve more memory for the generation process.

 

----

 

If you just want to see how a NitroGen map looks like, there is an example 4k map linked in the first post.

Just download and install it.

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

Hey Damocles thx for the tip about KDIFF it's really usefull ;)

Just wanted to ask if the nitrogen memory use can be reset after a map generation?

I don't really think it's that important but i like to test maps really fast while ingame and nitrogen keeps the memory heap of the latest generated map, so with my modests 16 Gb the game + a 5 to 7gb java memory heap makes it a lot to handle.

I know i can just close nitrogen every time but wanted to ask if it was easily doable by the program itself after it finished the map generation, allowing nerds like me to leave it open while playtesting on a non NASA computer :p .

 

Thank for your great work

 

Best Regards

Link to comment
Share on other sites

I just wanted to say thanks for this great tool.

I've been rolling out several new maps every day, to "play" with all the settings and see how they react to the many biome and rwgmixer edits I've done.

I've even taken to making and using my own height maps to integrate with the mixer.

The maps that NitroGen is making now are stunning compared to the flat, boring landscapes that the RWG made for us.

Right then, lets see if I can break my PC by rendering a 20K map... Mwa-ha-ha-ha-haaaa.

Link to comment
Share on other sites

I just wanted to say thanks for this great tool.

I've been rolling out several new maps every day, to "play" with all the settings and see how they react to the many biome and rwgmixer edits I've done.

I've even taken to making and using my own height maps to integrate with the mixer.

The maps that NitroGen is making now are stunning compared to the flat, boring landscapes that the RWG made for us.

Right then, lets see if I can break my PC by rendering a 20K map... Mwa-ha-ha-ha-haaaa.

 

 

That's Kinda of Silly … the Game does Not support a 20K map .. just my thoughts

Link to comment
Share on other sites

Hey Damocles thx for the tip about KDIFF it's really usefull ;)

Just wanted to ask if the nitrogen memory use can be reset after a map generation?

I don't really think it's that important but i like to test maps really fast while ingame and nitrogen keeps the memory heap of the latest generated map, so with my modests 16 Gb the game + a 5 to 7gb java memory heap makes it a lot to handle.

I know i can just close nitrogen every time but wanted to ask if it was easily doable by the program itself after it finished the map generation, allowing nerds like me to leave it open while playtesting on a non NASA computer :p .

 

Thank for your great work

 

Best Regards

 

The (massive) objects should all be garbage collected after the generation run finishes. The reserved heap space should be then empty until it runs again.

You can test around with some JVM parameters like –Xmx when starting it via the .bat :

 

https://stackoverflow.com/questions/4952568/is-there-a-way-to-lower-java-heap-when-not-in-use

 

Not sure what parameter makes the VM reduce its maximum heap after using it.

Link to comment
Share on other sites

I just wanted to say thanks for this great tool.

I've been rolling out several new maps every day, to "play" with all the settings and see how they react to the many biome and rwgmixer edits I've done.

I've even taken to making and using my own height maps to integrate with the mixer.

The maps that NitroGen is making now are stunning compared to the flat, boring landscapes that the RWG made for us.

Right then, lets see if I can break my PC by rendering a 20K map... Mwa-ha-ha-ha-haaaa.

 

Once A18 rolls out, the tool will still be useful, as I doubt the new RWG will have more configuration options (outside the XMLs) other than the seed and map size.

As far as I have seen, there are no fundmental changes to the format. So after a few adaptions the maps should run on A18 too.

Link to comment
Share on other sites

Question - NitroGen and Zoning Rules

 

Quick question, but first, for the sake of clarity.

NitroGen populates the world with poi's from a predefined list - check

Compopack and other prefabs can easily be appended to that list - check

That list 'remembers' various settings about the imported poi's - check

 

My question pertains to NitroGens' zoning standard.

Does the order of the zones influence the probability that the prefab will be picked, one zone diminishing the next...

... or is this just about allowing the prefab to said zones?

 

A strange question? Sure, but it makes a big difference when you are messing with the rwgmixer and biomes spawning probabilities.

Link to comment
Share on other sites

Quick question, but first, for the sake of clarity.

NitroGen populates the world with poi's from a predefined list - check

Compopack and other prefabs can easily be appended to that list - check

That list 'remembers' various settings about the imported poi's - check

 

My question pertains to NitroGens' zoning standard.

Does the order of the zones influence the probability that the prefab will be picked, one zone diminishing the next...

... or is this just about allowing the prefab to said zones?

 

A strange question? Sure, but it makes a big difference when you are messing with the rwgmixer and biomes spawning probabilities.

 

Every city and town have a fixed set of zone buildings they spawn.

So there will always be a certain amount of "citycenter" POIs (depending on chosen size plus some random number) to spawn,

then a certain amount for the next type like "downtown" to spawn.

 

If a POI is marked with both zones, and used for the first zone, it will be less likely to be used again in the next zone in the same city.

This is to assure that buildings dont reapeat. They will only repeat if all the other possible ones had been used already. (So we dont end up with 5 radiotowers next to each other...)

 

If you want a certain POI to be used more often, you could just copy paste the POIs line in. It will be considered a different building then, and be effectively used twice as often.

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

I can make a little description for most important the parameters. Some are very specific.

If you change them, be careful with the ranges (better is to make only slight adjustments).

Some are float, some are ints, some are int "arrays" separated by a comma.

 

I dont plan to open source this project...

Link to comment
Share on other sites

Its okay if you dont want to open source it :)

 

I made some comments on the config.txt while generating some worlds, you can take it as a starting point if you want ;)

 

//configuration file for version v0.355 alpha
//Height Map Options
//Minimun Height to Gen @int
TER_MIN_HIGHT = 4
//Value of this and lower Spawns Water @int
TER_WATER_SPAWN_AT = 33
//Base Height Generated @int
TER_BASE_HIGHT = 35
//Maximum Terrain Height @int
TER_MAX_HIGHT = 255
//Snow Spawns at @int
ALTITUDE_SNOW = 170
// ?? @int
ALTITUDE_SNOW_SCATTERED = 165
//Width of Map Border Radiation @int
MAP_BORDER = 50
//Road Amount ? Maps to roads Option @int (Change to Array at some Point ?)
ROAD_TO_FEW = 2
ROAD_TO_DEFAULT = 3
ROAD_TO_MANY = 4
ROAD_TO_REMOTE_POI_FEW = 4
ROAD_TO_REMOTE_POI_DEFAULT = 1
ROAD_TO_REMOTE_POI_MANY = 1
//Maps to city grid, function unknown @int
CITY_GRID_ALIGN_TIGHT = 56
CITY_GRID_ALIGN_MEDIUM = 60
CITY_GRID_ALIGN_WIDE = 64
CITY_GRID_ALIGN_RANDOMIZE = 3
// ?? @int
STREET_WIDE_ASPHALT = 10
STREET_EXTEND_ASPHALT = 32
STREET_DAMAGED_ASPHALT = 15
STREET_WIDE_GRAVEL = 6
STREET_EXTEND_GRAVEL = 12
STREET_DAMAGED_GRAVEL = 4
// ?? @float
LOT_SMOOTH_OUTER = 12.0
LOT_SMOOTH_INNER = 4.0
LOT_CITY_SMOOTH_OUTER = 30
LOT_CITY_SMOOTH_INNER = 10.0
// ?? @int
GEN_CRATER_BASE = 4
GEN_CRATER_MANY = 18
GEN_BURNED_FOREST_BASE = 3
GEN_BURNED_FOREST_MANY = 10
GEN_CRACKS = 16
// north/south biome width in percentage ? @float
BIOME_NORTH = 0.08
BIOME_SOUTH = 0.08
// ?? @float
RIVERS_FACTOR = 3.0
// Amount of Traders: none,few,default,many,lots @Array(int)
tTraders = 0,1,2,3,5,
// Amount of Player Spawnpoints @int
PLAYER_SPAWNPOINTS = 8
// City Area percentage ? Maps to city: none,very few,few,default,many,lots @Array(float)
tCities = 0.0,0.8,1.4,2.0,3.0,50.0,
// Amount of Towns ? Maps to town: none,very few,few,default,many,lots @Array(int)
tTowns = 0,1,2,4,7,10,
// Amount of old towns ?? Maps to old towns: none,very few,few,default,many,lots @Array(int)
tOldWest = 0,1,2,3,5,8,
// Amount of farms ?? Maps to farms: none,very few,few,default,many,lots @Array(int)
tFarms = 0,2,5,11,16,20,
// Amount of rednecks ?? Maps to rednecks: none,very few,few,default,many,lots @Array(int)
tRedNecks = 0,2,4,8,14,20,
// Amount of outback ?? Maps to outback: none,very few,few,default,many,lots @Array(int)
tOutback = 0,10,30,60,90,170,
// Amount of mountain huts ?? Maps to mountain huts: none,very few,few,default,many,lots @Array(int)
tMountainHuts = 0,5,10,25,40,80,
// Amount of small lakes ?? Maps to small lakes: none,very few,few,default,many,lots @Array(int)
tLakes = 0,20,40,100,200,300,
// Amount of big lakes ?? Maps to big lakes: none,very few,few,default,many,lots @Array(int)
tBigLakes = 0,4,8,16,20,28,
//Minimum Distance between city centers in block ? @int
cityMinimumDistance = 800
//minimum Distance of poi ? @int
POI_MIN_DISTANCE_TO_OTHER = 4
// ?? @int
MIN_DIST_OTHER_SETTLEMENT = 40
// ?? @int
MIN_DIST_SETTLEMENT_TO_CITY = 300
cityTerrainCheckRadius = 200
cityTerrainCheckMinElevation = 34
cityTerrainCheckMaxElevation = 65
townTerrainCheckRadius = 120
townTerrainCheckMinElevation = 34
townTerrainCheckMaxElevation = 75
farmTerrainCheckRadius = 40
farmTerrainCheckMinElevation = 34
farmTerrainCheckMaxElevation = 80
outbackTerrainCheckRadius = 20
outbackTerrainCheckMinElevation = 34
outbackTerrainCheckMaxElevation = 90
mountainTerrainCheckRadius = 20
mountainTerrainCheckMinElevation = 90
mountainTerrainCheckMaxElevation = 230
lakeTerrainCheckRadius = 30
lakeTerrainCheckMinElevation = 34
lakeTerrainCheckMaxElevation = 110
ROAD_SMOOTH_A_INNER = 4
ROAD_SMOOTH_A_OUTER = 10
ROAD_SMOOTH_A_SCAN = 3
ROAD_DRAW_A_WIDE = 2
ROAD_SMOOTH_B_INNER = 5
ROAD_SMOOTH_B_OUTER = 14
ROAD_SMOOTH_B_SCAN = 3
ROAD_DRAW_B_WIDE = 3
ROAD_SMOOTH_C_INNER = 5
ROAD_SMOOTH_C_OUTER = 18
ROAD_SMOOTH_C_SCAN = 4
ROAD_DRAW_C_WIDE = 4
ROAD_HIGHT_ROUGH = 65
ROAD_HIGHT_TRAIL = 90
ROAD_SIDE_SMOOTHING_STRENGHT = 0.3

Link to comment
Share on other sites

If a POI is marked with both zones, and used for the first zone, it will be less likely to be used again in the next zone in the same city.

 

Thanks for verifying this so quickly.

This is exactly what I thought. So it is a diminishing return effect... same as the loot list probabilities.

I will have to be a lot more concise when I'm rewriting the spawn rules for prefabs.

Knowing that the zoning order influences its probability will allow me a lot more control but also a lot more room for mistakes. Meh... I like a challenge and its a good way for me to re-familiarize myself with the games code, and the new xpath stuff, after a year away from the game.

Link to comment
Share on other sites

Haven't gotten around to the mass probability edits for prefabs yet, 'cause I can't stop playing with this tool.

Plus, I just downloaded the newest Compo/mcTaco prefabslist file so I'll fly with that for a few rolls.

Messing around with different height maps and such is awesome.

Just generated this and have yet to load the world and check results but it looks promising.

- name . SeedOnThis

- size . 6144

- customized height-map, masks and turbulence files

- modified NitroGen config file to lower spawn rate of craters plus a few other slight edits

Seed-On-This.png settings.png

Well... I'm gonna go try this one.

Wish me luck 'cause really, this one look brutal.

 

Wow... that's all... just Wow.

A17-4-2019-06-22-08-32-58.jpg A17-4-2019-06-22-09-07-09.jpg A17-4-2019-06-22-09-08-03.jpg A17-4-2019-06-22-09-15-01.jpg

... and that's just a short peek of what I flew around and saw. There are some issues with roads and some strings of grass bordering wasteland zones but that's an easy fix. The whole world needs a smooth command but I've forgotten how to do that in the 7dtd world editor (note to self: read thru the forums again, its there, I know it is... Guppy). It is a little 'tall' in spots but I like it and it will look great after a few smoothing passes.

Now that I've kindda figured this out I'm stoked to create custom spawning rules for prefabs and have a crater surrounded by wasted out buildings and rubble piles, while 2 football fields away a farm is resting quietly in the shade of a mountain... even the zombie apocalypse has it's moments.

If anyone want to mess around with it here it is --> GoogleDrive link

I have Compopack 38 and used the updated NitroGen prefablist.txt. I also have a heavily modified biomes and rwgmixer that influence grass, rocks, tree, etc... so my screens may look a little barren of those things but I like my world devoid of all life but the dead.

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

I have just added a new Tool that converts dtm.raw files to a hightmap png. "DTMtoPNG"

 

(same download link, its in the tools folder -> the other files did not change, so you can just copy the tool out of the zip if you have customized NitroGen)

 

So you can have a look how the terrain-file actually looks like (Navezgane, or other random gen worlds), and use this terrain to import it into NitroGen to generate the POIs and streets onto.

 

------------

 

If you feel adventurous: you could mix Navezgane with Nitrogen spawned POIs.

-convert the Navegane dtm.raw to a hightmap

-use this hightmap-image to generate a world in NitrogGen

-keep streets, traders and small lakes turned off

-generate the world

-then copy the POIs from prefabs.xml into Navezganes prefabs.xml (adding them)

 

-> its probably best to use a mask to set the locations of the new towns, and block the locations of existing buildings.

-> try to only unmask relatively flat regions, to prevent the POI being placed too high or too low

-> keep the cities and towns small

 

Voila, you have your modded Navezgane with more locations to look at.

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

I have just added a new Tool that converts dtm.raw files to a hightmap png. "DTMtoPNG"

 

(same download link, its in the tools folder -> the other files did not change, so you can just copy the tool out of the zip if you have customized NitroGen)

 

So you can have a look how the terrain-file actually looks like (Navezgane, or other random gen worlds), and use this terrain to import it into NitroGen to generate the POIs and streets onto.

 

------------

 

If you feel adventurous: you could mix Navezgane with Nitrogen spawned POIs.

-convert the Navegane dtm.raw to a hightmap

-use this hightmap-image to generate a world in NitrogGen

-keep streets, traders and small lakes turned off

-generate the world

-then copy the POIs from prefabs.xml into Navezganes prefabs.xml (adding them)

 

-> its probably best to use a mask to set the locations of the new towns, and block the locations of existing buildings.

-> try to only unmask relatively flat regions, to prevent the POI being placed too high or too low

-> keep the cities and towns small

 

Voila, you have your modded Navezgane with more locations to look at.

 

That would make a great video demo of your software. You should do exactly that. Kind of a how to AND a look what it can do, all in one.

 

Translation: "I have no idea what it does, so as to not look like an idiot I will say it would make a great how-to video which I can then just watch"

 

Or maybe I am just projecting my ignorance lol

Link to comment
Share on other sites

  • SylenThunder changed the title to A19e Nitrogen - a Random World Generator for 7DTD
  • SylenThunder changed the title to A19e Nitrogen - UNSTABLE
  • SylenThunder locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...