Oxygène

From Space Engineers Wiki
Revision as of 11:27, 5 December 2015 by Zapagon (talk | contribs) (Link broke)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Game version 01.106

Taux de consommation d'oxygène du joueur 0.063 O2 / s
Production max de la Ferme à oxygène 0.03 O2 / s nécessite de la lumière solaire.
Production max pour les générateurs d'oxygène des vaisseaux larges 501 O2 / s 1 kg de glace = 9 O2
Capacité en oxygène de la combinaison du joueur 60 O2 Environ 16 minutes (15:52 minutes) d'autonomie en oxygène.
Bouteille d'oxygène 100 O2 Environ 26 minutes (26:27 minutes) d'autonomie en oxygène.
Réservoir d'oxygène pour grands vaisseaux 100,000 O2 Environ 18 jours ou 441 heures d'autonomie en oxygène.
Réservoir d'oxygène pour petits vaisseaux 50,000 O2 Environ 9 jours ou 220 heures d'autonomie en oxygène.
Quantité d'oxygène dans un petit bloc (petits vaisseaux) d'atmosphère 1m3 1 O2 Environ 16 secondes d'autonomie en oxygène.
Quantité d'oxygène dans un grand bloc (grands vaisseaux/stations) d'atmosphère 15.625 O2 Environ 4 minutes (4:08 minutes) d'autonomie en oxygène

Production

De l'oxygène est créé quand un générateur d'oxygène est alimenté en glace. La glace peut être trouvée sur certains astéroïdes, de la même façon que pour les autres minerais. Les Fermes à oxygène génèrent également de l'oxygène en plus faible quantité à partir de la lumière du soleil, en contrepartie ils ne requièrent pas de glace.

Stockage

L'oxygène peut être stocké dans un réservoir d'oxygène (sur un vaisseau ou une station), dans une bouteille à oxygène, et dans la combinaison de l'ingénieur. L'oxygène de la combinaison diminue tant que le joueur porte son casque. L'oxygène restant est affiché en [%] sur dans le panneau de gauche de l'HUD du joueur, que le casque soit porté ou non. La combinaison est de nouveau remplie à l'aide d'une salle médicale, en entrant dans un cockpit, ou un Fighter Cockpit/fr relié via un système de convoyeur avec un réservoir d'oxygène ou une source d'oxygène (générateur ou ferme). S'il y a une bouteille à oxygène dans l'inventaire du joueur lorsque le taux d'oxygène de la combinaison du joueur descend en dessous de 30% de l'oxygène sera prélevé de la bouteille pour remplir de nouveau la combinaison.

Consommation

Space Engineer

Le joueur consomme de l'oxygène à une vitesse de 0.063 O2 / s. L'oxygène est prélevé depuis la combinaison dans que le casque est sur On (porté) ou depuis une salle pressurisée d'un vaisseau large ou d'une station dans le cas où le casque est sur Off (retiré). Si un joueur a son casque retiré dans un cockpit relié par des convoyeurs à une source d'oxygène, alors celle-ci sera consommée. Si le joueur est privé d'oxygène trop longtemps et que le taux atteint 0%, celui-ci va s'asphyxier jusqu'à en mourir.

  • A Noter que le joueur peu s'asphyxier même s'il est dans une salle pressurisé ou l'atmosphère d'une planète si celui-ci ne retire pas son casque et que le niveau d'oxygène de sa combinaison atteint 0%.

Atmosphère

