Jump to content

Damocles

Members
  • Posts

    1,507
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by Damocles

  1. the water position will go from -1/2 the map-size to +1/2 the map size so on a 4096*4096 map, a position of 0,0 will be right in the center, and -2047,2047 on the bottom left corner (south-west) The z-hight is just the blockhight above zero (lowest bedrock) level. The generator will spawn waternodes in an even grid, with nodes 64 spawned tiles apart, to try an fill in all sub-waterlevel areas. The game will then "floodfill" starting from the nodes center until it reaches terrain above the z-hight or the maxx etc position (kept really big here for simplicity), and create the local water--voxels. This works most of the time, but could "miss" to place a node in narrow canyons and channels (when narrower than 64 meters). I could increase the density of the nodes, but that might cause performance issues during the games initial map creation at one point. You could delete all the water-spawners after the "<!-- spawners for large lakes -->" comment in the xml, and then handplace the water spawners (one for each large lake or river to fill up). The positions can be determined by the pixel position (for x and y you have to shift the pixelpoisiton by half the maps size) The bug with the empty-gap inside of bodies of water is probably some bug in the games floodfill algorithm, and seem to appear near shallow costlines. Othe bugs can happen when there are road-splatmap pixels inside water. It will then keep the road free of water (probably a fix for some issue in the RWG or limit with the terrain-shaders)
  2. You can increase the number of POIs of a specific type to spawn by doublicating the entry prefabslist.txt (that was expanded by the Darkness Falls POIs) such like doublicating an entry: barn_01,INDUSTRIAL,2,-1,21,11,22,farm barn_01,INDUSTRIAL,2,-1,21,11,22,farm will make barn_01 twice as likely to spawn. Its considered a "new" POI type then. With a big enough map / enough cities (having more POIs overall generated than POI templates) its very unlikely that a POI is not spawned. When spawning, the generator checks if a POI was spawned before, it chooses one that was not used before (provided its the needed zone-type) So all POIs have a good chance to be used. There is no flag to force spawning a POI though.
  3. Nice test with the vulcano world. I will have a look on what can be put into the config to adjust for waterlevels and road-bridges on custom maps. There probably needs to be a separate mode the generator is running, as the default automatic generation (for normal users) would get into conflict with certain settings. The stripe in the water is a bug in 7DtD, that can happen near shallow shorelines. There, the waternodes dont seem to fill in the gap when applying the water-voxels. You can try to change both (up of down) TER_WATER_SPAWN_AT = 33 TER_BASE_HIGHT = 35 in the config, to adjust the water hight. Using the mask with city spawner-pixels is the best way to have control over the road and POI positions. There is an example mask & hightmap included for reference.
  4. Yes that could be done in code. I currently dont work on Nitrogen (other projects ongoing) but will revisit when A18 is out in experimental. You could manually edit the prefabs.xml (before starting a new game) and make sure to have all traders represented settlement_trader_01 settlement_trader_02 settlement_trader_03 settlement_trader_04 settlement_trader_05 Just change the filename of a trader to one that is not included yet.
  5. I have put a link to your description in the starter post.
  6. Im currently working on other projects, but will do an update when A18 gets out, to make it compatible with the new version.
  7. Hi Alloc, there is one check during startup that tests a runtime property that is available in "standard" 64 Java (covering most JVMs) private void checkBitVersion() { String bitModelProperty=System.getProperty("sun.arch.data.model"); if(bitModelProperty==null || !bitModelProperty.equalsIgnoreCase("64")) { Log.log("\n\n#### WARNING #####\nCannot detect a 64 bit Java VM, you might run this programm in 32 a bit Java VM. please make sure you run a 64 bit installation of Java to avoid out of memory errors\n##############\n"); } } could be a window popup. The JavaVM is a bit weired in detecting its own properties. As far as i know, the primitive datatypes are always the same byte size in all JVMs.
  8. Not possible with the current format of the world files. Must be either a custom POI or done in the gamecode for procedural caves.
  9. I can note that down. Making the output folder an entry in the config. Its hardcoded currently.
  10. The colors are defined be the zones, yes. (some prefabs are assigned to multiple zone, but only one color of them is displayed) POI_MIN_DISTANCE_TO_OTHER is defining the distance of POIs within the same settlement to each others outer bound. So if you want to assure wide streets, increase this value. Else the POIs can be place with only small back-alleys between them.
  11. About the mask: There is an example mask in the resources folder, that uses all the current options. You can see the output by using gen-mode "import + mask". It will then either load the mask (mask.png) from the resources, or the world folder (needs to be manually created first) when choosing the option "import from". You must overwrite the example mask to use you own. The main purpose of the mask is to block areas to prevent POIs from spawning there. It can be used to finetune the placement on a MANUAL map. (a manually create hightmap, although you could just reuse a generated one, or convert a dtm.raw from Navezgane or RWG to a hightmap image with the DTMtoPNG tool) The mask will also deterr roads to cross it. But if there is no free path, it will be forced to cross the masked area. The mask is a square image of any size (it will be scaled up to the map size internally). The transparent area is free to place POIs, the opaque is blocked. It can be any color, as long as the alpha value is below 20, it will be free) So you can use 50% transparency on the blocked area, to the the manual map below it, when using layers in photoshop. within the mask you can set 3 special colors #1 solid Red: RGB 255,0,0 (full alpha 255) -> City Spawner #2 solid Green: RGB 0,255,0 (full alpha 255) -> Town Spawner #3 solid yellow: RGB 255,255,0 (full alpha 255) -> help color (just to make city/town pixels more visible) -> EACH pixel is considered one spawner. So only use a single pixel, and use the help color to make this pixel easier to see. Towns and cities will be first placed at the points where there are spawners. Increase / decrease / config-edit the number of cities to match the spawner count. It will only place as many cities as are selected in the dropdown. --------- About the roads: you can use "city grid" option to make buildings be placed more regular, and thus make the roads more evenly placed inside cities. The config CITY_GRID_ALIGN_RANDOMIZE can be set to 0 to remove random POIs to be misaligned, the option is there to make cities look more organic. In the end you can always tough up on the splat3.png. Make sure that it used only green and red pixels, the game is very picky about transparencies and unrecise colors. Maybe select the precise colors, and remove all other pixels.
  12. Hi, on a run now, will clarify on the mask tomorrow (you can edit the radiation-border by changing MAP_BORDER = 300 (meters) to a lower value)
  13. - - - Updated - - - Video by Guppycur Added to the starter post. Thanks!
  14. Its been long since I recorded a video for youtube .. i honestly dont even have a proper microphone. If any youtuber wants to jump in .. I have not seen any real coverage on the generator, so its a good point to present a novel way to mod the game. (I can link it to the start post then)
  15. 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.
  16. 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...
  17. 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.
  18. 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.
  19. 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.
  20. 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.
  21. No major change, just fixing the dimensions of 3 POIs. You could get a program like KDiff to compare the old and new lists
  22. The readme is kind of not updated very cleanly. The current version is always visible in the GUI on the top, or the config.txt in resources.
  23. New version online: v 0.355 -city grid: you can set the building in a city to align with city-blocks, and choose the block size (American style cities) without the grid, buildings are packed together randomly as tight as possible (more European style cities) a wider city grid will reduce the density of POIs, and make cities use more area. Use this if you have problems with the framerate. (you can set the block size in the config.txt under CITY_GRID_ALIGN_WIDE) (I might split that up into a stable and an experimental branch, so people dont feel "forced" to use the latest map versions, there where quite a lot of new versions coming out ...)
  24. I can put that back in. The buildings now can move together closer due to a changed placement logic. I can snap it back to a grid as an option.
  25. What do you mean excactly? A default map I have generated spawned cities and town all over the map. Just redo the generation, so you have a terrain that has more free flat area in the middle of the map.
×
×
  • Create New...