Jump to content

A16 (stable) rwgmixer re done top to bottom! (refined)


Tin

Recommended Posts

Hello! So far I'm very happy with RWG mixer from OP post! I edited it a bit to get more cities.

The question is - how do I get water back? I Found amount of water bodies in A16 about right.

 

Edit:

Well the towns are amazing but terrain is kinda meh - its very flat, boring, a lot of empty areas of...nothingness. So what I did: I copied <terrain_generator name="vanilla" use_old_final="false"> from original rwgmixer.xml <terrain_generators> section and got perfect results. Very uncommon, beatifull, landscapes combined with new awesome cities.

 

Author, please leave in vanilla option in next releases.

Link to comment
Share on other sites

Hello! So far I'm very happy with RWG mixer from OP post! I edited it a bit to get more cities.

The question is - how do I get water back? I Found amount of water bodies in A16 about right.

 

Edit:

Well the towns are amazing but terrain is kinda meh - its very flat, boring, a lot of empty areas of...nothingness. So what I did: I copied <terrain_generator name="vanilla" use_old_final="false"> from original rwgmixer.xml <terrain_generators> section and got perfect results. Very uncommon, beatifull, landscapes combined with new awesome cities.

 

Author, please leave in vanilla option in next releases.

 

This is an older mod and more of experiments to showcase different things that could be done and to help ppl kinda tailor things to how they want them. There's also 3 different terrain gens that can be used and the "how to" are in the files themselves in commented areas. I have a new mod located https://7daystodie.com/forums/showthread.php?79029-Tin-sMod-The-Dying-Lands

 

edit: and as far as the town n such being spread out that's just how I like it. I didn't like the fact you can get everything so close together. An easy fix is just lowering the cell_size="" in the rwgmixer.

Link to comment
Share on other sites

I downloaded the spawning files and rwgmixer with biomes and weather and now when I enter cities in the console I get "spawning sleeper zombie from zombiehordestageGS148" and it does that for about 2 mins before I can close the console and continue with what I was doing.

Link to comment
Share on other sites

I downloaded the spawning files and rwgmixer with biomes and weather and now when I enter cities in the console I get "spawning sleeper zombie from zombiehordestageGS148" and it does that for about 2 mins before I can close the console and continue with what I was doing.

 

If you notice the spawning file is from A16.1b1 things have changed since then. In order to get everything to work properly you would need to down load everything.

So basically: Do a file integrity check. Get all 16.4 files. Then download everything and replace it with all the download files for it to work in A16.4.

 

This mod is no longer being updated (srry).

 

go here -> https://7daystodie.com/forums/showthread.php?79029-Tin-sMod-The-Dying-Lands

 

Its more of a fuller mod but it has everything you want... only better done.

Link to comment
Share on other sites

  • 2 weeks later...

Hey Tin. I know you've moved on from this mod but this seems like a good place to ask about the terrain generator.

 

I don't know how you can determine what good bounds are for the Select module in particular. For example, here's a segment from one of the earlier versions of your code:

<module name="Control" type="FastNoise" no_seed="true">
<property name="frequency" value="1"/>
</module>

...

<module name="WaterBase" type="FastBillow" no_seed="true">
<property name="frequency" value="1.3"/>
<property name="displacement" value="-0.5"/>
</module>
<module name="WaterOutput" type="BiasOutput">
<property name="sourceModule" value="WaterBase"/>
<property name="bias" value="0.8"/>
</module>
<module name="Water" type="ScaleOutput">
<property name="sourceModule" value="WaterOutput"/>
<property name="scale" value="0.14"/>
</module>

[color="#FFA500"]<module name="landMntWater" type="Select" no_seed="true">
<property name="controlModule" value="Control"/>
<property name="sourceModule1" value="Water"/>
<property name="sourceModule2" value="land"/>
<property name="bounds" value="0,15000"/>
<property name="edgeFalloff" value="0.5"/>
</module>
[/color]
<module name="landMntWater2" type="Select" no_seed="true">
<property name="controlModule" value="Control"/>
<property name="sourceModule1" value="landMntWater"/>
<property name="sourceModule2" value="landMnt3"/>
<property name="bounds" value="0,15000"/> <!-- want more water make the value="" closer "0,1000" etc,. -->
<property name="edgeFalloff" value="0.5"/>
</module>

<module name="scaleBiasOutput" type="ScaleBiasOutput">
<property name="sourceModule" value="landMntWater2"/>
<property name="scale" value="255"/>
</module>