Une salle hermétique (plus large qu'un bloc) d'un grand vaisseau ou d'une station peut être pressurisée avec de l'oxygène à l'aide d'une ventilation reliée à une réserve/générateur d'oxygène via un système de convoyeur, les petits vaisseaux ou les salles fermées uniquement par des blocs de petits vaisseaux ne peuvent pas être pressurisés. La ventilation peut également dépressurisé une salle, c'est à dire aspirer l'air qu'elle contient (cette air peut être stocker dans un réservoir à oxygène s'il y en a un relié à la ventilation via un système de convoyeur).,

// TODO à traduire

A Graph traversal / flood-fill algorithm is used to fill the enclosed space with oxygen. The algorithm traverses through the volumetric grid and checks for enclosed and open areas. 1 stored unit of oxygen is 1m3 and blocks with air (no matter what shape) take 15.625 units of oxygen to fill. The minimum safe pressure for a character to have their helmet off and breathe in a pressurized room is 50%, if the character is in a room with some oxygen but not enough to reach 50% pressure they'll take 1 hitpoint of damage per second; Even if this room's pressure is tiny any pressure above 0% will do. If the character is in a room with no oxygen whatsoever (or a room that cannot be pressured due to a leak exposed to space) or in open space such as an exterior - they will take 7 hitpoints of damage per second. A player in a suit without any oxygen will take the full 7 hitpoints of damage per second and has ~14 seconds to find oxygen or they will die.

// FIN TODO

En supposant que vous soyez dans une salle hermétique et pressurisée pleine d'oxygène :

  • Souder un block hermétique détruit l'air de l'endroit où il se situe (l'air d'un block)
  • Meuler un block hermétique augmentera la salle d'un block (si celle-ci reste hermétique) et diminue
  • Fermé une porte détruit l'air qu'elle contenait.
  • Perdre un block large d'air complètement pressurisé détruit 15.625 unités d'oxygène

Notes sur les mécaniques de l'oxygène

  • La propagation de l'oxygène entre les producteurs (fermes, générateurs) et les consommateurs (réservoir, ventilation, cockpits, salle médicale) est déterminée par les convoyeurs, mais les convoyeurs mêmes ne stockent pas directement l'oxygène. L'oxygène passe en quelques sortes instantanément d'un élément (producteurs/consommateurs) à l'autre.
  • L'oxygène est drainé/utilisé de façon uniforme entre les différentes réserves qui ne sont pas en mode stockage "On" (c'est à dire la même quantité est prélevée pour chaque réserve)
  • Les éléments consommateurs sont triés par ordre de priorités. La survie des joueurs est d’abord priorisé c’est-à-dire l’envoi vers l’aération pour oxygéner une pièce par exemple, ensuite s’il reste un surplus de production, celui-ci est stocké dans les conteneurs s’il y en a de présent. La consommation d’oxygène est répartie pas priorité de bloc bien qu’actuellement celle-ci semble être à 0 pour tous les types de blocs.
  • Les réservoirs qui ne sont pas en mode stockage “on” voient leur niveau en permanence équilibré de sorte que tous les réservoirs aient la même quantité d’oxygène.

// TODO traduire

  • There's such a thing as 'oxygenated room' object, which contains oxygen block structures, all of which are identical in function (and in volume!) regardless of what actual block occupies the grid coordinate.
  • The authority on how much oxygen exists is the room object, rather than the block. Rooms are pressurized and depressurized as a whole, blocks track the room's oxygen level and adjust to match it over time. Oxygen, once released into the environment becomes 'air', for lack of a better word -- a considerably different entity, which is still called 'oxygen' in the code -- and individual block's state does not affect the state of the room until rooms are completely recalculated. Vents directly affect the room oxygen amount, rather than the individual block position they're in; they create 'air' and consume 'oxygen', or vice versa when depressurizing. Medical rooms directly fill spacesuits by consuming oxygen from tanks and adding an equal amount to the suit store.
  • Blocks do have individual air level values and constantly adjust this value to the value that would be average for the entire room based on it's size and total air level. The entire room is supposed to have the pressure equalized in 1.5 seconds -- this is a constant. Notice that this is done by each block individually, i.e. air does not move between blocks -- when a block adds or removes air, it does not consider anything except it's current air level and the room's total level and number of blocks in it.
  • Air is consumed by characters by directly subtracting it out of the room amount, rather than the current block they're in. Which room they're in is identified by looking for the closest oxygen block structure that is part of a pressurized (i.e. enclosed) 'room'. The code looks at a character's position (a point at your feet) and tries to find which block in which grid to consider by determining which block center the character point is closest to; the first room that is enclosed should be picked, but the order the blocks are considered is dependent on grid orientation, which is why it's possible to stand in an oxygenated room next to a door leading out to vacuum and still suffocate.
  • Rooms are defined by propagating block neighbours in all cardinal directions, kind of like flood fill algorithm in a 2D paint program, but in 3D with quirks. Blocks diagonally from each other are not neighbours and rooms do not propagate through corners. Some interesting points about this:
    • Rooms are temporary structures, they are regularly recalculated when blocks are added to the grid, removed from it, or door state changes.
    • The presence or absence of vents does not affect whether something is considered a room or not. The splitting logic works on the entire grid, starting from a particular corner and trying to create new rooms when others end up until the grid is done.
    • State of being pressurized, which is the word the code uses to mean an enclosed room, is actually completely distinct from the actual oxygen amount.
    • Two types of airtight blocks exist - those that are airtight as a whole, so all their walls are airtight, and others. The algorithm considers the direction it arrived to the block from when determining whether the block is airtight for the purposes of enclosing a room, and uses some complicated logic based on mount points (the points on a block where it can connect to other blocks). Blocks with build stages are only airtight when on the last build stage, regardless.
  • When rooms are recalculated, should a previously existing room be split in two by a closing door, the pressure will be retained in both of the new rooms from the room that previously occupied the same blocks in the grid. This is done by adding up the total amount of air in every individual block that a newly created room contains if a room previously existed in the same grid block coordinates. This is the only time the amount of air within an individual block seems to matter for anything. Should the total amount end up larger than what the room can contain based on the number of blocks in it, it will be discarded, so building a block destroys air, rather than displacing it.
  • Notice that a closed door is airtight from both directions. When closed, any air that it might have contained is discarded since it's not part of either room it separates anymore -- so yes, closing doors destroys air in that block, every time it happens. Closing a door to a room in which pressure has yet to equalize across all blocks can sometimes result in not destroying air.
  • Only rooms which end up larger than exactly one block are considered to exist. If the room size calculation ends up with a room exactly one block large then it will be discarded along with every oxygen block that would be part of it. If you end up in a completely enclosed 1x1x1 room with a vent, you will suffocate anyway.
  • The amount of oxygen it takes to fill a room to 100% depends on the room's grid size, it's exactly a cube of that grid size. The grid size itself though is not exactly an obvious value and depends on a lot of code that has nothing to do with oxygen, but comments seem to indicate meters are meant to be the unit, so one unit of oxygen should result in exactly one cubic meter of air, and one large block should contain exactly (2.5m)3 = 15.625m3 of air.
  • There are no efficiency values surrounding pressurization or depressurization. Air vents are 100% efficient, creating exactly the same number of oxygen units that they just sucked out of the room air. But since 'air' is not kept track of as cleanly as inventory oxygen is, it may still end up not being 100% efficient. 'air' gets created and destroyed pretty frequently, particularly so if you open or close any doors while blocks don't have an even pressure. Closing and opening doors inside environment that is not evenly pressurized can destroy much more air than just closing a door does if you do it before 1.5 seconds elapse.
  • There is no evidence grinding or welding in a room alters room air content directly, but it alters blocks themselves and thereby forces a room recalculation, so indirectly it does affect air. Welding and grinding that results in separating 1x1x1 block areas will destroy air in it. Welding an airtight block will destroy air it occupied. Grinding a block will increase the room size and decrease room pressure.
  • When a newly created room detects that it is no longer enclosed while the room that previously occupied the same space was, it finds the holes and creates a depressurization push and particle effect on the holes. The effect affects everything except blocks within a 5m range from the hole and the magnitude of the force applied depends on distance from the hole. Forced depressurization does not create air in the block it depressurized into.

List of Airtight blocks

  • See list of blocks that are airtight - Here
Advisory
This page is image heavy. The page may require more time to load than usual!

// FIN TODO