Environment

From RimWorld Wiki
Revision as of 05:14, 22 June 2024 by Arcangelus (talk | contribs) (→‎Daylight math details: Completely redesigned the details section. I left a spreedsheet commented out with a more useful application of the formula, mainly as I would like others to test it first (And to see if there's some way to implement into the wiki))
Jump to navigation Jump to search
Basics Menus Game Creation Gameplay Pawns Plants Resources Gear Mods
Gameplay Menu Caravan Combat Cover Drafting Environment Events Factions Firefighting Quality Quests Research Rooms Time Trade

The map environment are all aspects of the map that often can not be directly influenced by the player, such as terrain, weather conditions and lighting.

Beauty

Terrain, flooring, objects, and plants attribute to a tile's beauty, which in turn can affect a colonist's mood. The contents of a tile have a cumulative effect on its beauty; i.e. a granite chunk (beauty of -10) on a carpeted floor (beauty of +2) gives the tile a net beauty of -8. Certain unsightly objects, i.e. vomit, have one value when under a roof and a lower value when unroofed. This simulates the general disgust of seeing eyesores indoors versus encountering them outside.

Space

Environment space (as opposed to the Need for Space) is the count of how much space there is to freely move around in a room. This is all the floor tiles that are either empty or have objects that can be passed through at full speed, such as chairs, building materials, and the various "spots". All objects that either slow down or prevent movement through are not counted towards Environment Space. The "Space" number shown in the Environment display is this count x 1.4. This number is a measure of the entire room, and does not change depending on where a pawn is standing.

Flora

Certain plants and trees have beauty, and may also provide cover to colonists.

Light

Light can be generated artificially or naturally. Artificial light is produced by appliances in a limited range. Natural light is generated throughout the map on unroofed tiles. Roofed tiles will be dark unless lit artificially.

Occasionally an eclipse befalls the planet. Natural daytime light is no longer generated until it ends.

Light's importance lies in the following effects:

  • Plant growth - Most plants have light requirements to grow.
  • Power - Solar generators only produce power when naturally lit.
  • Colonists want 30% light or better. This affects:
  • Colonists' mood - Colonists in sustained darkness will have the 'In darkness' thought. Sleeping colonists will not have this thought. Therefore, lighting is not needed in areas only used for sleeping.
  • Colonists' movement speed - Colonists in darkness will have a reduced move speed, scaling to 80% at a light level of 0%. Due to this, combat at night or under unlit roofed areas can lead to a disadvantage against non-human opponents, such as insects, manhunter animals, or mechanoids. Pawns that are Blind, have the Lighting: Darklight preferred precept,Content added by the Ideology DLC or have the Dark vision geneContent added by the Biotech DLC are unaffected by this factor.
  • Colonists' global work speed - Similarly to their movement speed, colonists will have a work speed penalty when working in darkness, scaling to 80% at a light level of 0%. Pawns that are Blind, have the Lighting: Darklight preferred precept,Content added by the Ideology DLC or have the Dark vision geneContent added by the Biotech DLC are unaffected by this factor.

There are three light levels: Dark (0-29%), Lit (30-89%), and Brightly lit (90-100%). Each tile on the map has one of these light levels. The light level of a tile is listed in the tile's information area located above the Architect menu (when the menu is minimized). The light level is immediately followed by the brightness given in a percentage (%).

Light levels according to Light (%)
Light (%) 0-29 30-89 90-100
Light level Dark Lit Brightly lit

Artificial light sources

Light in roofed areas is provided by the following appliances:

  • Name Light Radius
    Agarilux 0.00292
    Bryolux -0.436
    Campfire 7.175
    Chemfuel powered generator 3.485
    Electric crematorium 3.442
    Electric smelter 3.442
    Flood light 17.455
    Glow pod 3.481
    Glowstool 0.916
    Heater 1.653
    Machining table 2.658
    Standing lamp 9.093
    Sun lamp 11.718
    Torch lamp 7.175
    Vanometric power cell 1.756
    Wall lamp 7.974
    Wall torch lamp 6.378
    Wood-fired generator 3.442
    Atmospheric heater Content added by the Anomaly DLC 2.975
    Bioferrite generator Content added by the Anomaly DLC 5.223
    Fleshbulb Content added by the Anomaly DLC 1.188
    Proximity detector Content added by the Anomaly DLC 1.734
    Void monolith Content added by the Anomaly DLC 8.513
    Blood torch Content added by the Biotech DLC 7.884
    Ancient comms console Content added by the Ideology DLC 2.599
    Ancient enemy terminal Content added by the Ideology DLC 0.72
    Ancient lamp Content added by the Ideology DLC 0.783
    Ancient terminal Content added by the Ideology DLC 0.676
    Autobong Content added by the Ideology DLC 7.175
    Christmas tree Content added by the Ideology DLC 5.742
    Darklight brazier Content added by the Royalty DLCContent added by the Ideology DLC 7.108
    Darktorch Content added by the Ideology DLC 4.746
    Effigy Content added by the Ideology DLC 7.175
    Fungus darktorch Content added by the Ideology DLC 4.746
    Hermetic crate Content added by the Ideology DLC 1.552
    Lightball Content added by the Ideology DLC 4.686
    Loudspeaker Content added by the Ideology DLC 1.658
    Pyre Content added by the Ideology DLC 13.592
    Sacrificial flag Content added by the Ideology DLC 7.175
    Security crate Content added by the Ideology DLC 1.865
    Anima tree Content added by the Royalty DLC 1.91
    Brazier Content added by the Royalty DLC 7.175
    Count-down activator Content added by the Royalty DLC 0.546
    Mech node Content added by the Royalty DLC 1.65
    Proximity activator Content added by the Royalty DLC 0.415
    Ship landing beacon Content added by the Royalty DLC 0.964
    Unstable power cell Content added by the Royalty DLC 2.033
  • Daylight timing and latitude

    Daylight, or natural light, is the light generated on unroofed tiles throughout the map. The timing and strength of daylight is affected by latitude, time of year, and time of day, due to the planet's apparent axial tilt.

    This effect is more pronounced at extreme northern and southern latitudes, which can result in light levels not reaching 0% at night or 100% at daytime.

    Near the central latitude, light level change throughout the day as follows:

    Start time Light level
    4h Lit
    7h Brightly lit
    17h Lit
    20h Dark

    Day Length Table

    Note that the below values represent the number of hours that the light level is above 30%, meaning there is no guarantee that it will reach 100%.

    Latitude Aprimay 1 Aprimay 6 Aprimay 11 Jugust 1 Jugust 6 Jugust 11 Septober 1 Septober 6 Septober 11 Decembary 1 Decembary 6 Decembary 11
    90° N 0 0 0 24 24 24 24 24 24 0 0 0
    75° N 0 0 0 10.7 24 24 24 24 24 0 0 0
    60° N 11.2 11.7 12.8 14.1 15.5 16.5 16.8 16.2 15.0 13.6 12.3 11.4
    45° N 12.6 12.9 13.5 14.3 15.1 15.6 15.8 15.5 14.8 13.9 13.2 12.7
    30° N 13.5 13.7 14.0 14.5 14.9 15.3 15.4 15.2 14.8 14.3 13.9 13.6
    15° N 14.3 14.4 14.5 14.8 15.0 15.2 15.2 15.1 14.9 14.7 14.5 14.4
    15.2 15.2 15.2 15.2 15.2 15.2 15.2 15.2 15.2 15.2 15.2 15.2
    15° S 15.2 15.1 14.9 14.7 14.5 14.4 14.3 14.4 14.5 14.8 15.0 15.2
    30° S 15.4 15.2 14.8 14.3 13.9 13.6 13.5 13.7 14.0 14.5 14.9 15.3
    45° S 15.8 15.5 14.8 13.9 13.2 12.7 12.6 12.9 13.5 14.3 15.1 15.6
    60° S 16.8 16.2 15.0 13.6 12.3 11.4 11.2 11.7 12.8 14.1 15.5 16.5
    75° S 24 24 18.7 15.0 12.2 10.4 9.9 11.0 13.2 16.4 20.6 24
    90° S 24 24 24 24 24 0 0 0 24 24 24 24

    Plant growth time table

    Latitude Aprimay 1 Aprimay 6 Aprimay 11 Jugust 1 Jugust 6 Jugust 11 Septober 1 Septober 6 Septober 11 Decembary 1 Decembary 6 Decembary 11
    90° N 0 0 0 0 24 24 24 24 24 0 0 0
    75° N 0 0 0 5.8 24 24 24 24 18.6 0 0 0
    60° N 8.9 9.4 10.5 11.9 13.2 14.0 14.3 13.8 12.7 11.3 10.0 9.1
    45° N 11.0 11.3 11.9 12.7 13.4 13.9 14.1 13.8 13.1 12.4 11.6 11.1
    30° N 12.2 12.4 12.7 13.2 13.6 13.9 14.0 13.8 13.4 13.0 12.6 12.3
    15° N 13.2 13.2 13.4 13.6 13.8 14.0 14.0 13.9 13.7 13.5 13.3 13.2
    14.1 14.1 14.1 14.1 14.1 14.1 14.1 14.1 14.1 14.1 14.1 14.1
    15° S 14.0 13.9 13.7 13.5 13.3 13.2 13.2 13.2 13.4 13.6 13.8 14.0
    30° S 14.0 13.8 13.4 13.0 12.6 12.3 12.2 12.4 12.7 13.2 13.6 13.9
    45° S 14.1 13.8 13.1 12.4 11.6 11.1 11.0 11.3 11.9 12.7 13.4 13.9
    60° S 14.3 13.8 12.7 11.3 10.0 9.1 8.9 9.4 10.5 11.9 13.2 14.0
    75° S 17.3 16.0 13.6 10.6 7.6 5.1 4.3 6.0 8.8 11.8 14.6 16.7
    90° S 24 24 24 0 0 0 0 0 0 0 24 24

    Daylight math details

    Warning!!!

    Trigonometry ahead.

    The calculation of sunlight is surprisingly involved. On a nutshell: the formula obtains the angle between the vectors Latitude and Sun Position, subtracts an angle θ from it (determined by Latitude), and divides this number by 0.7. Finally, this result is capped between 0 (no light) and 100% (full light).

    If you only care about the final formula, go to "Final formula" below. Otherwise, carry on.

    The amount of sunlight a given cell receives depends on its Latitude, Day of the year, and Hour of the day. The simplified steps to reach the final value are:

    1. Obtain the factor "u" for the given latitude
    Latitude Value of u
    <= 70 0.2
    [70, 75] Latitude * 13/50-18
    =>75 1.5
    2. Obtain Sun Position Vector SP = {SPx, SPy, SPz}. Do note these formulas are not in degrees, but radians.
    • SPx = -cos(Hour * π / 12)
    • SPy = -cos(π * Day/30) * u
    • SPz = -sin(Hour * π / 12) [NOT ACTUALLY USED, BUT PART OF THE VECTOR]
    3. Calculate angle θ. Do note that the values of this table are in degrees. To convert to radians, multiply result by π / 180
    Latitud Value of θ
    <= -60 19
    [-60, 60] 36 - abs(x) * 17/60
    [60, 70] 19
    [70, 75] 299 - 4x
    >75 -1
    4. Calculate the angle (Δ) between the vector Latitude (L) y SP.
    • Δ = arc cos [ ( cos(Latitude) * SPx + sen(Latitude) * SPy ) /  1 + SPy2  ]
    5. Sunlight = (Δ - θ)/0.7; Capped between 0 and 1 (100%).

    Do note that the creation of the vector Latitude : {cos(latitude), sin(latitude), 0} was omitted for simplicity.

    Final Formula:

    600px


    Where:

    Latitude Value of u
    <= 70 0.2
    [70, 75] Latitude * 13/50-18
    =>75 1.5
    Latitud Value of θ
    <= -60 19
    [-60, 60] 36 - abs(x) * 17/60
    [60, 70] 19
    [70, 75] 299-4x
    >75 -1

    Interestingly, while some effects are applied differently above latitude 70 (70° N), these do not seem to apply below -70 (70° S). This has some odd effects on extreme Latitudes, such as the south pole having neither full darkness nor full light.


    Openness

    Openness refers to the often critical aspect of structures being open to the outside. It affects many things such as temperature, item deterioration, light, exposure to weather, and certain events.

    Every tile on the map falls into one of three categories:

    • Outdoors - not enclosed by any structure, even if there is a roof.
    • Indoors - completely enclosed structure, completely roofed.
    • Unroofed - completely enclosed structure, but with one or more unroofed tiles.

    Sufficiently large unroofed rooms, approximately 300 tiles, are considered outdoors.[Detail Needed]

    Temperature

    Environmental temperature is affected outdoors mainly by the map's biome and by the current season. Temperature affects a plant's ability to grow. Temperature affects a human's comfort, and health in extreme temperatures.

    Terrain

    Terrain consists of the map's walking surface, terrain features, and mountain areas. Terrain affects things including walking speed, where plants can grow, and may prohibit construction.

    Natural surface terrain includes soil, rich soil, marshy soil, marsh, mud, sand, lichen-covered dirt, gravel, rough stone (granite, marble, etc.), rough-hewn stone, shallow water, and deep water.

    Terrain features include steam geysers and mountains. The steam from a geyser produces heat and an enclosed area around it will heat up unless unroofed. A mountain cannot be destroyed, even if all of its stone and ore has been mined out. What remains are terrain tiles listed as 'overhead mountain'.

    Naturally generated surfaces

    Type Move Speed Modifier Fertility Terrain Support Terrain Type
    Broken asphalt 100% 0% Heavy ?
    Chest-deep moving water 22% 0% None -
    Deep ocean water 0% 0% None -
    Deep water 0% 0% None -
    Ice 52% 0% Heavy -
    Lichen-covered soil 81% 100% Heavy Soil
    Marsh 30% 0% None -
    Marshy soil 46% 100% Light Soil
    Mud 52% 0% None Soil
    Packed dirt 100% 0% Heavy Soil
    Polluted soil 87% 50% Heavy Soil
    Rich soil 87% 140% Heavy Soil
    Rough stone 87% 0% Heavy Stone
    Rough-hewn stone 93% 0% Heavy Stone
    Smooth stone 100% 0% Heavy Stone
    Sand 76% 10% Heavy Sand
    Shallow ocean water 30% 0% None -
    Shallow moving water 30% 0% None -
    Shallow water 30% 0% None -
    Soft sand 52% 0% Light Sand
    Soil 87% 100% Heavy Soil
    Stony soil 87% 70% Heavy ?

    Steam geyser

    Steam geyser.png Steam geysers are terrain features that allow the placement of a geothermal generator on them and also output a significant amount of heat when sealed in a roofed room.

    The steam geyser sprays after a random delay between 500 ticks (8.33 secs) and 2,000 ticks (33.33 secs). It will then spray for between 200 ticks (3.33 secs) and 500 ticks (8.33 secs). While spraying, it will output 40 heat every 20 ticks (0.33 secs). Thus, it averages 16.15 heat per second, with no maximum temperature.

    Besides their use in power generation, they can also be used to heat bases and greenhouses without the need for electricity or fuel by sealing them in. Like any means of temperature regulation, geysers require an enclosed and roofed room to actually cause a change in heat. If you don't want heat, keep the geothermal room without a roof.

    Weather

    Weather events occur from time to time depending on the biome and time of year, with the current weather listed at the right edge of the screen. When a weather event ends the weather returns to Clear. Each weather event has a general effect on wind speed. Wind speed continually varies between 0% to 100% but it is not displayed onscreen. Wind speed is a direct multiplier of a wind turbine's power output. At 50% wind speed a wind turbine produces 1500W of its 3450W max. The "weather controller" condition causer Content added by the Royalty DLC can force a single type of weather to constantly appear, and will only allow natural changes in weather once it is destroyed.

    Weather types
    Label Time of year Temperature range [1] Accuracy modifier Movement speed modifier Wind speed Wind speed modifier Can put out fires Snowing rate Notes
    Clear Any Any 100% 100% None to Moderate 100% No None
    Fog Any Any 50% 100% None to Calm 50% No None Can accompany rain to create Foggy Rain
    Rain Any °C – 100 °C (32 °F – 212 °F) 80% 90% Calm to Moderate 80% Yes None Rain intensity can vary. Rain will put out any outdoor fires on the map. Rain can cause electronic objects to short circuit.
    Dry Thunderstorm Any Any 100% 100% Moderate to Extreme 150% No None Lightning strikes from thunderstorms can ignite flammable objects, including flora. If accompanied by rain the fires should be extinguished without becoming a threat.
    Rainy Thunderstorm Any Any 80% 80% Moderate to Extreme 150% Yes None
    Foggy rain Any Any 50% 90% None to Calm 150% Yes None
    Hard snow Mainly Winter -270 °C – -0.5 °C (-454 °F – 31.1 °F) 80% 80% None to Moderate 150% Yes 120% Weather event that can distribute Snow onto the terrain.
    Soft snow Mainly Winter -270 °C – -0.5 °C (-454 °F – 31.1 °F) 80% 100% None to Moderate 150% Yes 80% Weather event that can distribute Snow onto the terrain.
    Flashstorm Any Any 100% 100% None to moderate 100% No None An extreme version of the dry thunderstorm, and an event of its own (rather than normal weather changes). Lightning strike many times in a row in a small area, igniting anything flammable and causing giant wildfires which can spread to your base easily. It also disables rain for a short time.
    1. Can continue even if the temperature exits the appropriate range, once started.

    Lightning

    Lightning in a Dry thunderstorm

    Lightning is created either naturally through thunder and flashstorms, or artificially with the flashstorm psycastContent added by the Royalty DLC. These do 10 Flame damage in a 3x3 area (1.9 block radius) and start fires in the area of effect. Dry thunderstorms can be especially dangerous, starting fires around the map without rain to put them out. The flashstorm psycast should be used with caution, preferably in areas without vegetation or during rain. Lightning can also be spawned in with a debug command in development mode.

    Lightning is bright enough to momentarily power solar generators and grow plants.

    Version history

    • 0.0.245 - Weather (rain/fog) now affects chances of hitting a target
    • 0.3.410 - Rain now slowly washes away blood. Added rich dirt patches.
    • Beta 19/ 1.0 - Changed deep moving water to chest-deep moving water: walkable but slower than shallow water. Shallow water movement cost 12 -> 22. Sand fertility 6% -> 10%.
    • Version/1.1.0 - Fix: Wind turbines register no wind during windy storm.