Skip to content

Commit

Permalink
Docs: Some more pages (#134)
Browse files Browse the repository at this point in the history
* Docs: Add Intro page

* Docs: Add Environment page

* Docs: Added Habitat page

* Docs: Added Reliability page

* Docs: Added Signal page

* Docs: Added Science page
  • Loading branch information
PiezPiedPy authored and steamport committed Jul 12, 2018
1 parent 0610d31 commit b75814b
Show file tree
Hide file tree
Showing 7 changed files with 315 additions and 3 deletions.
12 changes: 9 additions & 3 deletions docs/contents.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@ Documentation Table of Contents

Home <index>
Table of Contents <self>
Downloads and Links <downloads_links>
Supported Mods <support>
About <about>
Introduction <intro>
Environment <environment>
Habitat <habitat>
Reliability <reliability>
Signal <signal>
Science <science>
Downloads and Links <downloads_links>
Supported Mods <support>
About <about>
34 changes: 34 additions & 0 deletions docs/environment.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
.. _environment:

Environment
===========

Temperature
-----------

Temperatures in space range from ridiculously low to extremely high. The temperature model in Kerbalism considers

- `solar radiation <https://en.wikipedia.org/wiki/Solar_irradiance>`_ *(the energy flux coming from a star, if not occluded)*
- `albedo radiation <https://en.wikipedia.org/wiki/Albedo>`_ *(the energy flux reflected from a celestial body towards a vessel)*
- `body radiation <https://en.wikipedia.org/wiki/Radiative_cooling>`_ *(the radiative cooling flux from a nearby celestial body)*
- `cosmic background radiation <https://en.wikipedia.org/wiki/Cosmic_microwave_background>`_

The temperature is then obtained according to the `Stefan-Boltzmann law <https://en.wikipedia.org/wiki/Stefan%E2%80%93Boltzmann_law>`_ assuming the vessel is a perfect `black body <https://en.wikipedia.org/wiki/Black_body>`_. Inside an atmosphere, the stock atmospheric temperature model is used instead.

Radiation
---------

Celestial bodies interact in complex ways with radiation. Some have a magnetopause that shields radiation. Others have regions populated by extremely charged particles. The magnetopause is simply a sphere, possibly deformed along the body->star vector to define a magnetotail.

This is modeled with *radiation fields*, regions of space around a celestial body that have an associated radiation level. The overall radiation level for a vessel is determined by evaluating all the fields overlapping at the vessel position.

These fields are rendered in map view or the tracking station. They can be toggled by pressing *Keypad 0/1/2/3*, or by using the *Body Info* window.

.. image:: ../misc/img/rdr/radiation-fields-0.png

Radiation Models can be modified, see the `Modding Kerbalism's Radiation Models <modders/radiation.html>`_ section for more details.

Space weather
-------------

`Coronal Mass Ejection <https://en.wikipedia.org/wiki/Coronal_mass_ejection>`_ events are generated in a stars corona, and move toward either a planetary system or a star-orbiting vessel. A warning will be issued as soon as the CME is ejected towards a body of interest. When the CME hits a planetary system or a star-orbiting vessel, all vessels outside of a magnetopause and in direct line of sight of a Star will receive extra radiation. Vessels inside of a magnetopause will suffer a communications *blackout*. The effects last for some time until the situation returns to normality.
76 changes: 76 additions & 0 deletions docs/habitat.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
.. _habitat:

Habitat
=======

The internal habitat of a vessel is modeled as a set of individual parts flagged as habitats. Each part has an internal volume and an external surface, deduced automatically from their bounding box or specified by the part author.

From these basic properties, more complex ones are deduced and made available as modifiers to the rule framework.

Pseudo-resources
----------------

Some pseudo-resources are added to each habitat. Each one is used to simulate the individual properties of a vessels internal habitat volume and surface area. Their flow state is synchronized automatically from the habitat enabled/disabled state.

+-----------------+----------------+---------------------+--------------------------------------+
| RESOURCE | CAPACITY | USE | DENSITY (per-unit) |
+=================+================+=====================+======================================+
| Atmosphere | Set by volume | Pressure | 1 m³ of Nitrogen at STP |
+-----------------+----------------+---------------------+--------------------------------------+
| WasteAtmosphere | Set by volume | CO2 level | 1 m³ of CarbonDioxide at STP |
+-----------------+----------------+---------------------+--------------------------------------+
| MoistAtmosphere | Set by volume | Humidity level | 1 m³ of Saturated water vapor at STP |
+-----------------+----------------+---------------------+--------------------------------------+
| Shielding | Set by surface | Radiation shielding | 1 m² of a 20mm Lead (Pb) layer |
+-----------------+----------------+---------------------+--------------------------------------+

Atmospheric control
-------------------

Atmospheric conditions inside a vessel are regulated by Life Support Systems (LSS) fitted into manned parts or by the External Life Support Unit (ECLSS).
Each vessel has a number of configurable LSS slots that can be configured into an assortment of different LSS processes. The number of slots is upgradeable by purchasing the Slot Upgrade in the Electronics section of the Tech Tree. Also as you progress through the Tech Tree more options become available for the LSS slots.

The internal atmospheric pressure is regulated by the Pressure Controller, this unit is used to overcome the losses from leaks and for pressurizing inflatable habitats.

The CO2 level is regulated by the Scrubber, this unit is used to scrub from the atmosphere the CO2 that the Kerbal's exhale. The greenhouse can also be used to remove CO2 from the atmosphere.

The humidity level is regulated by the Humidity Controller, this unit removes the excess moisture in the atmosphere and recycles the moisture into clean water.

Radiation shielding
-------------------

The user can choose the level of Shielding for each individual habitat part in the editor. The overall Shielding level on all enabled habitat parts is then used to reduce the environment radiation. It is possible to influence the level after launch by producing the Shielding resource.

Enable/disable habitats
-----------------------

The user can enable and disable habitat parts individually, both in flight and in the editor. This is used to configure and reconfigure the vessels internal volume, to influence its properties as the need arise.

Equalization and venting
------------------------

When a habitat transitions from the enabled to the disabled state or vise versa, special care is used to avoid abrupt changes to the overall pressure of the whole vessels internal habitat. This is accomplished by two temporary states, in addition to *enabled* and *disabled*. These are *equalizing* that first matches the part pressure with the rest of the vessel and then switches to *enabled* and the other being *venting* that depressurizes the part completely by dumping the removed atmosphere either into the rest of the vessel, if there is room, or outside.

Inflatable habitats
-------------------

If a habitat is inflatable, its inflate/deflate animation will be driven by the actual pressure of the part. Note that pressurizing a large habitat with a small pressure controller can take a long time. For example the mk1 pods pressure control will take approx 3 days to inflate the Gravity Ring. So remember to add enough pressure controllers for the job. You wouldn't want to blow up a bouncy castle with your mouth :/

Comforts
--------

Comforts are provided by some vessel conditions, or by parts implementing the *Comfort* module.

+-------------+---------------------------------------------------------------+---------------+
| COMFORT | CONDITION | PART |
+=============+===============================================================+===============+
| firm-ground | vessel is landed | Gravity Ring |
+-------------+---------------------------------------------------------------+---------------+
| not-alone | more than 1 crew member in the vessel | |
+-------------+---------------------------------------------------------------+---------------+
| call-home | vessel can communicate with DSN via an antennas science rate | |
+-------------+---------------------------------------------------------------+---------------+
| exercise | Kerbal's can ride a bike or use a treadmill etc | Hitchhiker |
+-------------+---------------------------------------------------------------+---------------+
| panorama | Kerbal's can look out of a big window | Cupola |
+-------------+---------------------------------------------------------------+---------------+
49 changes: 49 additions & 0 deletions docs/intro.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
.. _intro:

|Kerbalism|

Introduction
============

**Kerbalism** is a gameplay mod for **Kerbal Space Program** that tries to represent some of the problems a real space program must overcome. Anything will happen coherently to loaded and unloaded vessels alike, without exceptions. All mechanics can be enabled, disabled and utterly configured.

These are the mechanics that are simulated
------------------------------------------

`Environment <environment.html>`_
---------------------------------

- temperature, radiation, space weather

`Habitat <habitat.html>`_
-------------------------

- living space, comforts, pressure, CO2 levels, humidity

`Reliability <reliability.html>`_
---------------------------------

- malfunctions, critical failures, manufacturing quality

`Signal <signal.html>`_
-----------------------

- telemetry, relaying, signal strength, data rate attenuation

`Science <science.html>`_
-------------------------

- data storage, collection, analysis and transmission

Resources
---------

- consumption and production in background

Kerbals
-------

- biological and psychological needs, environmental hazards


.. |Kerbalism| image:: ../misc/img/banner.png
77 changes: 77 additions & 0 deletions docs/reliability.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
.. _reliability:

Reliability
===========

MTBF
----

The `Mean Time Between Failures <https://en.wikipedia.org/wiki/Mean_time_between_failures>`_ is specified per-component and indicates how often it will experience a failure on average.

Failures
--------

Failures comes in two variants: *malfunctions* and *critical failures*. The former can be repaired, the latter can't but are less frequent. Both types of failure disable the associated module: that is, the module will stop working.

Every time a component fails on an unmanned vessel, there is a chance that it will be fixed remotely by mission control engineers.

Quality
-------

Manufacturing quality can be specified per-component in the VAB. A high quality will increase the MTBF, but also requires more money and mass. Thus there is a trade off between high reliability and cost/mass of components. Extra cost and mass are expressed in proportion to part cost and mass.

Inspection and Repair
---------------------

All Kerbals can inspect components to reveal some vague information about the time left until the next failure.

Kerbals can also repair malfunctioned components, provided that they have the necessary specialization and experience level required.

Redundancy
----------

The only way to plan around component failures is redundancy. To incentive this behavior, each component is assigned to a *redundancy group* and the planner will analyze redundancies on the vessel using this information. Optionally, when a component fails all others in the same *redundancy group* will be less likely to fail.

Supported modules
-----------------

The system can trigger failures on arbitrary modules in a part, using the Reliability module. This module is added automatically for most stock components.

+-----------------------------+-----------+----------+------------------+------------+------------+
| COMPONENT | MTBF (y) | REPAIR | REDUNDANCY | EXTRA COST | EXTRA MASS |
+=============================+===========+==========+==================+============+============+
| Solar Panel | 4 | Anyone | Power Generation | 2.5 | 1.0 |
+-----------------------------+-----------+----------+------------------+------------+------------+
| Reaction Wheel (standalone) | 4 | Anyone | Attitude Control | 2.5 | 1.0 |
+-----------------------------+-----------+----------+------------------+------------+------------+
| Reaction Wheel (pod) | 4 | Anyone | Attitude Control | 0.25 | 0.15 |
+-----------------------------+-----------+----------+------------------+------------+------------+
| RCS | 8 | Engineer | | 2.0 | 1.0 |
+-----------------------------+-----------+----------+------------------+------------+------------+
| Light | 4 | Anyone | | 5.0 | 1.0 |
+-----------------------------+-----------+----------+------------------+------------+------------+
| Parachute | 8 | Anyone | Landing | 2.5 | 0.5 |
+-----------------------------+-----------+----------+------------------+------------+------------+
| Engine | 8 | Engineer | Propulsion | 1.0 | 0.1 |
+-----------------------------+-----------+----------+------------------+------------+------------+
| Radiator | 8 | Engineer | | 2.0 | 0.5 |
+-----------------------------+-----------+----------+------------------+------------+------------+
| Resource Converter | 8 | Engineer | | 1.0 | 0.2 |
+-----------------------------+-----------+----------+------------------+------------+------------+
| Resource Harvester | 8 | Engineer | | 1.0 | 0.2 |
+-----------------------------+-----------+----------+------------------+------------+------------+
| Antenna | 8 | Anyone | Comms | 2.0 | 1.0 |
+-----------------------------+-----------+----------+------------------+------------+------------+
| Treadmill (in Hitchiker) | 4 | Engineer | | 0.25 | 0.05 |
+-----------------------------+-----------+----------+------------------+------------+------------+
| ECLSS | 8 | Anyone | Life Support | 2.5 | 0.1 |
+-----------------------------+-----------+----------+------------------+------------+------------+
| Fuel Cell | 8 | Engineer | Power Generation | 1.0 | 0.5 |
+-----------------------------+-----------+----------+------------------+------------+------------+
| Chemical Plant | 8 | Engineer | | 1.0 | 0.2 |
+-----------------------------+-----------+----------+------------------+------------+------------+
| Crustal Harvester | 8 | Engineer | | 1.0 | 0.2 |
+-----------------------------+-----------+----------+------------------+------------+------------+
| Atmospheric Harvester | 8 | Engineer | | 1.0 | 0.5 |
+-----------------------------+-----------+----------+------------------+------------+------------+

38 changes: 38 additions & 0 deletions docs/science.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
.. _science:

Science
=======

Storage
-------

The stock science data container is replaced by a solid state drive. The data stored is organized in files and can be managed using a dedicated UI.

Transmission
------------

Files can be flagged for transmission home and they will be sent to DSN at the first opportunity. The transmission happens over time, even when the vessels are unloaded. Transmission times can range from mere seconds to months, depending on the size of the file transmitted and the transmission rate of the connection.

Analysis
--------

Some data is not transmissible, these are considered samples and need to be recovered or analyzed in a lab. Samples are flagged for analysis and then analyzed over time in a laboratory. As the analysis proceeds the sample will be slowly converted into transmissible data.

Transferring data
-----------------

It is possible to transfer files from a drive to another drive in the same vessel, even without a crew. It is sufficient to click on 'transfer data here' in the UI of the part desired.

When two vessels dock, their Hard Drives are merged. When they undock the Hard Drive in the vessel that has control gets all the data.

Kerbals can interact with Hard Drives by taking or storing data during EVA's.

Tweaks
------

Stock experiments get some tweaks, the data is transmissible completely or not at all, situation and biome combinations have been altered, the need to repeat the same experiment in a situation multiple times has been removed and the science credits returned have been rebalanced.

Supported experiments
---------------------

The Science system supports stock experiments and other experiments that use the Science Dialog.
32 changes: 32 additions & 0 deletions docs/signal.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
.. _signal:

Signal
======

Connections
-----------

To transmit data, vessels need a valid communications link with the `Deep Space Network <https://en.wikipedia.org/wiki/NASA_Deep_Space_Network>`_ (DSN) on the surface of your home planet. For unmanned vessels, this communication link is also required for remote control. Celestial bodies occlude the signal, and other vessels can act as relays. Science data transmission speed is attenuated by signal strength and distance.

Antennas
--------

Antennas comes in two types: *Internal* and *Direct*.

- Internal antennas as the name implies are fitted internally to probes and manned pods and can be used for short-range telemetry communications with the DSN and other vessels, they allow for operation of vessels via a control signal, these antennas also require constant power to operate.
- Direct antennas are the externally fitted antennas, these allow for longer distance communications and boost the telemetry and control signals, they are also used for transmitting science data or relaying data in the case of relay antennas. These antennas are also required for the Comfort bonus *call home*.

Transmission cost
-----------------

Transmitting data consumes *ElectricCharge*. The cost is fixed and doesn't change with distance or signal strength.

Extending antennas
------------------

Deployable Antennas need to be extended to work. This can be used by the player to configure what antennas are used for transmission, at any time. Extending and retracting antennas is possible even when the vessel is not controllable.

Control loss
------------

Kerbalism will use the stock CommNet system if it is enabled allowing for 3 different models for control loss in vessels without a connection, the **none** model, causes complete loss of control on unlinked vessels. The **limited** model instead permits partial control of the vessel, the **full** model causes no loss of control, so that signal loss only affects the science data transmission. If CommNet is not enabled then connections will always be available unless you run out of Electric Charge or antennas break.

0 comments on commit b75814b

Please sign in to comment.