Results 1 to 11 of 11

Thread: Smooth transition to radiated biome

  1. #1
    Reconstructionist Alphado-Jaki's Avatar
    Join Date
    Feb 2016
    Location
    Japan
    Posts
    654
    Rep Power
    1

    Smooth transition to radiated biome

    I've come up with this idea while updating my terrain mod and guide. Personally, I won't use this for my mod, but looks useful for other modder, so I post here.


    To whom haven't use RWG Previewer, Red is Radiated biome, Yellow is Wasteland biome.
    This tweak removes radiated & wasteland from center of the world. Those biome are appears as player goes to far from center.

  2. #2
    Reconstructionist Alphado-Jaki's Avatar
    Join Date
    Feb 2016
    Location
    Japan
    Posts
    654
    Rep Power
    1
    You can use this mod by 3 steps in rwgmixer.xml.

    1. edit cell_cache_size into 9.
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <rwgmixer>
    	<world ruleset="vanilla" />
    
    	<rulesets>
    		<ruleset name="vanilla" cell_cache_size="9" cell_size="1800" cell_offset="0" generation_distance="10000" terrain_generator="vanilla" biome_generator="vanilla">
    2. Edit biome_generators as below, or define new biome_generator.
    Code:
    	<biome_generators>
    		<biome_generator name="vanilla">
    			<module name="voronoi" type="Voronoi">
    				<property name="frequency" value="0.0008"/>
    				<property name="displacement" value="1"/>
    			</module>
    			<module name="voronoiOutput" type="BiasOutput">
    				<property name="sourceModule" value="voronoi"/>
    				<property name="bias" value="1"/>
    			</module>
    
    			<module name="const0" type="Constant"/>
    			<module name="const11" type="Constant">
    				<property name="constant" value="-0.1"/>
    			</module>
    			<module name="const12" type="Constant">
    				<property name="constant" value="-0.2"/>
    			</module>
    			<module name="const21" type="Constant">
    				<property name="constant" value="0.1"/>
    			</module>
    			<module name="const22" type="Constant">
    				<property name="constant" value="0.2"/>
    			</module>
    			<!--  0.2,0.4  0.6,0.8  1.0,1.2  1.3,1.4  1.5,1.6  1.8,2.0  -->
    			<module name="except11" type="Select">
    				<property name="controlModule" value="voronoiOutput"/>
    				<property name="sourceModule1" value="const0"/>
    				<property name="sourceModule2" value="const12"/>
    				<property name="bounds" value="0.2,0.4"/>
    			</module>
    			<module name="except12" type="Select">
    				<property name="controlModule" value="voronoiOutput"/>
    				<property name="sourceModule1" value="except11"/>
    				<property name="sourceModule2" value="const12"/>
    				<property name="bounds" value="0.6,0.8"/>
    			</module>
    			<module name="except13" type="Select">
    				<property name="controlModule" value="voronoiOutput"/>
    				<property name="sourceModule1" value="except12"/>
    				<property name="sourceModule2" value="const12"/>
    				<property name="bounds" value="1.0,1.2"/>
    			</module>
    			<module name="except14" type="Select">
    				<property name="controlModule" value="voronoiOutput"/>
    				<property name="sourceModule1" value="except13"/>
    				<property name="sourceModule2" value="const11"/>
    				<property name="bounds" value="1.3,1.4"/>
    			</module>
    			<module name="except15" type="Select">
    				<property name="controlModule" value="voronoiOutput"/>
    				<property name="sourceModule1" value="except14"/>
    				<property name="sourceModule2" value="const11"/>
    				<property name="bounds" value="1.5,1.6"/>
    			</module>
    			<module name="except1Last" type="Select">
    				<property name="controlModule" value="voronoiOutput"/>
    				<property name="sourceModule1" value="except15"/>
    				<property name="sourceModule2" value="const12"/>
    				<property name="bounds" value="1.8,2.0"/>
    			</module>
    			<!--  0.0,0.2  0.4,0.6  0.8,1.0  1.2,1.3  1.4,1.5  1.6,1.8  -->
    			<module name="except21" type="Select">
    				<property name="controlModule" value="voronoiOutput"/>
    				<property name="sourceModule1" value="const0"/>
    				<property name="sourceModule2" value="const22"/>
    				<property name="bounds" value="0.0,0.2"/>
    			</module>
    			<module name="except22" type="Select">
    				<property name="controlModule" value="voronoiOutput"/>
    				<property name="sourceModule1" value="except21"/>
    				<property name="sourceModule2" value="const22"/>
    				<property name="bounds" value="0.4,0.6"/>
    			</module>
    			<module name="except23" type="Select">
    				<property name="controlModule" value="voronoiOutput"/>
    				<property name="sourceModule1" value="except22"/>
    				<property name="sourceModule2" value="const22"/>
    				<property name="bounds" value="0.8,1.0"/>
    			</module>
    			<module name="except24" type="Select">
    				<property name="controlModule" value="voronoiOutput"/>
    				<property name="sourceModule1" value="except23"/>
    				<property name="sourceModule2" value="const21"/>
    				<property name="bounds" value="1.2,1.3"/>
    			</module>
    			<module name="except25" type="Select">
    				<property name="controlModule" value="voronoiOutput"/>
    				<property name="sourceModule1" value="except24"/>
    				<property name="sourceModule2" value="const21"/>
    				<property name="bounds" value="1.4,1.5"/>
    			</module>
    			<module name="except26" type="Select">
    				<property name="controlModule" value="voronoiOutput"/>
    				<property name="sourceModule1" value="except25"/>
    				<property name="sourceModule2" value="const22"/>
    				<property name="bounds" value="1.6,1.8"/>
    			</module>
    			<module name="except27" type="Select">
    				<property name="controlModule" value="voronoiOutput"/>
    				<property name="sourceModule1" value="except26"/>
    				<property name="sourceModule2" value="const21"/>
    				<property name="bounds" value="0.2,0.3"/>
    			</module>
    			<module name="except28" type="Select">
    				<property name="controlModule" value="voronoiOutput"/>
    				<property name="sourceModule1" value="except27"/>
    				<property name="sourceModule2" value="const21"/>
    				<property name="bounds" value="0.6,0.7"/>
    			</module>
    			<module name="except2Last" type="Select">
    				<property name="controlModule" value="voronoiOutput"/>
    				<property name="sourceModule1" value="except28"/>
    				<property name="sourceModule2" value="const21"/>
    				<property name="bounds" value="1.8,1.9"/>
    			</module>
    
    			<module name="slopeBase" type="Cylinders">
    				<property name="frequency" value="0.00005"/>
    			</module>	<!--Edit frequency if you edit generation_distance. 
    							e.g.) 0.00005 for 10000  0.000025 for 20000 -->
    			<module name="slope1Scaled" type="ScaleBiasOutput">
    				<property name="sourceModule" value="slopeBase"/>
    				<property name="scale" value="1.5"/>
    				<property name="bias" value="0.5"/>
    			</module><!-- [email protected] [email protected],333 [email protected],666 [email protected],000 -->
    			<module name="slope1Output" type="ClampOutput">
    				<property name="sourceModule" value="slope1Scaled"/>
    				<property name="bounds" value="0,1"/>
    			</module>
    			<module name="slope2Scaled" type="ScaleBiasOutput">
    				<property name="sourceModule" value="slopeBase"/>
    				<property name="scale" value="-1.5"/>
    				<property name="bias" value="-0.5"/>
    			</module><!-- [email protected] [email protected],333 [email protected],666 [email protected],000 -->
    			<module name="slope2Output" type="ClampOutput">
    				<property name="sourceModule" value="slope2Scaled"/>
    				<property name="bounds" value="0,1"/>
    			</module>
    
    			<module name="except1Out" type="Multiply">
    				<property name="sourceModule1" value="except1Last"/>
    				<property name="sourceModule2" value="slope1Output"/>
    			</module>
    			<module name="except2Out" type="Multiply">
    				<property name="sourceModule1" value="except2Last"/>
    				<property name="sourceModule2" value="slope2Output"/>
    			</module>
    
    			<module name="biome1" type="Add">
    				<property name="sourceModule1" value="voronoiOutput"/>
    				<property name="sourceModule2" value="except1Out"/>
    			</module>
    			<module name="biome2" type="Add">
    				<property name="sourceModule1" value="biome1"/>
    				<property name="sourceModule2" value="except2Out"/>
    			</module>
    
    			<module name="biomeDither" type="FastTurbulence">
    				<property name="sourceModule" value="biome2"/>
    				<property name="frequency" value="0.25"/>
    				<property name="power" value="8"/>
    				<property name="roughness" value="5"/>
    			</module>
    
    			<module name="biomeJiggle" type="FastTurbulence">
    				<property name="sourceModule" value="biomeDither"/>
    				<property name="frequency" value="0.0016"/>
    				<property name="power" value="400"/>
    				<property name="roughness" value="1"/>
    			</module>
    
    			<module name="clampOutput" type="ClampOutput">
    				<property name="sourceModule" value="biomeJiggle"/>
    				<property name="bounds" value="0,2"/>
    			</module>
    
    			<output module="clampOutput"/>
    		</biome_generator>
    	</biome_generators>
    3. Edit biome_spawn_rules as below.
    Code:
    	<biome_spawn_rules>
    		<biome_spawn_rule name="desert">
    			<biome_generator range="0,0.2"/>
    		</biome_spawn_rule>
    
    		<biome_spawn_rule name="forest">
    			<biome_generator range="0.4,0.6"/>
    		</biome_spawn_rule>
    
    		<biome_spawn_rule name="plains">
    			<biome_generator range="0.8,1.0"/>
    		</biome_spawn_rule>
    
    		<biome_spawn_rule name="burnt_forest">
    			<biome_generator range="1.2,1.3"/>
    		</biome_spawn_rule>
    
    		<biome_spawn_rule name="pine_forest">
    			<biome_generator range="1.4,1.5"/>
    			<terrain_generator range="150,175"/>
    		</biome_spawn_rule>
    
    		<biome_spawn_rule name="snow">
    			<biome_generator range="1.6,1.8"/>
    			<terrain_generator range="176,255"/>
    		</biome_spawn_rule>
    
    		<biome_spawn_rule name="wasteland">
    			<biome_generator range="0.2,0.4"/>
    			<biome_generator range="0.6,0.8"/>
    			<biome_generator range="1.0,1.2"/>
    			<biome_generator range="1.3,1.4"/>
    			<biome_generator range="1.5,1.6"/>
    			<biome_generator range="1.8,2.0"/>
    		</biome_spawn_rule>
    
    		<biome_spawn_rule name="radiated">
    			<biome_generator range="0.3,0.4"/>
    			<biome_generator range="0.7,0.8"/>
    			<biome_generator range="1.35,1.4"/>
    			<biome_generator range="1.55,1.6"/>
    			<biome_generator range="1.1,1.2"/>
    			<biome_generator range="1.9,2.0"/>
    		</biome_spawn_rule>
    
    		<biome_spawn_rule name="radiated">
    			<distance_from_center range="10000,20000"/>
    		</biome_spawn_rule>
    
    		<biome_spawn_rule name="water">
    			<terrain_generator range="-31,-1"/>
    		</biome_spawn_rule>
    
    	</biome_spawn_rules>
    That's all!

  3. #3
    Reconstructionist Alphado-Jaki's Avatar
    Join Date
    Feb 2016
    Location
    Japan
    Posts
    654
    Rep Power
    1
    If you are interested with my mods or guide for Random Gen World, See also...

    Terrain Generation Overhaul Guidebook
    Random World Generator - Overhaul Fix

  4. #4
    Colony Founder n2n1's Avatar
    Join Date
    Oct 2015
    Location
    MotherRussia
    Posts
    1,389
    Rep Power
    1
    Interesting idea. Seedname influence not destroying it?

    You figured out what affects the parameter "cell_cache_size="?

  5. #5
    Reconstructionist Alphado-Jaki's Avatar
    Join Date
    Feb 2016
    Location
    Japan
    Posts
    654
    Rep Power
    1
    Quote Originally Posted by n2n1 View Post
    Interesting idea. Seedname influence not destroying it?
    Yeah, of course.

    You figured out what affects the parameter "cell_cache_size="?
    Several alpha ago, I tested lower than 8 (vanilla) because of curiousity. This resulted as some biomes are replaced with the unseen blank biome which generates only dirt and clay. So, I assume this option as how many biome can be generated per cell.

    This is the SS of the blank biome. Highway road also vanishes.

  6. #6
    Reconstructionist Alphado-Jaki's Avatar
    Join Date
    Feb 2016
    Location
    Japan
    Posts
    654
    Rep Power
    1
    Tested with some seedname. Looks nice to me.


    rad radiation alfort amarelo

  7. #7
    Colony Founder n2n1's Avatar
    Join Date
    Oct 2015
    Location
    MotherRussia
    Posts
    1,389
    Rep Power
    1
    Quote Originally Posted by Alphado-Jaki View Post
    Several alpha ago, I tested lower than 8 (vanilla) because of curiousity. This resulted as some biomes are replaced with the unseen blank biome which generates only dirt and clay. So, I assume this option as how many biome can be generated per cell.

    This is the SS of the blank biome. Highway road also vanishes.
    !!!hmmm....Thanks for the info! now I can investigate it!

  8. #8
    Colony Founder StompyNZ's Avatar
    Join Date
    Apr 2015
    Posts
    3,833
    Rep Power
    1
    cell cache size is how many cells can be held in memory

  9. #9
    Reconstructionist Alphado-Jaki's Avatar
    Join Date
    Feb 2016
    Location
    Japan
    Posts
    654
    Rep Power
    1
    Quote Originally Posted by StompyNZ View Post
    cell cache size is how many cells can be held in memory
    Thanks for correction

    Does it mean this property won't affect generation itself?

  10. #10
    Colony Founder n2n1's Avatar
    Join Date
    Oct 2015
    Location
    MotherRussia
    Posts
    1,389
    Rep Power
    1
    Quote Originally Posted by StompyNZ View Post
    cell cache size is how many cells can be held in memory
    Yes... this is understandable, because it is written in the name of the function.

    But what does that mean? it's about memory when creating the world? or when you draw during the game or like that ?
    what does it practically affect?
    how can we use this?

  11. #11
    Reconstructionist Alphado-Jaki's Avatar
    Join Date
    Feb 2016
    Location
    Japan
    Posts
    654
    Rep Power
    1
    Yeah... I also want to know about that. Other options such as level can be find "how works" or "what is valid use", while some of them are broken for now.
    But this, cell_cache_size, which appears at the first several line, is really unclear. What most modders (including me) can do is only guessing from behavior during trial and error (this causes misunderstand), or from meaning of the attribute name.

    - - - Updated - - -

    I hope devs make it clear sooner or later. :P

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •