Environment

From RimWorld Wiki
Revision as of 14:53, 11 September 2022 by Pawn (talk | contribs) (→‎Naturally generated surfaces: use proper words in the first place https://rimworldwiki.com/index.php?title=Floors&diff=108848)
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 - With the exception of decorative plants, plants only grow when the light level is at least 51%.
  • Power - Solar generators only produce power when naturally lit.
  • Colonists want 30% light or better. This effects...
  • 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 movement 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.
  • 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%.
  • Decorative plants will grow in any light 30% or more.

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 Radius Lit >=30%
Torch lamp 7.175 tiles
Standing lamp 9.093 tiles
Standing lamp (red)/(green)/(blue) 9.093 tiles
Sun lamp 11.718 tiles
Campfire 7.175 tiles
Brazier Content added by the Royalty DLC 7.175 tiles
Darklight brazier Content added by the Royalty DLCContent added by the Ideology DLC 7.108 tiles
DarktorchContent added by the Ideology DLC 4.746 tiles
Fungus darktorchContent added by the Ideology DLC 4.746 tiles
Standing darklampContent added by the Ideology DLC 9.093 tiles

Additionally, there are a variety of objects that incidentally generate light including, but not limited to, the electric crematorium, electric smelter, heater, wood-fired generator, and chemfuel powered generator.

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

Rotation towards latitude normal vector (latitude to degrees rotation)

The following is a simplified explanation of the procedure by which the game determines the light intensity supplied by the sun at a given latitude, day of the year, and time of day.

  1. The latitude normal vector N can be calculated as the vector {cos(latitude), sin(latitude), 0}. Note that this is always orthogonal to the Z-axis (the Y-axis passes through the planet's poles, not the Z-axis) with a positive X-value. For example, the latitude normal vector at the equator would be {1, 0, 0} while at 45° N it would be {0.707, 0.707, 0}.
  2. The latitude fraction equals 0.2 below latitude 70, 1.5 above latitude 75, and is linearly interpolated between.
  3. The unmodified sun position vector P is the vector {cos((day_percent - 0.5) × 360°), -cos(day_of_year/60 × 360°) × latitude_fraction, sin((day_percent - 0.5) × 360°)}.
  4. Normalize the unmodified sun position vector P.
  5. Rotate the normalized sun position vector P an amount towards latitude normal vector N based on the graph on the right, but not passing it (if applicable).
  6. The unmodified daylight intensity is equal to the dot product of the latitude normal vector N and sun position vector P (both should have magnitude 1.0).
  7. The final daylight intensity scales based on the unmodified daylight intensity, with 0.0 to 0.7 linearly corresponding with 0% to 100% light intensity and 0.7 to 1.0 being clamped at 100% light intensity.

Interestingly, while some effects are applied differently above latitude 70 (70° N), these do not seem to apply below -70 (70° S).


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.

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
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
Marsh 30% 0% None
Marshy soil 46% 100% Light
Mud 52% 0% None
Packed dirt 100% 0% Heavy
Rich soil 87% 140% Heavy
Rough stone 87% 0% Heavy
Rough-hewn stone 93% 0% Heavy
Sand 76% 10% Heavy
Shallow ocean water 30% 0% None
Shallow moving water 30% 0% None
Shallow water 30% 0% None
Soft sand 52% 0% Light
Soil 87% 100% Heavy
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.

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 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 - Sand fertility 6% -> 10%.