Planetbase

Planetbase

Not enough ratings
Creating Planetbase challanges
By Base Invaders
Creating and uploading challanges
   
Award
Favorite
Favorited
Unfavorite
getting started
launch notepad and type in your modifiers

The possible values for game play modifiers are:

DisableColonistShips
Disables all colonists ships

DisableVisitorShips
Disables all visitor ships

DisableTradingShips
Disables all trading ships

DisableTraderTechs
Prevents traders from selling techs

DisableStructure
Disables a particular structure
param: structure name in English, with no spaces, ie: ProcessingPlant

DisableComponent
Disables a particular component
param: component name in English, with no spaces, ie: MetalProcessor

DisableNoMedicalSuppliesWarning
Prevents the game from displaying the "We've run out of medical supplies warning" when there are no medical supplies

DisableStructureRequirements
Allows the player to build a particular structure (or all structures) from the start
param: structure name in English. If no param is specified, then it applies to all structures

DisableVisitorRequirements
Allows visitors to come regardless of prestige

DisableIntruders
Disables all intruders

IntruderMinPrestige
Specifies the min prestige for intruders to come to the base
param: amount in the range [1, 1000]

ExtraIntruders
Specifies extra intruders to come in every attack
param: amount in the range [0, ...]

RestrictedTradingShips
Restricts what trading ships come to the base
param: Comma separated list of ship types, allowed values are: RawMaterial, Medical, Food, Industrial, Electronics

RestrictedColonistShips
Restricts what colonists come inside ships
param: Comma separated list of colonist types, allowed values are: Worker, Engineer, Biologist, Medic, Guard

InfiniteTraderBots
Allows traders to always bring bots, they usually stop when the number of bots is higher than the number of colonists

ShipFrequency
Modifies the frequency of all ships coming to the base
param: Frequency in the range [0.1, 10]

TradingShipFrequency
Modifies the frequency of trading ships coming to the base
param: Frequency in the range [0.1, 10]

DisasterFrequency
Modifies the frequency of all sandstorms, solar flares and blizzards
param: Frequency in the range [0.1, 10]

UnlockTech
Unlocks a tech from the start
param: tech name in English, with no spaces, ie: GoliathTurbine

SandstormRisk
Specifies the risk of sandstorms
param: None, Low or High

MeteorRisk
Specifies the risk of meteors
param: None, Low or High

SolarFlareRisk
Specifies the risk of solar flares
param: None, Low or High

BlizzardRisk
Specifies the risk of blizzards
param: None, Low or High

ThunderstormRisk
Specifies the risk of thunderstorms
param: None, Low or High

AtmosphereDensity
Specifies whether Wind Turbines work properly or not at all in this planet
param: None, Low or High

LightAmount
Specifies whether Solar Panels work properly or not at all in this planet
param: None, Low or High

DisableColonyShipRecycling
Prevents the player from recycling the colony ship.

DisableWorkerMining
Prevents Workers from mining

Environment modifiers
They allow you to change the lighting, fog and horizon colors for the planet.

A typical section would look like this:

<environment_modifiers>
<environment_modifier type="RemoveSatellites"/>
<environment_modifier type="DayHours" value="8"/>
<environment_modifier type="NightHours" value="16"/>
<environment_modifier type="LightColorDay" value="200,200,255"/>
</environment_modifiers>

The possible options are:

RemoveSatellites
Removes any planets in the horizon.

Day/NightHours
Specifies how long days or nights are.
value: Reasonable values are in the range [4, 24]

FogIntensityDay/Night/Twilight
Intensity of the fog during the day, night, sunrise or sunset.
value: Number in the range [0, 0.1]

LightColorDay/Night/Twilight
Color of the directional sun light during the day, night, sunrise or sunset.
value: Color ie. 255,255,255

AmbientColorDay/Night/Twilight
Color of the ambient sun light during the day, night, sunrise or sunset.
value: Color ie. 255,255,255

HorizonColorDay/Night/Twilight
Color of the horizon (lower part of the sky) during the day, night, sunrise or sunset.
value: Color ie. 255,255,255

SkyColorDay/Night/Twilight
Color of the sky during the day, night, sunrise or sunset.
value: Color ie. 255,255,255

