How To Configure your first PGARK
Launch the game, goto Play Local ARK: Survival Evolved, select "Create New Procedurally Generated ARK" in the upper-left of the Host UI, and then you can play around with all the different PGARK settings to construct an ARK to your liking. Give it unique ARK name in the lower-right, and click Host. After a long wait (this will be further optimized shortly), you'll be on your new ARK! The procedural ARK data is cached to disk so subsequent loads of it are much faster (in Saved\GenerateMapCache, which you can delete if you ever wish to clear up disk space or force regenerate the procedural data in case it becomes corrupted). You can delete existing saved Procedurally Generated ARK's (by name) in the Host UI. Furthermore, you can save multiple PGARK configurations in the Create New Procedural ARK UI, if you wish to retain them for later tweaking or to create multiple unique saved ARK's from the same configuration.
Here's a really rough guide to some of the PGARK settings you can edit in the UI:
VARIABLE | PURPOSE | VISIBLE ON UI AS... |
ErosionIterations | Number of droplets which are used to simulate erosion | Erosion Iterations |
GrassDensity | Density of foliage in the grasslands biome | Grasslands Grass Density |
IslandBorderCurveExp | The exponent used in the curve to smoothly interpolate between island and water floor | Island Border Curve |
JungleBiomeStart | The height value at which the jungle biome start | Jungle Biome Start |
JungleGrassDensity | Foliage density in the Jungle biome | Jungle Grass Density |
JungleTreeDensity | Trees & rocks density in the jungle biome | Jungle Tree Density |
LandscapeRadius | The radius of the landscape, outside of this radius it is water (to avoid cutting the landscape by the terrain border) | Landscape Radius |
MapSeed | The seed used in the noise & random functions | Map Seed |
MaxSawnPointHeight | The maximum height of land for a spawn point to be created | Max Sawn Point Height |
Mountain Height | A multiplier for mountain height | Mountain Height |
MountainBiomeStart | The height value at which the mountain biome starts | Mountain Biome Start |
MountainGrassDensity | Foliage density in the mountain biome | Mountain Grass Density |
Mountains Frequency | The frequency of the noise used to generate mountains | Mountain Frequency |
Mountains Slope | How hard the transition is from land to mountain, the higher the value the smoother the transition (from 0 to 2) | Mountain Slope |
MountainsTreeDensity | Density of trees and rocks in the mountain biome | Mountain Tree Density |
North/South/East/West Regions 1, 2, 3 | ||
OceanFloorLevel | The height value for the ocean floor (from -1 to WaterLevel) | Ocean Flool Level |
RedWoodGrassDensity | Foliage density in the Redwood biome | Redwood Grass Density |
RedWoodTreeDensity | Density of trees and rocks in the redwood biome | Redwood Tree Density |
RWBiomeSize | The radius of the Redwood biome (from 0 to 1) | Redwood Biome Size |
RWForestBiomeLocation | The location of the redwood biome (X,Y from 0 to 1) | Redwood Biome Location |
Shore Slope | How hard the transition is from water floor to shore, the higher the value the smoother the transition (from 0 to 2) | Shore Slope |
ShoreTreeDensity | Foliage density in the shore biome | Shore Tree Density |
SnowBiomeLocation | The location of the snow biome (X,Y from 0 to 1) | Snow Biome Location |
SnowBiomeSize | The radius of the snow biome (from 0 to 1) | Snow Biome Size |
SnowGrassDensity | Foliage density in the snow biome | Snow Grass Density |
SnowMountainGrassDensity | Foliage density in the snow mountain biome | Snow Mountain Grass Density |
SnowMountainsTreeDensity | Density of trees and rocks in the snow mountain biome | Snow Mountains Tree Density |
SnowShoreTreeDensity | Density of trees and rocks in the snow shore biome | Snow Shore Tree Density |
SnowTreeDensity | Density of trees and rocks in the snow biome | Snow Tree Density |
TerrainScaleMultiplier | X,Y,Z to scale the whole terrain | Terrain Scale Multiplier |
TreeDensity | Density of trees and rocks in the grasslands biome | Grasslands Tree Density |
Turbulence Power | The power of the turbulence function used to randomly perturb the coordinates input to the noise function, to add some realism to the noise | Tubulence Power |
UnderwaterObjectsDensity | Object density in the underwater biome | Underwater Objects Density |
Water Frequency | The frequency of the noise function used to generate land/water | Water Frequency |
WaterLevel | The height value for the water surface, from (Ocean Floor level to 1) | Water Level |
ShorelineStartOffset | The distance from the water that the shoreline begins. Raise this for a shore that goes farther up to the land. | |
ShorelineThickness | The overall width of the shore. Raise this along with ShorelineStartOffset to get a thicker, larger shore. |
Hosting a Dedicated Server on PGARK
The actual PGARK configuration is stored in your \Saved\Config\Windows (or WindowsServer or LinuxServer etc)\Game.ini file, here:
[/Script/ShooterGame.ShooterGameMode]
PGMapName=YourPGARK1
PGTerrainPropertiesString=MapSeed=412;LandscapeRadius=1.2;Water Frequency=11;Mountains Frequency=11;Mountains Slope=1.4;MountainsHeight=1.3;Turbulence Power=0.0125;Shore Slope=1.0;WaterLevel=-0.72;GrassDensity=1.0;JungleGrassDensity=0.02;ErosionIterations=200000;OceanFloorLevel=-1.0;SnowBiomeSize=0.3;RWBiomeSize=0.11;MountainBiomeStart=-0.55;MountainsTreeDensity=0.01;JungleBiomeStart=-0.65;IslandBorderCurveExp=4.0;MaxSawnPointHeight=0.1;SnowGrassDensity=0.25;MountainGrassDensity=0.05;SnowMountainGrassDensity=0.15;UnderwaterObjectsDensity=0.5;SnowMountainsTreeDensity=0.01;TreeDensity=0.003;JungleTreeDensity=0.66;RedWoodTreeDensity=0.35;SnowTreeDensity=1.0;RedwoodGrassDensity=0.1;ShoreTreeDensity=0.05;SnowShoreTreeDensity=0.025;DeepWaterBiomesDepth=-0.24;InlandWaterObjectsDensity=0.5;ShorelineStartOffset=0.04;ShorelineThickness=0.0045;TerrainScaleMultiplier=(X=1.0f,Y=1.0f,Z=1.0f);SnowBiomeLocation=(X=0.2f,Y=0.2f);RWForestBiomeLocation=(X=0.5f,Y=0.5f);NorthRegion1Start=(X=0.25f,Y=0.0f);NorthRegion1End=(X=0.416f,Y=0.5f);NorthRegion2Start=(X=0.416f,Y=0.0f);NorthRegion2End=(X=0.582f,Y=0.5f);NorthRegion3Start=(X=0.582f,Y=0.0f);NorthRegion3End=(X=0.75f,Y=0.0f);SouthRegion1Start=(X=0.25f,Y=0.5f);SouthRegion1End=(X=0.416f,Y=1.0f);SouthRegion2Start=(X=0.416f,Y=0.5f);SouthRegion2End=(X=0.582f,Y=1.0f);SouthRegion3Start=(X=0.582f,Y=0.5f);SouthRegion3End=(X=0.75f,Y=1.0f);EastRegion1Start=(X=0.75f,Y=0.0f);EastRegion1End=(X=1.0f,Y=0.333f);EastRegion2Start=(X=0.75f,Y=0.333f);EastRegion2End=(X=1.0f,Y=0.666f);EastRegion3Start=(X=0.75f,Y=0.666f);EastRegion3End=(X=1.0f,Y=1.0f);WestRegion1Start=(X=0.0f,Y=0.0f);WestRegion1End=(X=0.25f,Y=0.333f);WestRegion2Start=(X=0.0f,Y=0.333f);WestRegion2End=(X=0.25f,Y=0.666f);WestRegion3Start=(X=0.0f,Y=0.666f);WestRegion3End=(X=0.25f,Y=1.0f)
After you configure an ARK to your liking in singleplayer mode, copy the values to your dedicated server's Game.ini file, and then host the server on the map called "PGARK" (ala "ShooterGameServer.exe PGARK?listen". The server will automatically load whatever PGMapName you have set. So if you want to do a different Procedural ARK, change the PGMapName value to "YourPGARK2" and you'll get a different savedata for that. You can revert back to any previous PGMapName to load the data of a previously saved PGARK. Note that if you have no existing save data for the PGMapName, it will use the PGTerrainPropertiesString to create the new ARK. But after you have save data for a PGMapName, the INI's PGTerrainPropertiesString will not take effect when loading that save data -- instead, it will use whatever procedural settings are contained within the PGMapName's existing savedata. In other words, to try out a new PGTerrainPropertiesString configuration, you either would need to delete your PGMapName's savedata, or use a different PGMapName.
To get a PGARK configuration that you like, we recommend experimenting in singleplayer through the in-game UI, and then once you have settings you're happy with, copy the PGTerrainPropertiesString from your Windows\Game.ini into your dedicated server's WindowsServer\Game.ini (into the [/Script/ShooterGame.ShooterGameMode] section as described above). Then, as long as you're hosting a new PGMapName, those settings will take effect just as they were in your singleplayer game! You can also easily share good PGARK configurations by sharing that string with other server hosts, just copy the text of PGTerrainPropertiesString to them, and they can put it in their own INI. Share your best PGTerrainPropertiesString settings on the Forum! Hosts can put the PGTerrainPropertiesString value into PGLastUsedSettings as well, which will then become visible to the in-game UI for further custom tweaking/iteration.
New System: Overriding/Modifying Map Spawners via INI
There's a powerful new INI-driven system to override, add, or substract all NPC spawners within the ARK. In particular you can use this to adjust the spawners of a PGARK to your precise liking. Here are some examples of how it works:
Add these INI values, as many as you want, into your Game.ini's [/Script/ShooterGame.ShooterGameMode] section.
For example, this will REMOVE Trikes and Sauropod entries from the PGARK's Grassland Spawner, and it will remove Trikes and Ptero's from the PGARK's Jungle Spawner (you could then do a ConfigAddNPCSpawnEntriesContainer afterwards, to add them back in with different rates, if desired):
ConfigSubtractNPCSpawnEntriesContainer=(NPCSpawnEntriesContainerClassString="DinoSpawnEntriesGrassland_PGM_C",NPCSpawnEntries=( (NPCsToSpawnStrings=("Trike_Character_BP_C")),(NPCsToSpawnStrings=("Sauropod_Character_BP_C")) ), NPCSpawnLimits=( (NPCClassString="Trike_Character_BP_C"),(NPCClassString="Sauropod_Character_BP_C") ) )
ConfigSubtractNPCSpawnEntriesContainer=(NPCSpawnEntriesContainerClassString="DinoSpawnEntriesJungle_PGM_C",NPCSpawnEntries=( (NPCsToSpawnStrings=("Trike_Character_BP_C")),(NPCsToSpawnStrings=("Ptero_Character_BP_C")) ), NPCSpawnLimits=( (NPCClassString="Trike_Character_BP_C"),(NPCClassString="Ptero_Character_BP_C") ) )
This will ADD a Giganotosaurus Spawner to the PGARK's beach spawner, but limiting it to only 1 Giga per spawner (via the NPCSpawnLimits):
ConfigAddNPCSpawnEntriesContainer=(NPCSpawnEntriesContainerClassString="DinoSpawnEntriesBeach_PGM_C",NPCSpawnEntries=( (AnEntryName="GigaSpawner",EntryWeight=1000.0,NPCsToSpawnStrings=("Gigant_Character_BP_C"))), NPCSpawnLimits=( (NPCClassString="Gigant_Character_BP_C",MaxPercentageOfDesiredNumToAllow=0.01) ) )
This will OVERRIDE the PGARK's beach spawner to spawn NOTHING but Gigas and Rexes in equal weights and limits... OUCH!
ConfigOverrideNPCSpawnEntriesContainer=(NPCSpawnEntriesContainerClassString="DinoSpawnEntriesGrassland_PGM_C",NPCSpawnEntries=( (AnEntryName="GigaSpawner",EntryWeight=1.0,NPCsToSpawnStrings=("Gigant_Character_BP_C")) , (AnEntryName="RexSpawner",EntryWeight=1.0,NPCsToSpawnStrings=("Rex_Character_BP_C")) ), NPCSpawnLimits=( (NPCClassString="Gigant_Character_BP_C",MaxPercentageOfDesiredNumToAllow=0.5) , (NPCClassString="Rex_Character_BP_C",MaxPercentageOfDesiredNumToAllow=0.5) ) )
Using this technique, you can modify all of the spawners of any map. It will even take Mod creature class names, as long as you know their short (summonable) class names!
Here's a list of all the spawner class names on TheIsland, TheCenter, ScorchedEarth, and PGARK for your handy reference:
PGARK
DinoSpawnEntries_InlandWater_PGM_C
DinoSpawnEntries_TheDeepwater_PGM_C
DinoSpawnEntries_TheOcean_PGM_C
DinoSpawnEntriesBeach_PGM_C
DinoSpawnEntriesGrassland_PGM_C
DinoSpawnEntriesJungle_PGM_C
DinoSpawnEntriesMountain_PGM_C
DinoSpawnEntriesSnow_PGM_C
DinoSpawnEntriesSnowMountain_PGM_C
DinoSpawnEntriesSnowShoreline_PGM_C
DinoSpawnEntriesSwamp_PGM_C
DinoSpawnEntriesRedwoodsPGM_C
TheIsland
DinoSpawnEntries_Beavers_C
DinoSpawnEntries_DarkWater_C
DinoSpawnEntries_DarkWater_Mosa_C
DinoSpawnEntries_DarkWaterAngler_C
DinoSpawnEntries_DeepWater_C
DinoSpawnEntries_InlandWater_C
DinoSpawnEntries_Ocean_C
DinoSpawnEntriesRedwoods_C
DinoSpawnEntries_RedwoodWater_C
DinoSpawnEntries_ShallowWater_C
DinoSpawnEntries_SwampWater_C
DinoSpawnEntriesArcha_C
DinoSpawnEntriesBeach_C
DinoSpawnEntriesCave1_C
DinoSpawnEntriesCave2_C
DinoSpawnEntriesCave2-LowSpiderScorp_C
DinoSpawnEntriesCave3_C
DinoSpawnEntriesCave5_C
DinoSpawnEntriesCave5_Tough_C
DinoSpawnEntriesCave7-Fliers_C
DinoSpawnEntriesCaveIceWater_C
DinoSpawnEntriesCaveLava_C
DinoSpawnEntriesCaveWater_C
DinoSpawnEntriesDamiensAtoll_C
DinoSpawnEntriesGigant_C
DinoSpawnEntriesGrassland_C
DinoSpawnEntriesIceCave_C
DinoSpawnEntriesJungle_C
DinoSpawnEntriesMonsterIsland_C
DinoSpawnEntriesMountain_C
DinoSpawnEntriesPelican_C
DinoSpawnEntriesPenguins_C
DinoSpawnEntriesQuetz_C
DinoSpawnEntriesSnow_C
DinoSpawnEntriesSwamp_C
DinoSpawnEntriesSwampCave_C
DinoSpawnEntriesSwampCaveWater_C
DinoSpawnEntriesTinyCave_C
DinoSpawnEntriesTitano_C
DinoSpawnEntriesWater_C
TheCenter (which also uses many TheIsland spawners)
CustomAnglerSpawner_C
CustomPenguinSpawner_C
DunkEurSpawn_C
GrasslandsUnderArea_WaterSpawn_C
IceCave_Spawner_C
IceCaveWater_Spawner_C
Lava_Spawn_C
Lava_Upper_Spawn_C
LavaBeach_Spawn_C
LavaWater_Spawn_C
MiniCaveBearSpawner_C
SnowGrasslands_Spawn_C
SnowGrasslandsUnderArea_Spawn_C
SnowyLake_Mosa_C
SnowyMountain_Spawn_C
SpiderCaveSpawner_C
UnderwaterCaveSpawn_C
DinoSpawnEntries_OceanUnderworld_C
Scorched Earth
SE_DinoSpawnEntries_DeathWorm_C
SE_DinoSpawnEntries_RexSolo_C
SE_DinoSpawnEntriesBadlands_C
SE_DinoSpawnEntriesCanyonCave_C
SE_DinoSpawnEntriesCanyons_C
SE_DinoSpawnEntriesDunes_C
SE_DinoSpawnEntriesEZMode_C
SE_DinoSpawnEntriesGreenDesert_C
SE_DinoSpawnEntriesMountain_C
SE_DinoSpawnEntriesMountainCave_C
SE_DinoSpawnEntriesOasis_C
SE_DinoSpawnEntriesRuinsCave_C
SE_DinoSpawnEntriesRuinsCaveNoGolem_C
SE_DinoSpawnEntriesSandworm_C
SE_DinoSpawnEntriesWater_C
SE_DinoSpawnEntriesWyvern_C
SE_DinoSpawnEntriesWyvernTrench_C
Procedural Generator Modding Guide
The Procedural ARK Generation is nearly 100% Blueprint-driven, so it is super moddable (and the Generator Blueprints used can be overriden by any Mod!). We have no doubt that enterprising modders will be able to create even better algorithms and logic paths than us, for more lifelike and detailed procedural ARK's. Here are the first details about how to get involved with creating a unique Procedural Generator Mod in the ARK Dev Kit:
https://forums.unrealengine.com/showthread.php?90664-9-28-ARK-Dev-Kit-v247-8-has-been-posted-to-the-Epic-Launcher!
0 Response to "How to Create Your Very Own Procedurally Generated ARK/Map in Ark Survival: Evolved"
Post a Comment