<output module="scaleBiasOutput"/>

 

In the highlighted module, you're choosing to use 'land' instead of 'water' whenever the output of the control function is between 0 and 15,000. But the control function is using fast noise with a frequency of 1. I would assume fast noise with a frequency of 1 would output values between 0 and 1, or perhaps -1 to 1. But it goes up to at least 15,000? And I can't output the control function directly and check that out in the previewer, because anything outside the 0-255 block range is out of bounds (I think). I also don't see FastNoise defined in the libnoise documentation I've found. So, other than trial and error (which is proving really cumbersome when combining modules I don't fully understand), how do you know what the range of outputs of a given module will be?

Link to comment
Share on other sites

Hey Tin. I know you've moved on from this mod but this seems like a good place to ask about the terrain generator.

 

I don't know how you can determine what good bounds are for the Select module in particular. For example, here's a segment from one of the earlier versions of your code:

<module name="Control" type="FastNoise" no_seed="true">
<property name="frequency" value="1"/>
</module>

...

<module name="WaterBase" type="FastBillow" no_seed="true">
<property name="frequency" value="1.3"/>
<property name="displacement" value="-0.5"/>
</module>
<module name="WaterOutput" type="BiasOutput">
<property name="sourceModule" value="WaterBase"/>
<property name="bias" value="0.8"/>
</module>
<module name="Water" type="ScaleOutput">
<property name="sourceModule" value="WaterOutput"/>
<property name="scale" value="0.14"/>
</module>

[color="#FFA500"]<module name="landMntWater" type="Select" no_seed="true">
<property name="controlModule" value="Control"/>
<property name="sourceModule1" value="Water"/>
<property name="sourceModule2" value="land"/>
<property name="bounds" value="0,15000"/>
<property name="edgeFalloff" value="0.5"/>
</module>
[/color]
<module name="landMntWater2" type="Select" no_seed="true">
<property name="controlModule" value="Control"/>
<property name="sourceModule1" value="landMntWater"/>
<property name="sourceModule2" value="landMnt3"/>
<property name="bounds" value="0,15000"/> <!-- want more water make the value="" closer "0,1000" etc,. -->
<property name="edgeFalloff" value="0.5"/>
</module>

<module name="scaleBiasOutput" type="ScaleBiasOutput">
<property name="sourceModule" value="landMntWater2"/>
<property name="scale" value="255"/>
</module>

<output module="scaleBiasOutput"/>

 

In the highlighted module, you're choosing to use 'land' instead of 'water' whenever the output of the control function is between 0 and 15,000. But the control function is using fast noise with a frequency of 1. I would assume fast noise with a frequency of 1 would output values between 0 and 1, or perhaps -1 to 1. But it goes up to at least 15,000? And I can't output the control function directly and check that out in the previewer, because anything outside the 0-255 block range is out of bounds (I think). I also don't see FastNoise defined in the libnoise documentation I've found. So, other than trial and error (which is proving really cumbersome when combining modules I don't fully understand), how do you know what the range of outputs of a given module will be?

 

Just to start: The module names are just that names. Water isn't actually "water" it's just a name of the module that IF everything hits right can produce water.

But everything you need to know is in the "Libnoise" tutorial and docs since that is what the terrain generator is based off of. So that would be your best bet to get all the answers you want as it concerns what "bounds" and the control frequencies do... And yeah, you'll need to do a lot of trial by error in adjustments and guesses at times to get the results you want. sometimes even making crazy number values like 15000 ;)

Basically there is no one way to set up and make modules.

 

I am only pointing you to the LibNoise area, not because I could never explain it nor that I don't want to help but it'll just make things easier on you to understand. I'm not the best teacher and it's just best to read it from the ppl who made it for these types of questions. The terrain generator stuff is almost all Libnoise since that was what it was based on. So it's the best place to point ppl to and by the time I got done explaining it in my way it would probably be more convoluted then it needed to be and less helpful xD

 

And yeah! It's a guessing game a lot of the time but after awhile you just start to get a feel for it.

 

tip1: When messing with the terrain, make a test hub that won't produce any cities or towns and make that the only thing to appear. It'll speed up the process when you're testing your tweaks.

 

tip2: Have a copy of the terrain generator open as you go through it in lib to help piece everything together easier.

 

tip3: Be prepared for LOTS of testing.

 

tip4: pick a method and stick with it. Like are you good with music (like with musical note frequencies)? Then use the properties in that way. Are you good with and understand frequencies in electronics (sine waves)? then use the properties in that way etc,.

Link to comment
Share on other sites

  • 2 weeks later...

So one of the module types is Constant. This no doubt corresponds to Const in the Libnoise library. But it's not used in vanilla or anyone else's rwgmixer I've found. So how does one even know what Constant's properties are? It should have one property, which specifies what the constant value is. But what's this property called? <property name="value" value="100"/> seems not to work. When you run into stuff like this, are you literally guessing what the property names might be? Is there further documentation of 7DtD's implementation I haven't seen? Are these things found by hacking apart the files with SDX?

Link to comment
Share on other sites

So one of the module types is Constant. This no doubt corresponds to Const in the Libnoise library. But it's not used in vanilla or anyone else's rwgmixer I've found. So how does one even know what Constant's properties are? It should have one property, which specifies what the constant value is. But what's this property called? <property name="value" value="100"/> seems not to work. When you run into stuff like this, are you literally guessing what the property names might be? Is there further documentation of 7DtD's implementation I haven't seen? Are these things found by hacking apart the files with SDX?

 

The constant is just that, a module that produces a constant frequency. Good if you want to just make a flat plain and only that but yeah sometimes it is a guessing game as to how Kin set it up and what it does. The biggest guess usually comes from what other properties go with it.

you can add a "power" property to it and it will raise or lower where that plain will be in the elevation of the game world.

 

Yeah, sometimes it is a guessing game on how Kin added or made it do and just trying different things out to see what it does and what other things you can add to it. like turbulence/scaleoutput/bias/power etc,.

Link to comment
Share on other sites

First, let me affirm I'm trying to pick up as much as I can on my own through experimentation and research. :)

 

You use the same simple "Control" as the control module for a lot of Select modules.

			<module name="Control" type="FastNoise" no_seed="true">
			<property name="frequency" value="1"/>
		</module>

 

From what I can tell, every time this Control module is used, it generates a new, different pattern of noise. It would be useful to re-use the same pattern in different modules. For instance, I'd like to combine two Voronoi modules, one with distanceEnabled=true and one with distanceEnabled=false, but I want to work off of the same pattern of spots in both of them. Is there a way for two modules to work off the same seed? Does "no_seed" affect this? If so, will it still generate a different pattern with every map seed name, or is it completely invariant?

Link to comment
Share on other sites

First, let me affirm I'm trying to pick up as much as I can on my own through experimentation and research. :)

 

You use the same simple "Control" as the control module for a lot of Select modules.

			<module name="Control" type="FastNoise" no_seed="true">
			<property name="frequency" value="1"/>
		</module>

 

From what I can tell, every time this Control module is used, it generates a new, different pattern of noise. It would be useful to re-use the same pattern in different modules. For instance, I'd like to combine two Voronoi modules, one with distanceEnabled=true and one with distanceEnabled=false, but I want to work off of the same pattern of spots in both of them. Is there a way for two modules to work off the same seed? Does "no_seed" affect this? If so, will it still generate a different pattern with every map seed name, or is it completely invariant?

 

Yeah you can set it up that each selector type modules can use the same control module.

 

no_seed="true" is more of for a seed additive, so basically saying don't use a seed additive in this module. So yes it'll still generate a new pattern depending on the seed name itself, that is built into the system as opposed to a module that is using example: seed_additive="#".

 

I don't generally use additives and adding the the no_seed="true" just became a habit of mine when I was experimenting with them and I just keep on adding them :D

Just want you to know why they're in some of my modules for no reason so it doesn't confuse you.

 

Oh and just an fyi I am still learning myself, Nowhere near being a guru or anything, so If I steer you wrong in an area on accident srry in advance.

Link to comment
Share on other sites

  • 3 weeks later...
  • 1 month later...
The constant is just that, a module that produces a constant frequency. Good if you want to just make a flat plain and only that but yeah sometimes it is a guessing game as to how Kin set it up and what it does. The biggest guess usually comes from what other properties go with it.

you can add a "power" property to it and it will raise or lower where that plain will be in the elevation of the game world.

 

Yeah, sometimes it is a guessing game on how Kin added or made it do and just trying different things out to see what it does and what other things you can add to it. like turbulence/scaleoutput/bias/power etc,.

 

I was running into trouble with the Constant module, and I finally identified the problem. The Constant module's property is "constant", not "power". An old post by Alphado-Jaki said this, and I just confirmed it experimentally.

 

Sorry to be a stickler, but this stuff is poorly documented and I'm betting by setting the record straight we'll help someone else searching for answers sooner or later.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...