EnvironmentMapIndex
Changes the environment map for this challenge
value: Number in the range [1, 4], indicates which planet to take the environment map from

SunIndex
Changes the sun for this challenge
value: Number in the range [1, 4], indicates which planet to take the sun from

BackdropsIndex
Changes the backdrops for this challenge
value: Number in the range [1, 4], indicates which planet to take the backdrops from

Terrain modifiers
These allow you to change parameters in the terrain generation algorithm to create variations of the existing planets. With the right values you can totally change how a planet looks.

See this example of the "Starport Atlantis" challenge, that uses the class D planet, but adds water and lower terrain:



The possible values are:

HeightMultiplier
Multiplies the terrain height of everything, it makes mountains higher or lower.
value: Number in the range [0, 2]

HeightOffset
Moves the whole terrain up or down, it generates more or less mountains
value: Number greater than 0. Even small values will have a large effect.

DistantHeightOffset
Makes distant terrain higher or lower
value: Number. Reasonable values are in the range [-0.1, 0.1]

CraterDensity
Specifies how many meteor craters there will be in the terrain.
value: Number in the range [0, 1]

LiquidAmount
Specifies how many lakes there will be in the planet.
value: Number in the range [0, 1]

LiquidColor
Specifies the color of the lakes.
value: Color. i.e: 255,0,0

BackdropScale
Scales the backdrops (the mountains behind the heightmap) in the environment
value: 3D vector: ie: 2.0,2.0,2.0

TintTexture
Changes the color of one of the textures, by multiplying it by another color
param: Flat1, Flat2, Slope, Foundations, DetailRocks, CentralRocks, SideRocks
value: Color. i.e: 255,0,0

HslTransformTexture
Changes the color of one of the textures, by applying a Hue, Saturation, Lighness transform
param: Flat1, Flat2, Slope or Foundations
value: HSL Values. i.e: 10,5,-7
Objectives
They allow you to specify the victory conditions for the challenge. If you specify more than 1, all of them will have to be met. You can also specify no objectives for the challenge to be open ended.

A typical objectives section would look like this:

<objectives>
<objective type="AccumulateResources" param="Ore" value="100"/>
</objectives>

The possible types are:

AccumulateResources
Accumulate a certain amount of resources.
param: indicates the type of resource.
value: indicates the amount.

ReachPopulation
Reach a certain population.
value: indicates the amount.

ReachBots
Reach a certain number of bots.
value: indicates the amount.

ReachPrestige
Reach a certain prestige.
value: indicates the amount.

ReachWelfare
Reach a certain level of welfare.
value: indicates the amount, in the range [0, 100]

BuildStructures:
Build a certain amount of structures.
param: indicates the type of structure.
value: indicates the amount.
size: indicates the size of the structures to be built, 0 means any size, values in the range [1, 5] indicate a particular size.

BuildComponents:
Build a certain amount of components.
param: indicates the type of component.
value: indicates the amount.

SurviveTime:
Survive a certain amount of time
value: indicates the time in game days.

TimeLimit:
Specifies a time limit for the challenge.
value: indicates the time in game days.

KeepCharacterAlive
This will fail the challenge if a particular character dies.
param: indicates the character name, must be exact.

ReachSpecialization
Reach a certain number of characters of a particular specialization.
param:: indicates specialization, allowed values are: Worker, Engineer, Biologist, Medic, Guard, Carrier, Constructor, Driller.
value: indicates the amount.
registry doccumentation
open

cmd.exe

regedit.exe

in cmd.exe

A= you type data
G=you type the challange name
B=you type the path

C=you type the registry type

type the following command

REG ADD HKLM\B\G\C\^A

Possible command

your notepad file is what you put under value data

REG ADD HKCU\SOFTWARE\Valve\Steam\Apps\403190 /v PlanetbaseChallangeARE0432555 /t Reg_Multi_SZ /d ^PlanetbaseChallangeAre0432555

go into regedit.exe(registry editor) and right click the value you made (if command prompt does not work, create a multi sz value and name it challange_challengename) and select modify and under "value data" copy and paste all text from your notepad doccument into the box. Export it in .*reg form into C:\Users\Your Username\doccuments\your games\ planetbase\challanges folder( create in if non existant).

this next step is CRITICAL.

Once you did this, the next time you launch planetbase with steam not in offline mode, it will replace the key with the key that is on the steam cloud. this will erase your challange instead of applying it. to stop this, go into the registry editor, go to the 403190 key, right click, and from the dropdown select permissions. click the advanced permissions option. select the "disable inheritance" option. it will ask you what you want to do. Sellect the first option "convert all inherited permissions to explicit permissions". Now select system and click edit. Under basic permissions, uncheck the button saying "full control". Do not uncheck the read option. This lets steam read the planetbase registry, but leaves steam unable to override.
Create a savegame
creating a savegame is easy

Just modify this text to change your assests and save it as Challange_Challangename_savegame in the same folder as your challange

<save-game version="11">
<id-generator>
<next-id value="693" />
<next-bot-id value="30" />
</id-generator>
<planet>
<planet-index value="0" />
</planet>
<milestones />
<techs />
<environment>
<time-of-day value="0.04" />
<wind-indicator value="0.7024155" />
</environment>
<terrain>
<seed value="-65958" />
</terrain>
<camera>
<height value="30" />
<position x="1095.194" y="30" z="1087.806" />
<orientation x="25" y="106.1603" z="-0.0002562335" />
</camera>
<sandstorm>
<sandstorm-in-progress value="False" />
<time-to-next-sandstorm value="4028.741" />
<time value="0" />
<sandstorm-time value="0" />
</sandstorm>
<blizzard>
<blizzard-in-progress value="False" />
<time-to-next-blizzard value="3928.202" />
<time value="0" />
<blizzard-time value="0" />
</blizzard>
<solar-flare>
<solar-flare-in-progress value="False" />
<time-to-next-solar-flare value="3822.48" />
<time value="0" />
<solar-flare-time value="0" />
</solar-flare>
<colony>
<extra-prestige value="0" />
<game-time value="0" />
<real-game-time value="0" />
<name value="Starport Atlantis" />
<latitude value="-22" />
<longitude value="-104" />
</colony>
<ship-manager type="ship-manager">
<time-since-last-colonist-landing value="0" />
<time-since-last-visitor-landing value="1.1372" />
<time-since-last-merchant-landing value="67.09478" />
<time-to-next-intruder value="4200" />
<landing-permissions>
<colonists-allowed value="False" />
<merchants-allowed value="True" />
<visitors-allowed value="True" />
<Worker-percentage value="40" />
<Biologist-percentage value="30" />
<Engineer-percentage value="20" />
<Medic-percentage value="10" />
<Guard-percentage value="0" />
</landing-permissions>
</ship-manager>
<stats>
</stats>
<visitor-events>
<next-event-time value="642.4977" />
<visitor-event type="VisitorEventInjuredMiners">
<visitor-count value="10" />
</visitor-event>
</visitor-events>
<game-hints>
<shown-hints value="connection40 oxygen_flow180 power_grid120 resources1800 " />
</game-hints>
<manufacture-limits>
<bot-limit value="2147483647" />
<MedicalSupplies-limit value="2147483647" />
<Spares-limit value="2147483647" />
<Semiconductors-limit value="2147483647" />
<Gun-limit value="2147483647" />
</manufacture-limits>
<challenge-manager>
<challenge-id value="starport_atlantis" />
</challenge-manager>
<constructions>
<construction type="Module">
<enabled value="True" />
<state value="3" />
<build-progress value="-1" />
<condition value="1" />
<oxygen value="0.9991479" />
<id value="109" />
<position x="1170.117" y="4" z="1077.963" />
<orientation x="0" y="220.4502" z="0" />
<enabled value="True" />
<time-built value="9960.95966720581" />
<locked value="False" />
<high-priority value="False" />
<module-type value="ModuleTypeOxygenGenerator" />
<size-index value="0" />
</construction>
<construction type="Module">
<enabled value="True" />
<state value="3" />
<build-progress value="-1" />
<condition value="1" />
<oxygen value="0.9773629" />
<id value="111" />
<position x="1155.101" y="4" z="1068.075" />
<orientation x="0" y="184.5447" z="0" />
<enabled value="True" />
<time-built value="10055.6808586121" />
<locked value="False" />
<high-priority value="False" />
<components>
<component type="ConstructionComponent">
<enabled value="True" />
<state value="3" />
<build-progress value="-1" />
<id value="200" />
<component-type value="Table" />
<position x="1153.351" y="4.2" z="1070.127" />
<orientation x="0" y="0.9992135" z="0" />
<condition value="-1" />
<production-progress value="-1" />
<time value="8335.683" />
<enabled value="True" />
<produced-item-index value="0" />
</component>
<component type="ConstructionComponent">
<enabled value="True" />
<state value="3" />
<build-progress value="-1" />
<id value="202" />
<component-type value="DrinkingFountain" />
<position x="1156.487" y="4.2" z="1071.163" />
<orientation x="0" y="0.9992135" z="0" />
<condition value="-1" />
<production-progress value="-1" />
<time value="8345.122" />
<enabled value="True" />
<produced-item-index value="0" />
</component>
<component type="ConstructionComponent">
<enabled value="True" />
<state value="3" />
<build-progress value="-1" />
<id value="203" />
<component-type value="DecorativePlant" />
<position x="1158.368" y="4.2" z="1068.957" />
<orientation x="0" y="0.9992135" z="0" />
<condition value="-1" />
<production-progress value="-1" />
<time value="8343.68" />
<enabled value="True" />
<produced-item-index value="0" />
</component>
<component type="ConstructionComponent">
<enabled value="True" />
<state value="3" />
<build-progress value="-1" />
<id value="568" />
<component-type value="MealMaker" />
<position x="1156.766" y="4.2" z="1069.495" />
<orientation x="0" y="0" z="0" />
<condition value="-1" />
<production-progress value="0.8829974" />
<time value="1892.903" />
<enabled value="True" />
<produced-item-index value="0" />
<resource-container>
<capacity value="6" />
<resource type="Vegetables">
<id value="662" />
<trader-id value="-1" />
<position x="1156.766" y="4.2" z="1069.495" />
<orientation x="-2.326301E-06" y="359.7182" z="4.350605E-07" />
<state value="3" />
<location value="0" />
<subtype value="6" />
<condition value="1" />
<durability value="0" />
</resource>
<resource type="Vegetables">
<id value="651" />
<trader-id value="-1" />
<position x="1156.766" y="4.2" z="1069.495" />
<orientation x="-2.464969E-06" y="2.819538" z="3.741327E-07" />
<state value="3" />
<location value="0" />
<subtype value="6" />
<condition value="1" />
<durability value="0" />
</resource>
<resource type="Meal">
<id value="684" />
<trader-id value="-1" />
<position x="1156.766" y="4.2" z="1069.495" />
<orientation x="0" y="0" z="0" />
<state value="0" />
<location value="0" />
<subtype value="11" />
<condition value="1" />
<durability value="0" />
</resource>
<resource type="Meal">
<id value="688" />
<trader-id value="-1" />
<position x="1156.766" y="4.2" z="1069.495" />
<orientation x="0" y="0" z="0" />
<state value="0" />
<location value="0" />
<subtype value="11" />
<condition value="1" />
<durability value="0" />
</resource>
<resource type="Meal">
<id value="692" />
<trader-id value="-1" />
<position x="1156.766" y="4.2"
uploading to the workshop
Download this package we made called WorkshopUploader from here: http://planetbase.madrugaworks.com/files/WorkshopUploader.zip

Unzip the file somewhere, this will create a bunch of folders.

Put your challenge files in the "WorkshopUploader\content" folder. You can include several challenges in one workshop item if you want.

Create an image for the item, and put it here: "WorkshopUploader\preview\preview.png"

Edit the "WorkshopUploader\scripts\workshop_item.vdf" file with a text editor, and write the title, description and release notes for the item.

Run upload_workshop_item.bat, this will ask you for your Steam user, password and probably also a Steam Guard code.

If everything goes well, then you should then see your item in the Planetbase workshop.

The first time you do this, a new workshop item will be created, and its ID will be written in the workshop_item.vdf file, to update your challenge keep the file and repeat the process.

You can also add images or videos to it. It is usually a good idea to upload a couple of screenshots to highlight your challenge.
1 Comments
NeoRider7 3 Feb, 2020 @ 12:14pm 
thanks! Good work done!